diff --git a/.gitignore b/.gitignore index cc4e0ae..3dfb77d 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,5 @@ lerna-debug.log npm-debug.log* yarn-debug.log* yarn-error.log* + +rest-server/resources/** \ No newline at end of file diff --git a/react/.prettierrc.json b/.prettierrc.json similarity index 80% rename from react/.prettierrc.json rename to .prettierrc.json index 916f7b8..2578f6b 100644 --- a/react/.prettierrc.json +++ b/.prettierrc.json @@ -1,5 +1,4 @@ { - "printWidth": 100, "semi": true, "singleQuote": false, "trailingComma": "none", diff --git a/angular/solution/client-details/.gitignore b/angular/solution/client-details/.gitignore new file mode 100644 index 0000000..cc7b141 --- /dev/null +++ b/angular/solution/client-details/.gitignore @@ -0,0 +1,42 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/angular/solution/client-details/README.md b/angular/solution/client-details/README.md new file mode 100644 index 0000000..882ba63 --- /dev/null +++ b/angular/solution/client-details/README.md @@ -0,0 +1,59 @@ +# ClientDetails + +This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.1.6. + +## Development server + +To start a local development server, run: + +```bash +ng serve +``` + +Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files. + +## Code scaffolding + +Angular CLI includes powerful code scaffolding tools. To generate a new component, run: + +```bash +ng generate component component-name +``` + +For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run: + +```bash +ng generate --help +``` + +## Building + +To build the project run: + +```bash +ng build +``` + +This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed. + +## Running unit tests + +To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command: + +```bash +ng test +``` + +## Running end-to-end tests + +For end-to-end (e2e) testing, run: + +```bash +ng e2e +``` + +Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs. + +## Additional Resources + +For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/angular/solution/client-details/angular.json b/angular/solution/client-details/angular.json new file mode 100644 index 0000000..ed7ba78 --- /dev/null +++ b/angular/solution/client-details/angular.json @@ -0,0 +1,95 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "client-details": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular/build:application", + "options": { + "browser": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.css" + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kB", + "maximumError": "1MB" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "4kB", + "maximumError": "8kB" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "options": { + "port": 4101 + }, + "builder": "@angular/build:dev-server", + "configurations": { + "production": { + "buildTarget": "client-details:build:production" + }, + "development": { + "buildTarget": "client-details:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular/build:extract-i18n" + }, + "test": { + "builder": "@angular/build:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.css" + ] + } + } + } + } + } +} diff --git a/angular/solution/client-details/package-lock.json b/angular/solution/client-details/package-lock.json new file mode 100644 index 0000000..4adcf09 --- /dev/null +++ b/angular/solution/client-details/package-lock.json @@ -0,0 +1,10091 @@ +{ + "name": "client-details", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "client-details", + "version": "0.0.0", + "dependencies": { + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@interopio/ng": "^6.0.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.6", + "@angular/cli": "^20.1.6", + "@angular/compiler-cli": "^20.1.0", + "@interopio/theme": "^3.0.2", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.1.0.tgz", + "integrity": "sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz", + "integrity": "sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.35.0.tgz", + "integrity": "sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.35.0.tgz", + "integrity": "sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.35.0.tgz", + "integrity": "sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.35.0.tgz", + "integrity": "sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz", + "integrity": "sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.35.0.tgz", + "integrity": "sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.35.0.tgz", + "integrity": "sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.35.0.tgz", + "integrity": "sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.35.0.tgz", + "integrity": "sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz", + "integrity": "sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz", + "integrity": "sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz", + "integrity": "sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.2002.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2002.0.tgz", + "integrity": "sha512-PaBXFP1kdUuNtMie0lWnitlYbq8o1gz/s0YIa8oY1X3swOJ7bP6kBfxTb9opV5uXAOkXg2zCdnZ4Eu1aVkgPGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.2.0.tgz", + "integrity": "sha512-3CM6Zsr09Kf92ItFkxijlnC4+ZOgkxdCk0vFYvuw9UuvTDNwyIqJi6693PRPRbcXgpdY2vs6u99elSvQVmoEEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.3", + "rxjs": "7.8.2", + "source-map": "0.7.6" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.2.0.tgz", + "integrity": "sha512-TCPIN6Bd04oGuNocETmsd9hzGYrjrivisbMKb0WOuDi3OnCkmWqsPR+QA2kYwTOGqG3HXkz/z3CA0g04M2fgrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "8.2.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/build": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.2.0.tgz", + "integrity": "sha512-/Yhqhg01UvX0E+tx4WAeK3AnwpZLqcw+XKTmsPsH5rbqpLKNRR9XsC3PJ4qBFU1u9/Lh13mmmr1+pG2p8ixMug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.2002.0", + "@babel/core": "7.28.3", + "@babel/helper-annotate-as-pure": "7.27.3", + "@babel/helper-split-export-declaration": "7.24.7", + "@inquirer/confirm": "5.1.14", + "@vitejs/plugin-basic-ssl": "2.1.0", + "beasties": "0.3.5", + "browserslist": "^4.23.0", + "esbuild": "0.25.9", + "https-proxy-agent": "7.0.6", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "magic-string": "0.30.17", + "mrmime": "2.0.1", + "parse5-html-rewriting-stream": "8.0.0", + "picomatch": "4.0.3", + "piscina": "5.1.3", + "rolldown": "1.0.0-beta.32", + "sass": "1.90.0", + "semver": "7.7.2", + "source-map-support": "0.5.21", + "tinyglobby": "0.2.14", + "vite": "7.1.2", + "watchpack": "2.4.4" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "lmdb": "3.4.2" + }, + "peerDependencies": { + "@angular/compiler": "^20.0.0", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/localize": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-server": "^20.0.0", + "@angular/service-worker": "^20.0.0", + "@angular/ssr": "^20.2.0", + "karma": "^6.4.0", + "less": "^4.2.0", + "ng-packagr": "^20.0.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.8 <6.0", + "vitest": "^3.1.1" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + }, + "@angular/localize": { + "optional": true + }, + "@angular/platform-browser": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "@angular/ssr": { + "optional": true + }, + "karma": { + "optional": true + }, + "less": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@angular/cli": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.2.0.tgz", + "integrity": "sha512-p62hkuQOxf5kJsVq6AT7B1MHYo1uPGoZV4lf47qOrLjl0WANwfxEgLvyuVgL47ylnINbPnITeeUdoadVn4t1sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.2002.0", + "@angular-devkit/core": "20.2.0", + "@angular-devkit/schematics": "20.2.0", + "@inquirer/prompts": "7.8.2", + "@listr2/prompt-adapter-inquirer": "3.0.1", + "@modelcontextprotocol/sdk": "1.17.3", + "@schematics/angular": "20.2.0", + "@yarnpkg/lockfile": "1.1.0", + "algoliasearch": "5.35.0", + "ini": "5.0.0", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "npm-package-arg": "13.0.0", + "pacote": "21.0.0", + "resolve": "1.22.10", + "semver": "7.7.2", + "yargs": "18.0.0", + "zod": "3.25.76" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.2.1.tgz", + "integrity": "sha512-T6RYnDZA9TyYhj2hUz4set8p4RbBCg6IKUvy6qzdKTl4nn4xQ0XUV7aGBYN4LKiGrse9lzlVUAyXtkhmwuBbCQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/core": "20.2.1", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.2.1.tgz", + "integrity": "sha512-ghVt1E8xmwjMwqyGRwXYJkr7fz40VEreUSX1q+gEzbGTftVrK1foxPT8jcueIn0ztArDf7+zSMtu314FiJZyYA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@angular/compiler-cli": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.2.1.tgz", + "integrity": "sha512-VpbcRqNPJvy1L9RDtGGQsQiOrMzxodUWklphbtnh9MrrK6lLuy6Qj2ROiW7vKL9WfLTCXWA24gBAcMAR76dq3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "7.28.3", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^4.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.2.0", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^18.0.0" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.2.1", + "typescript": ">=5.8 <6.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@angular/core": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.2.1.tgz", + "integrity": "sha512-/hl3AkmdQ62P9ttmfULEDg9GIz7BkzhGv9bSH2ssiU3Y4ax6eM8uQXEbMxBA8OUKOvg1Q4POcNHIiJQgO5t28Q==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.2.1", + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.15.0" + }, + "peerDependenciesMeta": { + "@angular/compiler": { + "optional": true + }, + "zone.js": { + "optional": true + } + } + }, + "node_modules/@angular/forms": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.2.1.tgz", + "integrity": "sha512-SfkiHEIFPLtTKeaXUTpRfYnpJDxaeKiTi0YqfvzEjKE68qH0t+pQ4rL0Poch2/l4snP6JS1XzO/nDve1dk3vZw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.2.1", + "@angular/core": "20.2.1", + "@angular/platform-browser": "20.2.1", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.2.1.tgz", + "integrity": "sha512-oxDih/A8G7W+I6oAip+sev+kebioYmzhB/NMzF8C8zx/ieVDzatJ+YeEZQt7eDaJLH94S4sIC25SPq3OFIabxg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/animations": "20.2.1", + "@angular/common": "20.2.1", + "@angular/core": "20.2.1" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", + "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", + "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@emnapi/core": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.4", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.2.tgz", + "integrity": "sha512-E+KExNurKcUJJdxmjglTl141EwxWyAHplvsYJQgSwXf8qiNWkTxTuCCqmhFEmbIXd4zLaGMfQFJ6WrZ7fSeV3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz", + "integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.2.0.tgz", + "integrity": "sha512-NyDSjPqhSvpZEMZrLCYUquWNl+XC/moEcVFqS55IEYIYsY0a1cUCevSqk7ctOlnm/RaSBU5psFryNlxcmGrjaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.18", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.18.tgz", + "integrity": "sha512-yeQN3AXjCm7+Hmq5L6Dm2wEDeBRdAZuyZ4I7tWSSanbxDzqM0KqzoDbKM7p4ebllAYdoQuPJS6N71/3L281i6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/external-editor": "^1.0.1", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.18.tgz", + "integrity": "sha512-xUjteYtavH7HwDMzq4Cn2X4Qsh5NozoDHCJTdoXg9HfZ4w3R6mxV1B9tL7DGJX2eq/zqtsFjhm0/RJIMGlh3ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz", + "integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.0", + "iconv-lite": "^0.6.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz", + "integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.2.tgz", + "integrity": "sha512-hqOvBZj/MhQCpHUuD3MVq18SSoDNHy7wEnQ8mtvs71K8OPZVXJinOzcvQna33dNYLYE4LkA9BlhAhK6MJcsVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.18.tgz", + "integrity": "sha512-7exgBm52WXZRczsydCVftozFTrrwbG5ySE0GqUd2zLNSBXyIucs2Wnm7ZKLe/aUu6NUg9dg7Q80QIHCdZJiY4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.18.tgz", + "integrity": "sha512-zXvzAGxPQTNk/SbT3carAD4Iqi6A2JS2qtcqQjsL22uvD+JfQzUrDEtPjLL7PLn8zlSNyPdY02IiQjzoL9TStA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.2.tgz", + "integrity": "sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.2.1", + "@inquirer/confirm": "^5.1.14", + "@inquirer/editor": "^4.2.17", + "@inquirer/expand": "^4.0.17", + "@inquirer/input": "^4.2.1", + "@inquirer/number": "^3.0.17", + "@inquirer/password": "^4.0.17", + "@inquirer/rawlist": "^4.1.5", + "@inquirer/search": "^3.1.0", + "@inquirer/select": "^4.3.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.6.tgz", + "integrity": "sha512-KOZqa3QNr3f0pMnufzL7K+nweFFCCBs6LCXZzXDrVGTyssjLeudn5ySktZYv1XiSqobyHRYYK0c6QsOxJEhXKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.1.tgz", + "integrity": "sha512-TkMUY+A2p2EYVY3GCTItYGvqT6LiLzHBnqsU1rJbrpXUijFfM6zvUx0R4civofVwFCmJZcKqOVwwWAjplKkhxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.2.tgz", + "integrity": "sha512-nwous24r31M+WyDEHV+qckXkepvihxhnyIaod2MG7eCE6G0Zm/HUF6jgN8GXgf4U7AU6SLseKdanY195cwvU6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz", + "integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@interopio/browser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/browser/-/browser-4.1.0.tgz", + "integrity": "sha512-mgUfFLIFh5+KD5Y96gC+QKzI8MUMdqrc/ZG4HWyDmyUtAtRIj7Oz790xmoYE70g7PLA3fpUh/ww3n6z0KfmOWQ==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.7.0", + "@interopio/desktop": "^6.14.0", + "@interopio/search-api": "^3.1.0", + "@interopio/workspaces-api": "^4.1.0", + "callback-registry": "^2.7.2" + } + }, + "node_modules/@interopio/browser-platform": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/browser-platform/-/browser-platform-4.1.0.tgz", + "integrity": "sha512-JWqn8TEsUZX5D2UqqAtSebCyvbOFwhjLIqqb3Lo09WMyNkFEAOeoYyit5jPPgOxuSZCdksiedp5Ro9dosBEX/w==", + "license": "Commercial", + "dependencies": { + "@interopio/browser": "^4.1.0", + "@interopio/core": "^6.7.0", + "@interopio/desktop": "^6.14.0" + } + }, + "node_modules/@interopio/core": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@interopio/core/-/core-6.7.0.tgz", + "integrity": "sha512-S2yroornM9BF2axGVtLoV8vKawrXpdJuKLMop6SC5/O7G7MjEW0YwZ17vikcEWe+hdqJ3n439ZR9eTJuWGu4ng==", + "license": "MIT", + "dependencies": { + "callback-registry": "^2.7.2", + "ws": "^8.18.0" + } + }, + "node_modules/@interopio/core/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@interopio/desktop": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@interopio/desktop/-/desktop-6.14.0.tgz", + "integrity": "sha512-/GhknWLqFi5h/yzLT++cKW5O9SomWK2BnrxQj9EnFqr8Hb6Swib9u/s7ZxRWcYjni8dq+VEZ+C3n/oXp/EisHg==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.5.2-fmr-beta", + "@interopio/schemas": "^9.9.0", + "@interopio/utils": "^1.4.2", + "@interopio/workspaces-api": "^4.0.0", + "callback-registry": "^2.7.1" + } + }, + "node_modules/@interopio/ng": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@interopio/ng/-/ng-6.0.0.tgz", + "integrity": "sha512-QSREUUrbHd3wgGGUucv3CD5Agy3+3rUhaasEkoNHp3sQR1bRFSDDV2n4SdHIdwNXFAZUF9fKzt3uFH46gC7FDw==", + "license": "MIT", + "dependencies": { + "@interopio/browser": "^4.1.0", + "@interopio/browser-platform": "^4.1.0", + "@interopio/desktop": "^6.14.0" + }, + "peerDependencies": { + "@angular/common": ">=19.0.0", + "@angular/core": ">=19.0.0" + } + }, + "node_modules/@interopio/schemas": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@interopio/schemas/-/schemas-9.9.0.tgz", + "integrity": "sha512-Rq+0Z15bQ9vHcAhVyaSBhVdT51zluNAXhuvAFS3mxSciOWSRXJV1B3ddepNeexao3bCL//V75RWyDlvaAmkZQg==", + "license": "ISC", + "dependencies": { + "ajv": "^6.12.6", + "ajv-keywords": "^3.4.1" + }, + "peerDependencies": { + "log4js": "^6.4.2" + }, + "peerDependenciesMeta": { + "log4js": { + "optional": true + } + } + }, + "node_modules/@interopio/schemas/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@interopio/schemas/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/@interopio/schemas/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/@interopio/search-api": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@interopio/search-api/-/search-api-3.1.0.tgz", + "integrity": "sha512-q6DaQ5TRupQTXyFjTVvGqh5GsosRpaAa8LZDImFHqyGaEoLq8siPAgpnr94BZ/xiNLY6VPm0maoOzDuThUHTeA==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.7.0" + } + }, + "node_modules/@interopio/theme": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@interopio/theme/-/theme-3.0.2.tgz", + "integrity": "sha512-weYe08itt7zspn9aa8hPgSZDp5FPHt7k2fPR489GdIS4zw8zAlM4+EHZZeIv9K3PZOfc7HqtzVgYKIct8Qbevw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@interopio/utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@interopio/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-14Bb2WI9Cwf9zjhTurP4qP9AVY4cxR1AOrwrOtHrTGAeeHp88mALFWfMEv1QnRhlQ06To2vQcRgebNrPlHDZ8Q==", + "license": "ISC", + "dependencies": { + "decoder-validate": "^0.0.2" + } + }, + "node_modules/@interopio/workspaces-api": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/workspaces-api/-/workspaces-api-4.1.0.tgz", + "integrity": "sha512-3yGZ5WOqGP7Xu10GENZwlnYxzrX9nkI/tD1aF5908wOkBrvI9hD/3nj3gAL6Nr2nw633E4GIgv0POs9XPeYR1g==", + "license": "MIT" + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", + "integrity": "sha512-3XFmGwm3u6ioREG+ynAQB7FoxfajgQnMhIu8wC5eo/Lsih4aKDg0VuIMGaOsYn7hJSJagSeaD4K8yfpkEoDEmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/type": "^3.0.7" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 8", + "listr2": "9.0.1" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.2.tgz", + "integrity": "sha512-NK80WwDoODyPaSazKbzd3NEJ3ygePrkERilZshxBViBARNz21rmediktGHExoj9n5t9+ChlgLlxecdFKLCuCKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.2.tgz", + "integrity": "sha512-zevaowQNmrp3U7Fz1s9pls5aIgpKRsKb3dZWDINtLiozh3jZI9fBrI19lYYBxqdyiIyNdlyiidPnwPShj4aK+w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.2.tgz", + "integrity": "sha512-OmHCULY17rkx/RoCoXlzU7LyR8xqrksgdYWwtYa14l/sseezZ8seKWXcogHcjulBddER5NnEFV4L/Jtr2nyxeg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.2.tgz", + "integrity": "sha512-ZBEfbNZdkneebvZs98Lq30jMY8V9IJzckVeigGivV7nTHJc+89Ctomp1kAIWKlwIG0ovCDrFI448GzFPORANYg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.2.tgz", + "integrity": "sha512-vL9nM17C77lohPYE4YaAQvfZCSVJSryE4fXdi8M7uWPBnU+9DJabgKVAeyDb84ZM2vcFseoBE4/AagVtJeRE7g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.2.tgz", + "integrity": "sha512-SXWjdBfNDze4ZPeLtYIzsIeDJDJ/SdsA0pEXcUBayUIMO0FQBHfVZZyHXQjjHr4cvOAzANBgIiqaXRwfMhzmLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.2.tgz", + "integrity": "sha512-IY+r3bxKW6Q6sIPiMC0L533DEfRJSXibjSI3Ft/w9Q8KQBNqEIvUFXt+09wV8S5BRk0a8uSF19YWxuRwEfI90g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.17.3.tgz", + "integrity": "sha512-JPwUKWSsbzx+DLFznf/QZ32Qa+ptfbUlHhRLrBQBAFu9iI1iYvizM4p+zhhRDceSsPutXp4z+R/HPVphlIiclg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.6", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.0.1", + "express-rate-limit": "^7.5.0", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.24.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.3.tgz", + "integrity": "sha512-rZxtMsLwjdXkMUGC3WwsPwLNVqVqnTJT6MNIB6e+5fhMcSCPP0AOsNWuMQ5mdCq6HNjs/ZeWAEchpqeprqBD2Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.5", + "@emnapi/runtime": "^1.4.5", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@npmcli/agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", + "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/fs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/git": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.3.tgz", + "integrity": "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", + "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", + "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.2.0.tgz", + "integrity": "sha512-rCNLSB/JzNvot0SEyXqWZ7tX2B5dD2a1br2Dp0vSYVo5jh8Z0EZ7lS9TsZ1UtziddB1UfNUaMCc538/HztnJGA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/package-json/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.2.tgz", + "integrity": "sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz", + "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.1.0.tgz", + "integrity": "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@oxc-project/runtime": { + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.81.0.tgz", + "integrity": "sha512-zm/LDVOq9FEmHiuM8zO4DWirv0VP2Tv2VsgaiHby9nvpq+FVrcqNYgv+TysLKOITQXWZj/roluTxFvpkHP0Iuw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.81.0.tgz", + "integrity": "sha512-CnOqkybZK8z6Gx7Wb1qF7AEnSzbol1WwcIzxYOr8e91LytGOjo0wCpgoYWZo8sdbpqX+X+TJayIzo4Pv0R/KjA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-Gs+313LfR4Ka3hvifdag9r44WrdKQaohya7ZXUXzARF7yx0atzFlVZjsvxtKAw1Vmtr4hB/RjUD1jf73SW7zDw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-W8oMqzGcI7wKPXUtS3WJNXzbghHfNiuM1UBAGpVb+XlUCgYRQJd2PRGP7D3WGql3rR3QEhUvSyAuCBAftPQw6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.32.tgz", + "integrity": "sha512-pM4c4sKUk37noJrnnDkJknLhCsfZu7aWyfe67bD0GQHfzAPjV16wPeD9CmQg4/0vv+5IfHYaa4VE536xbA+W0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.32.tgz", + "integrity": "sha512-M8SUgFlYb5kJJWcFC8gUMRiX4WLFxPKMed3SJ2YrxontgIrEcpizPU8nLNVsRYEStoSfKHKExpQw3OP6fm+5bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.32.tgz", + "integrity": "sha512-FuQpbNC/hE//bvv29PFnk0AtpJzdPdYl5CMhlWPovd9g3Kc3lw9TrEPIbL7gRPUdhKAiq6rVaaGvOnXxsa0eww==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.32.tgz", + "integrity": "sha512-hRZygRlaGCjcNTNY9GV7dDI18sG1dK3cc7ujHq72LoDad23zFDUGMQjiSxHWK+/r92iMV+j2MiHbvzayxqynsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.32.tgz", + "integrity": "sha512-HzgT6h+CXLs+GKAU0Wvkt3rvcv0CmDBsDjlPhh4GHysOKbG9NjpKYX2zvjx671E9pGbTvcPpwy7gGsy7xpu+8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.32.tgz", + "integrity": "sha512-Ab/wbf6gdzphDbsg51UaxsC93foQ7wxhtg0SVCXd25BrV4MAJ1HoDtKN/f4h0maFmJobkqYub2DlmoasUzkvBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.32.tgz", + "integrity": "sha512-VoxqGEfh5A1Yx+zBp/FR5QwAbtzbuvky2SVc+ii4g1gLD4zww6mt/hPi5zG+b88zYPFBKHpxMtsz9cWqXU5V5Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-qZ1ViyOUDGbiZrSAJ/FIAhYUElDfVxxFW6DLT/w4KeoZN3HsF4jmRP95mXtl51/oGrqzU9l9Q2f7/P4O/o2ZZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.32.tgz", + "integrity": "sha512-hEkG3wD+f3wytV0lqwb/uCrXc4r4Ny/DWJFJPfQR3VeMWplhWGgSHNwZc2Q7k86Yi36f9NNzzWmrIuvHI9lCVw==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.0.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-k3MvDf8SiA7uP2ikP0unNouJ2YCrnwi7xcVW+RDgMp5YXVr3Xu6svmT3HGn0tkCKUuPmf+uy8I5uiHt5qWQbew==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/binding-win32-ia32-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-wAi/FxGh7arDOUG45UmnXE1sZUa0hY4cXAO2qWAjFa3f7bTgz/BqwJ7XN5SUezvAJPNkME4fEpInfnBvM25a0w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-Ej0i4PZk8ltblZtzVK8ouaGUacUtxRmTm5S9794mdyU/tYxXjAJNseOfxrnHpMWKjMDrOKbqkPqJ52T9NR4LQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.32.tgz", + "integrity": "sha512-QReCdvxiUZAPkvp1xpAg62IeNzykOFA6syH2CnClif4YmALN1XKpB39XneL80008UbtMShthSVDKmrx05N1q/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.49.0.tgz", + "integrity": "sha512-rlKIeL854Ed0e09QGYFlmDNbka6I3EQFw7iZuugQjMb11KMpJCLPFL4ZPbMfaEhLADEL1yx0oujGkBQ7+qW3eA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.49.0.tgz", + "integrity": "sha512-cqPpZdKUSQYRtLLr6R4X3sD4jCBO1zUmeo3qrWBCqYIeH8Q3KRL4F3V7XJ2Rm8/RJOQBZuqzQGWPjjvFUcYa/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.49.0.tgz", + "integrity": "sha512-99kMMSMQT7got6iYX3yyIiJfFndpojBmkHfTc1rIje8VbjhmqBXE+nb7ZZP3A5skLyujvT0eIUCUsxAe6NjWbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.49.0.tgz", + "integrity": "sha512-y8cXoD3wdWUDpjOLMKLx6l+NFz3NlkWKcBCBfttUn+VGSfgsQ5o/yDUGtzE9HvsodkP0+16N0P4Ty1VuhtRUGg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.49.0.tgz", + "integrity": "sha512-3mY5Pr7qv4GS4ZvWoSP8zha8YoiqrU+e0ViPvB549jvliBbdNLrg2ywPGkgLC3cmvN8ya3za+Q2xVyT6z+vZqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.49.0.tgz", + "integrity": "sha512-C9KzzOAQU5gU4kG8DTk+tjdKjpWhVWd5uVkinCwwFub2m7cDYLOdtXoMrExfeBmeRy9kBQMkiyJ+HULyF1yj9w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.49.0.tgz", + "integrity": "sha512-OVSQgEZDVLnTbMq5NBs6xkmz3AADByCWI4RdKSFNlDsYXdFtlxS59J+w+LippJe8KcmeSSM3ba+GlsM9+WwC1w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.49.0.tgz", + "integrity": "sha512-ZnfSFA7fDUHNa4P3VwAcfaBLakCbYaxCk0jUnS3dTou9P95kwoOLAMlT3WmEJDBCSrOEFFV0Y1HXiwfLYJuLlA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.49.0.tgz", + "integrity": "sha512-Z81u+gfrobVK2iV7GqZCBfEB1y6+I61AH466lNK+xy1jfqFLiQ9Qv716WUM5fxFrYxwC7ziVdZRU9qvGHkYIJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.49.0.tgz", + "integrity": "sha512-zoAwS0KCXSnTp9NH/h9aamBAIve0DXeYpll85shf9NJ0URjSTzzS+Z9evmolN+ICfD3v8skKUPyk2PO0uGdFqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.49.0.tgz", + "integrity": "sha512-2QyUyQQ1ZtwZGiq0nvODL+vLJBtciItC3/5cYN8ncDQcv5avrt2MbKt1XU/vFAJlLta5KujqyHdYtdag4YEjYQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.49.0.tgz", + "integrity": "sha512-k9aEmOWt+mrMuD3skjVJSSxHckJp+SiFzFG+v8JLXbc/xi9hv2icSkR3U7uQzqy+/QbbYY7iNB9eDTwrELo14g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.49.0.tgz", + "integrity": "sha512-rDKRFFIWJ/zJn6uk2IdYLc09Z7zkE5IFIOWqpuU0o6ZpHcdniAyWkwSUWE/Z25N/wNDmFHHMzin84qW7Wzkjsw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.49.0.tgz", + "integrity": "sha512-FkkhIY/hYFVnOzz1WeV3S9Bd1h0hda/gRqvZCMpHWDHdiIHn6pqsY3b5eSbvGccWHMQ1uUzgZTKS4oGpykf8Tw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.49.0.tgz", + "integrity": "sha512-gRf5c+A7QiOG3UwLyOOtyJMD31JJhMjBvpfhAitPAoqZFcOeK3Kc1Veg1z/trmt+2P6F/biT02fU19GGTS529A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.49.0.tgz", + "integrity": "sha512-BR7+blScdLW1h/2hB/2oXM+dhTmpW3rQt1DeSiCP9mc2NMMkqVgjIN3DDsNpKmezffGC9R8XKVOLmBkRUcK/sA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.49.0.tgz", + "integrity": "sha512-hDMOAe+6nX3V5ei1I7Au3wcr9h3ktKzDvF2ne5ovX8RZiAHEtX1A5SNNk4zt1Qt77CmnbqT+upb/umzoPMWiPg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.49.0.tgz", + "integrity": "sha512-wkNRzfiIGaElC9kXUT+HLx17z7D0jl+9tGYRKwd8r7cUqTL7GYAvgUY++U2hK6Ar7z5Z6IRRoWC8kQxpmM7TDA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.49.0.tgz", + "integrity": "sha512-gq5aW/SyNpjp71AAzroH37DtINDcX1Qw2iv9Chyz49ZgdOP3NV8QCyKZUrGsYX9Yyggj5soFiRCgsL3HwD8TdA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.49.0.tgz", + "integrity": "sha512-gEtqFbzmZLFk2xKh7g0Rlo8xzho8KrEFEkzvHbfUGkrgXOpZ4XagQ6n+wIZFNh1nTb8UD16J4nFSFKXYgnbdBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@schematics/angular": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.2.0.tgz", + "integrity": "sha512-7sZVj7hOcytQrPE17ixjzul9ih81IfXGcEZvr7fT77qy7Hm5rbMjxqSYxCTf3kAyBFRSLq/E8GTapPAjk2coOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "@angular-devkit/schematics": "20.2.0", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.1.0.tgz", + "integrity": "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz", + "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.3.tgz", + "integrity": "sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.1.0.tgz", + "integrity": "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.1.1.tgz", + "integrity": "sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.1.1.tgz", + "integrity": "sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz", + "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jasmine": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.9.tgz", + "integrity": "sha512-8t4HtkW4wxiPVedMpeZ63n3vlWxEIquo/zc1Tm8ElU+SqVV7+D3Na2PWaJUp179AzTragMWVwkMv7mvty0NfyQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz", + "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.10.0" + } + }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", + "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/abbrev": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/algoliasearch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.35.0.tgz", + "integrity": "sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.1.0", + "@algolia/client-abtesting": "5.35.0", + "@algolia/client-analytics": "5.35.0", + "@algolia/client-common": "5.35.0", + "@algolia/client-insights": "5.35.0", + "@algolia/client-personalization": "5.35.0", + "@algolia/client-query-suggestions": "5.35.0", + "@algolia/client-search": "5.35.0", + "@algolia/ingestion": "1.35.0", + "@algolia/monitoring": "1.35.0", + "@algolia/recommend": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansis": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.1.0.tgz", + "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/beasties": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz", + "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "css-select": "^6.0.0", + "css-what": "^7.0.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^10.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.49", + "postcss-media-query-parser": "^0.2.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001735", + "electron-to-chromium": "^1.5.204", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callback-registry": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/callback-registry/-/callback-registry-2.7.2.tgz", + "integrity": "sha512-VVrtF21DaH0VHeNMkLDd4VGuxsYM3V3l3lwYneKVMU/6X3TRtcQszUwlAcqj2HrLcbP1NyS12LsanUwCykaz/Q==", + "license": "ISC" + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001737", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001737.tgz", + "integrity": "sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", + "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", + "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/connect/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decoder-validate": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/decoder-validate/-/decoder-validate-0.0.2.tgz", + "integrity": "sha512-9BsqAH9Zq6CvlxKHkSrZrH2iYlhuhHcrh6uTnDvcsa9P5YEweEzt1ci+X/9STgSCE7b9BA7/QIiwhfUDDWmjxw==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.209", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.209.tgz", + "integrity": "sha512-Xoz0uMrim9ZETCQt8UgM5FxQF9+imA7PBpokoGcZloA1uw2LeHzTlip5cb5KOAsXZLjh/moN2vReN3ZjJmjI9A==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/engine.io": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", + "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz", + "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "punycode": "^1.4.1", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.5.tgz", + "integrity": "sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", + "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", + "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.0.tgz", + "integrity": "sha512-gEf705MZLrDPkbbhi8PnoO4ZwYgKoNL+ISZ3AjZMht2r3N5tuTwncyDi6Fv2/qDnMmZxgs0yI8WDOyR8q3G+SQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^11.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz", + "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore-walk": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", + "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minimatch": "^10.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/immutable": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", + "dev": true, + "license": "MIT" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", + "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/ip-address": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", + "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jasmine-core": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.8.0.tgz", + "integrity": "sha512-Q9dqmpUAfptwyueW3+HqBOkSuYd9I/clZSSfN97wXE/Nr2ROFNCwIBEC1F6kb3QXS9Fcz0LjFYSDQT+BiwjuhA==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "devOptional": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/karma": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", + "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.7.2", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-chrome-launcher/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma-coverage/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", + "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "jasmine-core": "^4.0.0 || ^5.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-jasmine/node_modules/jasmine-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", + "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/karma/node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/karma/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/karma/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/karma/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/karma/node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/karma/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/listr2": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.2.tgz", + "integrity": "sha512-nwVGUfTBUwJKXd6lRV8pFNfnrCC1+l49ESJRM19t/tFb/97QfJEixe5DYRvug5JO7DSFKoKaVy7oGMt5rVqZvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "msgpackr": "^1.11.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.5.3", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.4.2", + "@lmdb/lmdb-darwin-x64": "3.4.2", + "@lmdb/lmdb-linux-arm": "3.4.2", + "@lmdb/lmdb-linux-arm64": "3.4.2", + "@lmdb/lmdb-linux-x64": "3.4.2", + "@lmdb/lmdb-win32-arm64": "3.4.2", + "@lmdb/lmdb-win32-x64": "3.4.2" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-fetch-happen": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", + "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", + "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/msgpackr": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.5.tgz", + "integrity": "sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==", + "dev": true, + "license": "MIT", + "optional": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-gyp": { + "version": "11.4.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.4.2.tgz", + "integrity": "sha512-3gD+6zsrLQH7DyYOUIutaauuXrcyxeTPyQuZQCQoNPZMHMMS5m4y0xclNpvYzoK3VNzuyxT6eF4mkIL4WSZ1eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", + "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-install-checks": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.2.tgz", + "integrity": "sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-package-arg": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz", + "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^9.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-packlist": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.1.tgz", + "integrity": "sha512-vaC03b2PqJA6QqmwHi1jNU8fAPXEnnyv4j/W4PVfgm24C4/zZGSVut3z0YUeN0WIFCo1oGOL02+6LbvFK7JL4Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^8.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", + "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", + "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ordered-binary": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz", + "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/pacote": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.0.tgz", + "integrity": "sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^10.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/pacote/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/pacote/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/pacote/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", + "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0", + "parse5": "^8.0.0", + "parse5-sax-parser": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", + "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/piscina": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.3.tgz", + "integrity": "sha512-0u3N7H4+hbr40KjuVn2uNhOcthu/9usKhnw5vT3J7ply79v3D3M8naI00el9Klcy16x557VsEkkUQaHCWFXC/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.x" + }, + "optionalDependencies": { + "@napi-rs/nice": "^1.0.4" + } + }, + "node_modules/pkce-challenge": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", + "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true, + "license": "MIT" + }, + "node_modules/proc-log": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rolldown": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.32.tgz", + "integrity": "sha512-vxI2sPN07MMaoYKlFrVva5qZ1Y7DAZkgp7MQwTnyHt4FUMz9Sh+YeCzNFV9JYHI6ZNwoGWLCfCViE3XVsRC1cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/runtime": "=0.81.0", + "@oxc-project/types": "=0.81.0", + "@rolldown/pluginutils": "1.0.0-beta.32", + "ansis": "^4.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-beta.32", + "@rolldown/binding-darwin-arm64": "1.0.0-beta.32", + "@rolldown/binding-darwin-x64": "1.0.0-beta.32", + "@rolldown/binding-freebsd-x64": "1.0.0-beta.32", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.32", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.32", + "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.32", + "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.32", + "@rolldown/binding-linux-x64-musl": "1.0.0-beta.32", + "@rolldown/binding-openharmony-arm64": "1.0.0-beta.32", + "@rolldown/binding-wasm32-wasi": "1.0.0-beta.32", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.32", + "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.32", + "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.32" + } + }, + "node_modules/rollup": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.49.0.tgz", + "integrity": "sha512-3IVq0cGJ6H7fKXXEdVt+RcYvRCt8beYY9K1760wGQwSAHZcS9eot1zDG5axUbcp/kWRi5zKIIDX8MoKv/TzvZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.49.0", + "@rollup/rollup-android-arm64": "4.49.0", + "@rollup/rollup-darwin-arm64": "4.49.0", + "@rollup/rollup-darwin-x64": "4.49.0", + "@rollup/rollup-freebsd-arm64": "4.49.0", + "@rollup/rollup-freebsd-x64": "4.49.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.49.0", + "@rollup/rollup-linux-arm-musleabihf": "4.49.0", + "@rollup/rollup-linux-arm64-gnu": "4.49.0", + "@rollup/rollup-linux-arm64-musl": "4.49.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.49.0", + "@rollup/rollup-linux-ppc64-gnu": "4.49.0", + "@rollup/rollup-linux-riscv64-gnu": "4.49.0", + "@rollup/rollup-linux-riscv64-musl": "4.49.0", + "@rollup/rollup-linux-s390x-gnu": "4.49.0", + "@rollup/rollup-linux-x64-gnu": "4.49.0", + "@rollup/rollup-linux-x64-musl": "4.49.0", + "@rollup/rollup-win32-arm64-msvc": "4.49.0", + "@rollup/rollup-win32-ia32-msvc": "4.49.0", + "@rollup/rollup-win32-x64-msvc": "4.49.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", + "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz", + "integrity": "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" + } + }, + "node_modules/socket.io-adapter/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tuf-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.1.0.tgz", + "integrity": "sha512-3T3T04WzowbwV2FDiGXBbr81t64g1MUGGJRgT4x5o97N+8ArdhVCAF9IxFrxuSJmM3E5Asn7nKHkao0ibcZXAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "3.0.1", + "debug": "^4.4.1", + "make-fetch-happen": "^14.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.41.tgz", + "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/undici-types": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/unique-slug": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", + "integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.2.tgz", + "integrity": "sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.6", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.14" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.6", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", + "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "zod": "^3.24.1" + } + }, + "node_modules/zone.js": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz", + "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==", + "license": "MIT" + } + } +} diff --git a/angular/solution/client-details/package.json b/angular/solution/client-details/package.json new file mode 100644 index 0000000..800253c --- /dev/null +++ b/angular/solution/client-details/package.json @@ -0,0 +1,37 @@ +{ + "name": "client-details", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@interopio/ng": "^6.0.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.6", + "@angular/cli": "^20.1.6", + "@angular/compiler-cli": "^20.1.0", + "@interopio/theme": "^3.0.2", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } +} diff --git a/angular/solution/clients/src/assets/.gitkeep b/angular/solution/client-details/public/.gitkeep similarity index 100% rename from angular/solution/clients/src/assets/.gitkeep rename to angular/solution/client-details/public/.gitkeep diff --git a/angular/solution/clients/src/assets/favicon.ico b/angular/solution/client-details/public/favicon.ico similarity index 100% rename from angular/solution/clients/src/assets/favicon.ico rename to angular/solution/client-details/public/favicon.ico diff --git a/angular/solution/clients/src/assets/logo192.png b/angular/solution/client-details/public/logo192.png similarity index 100% rename from angular/solution/clients/src/assets/logo192.png rename to angular/solution/client-details/public/logo192.png diff --git a/angular/solution/clients/src/assets/logo512.png b/angular/solution/client-details/public/logo512.png similarity index 100% rename from angular/solution/clients/src/assets/logo512.png rename to angular/solution/client-details/public/logo512.png diff --git a/angular/solution/client-details/src/app/app.config.ts b/angular/solution/client-details/src/app/app.config.ts new file mode 100644 index 0000000..61deca3 --- /dev/null +++ b/angular/solution/client-details/src/app/app.config.ts @@ -0,0 +1,30 @@ +import { + ApplicationConfig, + provideBrowserGlobalErrorListeners, + provideZoneChangeDetection +} from "@angular/core"; + +import { provideIoConnect } from "@interopio/ng"; +import IOBrowser, { IOConnectBrowser } from "@interopio/browser"; +import IOWorkspaces from "@interopio/workspaces-api"; +import "@interopio/theme"; + +import { IOConnectService } from "./io-connect.service"; + +const config: IOConnectBrowser.Config = { + libraries: [IOWorkspaces] +}; + +export const appConfig: ApplicationConfig = { + providers: [ + provideBrowserGlobalErrorListeners(), + provideZoneChangeDetection({ eventCoalescing: true }), + provideIoConnect({ + browser: { + factory: IOBrowser, + config + } + }), + IOConnectService + ] +}; diff --git a/angular/solution/client-details/src/app/app.css b/angular/solution/client-details/src/app/app.css new file mode 100644 index 0000000..06bc347 --- /dev/null +++ b/angular/solution/client-details/src/app/app.css @@ -0,0 +1,35 @@ +body { + padding: 16px; + --io-font-size: 14px; + height: 100vh; + display: flex; + flex-direction: column; +} + +header { + display: flex; + align-items: center; + margin-bottom: 12px; +} + +header div { + margin-left: 8px; +} + +th { + text-align: left; + padding: 8px 2px; +} + +td { + padding: 2px 4px; +} + +tbody tr:hover { + background-color: var(--list-item-background-hover); +} + +.table-container { + overflow: auto; + flex: 1; +} diff --git a/angular/solution/client-details/src/app/app.html b/angular/solution/client-details/src/app/app.html new file mode 100644 index 0000000..ec73882 --- /dev/null +++ b/angular/solution/client-details/src/app/app.html @@ -0,0 +1,37 @@ + +
+

Client Details

+
+ {{ ioConnectStatus() }} +
+
+ +
+ + + + + + + + + + + + + + + + + + + + + + + +
Full Name{{ client.name }}
Address{{ client.address }}
Phone Number{{ client.contactNumbers }}
Email{{ client.email }}
Account Manager{{ client.accountManager }}
+
+ diff --git a/angular/solution/client-details/src/app/app.ts b/angular/solution/client-details/src/app/app.ts new file mode 100644 index 0000000..390fa00 --- /dev/null +++ b/angular/solution/client-details/src/app/app.ts @@ -0,0 +1,30 @@ +import { Component, signal } from "@angular/core"; +import { CommonModule } from "@angular/common"; + +import { Client, IOConnectStatus } from "./types"; +import { IOConnectService } from "./io-connect.service"; + +@Component({ + selector: "app-root", + imports: [CommonModule], + templateUrl: "./app.html", + styleUrl: "./app.css" +}) +export class App { + public client!: Client; + public readonly ioConnectStatus = signal("disconnected"); + + constructor(private readonly ioConnectService: IOConnectService) {} + + public async ngOnInit(): Promise { + this.ioConnectStatus.set(this.ioConnectService.connectionStatus); + + if (this.ioConnectStatus() === "available") { + this.ioConnectService.subscribeToWorkspaceContextUpdate(); + } + + this.ioConnectService.onClientSelected().subscribe((client) => { + this.client = client; + }); + } +} diff --git a/angular/solution/client-details/src/app/io-connect.service.ts b/angular/solution/client-details/src/app/io-connect.service.ts new file mode 100644 index 0000000..62e0681 --- /dev/null +++ b/angular/solution/client-details/src/app/io-connect.service.ts @@ -0,0 +1,41 @@ +import { Injectable, NgZone } from "@angular/core"; +import { Observable, Subject } from "rxjs"; +import { IOConnectStore } from "@interopio/ng"; + +import { Client, IOConnectStatus } from "./types"; + +@Injectable() +export class IOConnectService { + private readonly selectedClientSource = new Subject(); + + constructor( + private readonly ioConnectStore: IOConnectStore, + private readonly _zone: NgZone + ) { + (window as any).io = this.ioConnectStore.getIOConnect(); + } + + public get connectionStatus(): IOConnectStatus { + return this.ioConnectStore.getInitError() ? "unavailable" : "available"; + } + + public onClientSelected(): Observable { + return this.selectedClientSource.asObservable(); + } + + public async subscribeToWorkspaceContextUpdate(): Promise { + const myWorkspace = await this.ioConnectStore + .getIOConnect() + .workspaces?.getMyWorkspace(); + + if (!myWorkspace) { + return; + } + + myWorkspace.onContextUpdated((newContext: Client) => { + this._zone.run(() => this.selectedClientSource.next(newContext)); + + myWorkspace.setTitle(newContext.name); + }); + } +} diff --git a/angular/solution/client-details/src/app/types.ts b/angular/solution/client-details/src/app/types.ts new file mode 100644 index 0000000..dab9f00 --- /dev/null +++ b/angular/solution/client-details/src/app/types.ts @@ -0,0 +1,40 @@ +export interface Stock { + Ask: number; + Bid: number; + BPOD: string; + Bloomberg: string; + Description: string; + Exchange: string; + RIC: string; + Venues: string; +} + +export interface StockPriceUpdate { + RIC: string; + Bid: number; + Ask: number; +} + +export interface FullPriceUpdate { + stocks: StockPriceUpdate[]; +} + +export interface Client { + accountManager: string; + address: string; + branchCode: string; + contactNumbers: string; + eId: string; + email: string; + gId: string; + id: string; + name: string; + pId: string; + portf: string; + portfolio: string; + preferredName: string; + spn: string; + notes: string[]; +} + +export type IOConnectStatus = "disconnected" | "unavailable" | "available"; diff --git a/angular/solution/client-details/src/index.html b/angular/solution/client-details/src/index.html new file mode 100644 index 0000000..3c952ed --- /dev/null +++ b/angular/solution/client-details/src/index.html @@ -0,0 +1,15 @@ + + + + + Client Details + + + + + + + + + + diff --git a/angular/solution/client-details/src/main.ts b/angular/solution/client-details/src/main.ts new file mode 100644 index 0000000..8b7c83d --- /dev/null +++ b/angular/solution/client-details/src/main.ts @@ -0,0 +1,5 @@ +import { bootstrapApplication } from "@angular/platform-browser"; +import { appConfig } from "./app/app.config"; +import { App } from "./app/app"; + +bootstrapApplication(App, appConfig).catch((err) => console.error(err)); diff --git a/angular/solution/client-details/src/styles.css b/angular/solution/client-details/src/styles.css new file mode 100644 index 0000000..f9f52be --- /dev/null +++ b/angular/solution/client-details/src/styles.css @@ -0,0 +1,3 @@ +html { + background-color: var(--base-surface-frame-background); +} diff --git a/angular/solution/client-details/tsconfig.app.json b/angular/solution/client-details/tsconfig.app.json new file mode 100644 index 0000000..264f459 --- /dev/null +++ b/angular/solution/client-details/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] +} diff --git a/angular/solution/client-details/tsconfig.json b/angular/solution/client-details/tsconfig.json new file mode 100644 index 0000000..e4955f2 --- /dev/null +++ b/angular/solution/client-details/tsconfig.json @@ -0,0 +1,34 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "typeCheckHostBindings": true, + "strictTemplates": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/angular/solution/client-details/tsconfig.spec.json b/angular/solution/client-details/tsconfig.spec.json new file mode 100644 index 0000000..04df34c --- /dev/null +++ b/angular/solution/client-details/tsconfig.spec.json @@ -0,0 +1,14 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "include": [ + "src/**/*.ts" + ] +} diff --git a/angular/solution/clients/.editorconfig b/angular/solution/clients/.editorconfig deleted file mode 100644 index 59d9a3a..0000000 --- a/angular/solution/clients/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# Editor configuration, see https://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -insert_final_newline = true -trim_trailing_whitespace = true - -[*.ts] -quote_type = single - -[*.md] -max_line_length = off -trim_trailing_whitespace = false diff --git a/angular/solution/clients/.gitignore b/angular/solution/clients/.gitignore index 86d943a..cc7b141 100644 --- a/angular/solution/clients/.gitignore +++ b/angular/solution/clients/.gitignore @@ -1,21 +1,18 @@ -# See http://help.github.com/ignore-files/ for more about ignoring files. +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. -# compiled output +# Compiled output /dist /tmp /out-tsc -# Only exists if Bazel was run /bazel-out -# dependencies +# Node /node_modules - -# profiling files -chrome-profiler-events*.json -speed-measure-plugin*.json +npm-debug.log +yarn-error.log # IDEs and editors -/.idea +.idea/ .project .classpath .c9/ @@ -23,7 +20,7 @@ speed-measure-plugin*.json .settings/ *.sublime-workspace -# IDE - VSCode +# Visual Studio Code .vscode/* !.vscode/settings.json !.vscode/tasks.json @@ -31,16 +28,15 @@ speed-measure-plugin*.json !.vscode/extensions.json .history/* -# misc -/.sass-cache +# Miscellaneous +/.angular/cache +.sass-cache/ /connect.lock /coverage /libpeerconnection.log -npm-debug.log -yarn-error.log testem.log /typings -# System Files +# System files .DS_Store Thumbs.db diff --git a/angular/solution/clients/README.md b/angular/solution/clients/README.md index 35d2a32..1289b35 100644 --- a/angular/solution/clients/README.md +++ b/angular/solution/clients/README.md @@ -1,27 +1,59 @@ # Clients -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.0. +This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.1.6. ## Development server -Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. +To start a local development server, run: + +```bash +ng serve +``` + +Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files. ## Code scaffolding -Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. +Angular CLI includes powerful code scaffolding tools. To generate a new component, run: + +```bash +ng generate component component-name +``` + +For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run: + +```bash +ng generate --help +``` -## Build +## Building -Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. +To build the project run: + +```bash +ng build +``` + +This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed. ## Running unit tests -Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). +To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command: + +```bash +ng test +``` ## Running end-to-end tests -Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). +For end-to-end (e2e) testing, run: + +```bash +ng e2e +``` + +Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs. -## Further help +## Additional Resources -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). +For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/angular/solution/clients/angular.json b/angular/solution/clients/angular.json index d1545d8..ef32f38 100644 --- a/angular/solution/clients/angular.json +++ b/angular/solution/clients/angular.json @@ -11,120 +11,82 @@ "prefix": "app", "architect": { "build": { - "builder": "@angular-devkit/build-angular:browser", + "builder": "@angular/build:application", "options": { - "baseHref": "/", - "outputPath": "dist/clients", - "index": "src/index.html", - "main": "src/main.ts", - "polyfills": "src/polyfills.ts", + "browser": "src/main.ts", + "polyfills": [ + "zone.js" + ], "tsConfig": "tsconfig.app.json", - "aot": true, "assets": [ - "src/favicon.ico", - "src/assets", - "src/service-worker.js", - "src/manifest.json" + { + "glob": "**/*", + "input": "public" + } ], "styles": [ - "src/custom-theme.scss", - "node_modules/bootstrap/dist/css/bootstrap.min.css", "src/styles.css" - ], - "scripts": [] + ] }, "configurations": { "production": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ], - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "extractCss": true, - "namedChunks": false, - "extractLicenses": true, - "vendorChunk": false, - "buildOptimizer": true, "budgets": [ { "type": "initial", - "maximumWarning": "2mb", - "maximumError": "5mb" + "maximumWarning": "500kB", + "maximumError": "1MB" }, { "type": "anyComponentStyle", - "maximumWarning": "6kb", - "maximumError": "10kb" + "maximumWarning": "4kB", + "maximumError": "8kB" } - ] + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true } - } + }, + "defaultConfiguration": "production" }, "serve": { - "builder": "@angular-devkit/build-angular:dev-server", - "options": { - "browserTarget": "clients:build" - }, + "builder": "@angular/build:dev-server", "configurations": { "production": { - "browserTarget": "clients:build:production" + "buildTarget": "clients:build:production" + }, + "development": { + "buildTarget": "clients:build:development" } - } + }, + "defaultConfiguration": "development" }, "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "browserTarget": "clients:build" - } + "builder": "@angular/build:extract-i18n" }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@angular/build:karma", "options": { - "main": "src/test.ts", - "polyfills": "src/polyfills.ts", + "polyfills": [ + "zone.js", + "zone.js/testing" + ], "tsConfig": "tsconfig.spec.json", - "karmaConfig": "karma.conf.js", "assets": [ - "src/favicon.ico", - "src/assets" + { + "glob": "**/*", + "input": "public" + } ], "styles": [ "src/styles.css" - ], - "scripts": [] - } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": [ - "tsconfig.app.json", - "tsconfig.spec.json", - "e2e/tsconfig.json" - ], - "exclude": [ - "**/node_modules/**" ] } - }, - "e2e": { - "builder": "@angular-devkit/build-angular:protractor", - "options": { - "protractorConfig": "e2e/protractor.conf.js", - "devServerTarget": "clients:serve" - }, - "configurations": { - "production": { - "devServerTarget": "clients:serve:production" - } - } } } } - }, - "defaultProject": "clients" -} \ No newline at end of file + } +} diff --git a/angular/solution/clients/browserslist b/angular/solution/clients/browserslist deleted file mode 100644 index 8084853..0000000 --- a/angular/solution/clients/browserslist +++ /dev/null @@ -1,12 +0,0 @@ -# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries - -# You can see what browsers were selected by your queries by running: -# npx browserslist - -> 0.5% -last 2 versions -Firefox ESR -not dead -not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file diff --git a/angular/solution/clients/karma.conf.js b/angular/solution/clients/karma.conf.js deleted file mode 100644 index 129ecaa..0000000 --- a/angular/solution/clients/karma.conf.js +++ /dev/null @@ -1,32 +0,0 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage-istanbul-reporter'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - coverageIstanbulReporter: { - dir: require('path').join(__dirname, './coverage/clients'), - reports: ['html', 'lcovonly', 'text-summary'], - fixWebpackSourcePaths: true - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - restartOnFileChange: true - }); -}; diff --git a/angular/solution/clients/package-lock.json b/angular/solution/clients/package-lock.json index ad73304..26cb62c 100644 --- a/angular/solution/clients/package-lock.json +++ b/angular/solution/clients/package-lock.json @@ -1,13739 +1,10091 @@ { "name": "clients", "version": "0.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@angular-devkit/architect": { - "version": "0.901.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.4.tgz", - "integrity": "sha512-w4RMj7eLhUSh70HUy5tW4EXjLQFXk0Lfr9WiSy5gvPGp+zzYxknI+Wn4Xid1wU/WS+4tuMv5nJIaNaH2sABESQ==", - "dev": true, - "requires": { - "@angular-devkit/core": "9.1.4", - "rxjs": "6.5.4" - }, - "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "packages": { + "": { + "name": "clients", + "version": "0.0.0", + "dependencies": { + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@interopio/ng": "^6.0.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.6", + "@angular/cli": "^20.1.6", + "@angular/compiler-cli": "^20.1.0", + "@interopio/theme": "^3.0.2", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.1.0.tgz", + "integrity": "sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular-devkit/build-angular": { - "version": "0.901.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.4.tgz", - "integrity": "sha512-Vod4bc6d38fuvqauIDQxKMe9hKW9m4QNzPKxEc+Dv5Xkv95WaGzkbUVu8M8t4E//sDDMpmcPdYOXSdR27WBi2Q==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.901.4", - "@angular-devkit/build-optimizer": "0.901.4", - "@angular-devkit/build-webpack": "0.901.4", - "@angular-devkit/core": "9.1.4", - "@babel/core": "7.9.0", - "@babel/generator": "7.9.3", - "@babel/preset-env": "7.9.0", - "@babel/template": "7.8.6", - "@jsdevtools/coverage-istanbul-loader": "3.0.3", - "@ngtools/webpack": "9.1.4", - "ajv": "6.12.0", - "autoprefixer": "9.7.4", - "babel-loader": "8.0.6", - "browserslist": "^4.9.1", - "cacache": "15.0.0", - "caniuse-lite": "^1.0.30001032", - "circular-dependency-plugin": "5.2.0", - "copy-webpack-plugin": "5.1.1", - "core-js": "3.6.4", - "css-loader": "3.5.1", - "cssnano": "4.1.10", - "file-loader": "6.0.0", - "find-cache-dir": "3.3.1", - "glob": "7.1.6", - "jest-worker": "25.1.0", - "karma-source-map-support": "1.4.0", - "less": "3.11.1", - "less-loader": "5.0.0", - "license-webpack-plugin": "2.1.4", - "loader-utils": "2.0.0", - "mini-css-extract-plugin": "0.9.0", - "minimatch": "3.0.4", - "open": "7.0.3", - "parse5": "4.0.0", - "postcss": "7.0.27", - "postcss-import": "12.0.1", - "postcss-loader": "3.0.0", - "raw-loader": "4.0.0", - "regenerator-runtime": "0.13.5", - "rimraf": "3.0.2", - "rollup": "2.1.0", - "rxjs": "6.5.4", - "sass": "1.26.3", - "sass-loader": "8.0.2", - "semver": "7.1.3", - "source-map": "0.7.3", - "source-map-loader": "0.2.4", - "speed-measure-webpack-plugin": "1.3.1", - "style-loader": "1.1.3", - "stylus": "0.54.7", - "stylus-loader": "3.0.2", - "terser": "4.6.10", - "terser-webpack-plugin": "2.3.5", - "tree-kill": "1.2.2", - "webpack": "4.42.0", - "webpack-dev-middleware": "3.7.2", - "webpack-dev-server": "3.10.3", - "webpack-merge": "4.2.2", - "webpack-sources": "1.4.3", - "webpack-subresource-integrity": "1.4.0", - "worker-plugin": "4.0.2" - }, - "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "node_modules/@algolia/client-abtesting": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz", + "integrity": "sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular-devkit/build-optimizer": { - "version": "0.901.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.4.tgz", - "integrity": "sha512-iDMlNRwd8ICMBKnycfw55hdnL5kCiqUjQn+aK/4uOMJMz49tiYMNJAaznXX2BFKmYSmbapKjEbzx9yMYRi9Y7w==", + "node_modules/@algolia/client-analytics": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.35.0.tgz", + "integrity": "sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw==", "dev": true, - "requires": { - "loader-utils": "2.0.0", - "source-map": "0.7.3", - "tslib": "1.11.1", - "typescript": "3.6.5", - "webpack-sources": "1.4.3" - }, + "license": "MIT", "dependencies": { - "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", - "dev": true - }, - "typescript": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.5.tgz", - "integrity": "sha512-BEjlc0Z06ORZKbtcxGrIvvwYs5hAnuo6TKdNFL55frVDlB+na3z5bsLhFaIxmT+dPWgBIjMo6aNnTOgHHmHgiQ==", - "dev": true - } + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular-devkit/build-webpack": { - "version": "0.901.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.4.tgz", - "integrity": "sha512-YBOufI4TGAtIDCS6erFygYJX/fkd8xwI58d+7iFIBmtIJC4/fpGjX6qkHMCBgh8HXAkEPSORBCYQn9O44J1ZXQ==", + "node_modules/@algolia/client-common": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.35.0.tgz", + "integrity": "sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w==", "dev": true, - "requires": { - "@angular-devkit/architect": "0.901.4", - "@angular-devkit/core": "9.1.4", - "rxjs": "6.5.4" - }, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.35.0.tgz", + "integrity": "sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA==", + "dev": true, + "license": "MIT", "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular-devkit/core": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.4.tgz", - "integrity": "sha512-OPFQDmT4XabLMSRDgmnzedlOrc83DzQIgLcfoh/UhZ7aJKf/2Vq4l09p/DkMNI36vN5BRL0zDZt7TjvKNgyYgA==", + "node_modules/@algolia/client-personalization": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.35.0.tgz", + "integrity": "sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA==", "dev": true, - "requires": { - "ajv": "6.12.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.5.4", - "source-map": "0.7.3" + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz", + "integrity": "sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w==", + "dev": true, + "license": "MIT", "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular-devkit/schematics": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.4.tgz", - "integrity": "sha512-RAbdnUEZ3JTLmWSBiXT5trsVx8Fi72fxN9CiRaluM09Cytg6BUc1wC5XCO0YPvhI400+3Ro1nwjPXezjg7LXzQ==", + "node_modules/@algolia/client-search": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.35.0.tgz", + "integrity": "sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg==", "dev": true, - "requires": { - "@angular-devkit/core": "9.1.4", - "ora": "4.0.3", - "rxjs": "6.5.4" + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.35.0.tgz", + "integrity": "sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA==", + "dev": true, + "license": "MIT", "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular/animations": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.4.tgz", - "integrity": "sha512-gMo/DbCm5BDArladMAeC7/75T2DvhLr4CSUGJt/P/aimTEG2ywoAALs3pzwSSe4qxrHiR0OIksVW3l4km3iXEw==" + "node_modules/@algolia/monitoring": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.35.0.tgz", + "integrity": "sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } }, - "@angular/cdk": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.2.4.tgz", - "integrity": "sha512-iw2+qHMXHYVC6K/fttHeNHIieSKiTEodVutZoOEcBu9rmRTGbLB26V/CRsfIRmA1RBk+uFYWc6UQZnMC3RdnJQ==", - "requires": { - "parse5": "^5.0.0" + "node_modules/@algolia/recommend": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.35.0.tgz", + "integrity": "sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz", + "integrity": "sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw==", + "dev": true, + "license": "MIT", "dependencies": { - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "optional": true - } + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular/cli": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.4.tgz", - "integrity": "sha512-H9MqoT4zyIv+Yo3cvRVkzafWGHsqt7jUvtvGwMHIDMTfEX+Q8yiYlDLL6WM3Eb6/hDmLcRGC/GI495sKS1z5qA==", + "node_modules/@algolia/requester-fetch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz", + "integrity": "sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ==", "dev": true, - "requires": { - "@angular-devkit/architect": "0.901.4", - "@angular-devkit/core": "9.1.4", - "@angular-devkit/schematics": "9.1.4", - "@schematics/angular": "9.1.4", - "@schematics/update": "0.901.4", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", - "debug": "4.1.1", - "ini": "1.3.5", - "inquirer": "7.1.0", - "npm-package-arg": "8.0.1", - "npm-pick-manifest": "6.0.0", - "open": "7.0.3", - "pacote": "9.5.12", - "read-package-tree": "5.3.1", - "rimraf": "3.0.2", - "semver": "7.1.3", - "symbol-observable": "1.2.0", - "universal-analytics": "0.4.20", - "uuid": "7.0.2" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "uuid": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz", - "integrity": "sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw==", - "dev": true - } + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular/common": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.4.tgz", - "integrity": "sha512-JvCoCWVbx0tF7l/0WTi24ui/mc2SElyVSNchR4VK/FViARnkvnSBdI/Ef5QWXrsPyKU4PYBtnWWgyxRspH+FBA==" + "node_modules/@algolia/requester-node-http": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz", + "integrity": "sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } }, - "@angular/compiler": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.4.tgz", - "integrity": "sha512-B+f3lviFNEJtL9V9exSKYPSz2Ddb6dxgPzQR7GSjGikDo+fKMtC1PjNwgJooS9gavhQx30uwkEEMIPYQbM6nNA==" + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } }, - "@angular/compiler-cli": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.4.tgz", - "integrity": "sha512-n3PzqNnPD7s/AF9mv5CnarK0sgfoq4txFncHjJWBSltuTQoz6BDZyjuEdqsSLUvgAZPeLsmohemOzEE38HYHZA==", + "node_modules/@angular-devkit/architect": { + "version": "0.2002.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2002.0.tgz", + "integrity": "sha512-PaBXFP1kdUuNtMie0lWnitlYbq8o1gz/s0YIa8oY1X3swOJ7bP6kBfxTb9opV5uXAOkXg2zCdnZ4Eu1aVkgPGw==", "dev": true, - "requires": { - "canonical-path": "1.0.0", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.7.2", - "fs-extra": "4.0.2", - "magic-string": "^0.25.0", - "minimist": "^1.2.0", - "reflect-metadata": "^0.1.2", - "semver": "^6.3.0", - "source-map": "^0.6.1", - "sourcemap-codec": "^1.4.8", - "yargs": "15.3.0" + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "rxjs": "7.8.2" }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.2.0.tgz", + "integrity": "sha512-3CM6Zsr09Kf92ItFkxijlnC4+ZOgkxdCk0vFYvuw9UuvTDNwyIqJi6693PRPRbcXgpdY2vs6u99elSvQVmoEEw==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", - "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.0" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.3", + "rxjs": "7.8.2", + "source-map": "0.7.6" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true } } }, - "@angular/core": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.4.tgz", - "integrity": "sha512-ND240vncmVD2KVe/KSQU3d/DxxoRipFg1+jFOFZGt0n0orCBHk/V1fu9iaG1sRyldL0+rCQ+fTI+1N4DTmMnxA==" - }, - "@angular/forms": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.4.tgz", - "integrity": "sha512-Njt+pMLfPBchL0/ayIjJqXL6ZfM4Ccvf7KO1wS1HMzh3QlmfNa0JSgc4pfrbRJAMN9g7V/FYLyKejs1bJZkenA==" - }, - "@angular/language-service": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.4.tgz", - "integrity": "sha512-eyVxxiegdb4ESdFGfkuDN+YfUbOVHRQLjIl6ACFJQDNHzVXzbmuqpyr5hIJANIVady103/7+dqRxxJo1DdIdTQ==", - "dev": true - }, - "@angular/localize": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-9.1.4.tgz", - "integrity": "sha512-//iE4h45ThsvtAWzk4TS2w9/AIGm5Gk+xspScdQDN3a6RlZh2f0E9fEC1PGjc/1oxxQvUiWVFdHkCgLSnRmEEQ==", - "requires": { - "@babel/core": "7.8.3", - "glob": "7.1.2", - "yargs": "15.3.0" - }, - "dependencies": { - "@babel/core": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.3.tgz", - "integrity": "sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.3", - "@babel/helpers": "^7.8.3", - "@babel/parser": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } + "node_modules/@angular-devkit/schematics": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.2.0.tgz", + "integrity": "sha512-TCPIN6Bd04oGuNocETmsd9hzGYrjrivisbMKb0WOuDi3OnCkmWqsPR+QA2kYwTOGqG3HXkz/z3CA0g04M2fgrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "8.2.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/build": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.2.0.tgz", + "integrity": "sha512-/Yhqhg01UvX0E+tx4WAeK3AnwpZLqcw+XKTmsPsH5rbqpLKNRR9XsC3PJ4qBFU1u9/Lh13mmmr1+pG2p8ixMug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.2002.0", + "@babel/core": "7.28.3", + "@babel/helper-annotate-as-pure": "7.27.3", + "@babel/helper-split-export-declaration": "7.24.7", + "@inquirer/confirm": "5.1.14", + "@vitejs/plugin-basic-ssl": "2.1.0", + "beasties": "0.3.5", + "browserslist": "^4.23.0", + "esbuild": "0.25.9", + "https-proxy-agent": "7.0.6", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "magic-string": "0.30.17", + "mrmime": "2.0.1", + "parse5-html-rewriting-stream": "8.0.0", + "picomatch": "4.0.3", + "piscina": "5.1.3", + "rolldown": "1.0.0-beta.32", + "sass": "1.90.0", + "semver": "7.7.2", + "source-map-support": "0.5.21", + "tinyglobby": "0.2.14", + "vite": "7.1.2", + "watchpack": "2.4.4" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "lmdb": "3.4.2" + }, + "peerDependencies": { + "@angular/compiler": "^20.0.0", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/localize": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-server": "^20.0.0", + "@angular/service-worker": "^20.0.0", + "@angular/ssr": "^20.2.0", + "karma": "^6.4.0", + "less": "^4.2.0", + "ng-packagr": "^20.0.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.8 <6.0", + "vitest": "^3.1.1" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } + "@angular/localize": { + "optional": true }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "@angular/platform-browser": { + "optional": true }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "@angular/platform-server": { + "optional": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "@angular/service-worker": { + "optional": true }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "@angular/ssr": { + "optional": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "karma": { + "optional": true }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } + "less": { + "optional": true }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } + "ng-packagr": { + "optional": true }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } + "postcss": { + "optional": true }, - "yargs": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", - "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.0" - } + "tailwindcss": { + "optional": true }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "vitest": { + "optional": true } } }, - "@angular/material": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.2.4.tgz", - "integrity": "sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA==" - }, - "@angular/platform-browser": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.4.tgz", - "integrity": "sha512-mBCHfTl+5tQfaUiGlDujP7mFBzovFc54Zi2kcCE8DSdSSVQ2TPBo6hXa6y2cL3hJPFZzQ7mC4ORFrsGADhHn/w==" - }, - "@angular/platform-browser-dynamic": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.4.tgz", - "integrity": "sha512-YtVbnxyS6FU7xNpA6A95tmSfrB8+WC7OH3mbP8M9NaGk0OYz8B/JOe1HByP4JRpEGCvBtXdJ2NSW/MpLIT8SiQ==" + "node_modules/@angular/cli": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.2.0.tgz", + "integrity": "sha512-p62hkuQOxf5kJsVq6AT7B1MHYo1uPGoZV4lf47qOrLjl0WANwfxEgLvyuVgL47ylnINbPnITeeUdoadVn4t1sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.2002.0", + "@angular-devkit/core": "20.2.0", + "@angular-devkit/schematics": "20.2.0", + "@inquirer/prompts": "7.8.2", + "@listr2/prompt-adapter-inquirer": "3.0.1", + "@modelcontextprotocol/sdk": "1.17.3", + "@schematics/angular": "20.2.0", + "@yarnpkg/lockfile": "1.1.0", + "algoliasearch": "5.35.0", + "ini": "5.0.0", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "npm-package-arg": "13.0.0", + "pacote": "21.0.0", + "resolve": "1.22.10", + "semver": "7.7.2", + "yargs": "18.0.0", + "zod": "3.25.76" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } }, - "@angular/router": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.4.tgz", - "integrity": "sha512-yUyjCgG2P2Jh8MvoyC6yirmAtx1Qe7MKLuLvsa9WOB571QNEcNLTYMfAMHUKsQTcE/+o984QyLlneoibgI9wFA==" + "node_modules/@angular/common": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.2.0.tgz", + "integrity": "sha512-mh0tF+QjCx1udoeBP4adOXVHVZ1E8okzT/yybYamD5abLiaMSSh4P50JTBuPmJgqqWo9MXDLOLTnKqBSv/FbZw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/core": "20.2.0", + "rxjs": "^6.5.3 || ^7.4.0" + } }, - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "requires": { - "@babel/highlight": "^7.8.3" + "node_modules/@angular/compiler": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.2.0.tgz", + "integrity": "sha512-1kI7VFvuTODX/1TusUH/L1N+SDcDj9m/j/0Ewq+IKkizS4eOjgx+7UGBuTjw9yWZ7QQGEPdoQG9qsM2dhs9dUQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, - "@babel/compat-data": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.6.tgz", - "integrity": "sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==", + "node_modules/@angular/compiler-cli": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.2.0.tgz", + "integrity": "sha512-mZ7R7tMm1KMBZSCOKSeE9gb37u2ZGc5YlQ8bIgKo+Uik2uvXVDDG1NC/Qe/medYCriSGmI6HqfFce50Nx8/Uxg==", "dev": true, - "requires": { - "browserslist": "^4.11.1", - "invariant": "^2.2.4", - "semver": "^5.5.0" - }, + "license": "MIT", "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "@babel/core": "7.28.3", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^4.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.2.0", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^18.0.0" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.2.0", + "typescript": ">=5.8 <6.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true } } }, - "@babel/core": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", - "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.0", - "@babel/parser": "^7.9.0", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "node_modules/@angular/core": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.2.0.tgz", + "integrity": "sha512-4qXWdKYRFNlc1FfgNfYF5189rZ8BnvU5DN2iH2/djRdRJikpm3+JeEuFW7GFjF9dyjOE97x0S3dbVHs0c5mcYA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.2.0", + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.15.0" + }, + "peerDependenciesMeta": { + "@angular/compiler": { + "optional": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "zone.js": { + "optional": true } } }, - "@babel/generator": { - "version": "7.9.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.3.tgz", - "integrity": "sha512-RpxM252EYsz9qLUIq6F7YJyK1sv0wWDBFuztfDGWaQKzHjqDHysxSiRUpA/X9jmfqo+WzkAVKFaUily5h+gDCQ==", - "requires": { - "@babel/types": "^7.9.0", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" + "node_modules/@angular/forms": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.2.0.tgz", + "integrity": "sha512-vG5FIMCGNDMbaWPSazd5Jv14cW+aVUg8G5ikWRSGU1aou7uzmzT2n+zpg4PDSxOFeNXuSZV3n5zJ5prM1NaYJg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" }, + "peerDependencies": { + "@angular/common": "20.2.0", + "@angular/core": "20.2.0", + "@angular/platform-browser": "20.2.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.2.0.tgz", + "integrity": "sha512-0CyDeXLQixXAWRBq4vfwALo0a0/igtUH1bFkHBUy4u6Nku7S8K7GG/HDN0CGlpep9Xz9o0ghF1zfZHfmEQxlmg==", + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/animations": "20.2.0", + "@angular/common": "20.2.0", + "@angular/core": "20.2.0" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true } } }, - "@babel/helper-annotate-as-pure": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", - "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", - "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", + "node_modules/@babel/compat-data": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.8.3", - "@babel/types": "^7.8.3" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-compilation-targets": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz", - "integrity": "sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==", + "node_modules/@babel/core": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", "dev": true, - "requires": { - "@babel/compat-data": "^7.9.6", - "browserslist": "^4.11.1", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, + "license": "MIT", "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", - "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==", + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.7.0" - } + "license": "MIT" }, - "@babel/helper-define-map": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", - "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/types": "^7.8.3", - "lodash": "^4.17.13" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", - "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", "dev": true, - "requires": { - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-function-name": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", - "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.9.5" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "requires": { - "@babel/types": "^7.8.3" + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-hoist-variables": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", - "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", - "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-module-transforms": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", - "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-simple-access": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/template": "^7.8.6", - "@babel/types": "^7.9.0", - "lodash": "^4.17.13" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", - "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", - "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", "dev": true, - "requires": { - "lodash": "^4.17.13" + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/helper-remap-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", - "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-wrap-function": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-replace-supers": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz", - "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==", + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.9.6", - "@babel/types": "^7.9.6" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-simple-access": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", - "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, - "requires": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==" - }, - "@babel/helper-wrap-function": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", - "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helpers": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz", - "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==", - "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.9.6", - "@babel/types": "^7.9.6" + "node_modules/@babel/helpers": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", + "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "node_modules/@babel/parser": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", + "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/parser": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz", - "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==" - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", - "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", - "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", + "node_modules/@babel/traverse": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", - "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", + "node_modules/@babel/types": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0" + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "license": "MIT", + "engines": { + "node": ">=0.1.90" } }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz", - "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==", + "node_modules/@emnapi/core": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3" + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.4", + "tslib": "^2.4.0" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz", - "integrity": "sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==", + "node_modules/@emnapi/runtime": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.9.5" + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz", - "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", + "cpu": [ + "ppc64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", - "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==", + "node_modules/@inquirer/checkbox": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.1.tgz", + "integrity": "sha512-bevKGO6kX1eM/N+pdh9leS5L7TBF4ICrzi9a+cbWkrxeAeIcwlo/7OfWGCDERdRCI2/Q6tjltX4bt07ALHDwFw==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.8", - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@inquirer/confirm": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz", + "integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@inquirer/core": { + "version": "10.1.15", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.15.tgz", + "integrity": "sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@inquirer/editor": { + "version": "4.2.17", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.17.tgz", + "integrity": "sha512-r6bQLsyPSzbWrZZ9ufoWL+CztkSatnJ6uSxqd6N+o41EZC51sQeWOzI6s5jLb+xxTWxl7PlUppqm8/sow241gg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/external-editor": "^1.0.1", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@inquirer/expand": { + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.17.tgz", + "integrity": "sha512-PSqy9VmJx/VbE3CT453yOfNa+PykpKg/0SYP7odez1/NWBGuDXgPhp4AeGYYKjhLn5lUUavVS/JbeYMPdH50Mw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz", - "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==", + "node_modules/@inquirer/external-editor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz", + "integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "chardet": "^2.1.0", + "iconv-lite": "^0.6.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@inquirer/figures": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz", + "integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "engines": { + "node": ">=18" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@inquirer/input": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.1.tgz", + "integrity": "sha512-tVC+O1rBl0lJpoUZv4xY+WGWY8V5b0zxU1XDsMsIHYregdh7bN5X5QnIONNBAl0K765FYlAfNHS2Bhn7SSOVow==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@inquirer/number": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.17.tgz", + "integrity": "sha512-GcvGHkyIgfZgVnnimURdOueMk0CztycfC8NZTiIY9arIAkeOgt6zG57G+7vC59Jns3UX27LMkPKnKWAOF5xEYg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", - "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "node_modules/@inquirer/password": { + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.17.tgz", + "integrity": "sha512-DJolTnNeZ00E1+1TW+8614F7rOJJCM4y4BAGQ3Gq6kQIG+OJ4zr3GLjIjVVJCbKsk2jmkmv6v2kQuN/vriHdZA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", - "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "node_modules/@inquirer/prompts": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.2.tgz", + "integrity": "sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.2.1", + "@inquirer/confirm": "^5.1.14", + "@inquirer/editor": "^4.2.17", + "@inquirer/expand": "^4.0.17", + "@inquirer/input": "^4.2.1", + "@inquirer/number": "^3.0.17", + "@inquirer/password": "^4.0.17", + "@inquirer/rawlist": "^4.1.5", + "@inquirer/search": "^3.1.0", + "@inquirer/select": "^4.3.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", - "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", + "node_modules/@inquirer/rawlist": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.5.tgz", + "integrity": "sha512-R5qMyGJqtDdi4Ht521iAkNqyB6p2UPuZUbMifakg1sWtu24gc2Z8CJuw8rP081OckNDMgtDCuLe42Q2Kr3BolA==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", - "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "node_modules/@inquirer/search": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.0.tgz", + "integrity": "sha512-PMk1+O/WBcYJDq2H7foV0aAZSmDdkzZB9Mw2v/DmONRJopwA/128cS9M/TXWLKKdEQKZnKwBzqu2G4x/2Nqx8Q==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", - "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "node_modules/@inquirer/select": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.1.tgz", + "integrity": "sha512-Gfl/5sqOF5vS/LIrSndFgOh7jgoe0UXEizDqahFRkq5aJBLegZ6WjuMh/hVEJwlFQjyLq1z9fRtvUMkb7jM1LA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "lodash": "^4.17.13" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-classes": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz", - "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==", + "node_modules/@inquirer/type": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz", + "integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-define-map": "^7.8.3", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-split-export-declaration": "^7.8.3", - "globals": "^11.1.0" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", - "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/browser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/browser/-/browser-4.1.0.tgz", + "integrity": "sha512-mgUfFLIFh5+KD5Y96gC+QKzI8MUMdqrc/ZG4HWyDmyUtAtRIj7Oz790xmoYE70g7PLA3fpUh/ww3n6z0KfmOWQ==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.7.0", + "@interopio/desktop": "^6.14.0", + "@interopio/search-api": "^3.1.0", + "@interopio/workspaces-api": "^4.1.0", + "callback-registry": "^2.7.2" } }, - "@babel/plugin-transform-destructuring": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz", - "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/browser-platform": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/browser-platform/-/browser-platform-4.1.0.tgz", + "integrity": "sha512-JWqn8TEsUZX5D2UqqAtSebCyvbOFwhjLIqqb3Lo09WMyNkFEAOeoYyit5jPPgOxuSZCdksiedp5Ro9dosBEX/w==", + "license": "Commercial", + "dependencies": { + "@interopio/browser": "^4.1.0", + "@interopio/core": "^6.7.0", + "@interopio/desktop": "^6.14.0" } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", - "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/core": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@interopio/core/-/core-6.7.0.tgz", + "integrity": "sha512-S2yroornM9BF2axGVtLoV8vKawrXpdJuKLMop6SC5/O7G7MjEW0YwZ17vikcEWe+hdqJ3n439ZR9eTJuWGu4ng==", + "license": "MIT", + "dependencies": { + "callback-registry": "^2.7.2", + "ws": "^8.18.0" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", - "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/core/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", - "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", - "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/desktop": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@interopio/desktop/-/desktop-6.14.0.tgz", + "integrity": "sha512-/GhknWLqFi5h/yzLT++cKW5O9SomWK2BnrxQj9EnFqr8Hb6Swib9u/s7ZxRWcYjni8dq+VEZ+C3n/oXp/EisHg==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.5.2-fmr-beta", + "@interopio/schemas": "^9.9.0", + "@interopio/utils": "^1.4.2", + "@interopio/workspaces-api": "^4.0.0", + "callback-registry": "^2.7.1" } }, - "@babel/plugin-transform-for-of": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz", - "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/ng": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@interopio/ng/-/ng-6.0.0.tgz", + "integrity": "sha512-QSREUUrbHd3wgGGUucv3CD5Agy3+3rUhaasEkoNHp3sQR1bRFSDDV2n4SdHIdwNXFAZUF9fKzt3uFH46gC7FDw==", + "license": "MIT", + "dependencies": { + "@interopio/browser": "^4.1.0", + "@interopio/browser-platform": "^4.1.0", + "@interopio/desktop": "^6.14.0" + }, + "peerDependencies": { + "@angular/common": ">=19.0.0", + "@angular/core": ">=19.0.0" } }, - "@babel/plugin-transform-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", - "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/schemas": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@interopio/schemas/-/schemas-9.9.0.tgz", + "integrity": "sha512-Rq+0Z15bQ9vHcAhVyaSBhVdT51zluNAXhuvAFS3mxSciOWSRXJV1B3ddepNeexao3bCL//V75RWyDlvaAmkZQg==", + "license": "ISC", + "dependencies": { + "ajv": "^6.12.6", + "ajv-keywords": "^3.4.1" + }, + "peerDependencies": { + "log4js": "^6.4.2" + }, + "peerDependenciesMeta": { + "log4js": { + "optional": true + } } }, - "@babel/plugin-transform-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", - "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/schemas/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", - "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/schemas/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz", - "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.3" + "node_modules/@interopio/schemas/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/@interopio/search-api": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@interopio/search-api/-/search-api-3.1.0.tgz", + "integrity": "sha512-q6DaQ5TRupQTXyFjTVvGqh5GsosRpaAa8LZDImFHqyGaEoLq8siPAgpnr94BZ/xiNLY6VPm0maoOzDuThUHTeA==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.7.0" } }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz", - "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==", + "node_modules/@interopio/theme": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@interopio/theme/-/theme-3.0.2.tgz", + "integrity": "sha512-weYe08itt7zspn9aa8hPgSZDp5FPHt7k2fPR489GdIS4zw8zAlM4+EHZZeIv9K3PZOfc7HqtzVgYKIct8Qbevw==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-simple-access": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.3" + "license": "MIT" + }, + "node_modules/@interopio/utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@interopio/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-14Bb2WI9Cwf9zjhTurP4qP9AVY4cxR1AOrwrOtHrTGAeeHp88mALFWfMEv1QnRhlQ06To2vQcRgebNrPlHDZ8Q==", + "license": "ISC", + "dependencies": { + "decoder-validate": "^0.0.2" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz", - "integrity": "sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==", + "node_modules/@interopio/workspaces-api": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/workspaces-api/-/workspaces-api-4.1.0.tgz", + "integrity": "sha512-3yGZ5WOqGP7Xu10GENZwlnYxzrX9nkI/tD1aF5908wOkBrvI9hD/3nj3gAL6Nr2nw633E4GIgv0POs9XPeYR1g==", + "license": "MIT" + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.3" + "license": "MIT", + "engines": { + "node": "20 || >=22" } }, - "@babel/plugin-transform-modules-umd": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz", - "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==", + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", - "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "@babel/plugin-transform-new-target": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", - "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } + "license": "MIT" }, - "@babel/plugin-transform-object-super": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", - "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.3" + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/plugin-transform-parameters": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz", - "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "@babel/plugin-transform-property-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", - "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", - "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", - "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", - "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", - "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", - "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-regex": "^7.8.3" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", - "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", - "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", - "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/preset-env": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.0.tgz", - "integrity": "sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.9.0", - "@babel/helper-compilation-targets": "^7.8.7", - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-proposal-async-generator-functions": "^7.8.3", - "@babel/plugin-proposal-dynamic-import": "^7.8.3", - "@babel/plugin-proposal-json-strings": "^7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-numeric-separator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.9.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.9.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.8.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.8.3", - "@babel/plugin-transform-async-to-generator": "^7.8.3", - "@babel/plugin-transform-block-scoped-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.9.0", - "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.8.3", - "@babel/plugin-transform-dotall-regex": "^7.8.3", - "@babel/plugin-transform-duplicate-keys": "^7.8.3", - "@babel/plugin-transform-exponentiation-operator": "^7.8.3", - "@babel/plugin-transform-for-of": "^7.9.0", - "@babel/plugin-transform-function-name": "^7.8.3", - "@babel/plugin-transform-literals": "^7.8.3", - "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.9.0", - "@babel/plugin-transform-modules-commonjs": "^7.9.0", - "@babel/plugin-transform-modules-systemjs": "^7.9.0", - "@babel/plugin-transform-modules-umd": "^7.9.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", - "@babel/plugin-transform-new-target": "^7.8.3", - "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.8.7", - "@babel/plugin-transform-property-literals": "^7.8.3", - "@babel/plugin-transform-regenerator": "^7.8.7", - "@babel/plugin-transform-reserved-words": "^7.8.3", - "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.8.3", - "@babel/plugin-transform-sticky-regex": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/plugin-transform-typeof-symbol": "^7.8.4", - "@babel/plugin-transform-unicode-regex": "^7.8.3", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.9.0", - "browserslist": "^4.9.1", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" } }, - "@babel/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", - "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", - "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz", - "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.6", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.6", - "@babel/types": "^7.9.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/generator": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz", - "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==", - "requires": { - "@babel/types": "^7.9.6", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" }, - "@babel/types": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz", - "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==", - "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "@glue42/core": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@glue42/core/-/core-5.4.0.tgz", - "integrity": "sha512-gJdD3UoIlH0MYZjksJKSHhqX7+wICdvlcFaI9VmHp9ldr6wMKIPlevO2xQ55K/0S9TRxTSyKpMNRqLpmrr5ltg==", - "requires": { - "callback-registry": "^2.7.1", - "shortid": "^2.2.6", - "ws": "7.1.2" - }, - "dependencies": { - "ws": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz", - "integrity": "sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==", - "requires": { - "async-limiter": "^1.0.0" - } - } + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "@glue42/desktop": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@glue42/desktop/-/desktop-5.5.2.tgz", - "integrity": "sha512-sIU1jo0JXboLI+SfCmdhTIdtDtcbjYF5DwZq8gW13U3zyb1gwzK9tRW9sheQD/XYFa3BzL0pN7gGoJSsw1WVSA==", - "requires": { - "@glue42/core": "^5.4.0", - "@glue42/workspaces-api": "^1.3.0", - "callback-registry": "^2.7.1", - "shortid": "2.2.8" + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", + "integrity": "sha512-3XFmGwm3u6ioREG+ynAQB7FoxfajgQnMhIu8wC5eo/Lsih4aKDg0VuIMGaOsYn7hJSJagSeaD4K8yfpkEoDEmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/type": "^3.0.7" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 8", + "listr2": "9.0.1" } }, - "@glue42/gateway-web": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@glue42/gateway-web/-/gateway-web-3.0.10.tgz", - "integrity": "sha512-6Iy1miv0FEJoDnQRHQ79a9VQNtD2X7RXHUIYsYemCvOuGTlRK56KuBIzhbjcOKf/KtBt8eUXvcXX/p7ttw7IwA==" + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.2.tgz", + "integrity": "sha512-NK80WwDoODyPaSazKbzd3NEJ3ygePrkERilZshxBViBARNz21rmediktGHExoj9n5t9+ChlgLlxecdFKLCuCKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.2.tgz", + "integrity": "sha512-zevaowQNmrp3U7Fz1s9pls5aIgpKRsKb3dZWDINtLiozh3jZI9fBrI19lYYBxqdyiIyNdlyiidPnwPShj4aK+w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.2.tgz", + "integrity": "sha512-OmHCULY17rkx/RoCoXlzU7LyR8xqrksgdYWwtYa14l/sseezZ8seKWXcogHcjulBddER5NnEFV4L/Jtr2nyxeg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.2.tgz", + "integrity": "sha512-ZBEfbNZdkneebvZs98Lq30jMY8V9IJzckVeigGivV7nTHJc+89Ctomp1kAIWKlwIG0ovCDrFI448GzFPORANYg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.2.tgz", + "integrity": "sha512-vL9nM17C77lohPYE4YaAQvfZCSVJSryE4fXdi8M7uWPBnU+9DJabgKVAeyDb84ZM2vcFseoBE4/AagVtJeRE7g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.2.tgz", + "integrity": "sha512-SXWjdBfNDze4ZPeLtYIzsIeDJDJ/SdsA0pEXcUBayUIMO0FQBHfVZZyHXQjjHr4cvOAzANBgIiqaXRwfMhzmLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.2.tgz", + "integrity": "sha512-IY+r3bxKW6Q6sIPiMC0L533DEfRJSXibjSI3Ft/w9Q8KQBNqEIvUFXt+09wV8S5BRk0a8uSF19YWxuRwEfI90g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "@glue42/ng": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@glue42/ng/-/ng-2.0.6.tgz", - "integrity": "sha512-F14YCYWLeD8wzR2xVpG2hhjsC4b1YoDjdTphoa3QB+iEVBGb+FCV5i0NBDzIbUT3sa+XUg3f2Q+vqIvb6ZHXPg==", - "requires": { - "@glue42/desktop": "^5.5.2", - "@glue42/web": "^2.0.5", - "@glue42/web-platform": "^1.0.4" + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.17.3.tgz", + "integrity": "sha512-JPwUKWSsbzx+DLFznf/QZ32Qa+ptfbUlHhRLrBQBAFu9iI1iYvizM4p+zhhRDceSsPutXp4z+R/HPVphlIiclg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.6", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.0.1", + "express-rate-limit": "^7.5.0", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.24.1" + }, + "engines": { + "node": ">=18" } }, - "@glue42/web": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@glue42/web/-/web-2.0.5.tgz", - "integrity": "sha512-P8qVecpExg+ZGjlRtVpSxYO1fDgYKPDbwNakh94TdVmM7lj1F7uBKkme149NoCmTupL5NKIxwlfZ0+3mwW0tTQ==", - "requires": { - "@glue42/core": "^5.4.0", - "@glue42/desktop": "^5.5.2", - "@glue42/workspaces-api": "^1.4.1", - "callback-registry": "^2.6.0", - "decoder-validate": "0.0.2", - "idb": "^5.0.4", - "shortid": "^2.2.15" - }, - "dependencies": { - "shortid": { - "version": "2.2.16", - "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", - "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", - "requires": { - "nanoid": "^2.1.0" - } - } + "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "@glue42/web-platform": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@glue42/web-platform/-/web-platform-1.0.4.tgz", - "integrity": "sha512-bBTw5jX6l9gQIrg/huHVv0a4viuaXLM7ic31KS9Kr8mwE7snpE/8JQK7qTZPIu8nopssmjEP5CCDMuCRg76XWQ==", - "requires": { - "@glue42/core": "^5.4.0", - "@glue42/desktop": "^5.5.2", - "@glue42/gateway-web": "3.0.10", - "@glue42/web": "^2.0.5", - "@glue42/workspaces-api": "^1.4.1", - "callback-registry": "^2.7.1", - "decoder-validate": "0.0.2", - "deep-equal": "^2.0.5", - "deepmerge": "^4.2.2", - "idb": "^5.0.7", - "shortid": "^2.2.15" - }, - "dependencies": { - "deep-equal": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", - "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", - "requires": { - "call-bind": "^1.0.0", - "es-get-iterator": "^1.1.1", - "get-intrinsic": "^1.0.1", - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.2", - "is-regex": "^1.1.1", - "isarray": "^2.0.5", - "object-is": "^1.1.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.3", - "which-boxed-primitive": "^1.0.1", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.2" - } - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "object-is": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", - "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "shortid": { - "version": "2.2.16", - "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", - "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", - "requires": { - "nanoid": "^2.1.0" - } - } - } + "node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" }, - "@glue42/workspaces-api": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@glue42/workspaces-api/-/workspaces-api-1.4.1.tgz", - "integrity": "sha512-sgzuN3rR36W27x3jU2poadH5R3zEhMotQF2qvoE++EdyzMOFKj6kCNGYUjxx3+9pARtOkAawcycVhlXkEK2rrA==", - "requires": { - "@glue42/core": "^5.4.0", - "callback-registry": "^2.5.2", - "decoder-validate": "0.0.2" - } + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "@jsdevtools/coverage-istanbul-loader": { + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.3.tgz", - "integrity": "sha512-TAdNkeGB5Fe4Og+ZkAr1Kvn9by2sfL44IAHFtxlh1BA1XJ5cLpO9iSNki5opWESv3l3vSHsZ9BNKuqFKbEbFaA==", - "dev": true, - "requires": { - "convert-source-map": "^1.7.0", - "istanbul-lib-instrument": "^4.0.1", - "loader-utils": "^1.4.0", - "merge-source-map": "^1.1.0", - "schema-utils": "^2.6.4" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@ng-bootstrap/ng-bootstrap": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-6.1.0.tgz", - "integrity": "sha512-2GzkNJBKdeHkaUqaCAqSILPft0IzzHjMfAlAuGY6/ZLlVQ0glt5MTbIXtIhSbjR+OvlrljoXFLrvzs1LGdmE+A==" - }, - "@ngtools/webpack": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.4.tgz", - "integrity": "sha512-CDlQzMnWraxf/dT3G5L+0N0VniWHWdzjLRP8pWBoyV0xlzWS1yL/lj8Mas2jEIuaUxZ8bi29mE7xa8prqewtBQ==", - "dev": true, - "requires": { - "@angular-devkit/core": "9.1.4", - "enhanced-resolve": "4.1.1", - "rxjs": "6.5.4", - "webpack-sources": "1.4.3" - }, - "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } - } + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@schematics/angular": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.4.tgz", - "integrity": "sha512-7nbiYBRgXc+f0sa5iXTcF6/VMy/Xq0wyKKnDFiLCb2aFYR7EXRHWF2GuwDIg2bvFugLuCBDoNnXeddLE1TXGWg==", + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@angular-devkit/core": "9.1.4", - "@angular-devkit/schematics": "9.1.4" - } + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@schematics/update": { - "version": "0.901.4", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.4.tgz", - "integrity": "sha512-jCtZY2Fbj502gKN5gdu1brnRy/ssyzTrWm69Ty73V+t8uL7nLr+/hny/VBJ8CiQnKQvxcgVl1xgvI1cXzpysVA==", + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@angular-devkit/core": "9.1.4", - "@angular-devkit/schematics": "9.1.4", - "@yarnpkg/lockfile": "1.1.0", - "ini": "1.3.5", - "npm-package-arg": "^8.0.0", - "pacote": "9.5.12", - "rxjs": "6.5.4", - "semver": "7.1.3", - "semver-intersect": "1.4.0" - }, - "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "@types/color-name": { + "node_modules/@napi-rs/nice": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" - }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", - "dev": true - }, - "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", "dev": true, - "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" } }, - "@types/jasmine": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.5.10.tgz", - "integrity": "sha512-3F8qpwBAiVc5+HPJeXJpbrl+XjawGmciN5LgiO7Gv1pl1RHtjoMNqZpqEksaPJW05ViKe8snYInRs6xB25Xdew==", - "dev": true - }, - "@types/jasminewd2": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.8.tgz", - "integrity": "sha512-d9p31r7Nxk0ZH0U39PTH0hiDlJ+qNVGjlt1ucOoTUptxb2v+Y5VMnsxfwN+i3hK4yQnqBi3FMmoMFcd1JHDxdg==", + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@types/jasmine": "*" + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" } }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/node": { - "version": "12.12.38", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.38.tgz", - "integrity": "sha512-75eLjX0pFuTcUXnnWmALMzzkYorjND0ezNEycaKesbUBg9eGZp4GHPuDmkRc4mQQvIpe29zrzATNRA6hkYqwmA==", - "dev": true - }, - "@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", - "dev": true - }, - "@types/selenium-webdriver": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", - "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", - "dev": true - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/webpack-sources": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.7.tgz", - "integrity": "sha512-XyaHrJILjK1VHVC4aVlKsdNN5KBTwufMb43cQs+flGxtPAf/1Qwl8+Q0tp5BwEGaI8D6XT1L+9bSWXckgkjTLw==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" - } - }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", - "dev": true - }, - "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", - "dev": true - }, - "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.8.5" + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", - "dev": true - }, - "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" } }, - "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", + "cpu": [ + "arm" + ], "dev": true, - "requires": { - "@xtuc/long": "4.2.2" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" - } - }, - "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", + "cpu": [ + "ppc64" + ], "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", + "cpu": [ + "riscv64" + ], "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", + "cpu": [ + "s390x" + ], "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "adm-zip": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.14.tgz", - "integrity": "sha512-/9aQCnQHF+0IiCl0qhXoK7qs//SwYE7zX8lsr/DNk1BRAHYxeLZPL4pguwK29gUEqasYQjqPtEpDRSWEkdHn9g==", - "dev": true - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "es6-promisify": "^5.0.0" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "agentkeepalive": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", - "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "humanize-ms": "^1.2.1" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" } }, - "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", + "cpu": [ + "ia32" + ], "dev": true, - "requires": { - "type-fest": "^0.11.0" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.3.tgz", + "integrity": "sha512-rZxtMsLwjdXkMUGC3WwsPwLNVqVqnTJT6MNIB6e+5fhMcSCPP0AOsNWuMQ5mdCq6HNjs/ZeWAEchpqeprqBD2Q==", "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.5", + "@emnapi/runtime": "^1.4.5", + "@tybys/wasm-util": "^0.10.0" } }, - "app-root-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz", - "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==", - "dev": true - }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "node_modules/@npmcli/agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", + "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@npmcli/fs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", "dev": true, - "requires": { - "sprintf-js": "~1.0.2" + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "aria-query": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "node_modules/@npmcli/git": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.3.tgz", + "integrity": "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==", "dev": true, - "requires": { - "ast-types-flow": "0.0.7", - "commander": "^2.11.0" + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, - "requires": { - "array-uniq": "^1.0.1" + "license": "ISC", + "engines": { + "node": ">=16" } }, - "array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "safer-buffer": "~2.1.0" - } + "license": "ISC" }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "node_modules/@npmcli/git/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - }, + "license": "ISC", "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/@npmcli/installed-package-contents": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", + "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, + "license": "ISC", "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "node_modules/@npmcli/node-gyp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", + "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", "dev": true, - "requires": { - "lodash": "^4.17.14" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "9.7.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz", - "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==", - "dev": true, - "requires": { - "browserslist": "^4.8.3", - "caniuse-lite": "^1.0.30001020", - "chalk": "^2.4.2", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.26", - "postcss-value-parser": "^4.0.2" - } - }, - "available-typed-arrays": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", - "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", - "requires": { - "array-filter": "^1.0.0" + "node_modules/@npmcli/package-json": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.2.0.tgz", + "integrity": "sha512-rCNLSB/JzNvot0SEyXqWZ7tX2B5dD2a1br2Dp0vSYVo5jh8Z0EZ7lS9TsZ1UtziddB1UfNUaMCc538/HztnJGA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", - "dev": true - }, - "axobject-query": { + "node_modules/@npmcli/package-json/node_modules/brace-expansion": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", - "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", - "dev": true, - "requires": { - "ast-types-flow": "0.0.7" - } - }, - "babel-loader": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", - "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", - "dev": true, - "requires": { - "find-cache-dir": "^2.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "pify": "^4.0.1" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, - "requires": { - "object.assign": "^4.1.0" + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/@npmcli/package-json/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "node_modules/@npmcli/package-json/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "tweetnacl": "^0.14.3" - } + "license": "ISC" }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "requires": { - "callsite": "1.0.0" + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/@npmcli/promise-spawn": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.2.tgz", + "integrity": "sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==", "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" + "license": "ISC", + "dependencies": { + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, - "blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, - "requires": { - "minimist": "^1.2.0" + "license": "ISC", + "engines": { + "node": ">=16" } }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true - }, - "bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA==", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "node_modules/@npmcli/redact": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz", + "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==", "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "bootstrap": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.4.1.tgz", - "integrity": "sha512-tbx5cHubwE6e2ZG7nqM3g/FZ5PQEDMWmMGNrCUBVRPHXTJaH7CBDdsLeu3eCh3B1tzAxTnAbtmrzvWEvT2NNEA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/@npmcli/run-script": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.1.0.tgz", + "integrity": "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, - "requires": { - "fill-range": "^7.0.1" + "license": "ISC", + "engines": { + "node": ">=16" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "node_modules/@oxc-project/runtime": { + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.81.0.tgz", + "integrity": "sha512-zm/LDVOq9FEmHiuM8zO4DWirv0VP2Tv2VsgaiHby9nvpq+FVrcqNYgv+TysLKOITQXWZj/roluTxFvpkHP0Iuw==", "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/@oxc-project/types": { + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.81.0.tgz", + "integrity": "sha512-CnOqkybZK8z6Gx7Wb1qF7AEnSzbol1WwcIzxYOr8e91LytGOjo0wCpgoYWZo8sdbpqX+X+TJayIzo4Pv0R/KjA==", "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" } }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - }, + "hasInstallScript": true, + "license": "MIT", + "optional": true, "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } - } - }, - "browserify-sign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.1.0.tgz", - "integrity": "sha512-VYxo7cDCeYUoBZ0ZCy4UyEUCP3smyBd4DRQM5nrFS1jJjPJjX7rP3oLRpPoWfkhQfyJ0I9ZbHbKafrFD/SGlrg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", "dev": true, - "requires": { - "pako": "~1.0.5" + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" } }, - "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" - } + "license": "MIT", + "optional": true }, - "browserstack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", - "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" } }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-Gs+313LfR4Ka3hvifdag9r44WrdKQaohya7ZXUXzARF7yx0atzFlVZjsvxtKAw1Vmtr4hB/RjUD1jf73SW7zDw==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-W8oMqzGcI7wKPXUtS3WJNXzbghHfNiuM1UBAGpVb+XlUCgYRQJd2PRGP7D3WGql3rR3QEhUvSyAuCBAftPQw6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.32.tgz", + "integrity": "sha512-pM4c4sKUk37noJrnnDkJknLhCsfZu7aWyfe67bD0GQHfzAPjV16wPeD9CmQg4/0vv+5IfHYaa4VE536xbA+W0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.32.tgz", + "integrity": "sha512-M8SUgFlYb5kJJWcFC8gUMRiX4WLFxPKMed3SJ2YrxontgIrEcpizPU8nLNVsRYEStoSfKHKExpQw3OP6fm+5bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.32.tgz", + "integrity": "sha512-FuQpbNC/hE//bvv29PFnk0AtpJzdPdYl5CMhlWPovd9g3Kc3lw9TrEPIbL7gRPUdhKAiq6rVaaGvOnXxsa0eww==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.32.tgz", + "integrity": "sha512-hRZygRlaGCjcNTNY9GV7dDI18sG1dK3cc7ujHq72LoDad23zFDUGMQjiSxHWK+/r92iMV+j2MiHbvzayxqynsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.32.tgz", + "integrity": "sha512-HzgT6h+CXLs+GKAU0Wvkt3rvcv0CmDBsDjlPhh4GHysOKbG9NjpKYX2zvjx671E9pGbTvcPpwy7gGsy7xpu+8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.32.tgz", + "integrity": "sha512-Ab/wbf6gdzphDbsg51UaxsC93foQ7wxhtg0SVCXd25BrV4MAJ1HoDtKN/f4h0maFmJobkqYub2DlmoasUzkvBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.32.tgz", + "integrity": "sha512-VoxqGEfh5A1Yx+zBp/FR5QwAbtzbuvky2SVc+ii4g1gLD4zww6mt/hPi5zG+b88zYPFBKHpxMtsz9cWqXU5V5Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-qZ1ViyOUDGbiZrSAJ/FIAhYUElDfVxxFW6DLT/w4KeoZN3HsF4jmRP95mXtl51/oGrqzU9l9Q2f7/P4O/o2ZZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.32.tgz", + "integrity": "sha512-hEkG3wD+f3wytV0lqwb/uCrXc4r4Ny/DWJFJPfQR3VeMWplhWGgSHNwZc2Q7k86Yi36f9NNzzWmrIuvHI9lCVw==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.0.3" + }, + "engines": { + "node": ">=14.0.0" } }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-k3MvDf8SiA7uP2ikP0unNouJ2YCrnwi7xcVW+RDgMp5YXVr3Xu6svmT3HGn0tkCKUuPmf+uy8I5uiHt5qWQbew==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" - } - }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/binding-win32-ia32-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-wAi/FxGh7arDOUG45UmnXE1sZUa0hY4cXAO2qWAjFa3f7bTgz/BqwJ7XN5SUezvAJPNkME4fEpInfnBvM25a0w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-Ej0i4PZk8ltblZtzVK8ouaGUacUtxRmTm5S9794mdyU/tYxXjAJNseOfxrnHpMWKjMDrOKbqkPqJ52T9NR4LQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.32.tgz", + "integrity": "sha512-QReCdvxiUZAPkvp1xpAg62IeNzykOFA6syH2CnClif4YmALN1XKpB39XneL80008UbtMShthSVDKmrx05N1q/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.47.1.tgz", + "integrity": "sha512-lTahKRJip0knffA/GTNFJMrToD+CM+JJ+Qt5kjzBK/sFQ0EWqfKW3AYQSlZXN98tX0lx66083U9JYIMioMMK7g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.47.1.tgz", + "integrity": "sha512-uqxkb3RJLzlBbh/bbNQ4r7YpSZnjgMgyoEOY7Fy6GCbelkDSAzeiogxMG9TfLsBbqmGsdDObo3mzGqa8hps4MA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.47.1.tgz", + "integrity": "sha512-tV6reObmxBDS4DDyLzTDIpymthNlxrLBGAoQx6m2a7eifSNEZdkXQl1PE4ZjCkEDPVgNXSzND/k9AQ3mC4IOEQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.47.1.tgz", + "integrity": "sha512-XuJRPTnMk1lwsSnS3vYyVMu4x/+WIw1MMSiqj5C4j3QOWsMzbJEK90zG+SWV1h0B1ABGCQ0UZUjti+TQK35uHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.47.1.tgz", + "integrity": "sha512-79BAm8Ag/tmJ5asCqgOXsb3WY28Rdd5Lxj8ONiQzWzy9LvWORd5qVuOnjlqiWWZJw+dWewEktZb5yiM1DLLaHw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.47.1.tgz", + "integrity": "sha512-OQ2/ZDGzdOOlyfqBiip0ZX/jVFekzYrGtUsqAfLDbWy0jh1PUU18+jYp8UMpqhly5ltEqotc2miLngf9FPSWIA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.47.1.tgz", + "integrity": "sha512-HZZBXJL1udxlCVvoVadstgiU26seKkHbbAMLg7680gAcMnRNP9SAwTMVet02ANA94kXEI2VhBnXs4e5nf7KG2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.47.1.tgz", + "integrity": "sha512-sZ5p2I9UA7T950JmuZ3pgdKA6+RTBr+0FpK427ExW0t7n+QwYOcmDTK/aRlzoBrWyTpJNlS3kacgSlSTUg6P/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.47.1.tgz", + "integrity": "sha512-3hBFoqPyU89Dyf1mQRXCdpc6qC6At3LV6jbbIOZd72jcx7xNk3aAp+EjzAtN6sDlmHFzsDJN5yeUySvorWeRXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.47.1.tgz", + "integrity": "sha512-49J4FnMHfGodJWPw73Ve+/hsPjZgcXQGkmqBGZFvltzBKRS+cvMiWNLadOMXKGnYRhs1ToTGM0sItKISoSGUNA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.47.1.tgz", + "integrity": "sha512-4yYU8p7AneEpQkRX03pbpLmE21z5JNys16F1BZBZg5fP9rIlb0TkeQjn5du5w4agConCCEoYIG57sNxjryHEGg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.47.1.tgz", + "integrity": "sha512-fAiq+J28l2YMWgC39jz/zPi2jqc0y3GSRo1yyxlBHt6UN0yYgnegHSRPa3pnHS5amT/efXQrm0ug5+aNEu9UuQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.47.1.tgz", + "integrity": "sha512-daoT0PMENNdjVYYU9xec30Y2prb1AbEIbb64sqkcQcSaR0zYuKkoPuhIztfxuqN82KYCKKrj+tQe4Gi7OSm1ow==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.47.1.tgz", + "integrity": "sha512-JNyXaAhWtdzfXu5pUcHAuNwGQKevR+6z/poYQKVW+pLaYOj9G1meYc57/1Xv2u4uTxfu9qEWmNTjv/H/EpAisw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.47.1.tgz", + "integrity": "sha512-U/CHbqKSwEQyZXjCpY43/GLYcTVKEXeRHw0rMBJP7fP3x6WpYG4LTJWR3ic6TeYKX6ZK7mrhltP4ppolyVhLVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.47.1.tgz", + "integrity": "sha512-uTLEakjxOTElfeZIGWkC34u2auLHB1AYS6wBjPGI00bWdxdLcCzK5awjs25YXpqB9lS8S0vbO0t9ZcBeNibA7g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.47.1.tgz", + "integrity": "sha512-Ft+d/9DXs30BK7CHCTX11FtQGHUdpNDLJW0HHLign4lgMgBcPFN3NkdIXhC5r9iwsMwYreBBc4Rho5ieOmKNVQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.47.1.tgz", + "integrity": "sha512-N9X5WqGYzZnjGAFsKSfYFtAShYjwOmFJoWbLg3dYixZOZqU7hdMq+/xyS14zKLhFhZDhP9VfkzQnsdk0ZDS9IA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.47.1.tgz", + "integrity": "sha512-O+KcfeCORZADEY8oQJk4HK8wtEOCRE4MdOkb8qGZQNun3jzmj2nmhV/B/ZaaZOkPmJyvm/gW9n0gsB4eRa1eiQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.47.1.tgz", + "integrity": "sha512-CpKnYa8eHthJa3c+C38v/E+/KZyF1Jdh2Cz3DyKZqEWYgrM1IHFArXNWvBLPQCKUEsAqqKX27tTqVEFbDNUcOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "cacache": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.0.tgz", - "integrity": "sha512-L0JpXHhplbJSiDGzyJJnJCTL7er7NzbBgxzVqLswEb4bO91Zbv17OUMuUeu/q0ZwKn3V+1HM4wb9tO4eVE/K8g==", + "node_modules/@schematics/angular": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.2.0.tgz", + "integrity": "sha512-7sZVj7hOcytQrPE17ixjzul9ih81IfXGcEZvr7fT77qy7Hm5rbMjxqSYxCTf3kAyBFRSLq/E8GTapPAjk2coOg==", "dev": true, - "requires": { - "chownr": "^1.1.2", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^8.0.0", - "tar": "^6.0.1", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "@angular-devkit/schematics": "20.2.0", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "node_modules/@sigstore/bundle": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.1.0.tgz", + "integrity": "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "callback-registry": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/callback-registry/-/callback-registry-2.7.1.tgz", - "integrity": "sha512-wHRRB7qGES+JANDzO+XFcMtyPHLuaQVbvuKuQFUJ6S6/74aN/PUlSqcqzqrY0xuMlTCVINIkFSJKXq5wlHf5kA==" - }, - "caller-callsite": { + "node_modules/@sigstore/core": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz", + "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==", "dev": true, - "requires": { - "callsites": "^2.0.0" + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "node_modules/@sigstore/protobuf-specs": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.3.tgz", + "integrity": "sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==", "dev": true, - "requires": { - "caller-callsite": "^2.0.0" + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "node_modules/@sigstore/sign": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.1.0.tgz", + "integrity": "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==", "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "caniuse-lite": { - "version": "1.0.30001053", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001053.tgz", - "integrity": "sha512-HtV4wwIZl6GA4Oznse8aR274XUOYGZnQLcf/P8vHgmlfqSNelwD+id8CyHOceqLqt9yfKmo7DUZTh1EuS9pukg==", - "dev": true - }, - "canonical-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", - "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" + "node_modules/@sigstore/tuf": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.1.1.tgz", + "integrity": "sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.1.1.tgz", + "integrity": "sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==", + "dev": true, + "license": "Apache-2.0", "dependencies": { - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "dev": true, + "license": "MIT" }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", "dev": true, - "requires": { - "tslib": "^1.9.0" + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "circular-dependency-plugin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz", - "integrity": "sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "node_modules/@tufjs/models": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz", + "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, - "requires": { - "restore-cursor": "^3.1.0" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "cli-spinners": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", - "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", - "dev": true - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, + "license": "ISC", "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "node_modules/@tybys/wasm-util": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" + "license": "MIT", + "dependencies": { + "@types/node": "*" } }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "codelyzer": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.2.2.tgz", - "integrity": "sha512-jB4FZ1Sx7kZhvZVdf+N2BaKTdrrNZOL0Bj10RRfrhHrb3zEvXjJvvq298JPMJAiyiCS/v4zs1QlGU0ip7xGqeA==", - "dev": true, - "requires": { - "app-root-path": "^2.2.1", - "aria-query": "^3.0.0", - "axobject-query": "2.0.2", - "css-selector-tokenizer": "^0.7.1", - "cssauron": "^1.4.0", - "damerau-levenshtein": "^1.0.4", - "semver-dsl": "^1.0.1", - "source-map": "^0.5.7", - "sprintf-js": "^1.1.2" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true - } - } + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "node_modules/@types/jasmine": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.9.tgz", + "integrity": "sha512-8t4HtkW4wxiPVedMpeZ63n3vlWxEIquo/zc1Tm8ElU+SqVV7+D3Na2PWaJUp179AzTragMWVwkMv7mvty0NfyQ==", "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" - } + "license": "MIT" }, - "color": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "node_modules/@types/node": { + "version": "24.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz", + "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", "dev": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" + "license": "MIT", + "dependencies": { + "undici-types": "~7.10.0" } }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", + "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0" } }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "license": "BSD-2-Clause" }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "node_modules/abbrev": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "dev": true, - "requires": { - "delayed-stream": "~1.0.0" + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" } }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", - "dev": true - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true } } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "node_modules/algoliasearch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.35.0.tgz", + "integrity": "sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==", "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.1.0", + "@algolia/client-abtesting": "5.35.0", + "@algolia/client-analytics": "5.35.0", + "@algolia/client-common": "5.35.0", + "@algolia/client-insights": "5.35.0", + "@algolia/client-personalization": "5.35.0", + "@algolia/client-query-suggestions": "5.35.0", + "@algolia/client-search": "5.35.0", + "@algolia/ingestion": "1.35.0", + "@algolia/monitoring": "1.35.0", + "@algolia/recommend": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", "dev": true, - "requires": { - "safe-buffer": "5.1.2" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "node_modules/ansis": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.1.0.tgz", + "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", - "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", - "dev": true, - "requires": { - "cacache": "^12.0.3", - "find-cache-dir": "^2.1.0", - "glob-parent": "^3.1.0", - "globby": "^7.1.1", - "is-glob": "^4.0.1", - "loader-utils": "^1.2.3", - "minimatch": "^3.0.4", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { "normalize-path": "^3.0.0", - "p-limit": "^2.2.1", - "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - } + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "core-js": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", - "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==", - "dev": true - }, - "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "requires": { - "browserslist": "^4.8.5", - "semver": "7.0.0" + "license": "MIT", + "engines": { + "node": ">=8.6" }, - "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "core-util-is": { + "node_modules/balanced-match": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" } }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "node_modules/beasties": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz", + "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - }, + "license": "Apache-2.0", "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "css-select": "^6.0.0", + "css-what": "^7.0.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^10.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.49", + "postcss-media-query-parser": "^0.2.3" + }, + "engines": { + "node": ">=14.0.0" } }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "dev": true, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" } }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "css-loader": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.1.tgz", - "integrity": "sha512-0G4CbcZzQ9D1Q6ndOfjFuMDo8uLYMu5vc9Abs5ztyHcKvmil6GJrMiNjzzi3tQvUF+mVRuDg7bE6Oc0Prolgig==", + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, - "requires": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.27", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.0.3", - "schema-utils": "^2.6.5", - "semver": "^6.3.0" - }, + "license": "MIT", "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001735", + "electron-to-chromium": "^1.5.204", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "css-parse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true, - "requires": { - "css": "^2.0.0" - } + "license": "MIT" }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "css-selector-tokenizer": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz", - "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==", + "node_modules/cacache": { + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", "dev": true, - "requires": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2", - "regexpu-core": "^4.6.0" + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "balanced-match": "^1.0.0" } }, - "css-what": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", - "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", - "dev": true - }, - "cssauron": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", - "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true, - "requires": { - "through": "X.X.X" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", + "node_modules/cacache/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "dev": true, - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "requires": { - "postcss": "^7.0.0" + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "dev": true - }, - "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", - "dev": true, - "requires": { - "css-tree": "1.0.0-alpha.39" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", - "dev": true, - "requires": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "damerau-levenshtein": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", - "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/cacache/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "dev": true, - "requires": { - "assert-plus": "^1.0.0" + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" } }, - "date-format": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", - "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" + "node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, - "debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", - "dev": true + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true + "node_modules/callback-registry": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/callback-registry/-/callback-registry-2.7.2.tgz", + "integrity": "sha512-VVrtF21DaH0VHeNMkLDd4VGuxsYM3V3l3lwYneKVMU/6X3TRtcQszUwlAcqj2HrLcbP1NyS12LsanUwCykaz/Q==", + "license": "ISC" }, - "decoder-validate": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/decoder-validate/-/decoder-validate-0.0.2.tgz", - "integrity": "sha512-9BsqAH9Zq6CvlxKHkSrZrH2iYlhuhHcrh6uTnDvcsa9P5YEweEzt1ci+X/9STgSCE7b9BA7/QIiwhfUDDWmjxw==" + "node_modules/caniuse-lite": { + "version": "1.0.30001736", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001736.tgz", + "integrity": "sha512-ImpN5gLEY8gWeqfLUyEF4b7mYWcYoR2Si1VhnrbM4JizRFmfGaAQ12PhNykq6nvI4XvKLrsp8Xde74D5phJOSw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "node_modules/chalk": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", + "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" + "node_modules/chardet": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", + "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==", + "dev": true, + "license": "MIT" }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "default-require-extensions": { + "node_modules/chownr": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "dev": true, - "requires": { - "strip-bom": "^3.0.0" + "license": "ISC", + "engines": { + "node": ">=10" } }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", "dev": true, - "requires": { - "clone": "^1.0.2" - }, + "license": "MIT", "dependencies": { - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - } + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" } }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "dependency-graph": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz", - "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==", - "dev": true - }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" } }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, + "license": "MIT", "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "requires": { - "path-type": "^3.0.0" - } + "license": "MIT" }, - "dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" } }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" + "license": "MIT", + "dependencies": { + "ms": "2.0.0" } }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "node_modules/connect/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", "dev": true, - "requires": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "node_modules/connect/node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, + "license": "MIT", "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", - "dev": true - } + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } + "license": "MIT" }, - "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "node_modules/connect/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "dev": true, - "requires": { - "is-obj": "^2.0.0" + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "node_modules/connect/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.430", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.430.tgz", - "integrity": "sha512-HMDYkANGhx6vfbqpOf/hc6hWEmiOipOHGDeRDeUb3HLD3XIWpvKQxFgWf0tgHcr3aNv6I/8VPecplqmQsXoZSw==", - "dev": true - }, - "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "dev": true, - "requires": { - "iconv-lite": "~0.4.13" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", "dev": true, - "requires": { - "once": "^1.4.0" + "license": "MIT", + "engines": { + "node": ">=6.6.0" } }, - "engine.io": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", - "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" - }, - "dependencies": { - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - } + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" } }, - "engine.io-client": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - } + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "enhanced-resolve": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", - "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", - "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", - "dev": true + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true, + "license": "MIT" }, - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", - "dev": true - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-get-iterator": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.1.tgz", - "integrity": "sha512-qorBw8Y7B15DVLaJWy6WdEV/ZkieBcu6QCq/xzWzGOKJqgG1j754vXRfZ3NY7HSShneqU43mPB4OkQBTkvHhFw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.1", - "has-symbols": "^1.0.1", - "is-arguments": "^1.0.4", - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - } + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=4.0" } }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true + "node_modules/decoder-validate": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/decoder-validate/-/decoder-validate-0.0.2.tgz", + "integrity": "sha512-9BsqAH9Zq6CvlxKHkSrZrH2iYlhuhHcrh6uTnDvcsa9P5YEweEzt1ci+X/9STgSCE7b9BA7/QIiwhfUDDWmjxw==", + "license": "MIT" }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "requires": { - "es6-promise": "^4.0.3" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", "dev": true, - "requires": { - "estraverse": "^4.1.0" + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" } }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "eventemitter3": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", - "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", - "dev": true - }, - "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", - "dev": true - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", "dev": true, - "requires": { - "original": "^1.0.0" - } + "license": "MIT" }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "license": "MIT", + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" } - } + ], + "license": "BSD-2-Clause" }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" - }, + "license": "BSD-2-Clause", "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } - } - }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "node_modules/electron-to-chromium": { + "version": "1.5.207", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.207.tgz", + "integrity": "sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw==", "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } + "license": "ISC" }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "file-loader": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz", - "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==", + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.6.5" + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" } }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "node_modules/engine.io": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", + "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", "dev": true, - "optional": true + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" + } }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", "dev": true, - "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" + "license": "MIT", + "engines": { + "node": ">=10.0.0" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/engine.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "requires": { - "to-regex-range": "^5.0.1" + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "requires": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "unpipe": "~1.0.0" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "node_modules/engine.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "node_modules/engine.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { - "locate-path": "^2.0.0" + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true + "node_modules/engine.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "node_modules/ent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz", + "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "punycode": "^1.4.1", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" } }, - "follow-redirects": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz", - "integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, - "requires": { - "debug": "^3.0.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, - "requires": { - "map-cache": "^0.2.2" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "fs-extra": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", - "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } + "license": "MIT" }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", "dev": true, - "requires": { - "minipass": "^3.0.0" + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" } }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "node_modules/eventsource-parser": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.5.tgz", + "integrity": "sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "license": "MIT", + "engines": { + "node": ">=20.0.0" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" - }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "node_modules/exponential-backoff": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", + "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", "dev": true, - "optional": true + "license": "Apache-2.0" }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } }, - "genfun": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true + "node_modules/express-rate-limit": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", + "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, - "get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" - } + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", "dev": true, - "requires": { - "pump": "^3.0.0" - } - }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", "dev": true, - "requires": { - "assert-plus": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" } }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" - }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true } } }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true - }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "has-ansi": { + "node_modules/fresh": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", "dev": true, - "requires": { - "ansi-regex": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", - "dev": true, - "requires": { - "isarray": "2.0.1" - }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "devOptional": true, + "license": "MIT", "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "has-values": { + "node_modules/fs.realpath": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - } + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "hosted-git-info": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", - "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "requires": { - "lru-cache": "^5.1.1" + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, - "html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", - "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", - "dev": true - }, - "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" } }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, + "license": "ISC", "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "http-signature": { + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/gopd": { "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "devOptional": true, + "license": "ISC" }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "license": "MIT", + "engines": { + "node": ">=8" } }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, - "requires": { - "ms": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, - "requires": { - "postcss": "^7.0.14" + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "idb": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/idb/-/idb-5.0.8.tgz", - "integrity": "sha512-K9xInRkVbT3ZsYimD2KVj6B4E93IBvOjEQTryu99WuuN7G+7x3SzA79+yubbX0QRN9V64Gi+L+ulG5QYTVydOg==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "node_modules/hosted-git-info": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.0.tgz", + "integrity": "sha512-gEf705MZLrDPkbbhi8PnoO4ZwYgKoNL+ISZ3AjZMht2r3N5tuTwncyDi6Fv2/qDnMmZxgs0yI8WDOyR8q3G+SQ==", "dev": true, - "requires": { - "minimatch": "^3.0.4" + "license": "ISC", + "dependencies": { + "lru-cache": "^11.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz", + "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==", "dev": true, - "optional": true + "license": "ISC", + "engines": { + "node": "20 || >=22" + } }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "dev": true, - "requires": { - "import-from": "^2.1.0" + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" } }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", "dev": true, - "requires": { - "resolve-from": "^3.0.0" - } + "license": "BSD-2-Clause" }, - "import-local": { + "node_modules/http-errors": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" - } - }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true - }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true - }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" } }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, - "requires": { - "loose-envify": "^1.0.0" - } - }, - "invert-kv": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" - }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true - }, - "is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", - "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==" - }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, - "requires": { - "binary-extensions": "^2.0.0" - } - }, - "is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", - "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", - "requires": { - "call-bind": "^1.0.0" + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, + "license": "MIT", "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/ignore-walk": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", + "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==", "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, + "license": "ISC", "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "minimatch": "^10.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", "dev": true, - "requires": { - "is-extglob": "^2.1.1" + "license": "ISC", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==" - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true + "node_modules/immutable": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", + "dev": true, + "license": "MIT" }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "requires": { - "is-path-inside": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">=0.8.19" } }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, - "requires": { - "path-is-inside": "^1.0.2" + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" } }, - "is-plain-obj": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { + "node_modules/inherits": { "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true, - "requires": { - "isobject": "^3.0.1" - } - }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "requires": { - "has": "^1.0.3" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true + "license": "ISC" }, - "is-set": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "node_modules/ini": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", + "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" - } - }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "is-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz", - "integrity": "sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==", - "requires": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "has-symbols": "^1.0.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - } + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" - }, - "is-weakset": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", - "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true - }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "node_modules/ip-address": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", + "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", "dev": true, - "requires": { - "is-docker": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">= 12" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", "dev": true, - "requires": { - "buffer-alloc": "^1.2.0" + "license": "MIT", + "engines": { + "node": ">= 0.10" } }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-api": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.7.tgz", - "integrity": "sha512-LYTOa2UrYFyJ/aSczZi/6lBykVMjCCvUmT64gOe+jPZFy4w6FYfPGqFT2IiQ2BxVHHDOvCD7qrIXb0EOh4uGWw==", - "dev": true, - "requires": { - "async": "^2.6.2", - "compare-versions": "^3.4.0", - "fileset": "^2.0.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.5", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "minimatch": "^3.0.4", - "once": "^1.4.0" - }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "requires": { - "append-transform": "^1.0.0" - } - }, - "istanbul-lib-instrument": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz", - "integrity": "sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@babel/parser": "^7.7.5", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, + "license": "MIT", "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", - "dev": true, - "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" + "binary-extensions": "^2.0.0" }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "engines": { + "node": ">=8" } }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "requires": { - "html-escaper": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "jasmine": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", - "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, - "requires": { - "exit": "^0.1.2", - "glob": "^7.0.6", - "jasmine-core": "~2.8.0" + "license": "MIT", + "engines": { + "node": ">=12" }, - "dependencies": { - "jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "jasmine-core": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.5.0.tgz", - "integrity": "sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==", - "dev": true - }, - "jasmine-spec-reporter": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz", - "integrity": "sha512-FZBoZu7VE5nR7Nilzy+Np8KuVIOxF4oXDPDknehCYBDE080EnlPu0afdZNmpGDBRCUBv3mj5qgqCRmk6W/K8vg==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "requires": { - "colors": "1.1.2" + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "jasminewd2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", - "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", - "dev": true - }, - "jest-worker": { - "version": "25.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", - "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "license": "MIT", + "engines": { + "node": ">=12" }, - "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" - }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "license": "MIT", + "engines": { + "node": ">=0.12.0" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true - }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true - }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "requires": { - "minimist": "^1.2.5" - } - }, - "jsonfile": { + "node_modules/is-promise": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", "dev": true, - "requires": { - "graceful-fs": "^4.1.6" - } + "license": "MIT" }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "jszip": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.4.0.tgz", - "integrity": "sha512-gZAOYuPl4EhPTXT0GjhI3o+ZAz3su6EhLrKUoAivcKqyqC7laS5JEv4XWZND9BgcDcF83vI85yGbDmDR6UhrIg==", + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "karma": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/karma/-/karma-4.4.1.tgz", - "integrity": "sha512-L5SIaXEYqzrh6b1wqYC42tNsFMx2PWuxky84pK9coK09MvmL7mxii3G3bZBh/0rvD27lqDd0le9jyhzvwif73A==", + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", "dev": true, - "requires": { - "bluebird": "^3.3.0", - "body-parser": "^1.16.1", - "braces": "^3.0.2", - "chokidar": "^3.0.0", - "colors": "^1.1.0", - "connect": "^3.6.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.0", - "flatted": "^2.0.0", - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "http-proxy": "^1.13.0", - "isbinaryfile": "^3.0.0", - "lodash": "^4.17.14", - "log4js": "^4.0.0", - "mime": "^2.3.1", - "minimatch": "^3.0.2", - "optimist": "^0.6.1", - "qjobs": "^1.1.4", - "range-parser": "^1.2.0", - "rimraf": "^2.6.0", - "safe-buffer": "^5.0.1", - "socket.io": "2.1.1", - "source-map": "^0.6.1", - "tmp": "0.0.33", - "useragent": "2.3.0" + "license": "MIT", + "engines": { + "node": ">= 8.0.0" }, - "dependencies": { - "mime": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz", - "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" } }, - "karma-chrome-launcher": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", - "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", "dev": true, - "requires": { - "which": "^1.2.1" - } + "license": "ISC" }, - "karma-coverage-istanbul-reporter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.1.tgz", - "integrity": "sha512-CH8lTi8+kKXGvrhy94+EkEMldLCiUA0xMOiL31vvli9qK0T+qcXJAwWBRVJWnVWxYkTmyWar8lPz63dxX6/z1A==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "requires": { - "istanbul-api": "^2.1.6", - "minimatch": "^3.0.4" + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" } }, - "karma-jasmine": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-3.0.3.tgz", - "integrity": "sha512-80iBR8/hLFY2Uw3S2GG6EndWtMCGMJjrCYNwYROWsJFVTjWrRSsLqcA2ye+U3ygW5sjOQo8f+78L8cGUxjC/+A==", + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", "dev": true, - "requires": { - "jasmine-core": "^3.5.0" + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" } }, - "karma-jasmine-html-reporter": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.3.tgz", - "integrity": "sha512-ci0VrjuCaFj+9d1tYlTE3KIPUCp0rz874zWWU3JgCMqGIyw5ke+BXWFPOAGAqUdCJcrMwneyvp1zFXA74MiPUA==", - "dev": true - }, - "karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", "dev": true, - "requires": { - "source-map-support": "^0.5.5" - } - }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true - }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "less": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/less/-/less-3.11.1.tgz", - "integrity": "sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g==", - "dev": true, - "requires": { - "clone": "^2.1.2", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "mime": "^1.4.1", - "mkdirp": "^0.5.0", - "promise": "^7.1.1", - "request": "^2.83.0", - "source-map": "~0.6.0", - "tslib": "^1.10.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" } }, - "less-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz", - "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "loader-utils": "^1.1.0", - "pify": "^4.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" } }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "requires": { - "leven": "^3.1.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "license-webpack-plugin": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.4.tgz", - "integrity": "sha512-1Xq72fmPbTg5KofXs+yI5L4QqPFjQ6mZxoeI6D7gfiEDOtaEIk6PGrdLaej90bpDqKNHNxlQ/MW4tMAL6xMPJQ==", + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, - "requires": { - "@types/webpack-sources": "^0.1.5", - "webpack-sources": "^1.2.0" + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, - "requires": { - "immediate": "~3.0.5" + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true + "node_modules/jasmine-core": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.8.0.tgz", + "integrity": "sha512-Q9dqmpUAfptwyueW3+HqBOkSuYd9I/clZSSfN97wXE/Nr2ROFNCwIBEC1F6kb3QXS9Fcz0LjFYSDQT+BiwjuhA==", + "dev": true, + "license": "MIT" }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } + "license": "MIT" }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" } }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "requires": { - "chalk": "^2.4.2" + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, - "log4js": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz", - "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==", + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", "dev": true, - "requires": { - "date-format": "^2.0.0", - "debug": "^4.1.1", - "flatted": "^2.0.0", - "rfdc": "^1.1.4", - "streamroller": "^1.0.6" + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "devOptional": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "loglevel": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", - "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", - "dev": true + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "node_modules/karma": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", + "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "license": "MIT", + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.7.2", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" } }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", "dev": true, - "requires": { - "yallist": "^3.0.2" - }, + "license": "MIT", "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "which": "^1.2.1" } }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "node_modules/karma-chrome-launcher/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, + "license": "MIT", "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" } }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "make-fetch-happen": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", - "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", + "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, - "requires": { - "agentkeepalive": "^3.4.1", - "cacache": "^12.0.0", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^4.0.0", - "ssri": "^6.0.0" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - } + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" } }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "node_modules/karma-coverage/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "p-defer": "^1.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", "dev": true, - "requires": { - "object-visit": "^1.0.0" + "license": "MIT", + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" } }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/karma-jasmine-html-reporter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", + "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "license": "MIT", + "peerDependencies": { + "jasmine-core": "^4.0.0 || ^5.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" } }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "dev": true + "node_modules/karma-jasmine/node_modules/jasmine-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", + "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", + "dev": true, + "license": "MIT" }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true + "node_modules/karma/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "mem": { + "node_modules/karma/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "node_modules/karma/node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "node_modules/karma/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "requires": { - "source-map": "^0.6.1" - }, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/karma/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, + "license": "MIT", "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "ms": "2.0.0" } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true + "node_modules/karma/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "node_modules/karma/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "requires": { - "mime-db": "1.44.0" + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } + "node_modules/karma/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" + "node_modules/karma/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", - "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "node_modules/karma/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "requires": { - "yallist": "^4.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "node_modules/karma/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { - "minipass": "^3.0.0" + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "node_modules/karma/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "requires": { - "minipass": "^3.0.0" - } + "license": "MIT" }, - "minipass-pipeline": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz", - "integrity": "sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==", + "node_modules/karma/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "requires": { - "minipass": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "minizlib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", - "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", + "node_modules/karma/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "node_modules/karma/node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "node_modules/karma/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "requires": { - "minimist": "^1.2.5" + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "node_modules/karma/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "node_modules/karma/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "optional": true - }, - "nanoid": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", - "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "node-fetch-npm": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", - "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", + "node_modules/karma/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" } }, - "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", - "dev": true - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "node_modules/karma/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node-releases": { - "version": "1.1.55", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.55.tgz", - "integrity": "sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, + "license": "MIT", "dependencies": { - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "dev": true - }, - "npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" + "license": "ISC", + "engines": { + "node": ">=10" } }, - "npm-install-checks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "node_modules/listr2": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", "dev": true, - "requires": { - "semver": "^7.1.1" + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" } }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" }, - "npm-package-arg": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz", - "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==", + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, - "requires": { - "hosted-git-info": "^3.0.2", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.2.tgz", + "integrity": "sha512-nwVGUfTBUwJKXd6lRV8pFNfnrCC1+l49ESJRM19t/tFb/97QfJEixe5DYRvug5JO7DSFKoKaVy7oGMt5rVqZvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "msgpackr": "^1.11.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.5.3", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.4.2", + "@lmdb/lmdb-darwin-x64": "3.4.2", + "@lmdb/lmdb-linux-arm": "3.4.2", + "@lmdb/lmdb-linux-arm64": "3.4.2", + "@lmdb/lmdb-linux-x64": "3.4.2", + "@lmdb/lmdb-win32-arm64": "3.4.2", + "@lmdb/lmdb-win32-x64": "3.4.2" } }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } + "license": "MIT" }, - "npm-pick-manifest": { + "node_modules/log-symbols": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.0.0.tgz", - "integrity": "sha512-PdJpXMvjqt4nftNEDpCgjBUF8yI3Q3MyuAmVB9nemnnCg32F4BPL/JFBfdj8DubgHCYUFQhtLWmBPvdsFtjWMg==", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", "dev": true, - "requires": { - "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.0.0", - "semver": "^7.0.0" + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "npm-registry-fetch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.4.tgz", - "integrity": "sha512-6jb34hX/iYNQebqWUHtU8YF6Cjb1H6ouTFPClYsyiW6lpFkljTpdeftm53rRojtja1rKAvKNIIiTS5Sjpw4wsA==", + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", "dev": true, - "requires": { - "JSONStream": "^1.3.4", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0", - "safe-buffer": "^5.2.0" + "license": "MIT", + "engines": { + "node": ">=12" }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dev": true, - "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, - "requires": { - "path-key": "^2.0.0" + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, - "requires": { - "boolbase": "~1.0.0" + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" - }, - "object-is": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", - "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, - "requires": { - "isobject": "^3.0.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" } }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, - "requires": { - "isobject": "^3.0.1" + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "node_modules/make-fetch-happen": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", + "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, - "requires": { - "mimic-fn": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "open": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/open/-/open-7.0.3.tgz", - "integrity": "sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA==", + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", "dev": true, - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", "dev": true, - "requires": { - "is-wsl": "^1.1.0" + "license": "MIT", + "engines": { + "node": ">=18" }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, + "license": "MIT", + "optional": true, "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - } + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "ora": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz", - "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", "dev": true, - "requires": { - "url-parse": "^1.4.3" + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" } }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", "dev": true, - "requires": { - "p-try": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "requires": { - "p-limit": "^1.1.0" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "requires": { - "aggregate-error": "^3.0.0" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "requires": { - "retry": "^0.12.0" + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pacote": { - "version": "9.5.12", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.12.tgz", - "integrity": "sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.3", - "cacache": "^12.0.2", - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.3", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.4.0", - "npm-normalize-package-bin": "^1.0.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.1.12", - "npm-pick-manifest": "^3.0.0", - "npm-registry-fetch": "^4.0.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.2", - "semver": "^5.6.0", - "ssri": "^6.0.1", - "tar": "^4.4.10", - "unique-filename": "^1.1.1", - "which": "^1.3.1" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dev": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dev": true, - "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npm-pick-manifest": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", - "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "node_modules/minipass-fetch": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", + "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "parse5": { + "node_modules/minipass-flush/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, - "requires": { - "better-assert": "~1.0.0" + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "requires": { - "better-assert": "~1.0.0" + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", "dev": true, - "requires": { - "pify": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" } }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "devOptional": true, + "license": "MIT" }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "node_modules/msgpackr": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.5.tgz", + "integrity": "sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==", + "dev": true, + "license": "MIT", + "optional": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", "dev": true, - "requires": { - "pinkie": "^2.0.0" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", "dev": true, - "requires": { - "find-up": "^2.1.0" - } + "license": "MIT", + "optional": true }, - "portfinder": { - "version": "1.0.26", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", - "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", + "node_modules/node-gyp": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.4.1.tgz", + "integrity": "sha512-GiVxQ1e4TdZSSVmFDYUn6uUsrEUP68pa8C/xBzCfL/FcLHa4reWrxxTP7tRGhNdviYrNsL5kRolBL5LNYEutCw==", "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", - "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, + "license": "MIT", + "optional": true, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" } }, - "postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true, - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" } }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "dev": true, - "requires": { - "postcss": "^7.0.0" + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" } }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "node_modules/node-gyp/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, - "requires": { - "postcss": "^7.0.0" + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", "dev": true, - "requires": { - "postcss": "^7.0.0" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true, - "requires": { - "postcss": "^7.0.0" - } + "license": "MIT" }, - "postcss-import": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", - "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==", + "node_modules/nopt": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", "dev": true, - "requires": { - "postcss": "^7.0.1", - "postcss-value-parser": "^3.2.3", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } + "node_modules/npm-bundled": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", + "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "node_modules/npm-install-checks": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.1.tgz", + "integrity": "sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==", "dev": true, - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, + "license": "BSD-2-Clause", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "semver": "^7.1.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "node_modules/npm-package-arg": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz", + "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==", "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "hosted-git-info": "^9.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "node_modules/npm-packlist": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.1.tgz", + "integrity": "sha512-vaC03b2PqJA6QqmwHi1jNU8fAPXEnnyv4j/W4PVfgm24C4/zZGSVut3z0YUeN0WIFCo1oGOL02+6LbvFK7JL4Q==", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "ignore-walk": "^8.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "node_modules/npm-pick-manifest": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", + "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "node_modules/npm-pick-manifest/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "postcss": "^7.0.5" - } + "license": "ISC" }, - "postcss-modules-local-by-default": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", - "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", + "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", "dev": true, - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.16", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.0" + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "node_modules/npm-registry-fetch": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", + "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==", "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "postcss": "^7.0.0" - } + "license": "ISC" }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "BSD-2-Clause", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "wrappy": "1" } }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "node_modules/ora": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "node_modules/ordered-binary": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz", + "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=18" }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } + "license": "BlueOak-1.0.0" }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "node_modules/pacote": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.0.tgz", + "integrity": "sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==", "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^10.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "node_modules/pacote/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "node_modules/pacote/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, + "license": "ISC" + }, + "node_modules/pacote/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "node_modules/parse5-html-rewriting-stream": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", + "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==", "dev": true, - "optional": true, - "requires": { - "asap": "~2.0.3" + "license": "MIT", + "dependencies": { + "entities": "^6.0.0", + "parse5": "^8.0.0", + "parse5-sax-parser": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", + "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==", + "dev": true, + "license": "MIT", "dependencies": { - "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", - "dev": true - } + "parse5": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "protoduck": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", - "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", - "dev": true, - "requires": { - "genfun": "^5.0.0" - } - }, - "protractor": { - "version": "5.4.4", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.4.tgz", - "integrity": "sha512-BaL4vePgu3Vfa/whvTUAlgaCAId4uNSGxIFSCXMgj7LMYENPWLp85h5RBi9pdpX/bWQ8SF6flP7afmi2TC4eHw==", - "dev": true, - "requires": { - "@types/q": "^0.0.32", - "@types/selenium-webdriver": "^3.0.0", - "blocking-proxy": "^1.0.0", - "browserstack": "^1.5.1", - "chalk": "^1.1.3", - "glob": "^7.0.3", - "jasmine": "2.8.0", - "jasminewd2": "^2.1.0", - "q": "1.4.1", - "saucelabs": "^1.5.0", - "selenium-webdriver": "3.6.0", - "source-map-support": "~0.4.0", - "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.0.6", - "yargs": "^12.0.5" - }, - "dependencies": { - "@types/q": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - } - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "webdriver-manager": { - "version": "12.1.7", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.7.tgz", - "integrity": "sha512-XINj6b8CYuUYC93SG3xPkxlyUc3IJbD6Vvo75CVGuG9uzsefDzWQrhz0Lq8vbPxtb4d63CZdYophF8k8Or/YiA==", - "dev": true, - "requires": { - "adm-zip": "^0.4.9", - "chalk": "^1.1.1", - "del": "^2.2.0", - "glob": "^7.0.3", - "ini": "^1.3.4", - "minimist": "^1.2.0", - "q": "^1.4.1", - "request": "^2.87.0", - "rimraf": "^2.5.2", - "semver": "^5.3.0", - "xml2js": "^0.4.17" - } - } + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "prr": { + "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true + "node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } }, - "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", - "dev": true + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, - "requires": { - "safe-buffer": "^5.1.0" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "node_modules/piscina": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.3.tgz", + "integrity": "sha512-0u3N7H4+hbr40KjuVn2uNhOcthu/9usKhnw5vT3J7ply79v3D3M8naI00el9Klcy16x557VsEkkUQaHCWFXC/g==", "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "license": "MIT", + "engines": { + "node": ">=20.x" + }, + "optionalDependencies": { + "@napi-rs/nice": "^1.0.4" } }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "node_modules/pkce-challenge": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", + "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - } + "license": "MIT", + "engines": { + "node": ">=16.20.0" } }, - "raw-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.0.tgz", - "integrity": "sha512-iINUOYvl1cGEmfoaLjnZXt4bKfT2LJnZZib5N/LLyAphC+Dd11vNP9CNVb38j+SAJpFI1uo8j9frmih53ASy7Q==", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", "dev": true, - "requires": { - "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } + "license": "MIT" }, - "read-package-json": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz", - "integrity": "sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==", + "node_modules/proc-log": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", "dev": true, - "requires": { - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "json-parse-better-errors": "^1.0.1", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "read-package-tree": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", - "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, - "requires": { - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "util-promisify": "^2.1.0" + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" } }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" } }, - "readdir-scoped-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", - "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } + "license": "MIT" }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", "dev": true, - "requires": { - "picomatch": "^2.2.1" + "license": "MIT", + "engines": { + "node": ">=0.9" } }, - "reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "dev": true, - "requires": { - "regenerate": "^1.4.0" + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", - "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "requires": { - "@babel/runtime": "^7.8.4", - "private": "^0.1.8" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "requires-port": { + "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "requires": { - "path-parse": "^1.0.6" - } + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, - "requires": { - "resolve-from": "^3.0.0" + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "retry": { + "node_modules/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "rfdc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", - "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==", - "dev": true - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "devOptional": true, + "license": "MIT" }, - "rimraf": { + "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rolldown": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.32.tgz", + "integrity": "sha512-vxI2sPN07MMaoYKlFrVva5qZ1Y7DAZkgp7MQwTnyHt4FUMz9Sh+YeCzNFV9JYHI6ZNwoGWLCfCViE3XVsRC1cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/runtime": "=0.81.0", + "@oxc-project/types": "=0.81.0", + "@rolldown/pluginutils": "1.0.0-beta.32", + "ansis": "^4.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-beta.32", + "@rolldown/binding-darwin-arm64": "1.0.0-beta.32", + "@rolldown/binding-darwin-x64": "1.0.0-beta.32", + "@rolldown/binding-freebsd-x64": "1.0.0-beta.32", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.32", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.32", + "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.32", + "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.32", + "@rolldown/binding-linux-x64-musl": "1.0.0-beta.32", + "@rolldown/binding-openharmony-arm64": "1.0.0-beta.32", + "@rolldown/binding-wasm32-wasi": "1.0.0-beta.32", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.32", + "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.32", + "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.32" + } + }, + "node_modules/rollup": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.47.1.tgz", + "integrity": "sha512-iasGAQoZ5dWDzULEUX3jiW0oB1qyFOepSyDyoU6S/OhVlDIwj5knI5QBa5RRQ0sK7OE0v+8VIi2JuV+G+3tfNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.47.1", + "@rollup/rollup-android-arm64": "4.47.1", + "@rollup/rollup-darwin-arm64": "4.47.1", + "@rollup/rollup-darwin-x64": "4.47.1", + "@rollup/rollup-freebsd-arm64": "4.47.1", + "@rollup/rollup-freebsd-x64": "4.47.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.47.1", + "@rollup/rollup-linux-arm-musleabihf": "4.47.1", + "@rollup/rollup-linux-arm64-gnu": "4.47.1", + "@rollup/rollup-linux-arm64-musl": "4.47.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.47.1", + "@rollup/rollup-linux-ppc64-gnu": "4.47.1", + "@rollup/rollup-linux-riscv64-gnu": "4.47.1", + "@rollup/rollup-linux-riscv64-musl": "4.47.1", + "@rollup/rollup-linux-s390x-gnu": "4.47.1", + "@rollup/rollup-linux-x64-gnu": "4.47.1", + "@rollup/rollup-linux-x64-musl": "4.47.1", + "@rollup/rollup-win32-arm64-msvc": "4.47.1", + "@rollup/rollup-win32-ia32-msvc": "4.47.1", + "@rollup/rollup-win32-x64-msvc": "4.47.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" } }, - "rollup": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.1.0.tgz", - "integrity": "sha512-gfE1455AEazVVTJoeQtcOq/U6GSxwoj4XPSWVsuWmgIxj7sBQNLDOSA82PbdMe+cP8ql8fR1jogPFe8Wg8g4SQ==", - "dev": true, - "requires": { - "fsevents": "~2.1.2" + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" } }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "safe-regex": { + "node_modules/safe-regex-test": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, - "requires": { - "ret": "~0.1.10" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "safer-buffer": { + "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sass": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.3.tgz", - "integrity": "sha512-5NMHI1+YFYw4sN3yfKjpLuV9B5l7MqQ6FlkTcC4FT+oHbBRUZoSjHrrt/mE0nFXJyY2kQtU9ou9HxvFVjLFuuw==", - "dev": true, - "requires": { - "chokidar": ">=2.0.0 <4.0.0" - } - }, - "sass-loader": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", - "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.2.3", - "neo-async": "^2.6.1", - "schema-utils": "^2.6.1", - "semver": "^6.3.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "saucelabs": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", - "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "schema-utils": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.6.tgz", - "integrity": "sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA==", - "dev": true, - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selenium-webdriver": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", - "dev": true, - "requires": { - "jszip": "^3.1.3", - "rimraf": "^2.5.4", - "tmp": "0.0.30", - "xml2js": "^0.4.17" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } - } - }, - "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", "dev": true, - "requires": { - "node-forge": "0.9.0" - } + "license": "MIT" }, - "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", - "dev": true - }, - "semver-dsl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", - "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", + "node_modules/sass": { + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", + "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", "dev": true, - "requires": { - "semver": "^5.3.0" - }, + "license": "MIT", "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, - "semver-intersect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", - "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "requires": { - "semver": "^5.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "engines": { + "node": ">=10" } }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } + "engines": { + "node": ">= 18" } }, - "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" } }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } + "license": "ISC" }, - "set-blocking": { + "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "requires": { - "kind-of": "^6.0.2" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, - "requires": { - "shebang-regex": "^1.0.0" + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "shebang-regex": { + "node_modules/side-channel-list": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shortid": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.8.tgz", - "integrity": "sha1-AzsRfWoul1gE9vCWnb59PQs1UTE=" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "dependencies": { - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - } - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, + "license": "MIT", "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - } - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, + "license": "MIT", "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" + "license": "ISC", + "engines": { + "node": ">=14" }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", - "dev": true - }, - "socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", - "has-binary2": "~1.0.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", - "to-array": "0.1.4" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "node_modules/sigstore": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz", + "integrity": "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "socket.io-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - }, + "license": "MIT", "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "node_modules/socket.io": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", "dev": true, - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - } + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" } }, - "socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", "dev": true, - "requires": { - "ip": "1.1.5", - "smart-buffer": "^4.1.0" + "license": "MIT", + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" } }, - "socks-proxy-agent": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", - "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "node_modules/socket.io-adapter/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "requires": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" - }, + "license": "MIT", "dependencies": { - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" } }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "source-map-loader": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz", - "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==", - "dev": true, - "requires": { - "async": "^2.5.0", - "loader-utils": "^1.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "node_modules/socket.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "node_modules/socket.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "node_modules/socket.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "node_modules/socket.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "license": "MIT", + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "speed-measure-webpack-plugin": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.1.tgz", - "integrity": "sha512-qVIkJvbtS9j/UeZumbdfz0vg+QfG/zxonAjzefZrqzkr7xOncLVXkeGbTpzd1gjCBM4PmVNkWlkeTVhgskAGSQ==", + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", "dev": true, - "requires": { - "chalk": "^2.0.1" + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" } }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", "dev": true, - "requires": { - "extend-shallow": "^3.0.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" }, - "streamroller": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz", - "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==", + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "requires": { - "async": "^2.6.2", - "date-format": "^2.0.0", - "debug": "^3.2.6", - "fs-extra": "^7.0.1", - "lodash": "^4.17.14" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "dev": true, + "license": "CC0-1.0" }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "node_modules/ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, + "license": "ISC", "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "minipass": "^7.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" } }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "safe-buffer": "~5.1.0" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "requires": { - "ansi-regex": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "style-loader": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.1.3.tgz", - "integrity": "sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw==", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.6.4" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "stylus": { - "version": "0.54.7", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.7.tgz", - "integrity": "sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==", + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "css-parse": "~2.0.0", - "debug": "~3.1.0", - "glob": "^7.1.3", - "mkdirp": "~0.5.x", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.0.0", - "source-map": "^0.7.3" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "stylus-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", - "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "lodash.clonedeep": "^4.5.0", - "when": "~3.6.x" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "tar": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz", - "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==", + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.0", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, + "license": "MIT", "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "terser": { - "version": "4.6.10", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.10.tgz", - "integrity": "sha512-qbF/3UOo11Hggsbsqm2hPa6+L4w7bkr+09FNseEe8xrcVD3APGLFqE+Oz1ZKAxjYnFsj80rLOfgAtJ0LNJjtTA==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "terser-webpack-plugin": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz", - "integrity": "sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w==", + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "requires": { - "cacache": "^13.0.1", - "find-cache-dir": "^3.2.0", - "jest-worker": "^25.1.0", - "p-limit": "^2.2.2", - "schema-utils": "^2.6.4", - "serialize-javascript": "^2.1.2", - "source-map": "^0.6.1", - "terser": "^4.4.3", - "webpack-sources": "^1.4.3" - }, - "dependencies": { - "cacache": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", - "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", - "dev": true, - "requires": { - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^7.0.0", - "unique-filename": "^1.1.1" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "minipass": "^3.1.1" - } - } + "license": "MIT", + "engines": { + "node": ">=8" } }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "requires": { - "setimmediate": "^1.0.4" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, + "license": "ISC", "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, - "requires": { - "is-number": "^7.0.0" + "license": "ISC", + "engines": { + "node": ">=8" } }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" } }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "ts-node": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", - "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", - "dev": true, - "requires": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.6", - "yn": "^3.0.0" - } - }, - "tslib": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", - "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==" - }, - "tslint": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.2.tgz", - "integrity": "sha512-UyNrLdK3E0fQG/xWNqAFAC5ugtFyPO4JJR1KyyfQAyzR8W0fTRrC91A8Wej4BntFzcvETdCSDa/4PnNYJQLYiA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.10.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "requires": { - "tslib": "^1.8.1" + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, - "requires": { - "safe-buffer": "^5.0.1" + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "license": "MIT", + "engines": { + "node": ">=14.14" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", - "dev": true - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "dev": true - }, - "union-value": { + "node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "license": "MIT", + "engines": { + "node": ">=0.6" } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "node_modules/tuf-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.1.0.tgz", + "integrity": "sha512-3T3T04WzowbwV2FDiGXBbr81t64g1MUGGJRgT4x5o97N+8ArdhVCAF9IxFrxuSJmM3E5Asn7nKHkao0ibcZXAg==", "dev": true, - "requires": { - "unique-slug": "^2.0.0" + "license": "MIT", + "dependencies": { + "@tufjs/models": "3.0.1", + "debug": "^4.4.1", + "make-fetch-happen": "^14.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "requires": { - "imurmurhash": "^0.1.4" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "universal-analytics": { - "version": "0.4.20", - "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz", - "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==", + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", "dev": true, - "requires": { - "debug": "^3.0.0", - "request": "^2.88.0", - "uuid": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" } }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } + "node_modules/ua-parser-js": { + "version": "0.7.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.41.tgz", + "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "node_modules/undici-types": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", + "dev": true, + "license": "MIT" }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "node_modules/unique-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", "dev": true, - "requires": { - "punycode": "^2.1.0" + "license": "ISC", + "dependencies": { + "unique-slug": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "node_modules/unique-slug": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, + "license": "ISC", "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" } }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "useragent": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", - "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", - "dev": true, - "requires": { - "lru-cache": "4.1.x", - "tmp": "0.0.x" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "punycode": "^2.1.0" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util-promisify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", - "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3" + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "util.promisify": { + "node_modules/utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">= 0.4.0" } }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "validate-npm-package-license": { + "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, - "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "node_modules/validate-npm-package-name": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", + "integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==", "dev": true, - "requires": { - "builtins": "^1.0.3" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "vary": { + "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true - }, - "watchpack": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.1.tgz", - "integrity": "sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA==", - "dev": true, - "requires": { - "chokidar": "^2.1.8", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.2.tgz", + "integrity": "sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.6", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.14" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } + "jiti": { + "optional": true }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } + "less": { + "optional": true }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } + "lightningcss": { + "optional": true }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } + "sass": { + "optional": true }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } + "sass-embedded": { + "optional": true }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } + "stylus": { + "optional": true }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } + "sugarss": { + "optional": true }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "terser": { + "optional": true }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } + "tsx": { + "optional": true }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } + "yaml": { + "optional": true } } }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", "dev": true, - "requires": { - "defaults": "^1.0.3" + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" } }, - "webdriver-js-extender": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", - "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", - "dev": true, - "requires": { - "@types/selenium-webdriver": "^3.0.0", - "selenium-webdriver": "^3.0.1" - } - }, - "webpack": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz", - "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.2.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.0", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "terser-webpack-plugin": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", - "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - } - } + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true, + "license": "MIT", + "optional": true }, - "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "mime": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz", - "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==", - "dev": true - } + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "webpack-dev-server": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz", - "integrity": "sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==", + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.2.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.6", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.25", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.4.0", - "spdy": "^4.0.1", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "12.0.5" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "requires": { - "lodash": "^4.17.15" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "webpack-subresource-integrity": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.0.tgz", - "integrity": "sha512-GB1kB/LwAWC3CxwcedGhMkxGpNZxSheCe1q+KJP1bakuieAdX/rGHEcf5zsEzhKXpqsGqokgsDoD9dIkr61VDQ==", + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, - "requires": { - "webpack-sources": "^1.3.0" - } + "license": "MIT" }, - "websocket-driver": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", - "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "requires": { - "http-parser-js": ">=0.4.0 <0.4.11", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true - }, - "when": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", - "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "isexe": "^2.0.0" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", - "requires": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - } + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "requires": { - "errno": "~0.1.7" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "worker-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-4.0.2.tgz", - "integrity": "sha512-V+1zSZMOOKk+uBzKyNIODLQLsx59zSIOaI75J1EMS0iR1qy+KQR3y/pQ3T0vIhvPfDFapGRMsoMvQNEL3okqSA==", + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "loader-utils": "^1.1.0" - }, + "license": "MIT", "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, - "requires": { - "async-limiter": "~1.0.0" + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "license": "ISC", + "engines": { + "node": ">=10" } }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - } + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" } }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true + "node_modules/zod-to-json-schema": { + "version": "3.24.6", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", + "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "zod": "^3.24.1" + } }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "zone.js": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", - "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==" + "node_modules/zone.js": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz", + "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==", + "license": "MIT" } } } diff --git a/angular/solution/clients/package.json b/angular/solution/clients/package.json index 8973e63..0638737 100644 --- a/angular/solution/clients/package.json +++ b/angular/solution/clients/package.json @@ -1,53 +1,37 @@ { - "name": "clients", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "test": "ng test", - "lint": "ng lint", - "e2e": "ng e2e" - }, - "private": true, - "dependencies": { - "@angular/animations": "~9.1.0", - "@angular/cdk": "^9.2.4", - "@angular/common": "~9.1.0", - "@angular/compiler": "~9.1.0", - "@angular/core": "~9.1.0", - "@angular/forms": "~9.1.0", - "@angular/localize": "~9.1.0", - "@angular/material": "^9.2.4", - "@angular/platform-browser": "~9.1.0", - "@angular/platform-browser-dynamic": "~9.1.0", - "@angular/router": "~9.1.0", - "@glue42/ng": "^2.0.6", - "@ng-bootstrap/ng-bootstrap": "^6.1.0", - "bootstrap": "^4.4.0", - "rxjs": "~6.5.4", - "tslib": "^1.10.0", - "zone.js": "~0.10.2" - }, - "devDependencies": { - "@angular-devkit/build-angular": "~0.901.0", - "@angular/cli": "~9.1.0", - "@angular/compiler-cli": "~9.1.0", - "@angular/language-service": "~9.1.0", - "@types/node": "^12.11.1", - "@types/jasmine": "~3.5.0", - "@types/jasminewd2": "~2.0.3", - "codelyzer": "^5.1.2", - "jasmine-core": "~3.5.0", - "jasmine-spec-reporter": "~4.2.1", - "karma": "~4.4.1", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage-istanbul-reporter": "~2.1.0", - "karma-jasmine": "~3.0.1", - "karma-jasmine-html-reporter": "^1.4.2", - "protractor": "~5.4.3", - "ts-node": "~8.3.0", - "tslint": "~6.1.0", - "typescript": "~3.8.3" - } + "name": "clients", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@interopio/ng": "^6.0.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.6", + "@angular/cli": "^20.1.6", + "@angular/compiler-cli": "^20.1.0", + "@interopio/theme": "^3.0.2", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } } diff --git a/angular/solution/stocks/src/assets/.gitkeep b/angular/solution/clients/public/.gitkeep similarity index 100% rename from angular/solution/stocks/src/assets/.gitkeep rename to angular/solution/clients/public/.gitkeep diff --git a/angular/solution/stocks/src/assets/favicon.ico b/angular/solution/clients/public/favicon.ico similarity index 100% rename from angular/solution/stocks/src/assets/favicon.ico rename to angular/solution/clients/public/favicon.ico diff --git a/angular/solution/stocks/src/assets/logo192.png b/angular/solution/clients/public/logo192.png similarity index 100% rename from angular/solution/stocks/src/assets/logo192.png rename to angular/solution/clients/public/logo192.png diff --git a/angular/solution/stocks/src/assets/logo512.png b/angular/solution/clients/public/logo512.png similarity index 100% rename from angular/solution/stocks/src/assets/logo512.png rename to angular/solution/clients/public/logo512.png diff --git a/angular/solution/clients/src/app/app.component.html b/angular/solution/clients/src/app/app.component.html deleted file mode 100644 index eaf4179..0000000 --- a/angular/solution/clients/src/app/app.component.html +++ /dev/null @@ -1,35 +0,0 @@ - -
-
-
- Glue42 is {{glueStatus}} -
-
-

Clients

-
-
- -
-
-
- - - - - - - - - - - - - - - - - -
Full NamePIDGIDAccount Manager
{{client.name}}{{client.pId}}{{client.gId}}{{client.accountManager}}
-
-
- diff --git a/angular/solution/clients/src/app/app.component.ts b/angular/solution/clients/src/app/app.component.ts deleted file mode 100644 index 8f79278..0000000 --- a/angular/solution/clients/src/app/app.component.ts +++ /dev/null @@ -1,42 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { DataService } from './data.service'; -import { Client, GlueStatus, Channel } from './types'; -import { GlueService } from './glue.service'; - -@Component({ - selector: 'app-root', - templateUrl: './app.component.html' -}) -export class AppComponent implements OnInit { - - public clients: Client[] = []; - public glueStatus: GlueStatus = "disconnected"; - public channels: Channel[] = []; - - constructor( - private readonly data: DataService, - private readonly glueService: GlueService - ) { } - - public async ngOnInit(): Promise { - this.glueStatus = this.glueService.glueStatus; - - [this.clients, this.channels] = await Promise.all([ - this.data.getClients(), - this.glueService.getAllChannels() - ]); - } - - public async handleClientClick(client: Client): Promise { - this.glueService.openStockWindow(); - this.glueService.sendSelectedClient(client).catch(console.log); - } - - public handleJoinChannel({ name }: { name: string }) { - this.glueService.joinChannel(name).catch(console.log); - } - - public handleLeaveChannel() { - this.glueService.leaveChannel().catch(console.log); - } -} diff --git a/angular/solution/clients/src/app/app.config.ts b/angular/solution/clients/src/app/app.config.ts new file mode 100644 index 0000000..fca321e --- /dev/null +++ b/angular/solution/clients/src/app/app.config.ts @@ -0,0 +1,174 @@ +import { + ApplicationConfig, + provideBrowserGlobalErrorListeners, + provideZoneChangeDetection +} from "@angular/core"; +import { provideHttpClient } from "@angular/common/http"; +import { provideIoConnect } from "@interopio/ng"; +import IOBrowserPlatform, { + IOConnectBrowserPlatform +} from "@interopio/browser-platform"; +import { IOConnectBrowser } from "@interopio/browser"; +import IOWorkspaces from "@interopio/workspaces-api"; +import "@interopio/theme"; + +import { DataService } from "./data.service"; +import { IOConnectService } from "./io-connect.service"; +import { setupApplications } from "../plugins/applicationsPlugin"; +import { setupLayouts } from "../plugins/layoutsPlugin"; + +const channels: IOConnectBrowserPlatform.Channels.Config = { + definitions: [ + { + name: "Red", + meta: { + color: "red" + } + }, + { + name: "Green", + meta: { + color: "green" + } + }, + { + name: "Blue", + meta: { + color: "#66ABFF" + } + }, + { + name: "Pink", + meta: { + color: "#F328BB" + } + }, + { + name: "Yellow", + meta: { + color: "#FFE733" + } + }, + { + name: "Dark Yellow", + meta: { + color: "#b09b00" + } + }, + { + name: "Orange", + meta: { + color: "#fa5a28" + } + }, + { + name: "Purple", + meta: { + color: "#c873ff" + } + }, + { + name: "Lime", + meta: { + color: "#8af59e" + } + }, + { + name: "Cyan", + meta: { + color: "#80f3ff" + } + } + ] +}; + +const widget: IOConnectBrowserPlatform.Widget.Config = { + // It's required to specify the locations of the bundle, styles and fonts for the widget. + sources: { + bundle: "http://localhost:8080/static/widget/io-browser-widget.es.js", + styles: ["http://localhost:8080/static/widget/styles.css"], + fonts: ["http://localhost:8080/static/widget/fonts.css"] + } +}; + +const workspaces: IOConnectBrowserPlatform.Workspaces.Config = { + src: "http://localhost:9300/" +}; + +const browser: IOConnectBrowser.Config = { + // widget: { + // enable: true + // }, + libraries: [IOWorkspaces] +}; + +const applications: IOConnectBrowserPlatform.Applications.Config = { + local: [ + { + name: "Stocks", + type: "window", + details: { + url: "http://localhost:4100/", + left: 0, + top: 0, + width: 860, + height: 600 + } + }, + { + name: "Stock Details", + type: "window", + details: { + url: "http://localhost:4100/details", + left: 100, + top: 100, + width: 400, + height: 400 + } + } + ] +}; + +// Define Plugins Config +const plugins: IOConnectBrowserPlatform.Plugins.Config = { + definitions: [ + { + name: "Setup Applications", + config: { url: "http://localhost:8080/api/applicationsAngular" }, + start: setupApplications, + critical: true + }, + { + name: "Setup Workspace Layouts", + config: { url: "http://localhost:8080/api/layouts" }, + start: setupLayouts, + critical: true + } + ] +}; + +const config: IOConnectBrowserPlatform.Config = { + licenseKey: "your-license-key", + channels, + // applications, + // widget, + workspaces, + browser, + plugins +}; + +export const appConfig: ApplicationConfig = { + providers: [ + provideBrowserGlobalErrorListeners(), + provideZoneChangeDetection({ eventCoalescing: true }), + provideHttpClient(), + provideIoConnect({ + browserPlatform: { + factory: IOBrowserPlatform, + config + } + }), + DataService, + IOConnectService + ] +}; diff --git a/angular/solution/clients/src/app/app.css b/angular/solution/clients/src/app/app.css new file mode 100644 index 0000000..06bc347 --- /dev/null +++ b/angular/solution/clients/src/app/app.css @@ -0,0 +1,35 @@ +body { + padding: 16px; + --io-font-size: 14px; + height: 100vh; + display: flex; + flex-direction: column; +} + +header { + display: flex; + align-items: center; + margin-bottom: 12px; +} + +header div { + margin-left: 8px; +} + +th { + text-align: left; + padding: 8px 2px; +} + +td { + padding: 2px 4px; +} + +tbody tr:hover { + background-color: var(--list-item-background-hover); +} + +.table-container { + overflow: auto; + flex: 1; +} diff --git a/angular/solution/clients/src/app/app.html b/angular/solution/clients/src/app/app.html new file mode 100644 index 0000000..b679bda --- /dev/null +++ b/angular/solution/clients/src/app/app.html @@ -0,0 +1,28 @@ + +
+

Clients

+
{{ ioConnectStatus() }}
+
+
+ + + + + + + + + + + @for (client of clients; track client.id) { + + + + + + + } + +
Full NamePIDGIDAccount Manager
{{client.name}}{{client.pId}}{{client.gId}}{{client.accountManager}}
+
+ \ No newline at end of file diff --git a/angular/solution/clients/src/app/app.module.ts b/angular/solution/clients/src/app/app.module.ts deleted file mode 100644 index 63f94fc..0000000 --- a/angular/solution/clients/src/app/app.module.ts +++ /dev/null @@ -1,95 +0,0 @@ -import { BrowserModule } from '@angular/platform-browser'; -import { NgModule } from '@angular/core'; -import { HttpClientModule } from '@angular/common/http'; - -import { AppComponent } from './app.component'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { DataService } from './data.service'; - -import { Glue42Ng } from "@glue42/ng"; -import GlueWebPlatform, { Glue42WebPlatform } from "@glue42/web-platform"; -import { GlueService } from './glue.service'; -import { ChannelSelectModule } from './channel-select/channel-select.module'; - -const config: Glue42WebPlatform.Config = { - channels: { - definitions: [ - { - name: "Red", - meta: { - color: "red" - } - }, - { - name: "Green", - meta: { - color: "green" - } - }, - { - name: "Blue", - meta: { - color: "#66ABFF" - } - }, - { - name: "Pink", - meta: { - color: "#F328BB" - } - }, - { - name: "Yellow", - meta: { - color: "#FFE733" - } - }, - { - name: "Dark Yellow", - meta: { - color: "#b09b00" - } - }, - { - name: "Orange", - meta: { - color: "#fa5a28" - } - }, - { - name: "Purple", - meta: { - color: "#c873ff" - } - }, - { - name: "Lime", - meta: { - color: "#8af59e" - } - }, - { - name: "Cyan", - meta: { - color: "#80f3ff" - } - } - ] - } -}; - -@NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule, - NgbModule, - HttpClientModule, - Glue42Ng.forRoot({ webPlatform: { factory: GlueWebPlatform, config } }), - ChannelSelectModule - ], - providers: [DataService, GlueService], - bootstrap: [AppComponent] -}) -export class AppModule { } diff --git a/angular/solution/clients/src/app/app.ts b/angular/solution/clients/src/app/app.ts new file mode 100644 index 0000000..9fd1bfb --- /dev/null +++ b/angular/solution/clients/src/app/app.ts @@ -0,0 +1,36 @@ +import { Component, signal } from "@angular/core"; +import { CommonModule } from "@angular/common"; + +import { Client, IOConnectStatus } from "./types"; +import { DataService } from "./data.service"; +import { IOConnectService } from "./io-connect.service"; + +@Component({ + selector: "app-root", + imports: [CommonModule], + templateUrl: "./app.html", + styleUrl: "./app.css" +}) +export class App { + public clients: Client[] = []; + public ioConnectStatus = signal("disconnected"); + + constructor( + private readonly data: DataService, + private readonly ioConnectService: IOConnectService + ) {} + + public async ngOnInit(): Promise { + this.clients = await this.data.getClients(); + + this.ioConnectStatus.set(this.ioConnectService.connectionStatus); + } + + public async handleClientClick(client: Client): Promise { + // await this.ioConnectService.openStocksWindow(); + // await this.ioConnectService.startStocksApp(); + // await this.ioConnectService.sendSelectedClient(client); + + await this.ioConnectService.restoreWorkspace(client); + } +} diff --git a/angular/solution/clients/src/app/channel-select/channel-select.component.html b/angular/solution/clients/src/app/channel-select/channel-select.component.html deleted file mode 100644 index 72cfa77..0000000 --- a/angular/solution/clients/src/app/channel-select/channel-select.component.html +++ /dev/null @@ -1,8 +0,0 @@ - - Select a channel - - No channel - - {{channel.name}} - - diff --git a/angular/solution/clients/src/app/channel-select/channel-select.component.ts b/angular/solution/clients/src/app/channel-select/channel-select.component.ts deleted file mode 100644 index 53533ef..0000000 --- a/angular/solution/clients/src/app/channel-select/channel-select.component.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Component, Input, ElementRef, Renderer2, Output, EventEmitter } from "@angular/core"; -import { MatSelectChange } from '@angular/material/select'; -import { Channel } from '../types'; - -@Component({ - selector: 'channel-select', - templateUrl: './channel-select.component.html' -}) -export class ChannelSelectComponent { - - @Input() public channels: Channel[]; - private currentChannel: Channel; - public NO_CHANNEL = 'no-channel'; - @Output() private channelLeaveEmitter = new EventEmitter(); - @Output() private channelJoinEmitter = new EventEmitter(); - - constructor( - private readonly elem: ElementRef, - private readonly renderer: Renderer2 - ) { } - - public async selectChannel(selected: MatSelectChange) { - - if (selected.value === this.NO_CHANNEL && !this.currentChannel) { - return; - } - - const foundChannel = this.channels.find((channel) => channel.name === selected.value); - - if (foundChannel && foundChannel.name === this.currentChannel?.name) { - return; - } - - let selectedElement = this.elem.nativeElement.querySelectorAll('.mat-select-value')[0]; - - this.renderer.removeStyle(selectedElement, 'color'); - - if (selected.value === this.NO_CHANNEL) { - - this.channelLeaveEmitter.emit(); - - delete this.currentChannel; - - return; - } - - this.currentChannel = foundChannel; - - this.channelJoinEmitter.emit({ name: this.currentChannel.name }); - - this.renderer.setStyle(selectedElement, 'color', this.currentChannel.meta.color); - } -} \ No newline at end of file diff --git a/angular/solution/clients/src/app/channel-select/channel-select.module.ts b/angular/solution/clients/src/app/channel-select/channel-select.module.ts deleted file mode 100644 index cc38762..0000000 --- a/angular/solution/clients/src/app/channel-select/channel-select.module.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { NgModule } from "@angular/core"; -import { CommonModule } from '@angular/common'; -import { MatSelectModule } from '@angular/material/select'; -import { ChannelSelectComponent } from './channel-select.component'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; - -@NgModule({ - declarations: [ChannelSelectComponent], - imports: [ - CommonModule, - BrowserAnimationsModule, - MatSelectModule - ], - exports: [ChannelSelectComponent] -}) -export class ChannelSelectModule { } \ No newline at end of file diff --git a/angular/solution/clients/src/app/data.service.ts b/angular/solution/clients/src/app/data.service.ts index 60fc439..ecc5d05 100644 --- a/angular/solution/clients/src/app/data.service.ts +++ b/angular/solution/clients/src/app/data.service.ts @@ -1,12 +1,15 @@ import { Injectable } from "@angular/core"; -import { HttpClient } from '@angular/common/http'; -import { Client, Channel } from './types'; +import { HttpClient } from "@angular/common/http"; +import { firstValueFrom } from "rxjs"; +import { Client } from "./types"; @Injectable() export class DataService { - constructor(private readonly http: HttpClient) { } + constructor(private readonly http: HttpClient) {} public getClients(): Promise { - return this.http.get('http://localhost:8080/api/clients').toPromise(); + return firstValueFrom( + this.http.get("http://localhost:8080/api/clients") + ); } -} \ No newline at end of file +} diff --git a/angular/solution/clients/src/app/glue.service.ts b/angular/solution/clients/src/app/glue.service.ts deleted file mode 100644 index dfe4c99..0000000 --- a/angular/solution/clients/src/app/glue.service.ts +++ /dev/null @@ -1,54 +0,0 @@ -import { Injectable } from "@angular/core"; -import { Glue42Store } from '@glue42/ng'; -import { GlueStatus, Client, Channel } from './types'; - -@Injectable() -export class GlueService { - - constructor(private readonly glueStore: Glue42Store) { - const counter = sessionStorage.getItem("counter"); - if (!counter) { - sessionStorage.setItem("counter", "0"); - } - } - - public get glueStatus(): GlueStatus { - return this.glueStore.getInitError() ? "unavailable" : "available"; - } - - public getAllChannels(): Promise { - return this.glueStore.getGlue().channels.list(); - } - - public joinChannel(name: string): Promise { - return this.glueStore.getGlue().channels.join(name); - } - - public leaveChannel(): Promise { - return this.glueStore.getGlue().channels.leave(); - } - - public async sendSelectedClient(client: Client): Promise { - // const foundMethod = this.glueStore.getGlue().interop.methods().find((method) => method.name === "SelectClient"); - - // if (foundMethod) { - // await this.glueStore.getGlue().interop.invoke(foundMethod, { client }); - // } - - await Promise.all([ - this.glueStore.getGlue().contexts.update('SelectedClient', client), - this.glueStore.getGlue().channels.publish(client) - ]); - } - - public async openStockWindow(): Promise { - const name = `Stocks-${this.getNextCounter()}`; - await this.glueStore.getGlue().windows.open(name, "http://localhost:4100"); - } - - private getNextCounter(): number { - const counter = 1 + Number(sessionStorage.getItem("counter")); - sessionStorage.setItem("counter", counter.toString()); - return counter; - } -} diff --git a/angular/solution/clients/src/app/io-connect.service.ts b/angular/solution/clients/src/app/io-connect.service.ts new file mode 100644 index 0000000..340013d --- /dev/null +++ b/angular/solution/clients/src/app/io-connect.service.ts @@ -0,0 +1,143 @@ +import { Injectable } from "@angular/core"; +import { IOConnectStore } from "@interopio/ng"; +import { IOConnectWorkspaces } from "@interopio/workspaces-api"; + +import { Client, IOConnectStatus } from "./types"; + +@Injectable() +export class IOConnectService { + constructor(private readonly ioConnectStore: IOConnectStore) { + // Setting the io.Connect API to the window object makes it easier to launch the app, open the console and experiment. + (window as any).io = this.ioConnectStore.getIOConnect(); + } + + public get connectionStatus(): IOConnectStatus { + return this.ioConnectStore.getInitError() ? "unavailable" : "available"; + } + + public async openStocksWindow(): Promise { + const name = `Stocks-${this.getNextCounter()}`; + + await this.ioConnectStore + .getIOConnect() + .windows.open(name, "http://localhost:4100"); + } + + public async sendSelectedClientByInterop(client: Client): Promise { + const methodName = "SelectClient"; + const methodArgs = { client }; + + // Finding an Interop method by name. + const interopMethod = this.ioConnectStore + .getIOConnect() + .interop.methods() + .find((method) => method.name === methodName); + + if (!interopMethod) { + // Wait for the Interop method to be registered + await this.waitForMethodAdded(methodName); + } + + // Invoking the Interop method by name and providing arguments for the invocation. + await this.ioConnectStore + .getIOConnect() + .interop.invoke(methodName, methodArgs); + } + + public async sendSelectedClient(client: Client): Promise { + // Updating a shared context by name with a provided value (any object). + await this.ioConnectStore + .getIOConnect() + .contexts.update("SelectedClient", client); + + // Get the current Channel + const currentChannel = await this.ioConnectStore + .getIOConnect() + .channels.getMy(); + + // Publish on current Channel + if (currentChannel) { + await this.ioConnectStore.getIOConnect().channels.publish(client); + } + } + + public async startStocksApp(): Promise { + const stocksApp = this.ioConnectStore + .getIOConnect() + .appManager.application("Stocks"); + + if (!stocksApp) { + return; + } + + const currentChannel = await this.ioConnectStore + .getIOConnect() + .channels.getMy(); + + await stocksApp + .start(undefined, { channelId: currentChannel?.name }) + .catch(console.error); + } + + public async restoreWorkspace(client: Client): Promise { + try { + const workspace = await this.ioConnectStore + .getIOConnect() + .workspaces?.restoreWorkspace("Client Space", { + context: client + }); + + await this.raiseNotificationOnWorkspaceOpen( + client.name, + workspace as IOConnectWorkspaces.Workspace + ); + } catch (error: any) { + console.error(JSON.stringify(error)); + } + } + + private async raiseNotificationOnWorkspaceOpen( + clientName: string, + workspace: IOConnectWorkspaces.Workspace + ): Promise { + const options = { + title: "New Workspace", + body: `A new Workspace for ${clientName} was opened!` + }; + + const notification = await this.ioConnectStore + .getIOConnect() + .notifications.raise(options); + + notification.onclick = () => { + // This will focus the Workspaces App. + workspace.frame.focus().catch(console.error); + // This will focus the Workspace for the respective client. + workspace.focus().catch(console.error); + }; + } + + private getNextCounter(): number { + const counter = 1 + Number(sessionStorage.getItem("counter")); + + sessionStorage.setItem("counter", counter.toString()); + + return counter; + } + + private waitForMethodAdded(methodName: string): Promise { + return new Promise((resolve) => { + const unsubscribe = this.ioConnectStore + .getIOConnect() + .interop.methodAdded((method) => { + // The method we're waiting for has been added + if (method.name === methodName) { + // Unsubscribing from the method added event. + unsubscribe(); + // Resolving the promise. + resolve(); + } + }); + }); + } +} diff --git a/angular/solution/clients/src/app/types.ts b/angular/solution/clients/src/app/types.ts index 347e717..4336081 100644 --- a/angular/solution/clients/src/app/types.ts +++ b/angular/solution/clients/src/app/types.ts @@ -1,5 +1,3 @@ -import { Glue42Web } from '@glue42/web'; - export interface Client { accountManager: string; address: string; @@ -18,6 +16,4 @@ export interface Client { notes: string[]; } -export type GlueStatus = "disconnected" | "unavailable" | "available"; - -export type Channel = Glue42Web.Channels.ChannelContext; +export type IOConnectStatus = "disconnected" | "unavailable" | "available"; diff --git a/angular/solution/clients/src/custom-theme.scss b/angular/solution/clients/src/custom-theme.scss deleted file mode 100644 index 0112707..0000000 --- a/angular/solution/clients/src/custom-theme.scss +++ /dev/null @@ -1,28 +0,0 @@ - -// Custom Theming for Angular Material -// For more information: https://material.angular.io/guide/theming -@import '~@angular/material/theming'; -// Plus imports for other components in your app. - -// Include the common styles for Angular Material. We include this here so that you only -// have to load a single css file for Angular Material in your app. -// Be sure that you only ever include this mixin once! -@include mat-core(); - -// Define the palettes for your theme using the Material Design palettes available in palette.scss -// (imported above). For each palette, you can optionally specify a default, lighter, and darker -// hue. Available color palettes: https://material.io/design/color/ -$clients-primary: mat-palette($mat-indigo); -$clients-accent: mat-palette($mat-pink, A200, A100, A400); - -// The warn palette is optional (defaults to red). -$clients-warn: mat-palette($mat-red); - -// Create the theme object (a Sass map containing all of the palettes). -$clients-theme: mat-light-theme($clients-primary, $clients-accent, $clients-warn); - -// Include theme styles for core and each component used in your app. -// Alternatively, you can import and @include the theme mixins for each component -// that you are using. -@include angular-material-theme($clients-theme); - diff --git a/angular/solution/clients/src/environments/environment.prod.ts b/angular/solution/clients/src/environments/environment.prod.ts deleted file mode 100644 index 3612073..0000000 --- a/angular/solution/clients/src/environments/environment.prod.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const environment = { - production: true -}; diff --git a/angular/solution/clients/src/environments/environment.ts b/angular/solution/clients/src/environments/environment.ts deleted file mode 100644 index 7b4f817..0000000 --- a/angular/solution/clients/src/environments/environment.ts +++ /dev/null @@ -1,16 +0,0 @@ -// This file can be replaced during build by using the `fileReplacements` array. -// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. -// The list of file replacements can be found in `angular.json`. - -export const environment = { - production: false -}; - -/* - * For easier debugging in development mode, you can import the following file - * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. - * - * This import should be commented out in production mode because it will have a negative impact - * on performance if an error is thrown. - */ -// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/angular/solution/clients/src/favicon.ico b/angular/solution/clients/src/favicon.ico deleted file mode 100644 index 997406a..0000000 Binary files a/angular/solution/clients/src/favicon.ico and /dev/null differ diff --git a/angular/solution/clients/src/index.html b/angular/solution/clients/src/index.html index 570000a..b318975 100644 --- a/angular/solution/clients/src/index.html +++ b/angular/solution/clients/src/index.html @@ -1,16 +1,17 @@ - + + - - Clients - - - - - - + + Clients + + + + + - + - + + \ No newline at end of file diff --git a/angular/solution/clients/src/main.ts b/angular/solution/clients/src/main.ts index a9aa159..8b7c83d 100644 --- a/angular/solution/clients/src/main.ts +++ b/angular/solution/clients/src/main.ts @@ -1,17 +1,5 @@ -import { enableProdMode } from '@angular/core'; -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +import { bootstrapApplication } from "@angular/platform-browser"; +import { appConfig } from "./app/app.config"; +import { App } from "./app/app"; -import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; - -if (environment.production) { - enableProdMode(); -} - -platformBrowserDynamic().bootstrapModule(AppModule) - .then(() => { - if ('serviceWorker' in navigator) { - navigator.serviceWorker.register('./service-worker.js'); - } - }) - .catch(err => console.error(err)); +bootstrapApplication(App, appConfig).catch((err) => console.error(err)); diff --git a/angular/solution/clients/src/manifest.json b/angular/solution/clients/src/manifest.json index 6afca39..213310a 100644 --- a/angular/solution/clients/src/manifest.json +++ b/angular/solution/clients/src/manifest.json @@ -3,24 +3,24 @@ "name": "io.Connect Browser Clients Tutorial", "icons": [ { - "src": "./assets/favicon.ico", + "src": "favicon.ico", "sizes": "64x64", "type": "image/x-icon" }, { - "src": "./assets/logo192.png", + "src": "logo192.png", "type": "image/png", "sizes": "192x192" }, { - "src": "./assets/logo512.png", + "src": "logo512.png", "type": "image/png", "sizes": "512x512" } ], - "start_url": "/clients/", - "scope": "/clients/", + "start_url": "/", + "scope": "/", "display": "standalone", "theme_color": "#000000", "background_color": "#ffffff" -} +} \ No newline at end of file diff --git a/angular/solution/clients/src/plugins/applicationsPlugin.ts b/angular/solution/clients/src/plugins/applicationsPlugin.ts new file mode 100644 index 0000000..564b408 --- /dev/null +++ b/angular/solution/clients/src/plugins/applicationsPlugin.ts @@ -0,0 +1,22 @@ +import { IOConnectBrowser } from "@interopio/browser"; + +const fetchAppDefinitions = async (url: string) => { + const appDefinitionsResponse = await fetch(url); + + const appDefinitions = await appDefinitionsResponse.json(); + + return appDefinitions; +}; + +export const setupApplications = async ( + io: IOConnectBrowser.API, + config: { url: string } +) => { + try { + const appDefinitions = await fetchAppDefinitions(config.url); + + await io.appManager.inMemory.import(appDefinitions); + } catch (error) { + console.error(JSON.stringify(error)); + } +}; diff --git a/angular/solution/clients/src/plugins/layoutsPlugin.ts b/angular/solution/clients/src/plugins/layoutsPlugin.ts new file mode 100644 index 0000000..b61f4a3 --- /dev/null +++ b/angular/solution/clients/src/plugins/layoutsPlugin.ts @@ -0,0 +1,24 @@ +import { IOConnectBrowser } from "@interopio/browser"; + +const fetchWorkspaceLayoutDefinitions = async (url: string) => { + const layoutDefinitionsResponse = await fetch(url); + + const layoutDefinitions = await layoutDefinitionsResponse.json(); + + return layoutDefinitions; +}; + +export const setupLayouts = async ( + io: IOConnectBrowser.API, + config: { url: string } +) => { + try { + const layoutDefinitions = await fetchWorkspaceLayoutDefinitions( + config.url + ); + + await io.layouts.import(layoutDefinitions); + } catch (error) { + console.error(JSON.stringify(error)); + } +}; diff --git a/angular/solution/clients/src/polyfills.ts b/angular/solution/clients/src/polyfills.ts deleted file mode 100644 index 01e24d6..0000000 --- a/angular/solution/clients/src/polyfills.ts +++ /dev/null @@ -1,67 +0,0 @@ -/*************************************************************************************************** - * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates. - */ -import '@angular/localize/init'; -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/guide/browser-support - */ - -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - -/** IE10 and IE11 requires the following for NgClass support on SVG elements */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. - -/** - * Web Animations `@angular/platform-browser/animations` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - */ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. - -/** - * By default, zone.js will patch all possible macroTask and DomEvents - * user can disable parts of macroTask/DomEvents patch by setting following flags - * because those flags need to be set before `zone.js` being loaded, and webpack - * will put import in the top of bundle, so user need to create a separate file - * in this directory (for example: zone-flags.ts), and put the following flags - * into that file, and then add the following code before importing zone.js. - * import './zone-flags'; - * - * The flags allowed in zone-flags.ts are listed here. - * - * The following flags will work for all browsers. - * - * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame - * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick - * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames - * - * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js - * with the following flag, it will bypass `zone.js` patch for IE/Edge - * - * (window as any).__Zone_enable_cross_context_check = true; - * - */ - -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js/dist/zone'; // Included with Angular CLI. - - -/*************************************************************************************************** - * APPLICATION IMPORTS - */ diff --git a/angular/solution/clients/src/service-worker.js b/angular/solution/clients/src/service-worker.js deleted file mode 100644 index ae3ab8c..0000000 --- a/angular/solution/clients/src/service-worker.js +++ /dev/null @@ -1,20 +0,0 @@ -console.log('Service Worker initialized!'); -self.addEventListener('install', () => { - //console.log('??', 'install', event); - self.skipWaiting(); -}); - -self.addEventListener('activate', () => { - //console.log('??', 'activate', event); - return self.clients.claim(); -}); - -self.addEventListener('fetch', function () { - //console.log('??', 'fetch', event); - // event.respondWith(fetch(event.request)); -}); - -self.addEventListener('message', function (event) { - //console.log(event.data); - event.ports[0].postMessage({ test: 'This is my response.' }); -}); diff --git a/angular/solution/clients/src/styles.css b/angular/solution/clients/src/styles.css index 7e7239a..f9f52be 100644 --- a/angular/solution/clients/src/styles.css +++ b/angular/solution/clients/src/styles.css @@ -1,4 +1,3 @@ -/* You can add global styles to this file, and also import other style files */ - -html, body { height: 100%; } -body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } +html { + background-color: var(--base-surface-frame-background); +} diff --git a/angular/solution/clients/src/test.ts b/angular/solution/clients/src/test.ts deleted file mode 100644 index 50193eb..0000000 --- a/angular/solution/clients/src/test.ts +++ /dev/null @@ -1,25 +0,0 @@ -// This file is required by karma.conf.js and loads recursively all the .spec and framework files - -import 'zone.js/dist/zone-testing'; -import { getTestBed } from '@angular/core/testing'; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; - -declare const require: { - context(path: string, deep?: boolean, filter?: RegExp): { - keys(): string[]; - (id: string): T; - }; -}; - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting() -); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().map(context); diff --git a/angular/solution/clients/tsconfig.app.json b/angular/solution/clients/tsconfig.app.json index f758d98..264f459 100644 --- a/angular/solution/clients/tsconfig.app.json +++ b/angular/solution/clients/tsconfig.app.json @@ -1,14 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ { "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./out-tsc/app", "types": [] }, - "files": [ - "src/main.ts", - "src/polyfills.ts" - ], "include": [ - "src/**/*.d.ts" + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" ] } diff --git a/angular/solution/clients/tsconfig.json b/angular/solution/clients/tsconfig.json index 8c4ef3b..e4955f2 100644 --- a/angular/solution/clients/tsconfig.json +++ b/angular/solution/clients/tsconfig.json @@ -1,23 +1,34 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ { "compileOnSave": false, "compilerOptions": { - "baseUrl": "./", - "outDir": "./dist/out-tsc", - "sourceMap": true, - "declaration": false, - "downlevelIteration": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, "experimentalDecorators": true, - "module": "esnext", - "moduleResolution": "node", "importHelpers": true, - "target": "es2015", - "lib": [ - "es2018", - "dom" - ] + "target": "ES2022", + "module": "preserve" }, "angularCompilerOptions": { - "fullTemplateTypeCheck": true, - "strictInjectionParameters": true - } + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "typeCheckHostBindings": true, + "strictTemplates": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] } diff --git a/angular/solution/clients/tsconfig.spec.json b/angular/solution/clients/tsconfig.spec.json index 6400fde..04df34c 100644 --- a/angular/solution/clients/tsconfig.spec.json +++ b/angular/solution/clients/tsconfig.spec.json @@ -1,18 +1,14 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ { "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./out-tsc/spec", "types": [ - "jasmine", - "node" + "jasmine" ] }, - "files": [ - "src/test.ts", - "src/polyfills.ts" - ], "include": [ - "src/**/*.spec.ts", - "src/**/*.d.ts" + "src/**/*.ts" ] } diff --git a/angular/solution/clients/tslint.json b/angular/solution/clients/tslint.json deleted file mode 100644 index d92ff5d..0000000 --- a/angular/solution/clients/tslint.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "extends": "tslint:recommended", - "rules": { - "align": { - "options": [ - "parameters", - "statements" - ] - }, - "array-type": false, - "arrow-return-shorthand": true, - "curly": true, - "deprecation": { - "severity": "warning" - }, - "component-class-suffix": true, - "contextual-lifecycle": true, - "directive-class-suffix": true, - "directive-selector": [ - true, - "attribute", - "app", - "camelCase" - ], - "component-selector": [ - true, - "element", - "app", - "kebab-case" - ], - "eofline": true, - "import-blacklist": [ - true, - "rxjs/Rx" - ], - "import-spacing": true, - "indent": { - "options": [ - "spaces" - ] - }, - "max-classes-per-file": false, - "max-line-length": [ - true, - 140 - ], - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-console": [ - true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-empty": false, - "no-inferrable-types": [ - true, - "ignore-params" - ], - "no-non-null-assertion": true, - "no-redundant-jsdoc": true, - "no-switch-case-fall-through": true, - "no-var-requires": false, - "object-literal-key-quotes": [ - true, - "as-needed" - ], - "quotemark": [ - true, - "single" - ], - "semicolon": { - "options": [ - "always" - ] - }, - "space-before-function-paren": { - "options": { - "anonymous": "never", - "asyncArrow": "always", - "constructor": "never", - "method": "never", - "named": "never" - } - }, - "typedef-whitespace": { - "options": [ - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - }, - { - "call-signature": "onespace", - "index-signature": "onespace", - "parameter": "onespace", - "property-declaration": "onespace", - "variable-declaration": "onespace" - } - ] - }, - "variable-name": { - "options": [ - "ban-keywords", - "check-format", - "allow-pascal-case" - ] - }, - "whitespace": { - "options": [ - "check-branch", - "check-decl", - "check-operator", - "check-separator", - "check-type", - "check-typecast" - ] - }, - "no-conflicting-lifecycle": true, - "no-host-metadata-property": true, - "no-input-rename": true, - "no-inputs-metadata-property": true, - "no-output-native": true, - "no-output-on-prefix": true, - "no-output-rename": true, - "no-outputs-metadata-property": true, - "template-banana-in-box": true, - "template-no-negated-async": true, - "use-lifecycle-interface": true, - "use-pipe-transform-interface": true - }, - "rulesDirectory": [ - "codelyzer" - ] -} \ No newline at end of file diff --git a/angular/solution/glue.config.dev.json b/angular/solution/glue.config.dev.json deleted file mode 100644 index ba74d8f..0000000 --- a/angular/solution/glue.config.dev.json +++ /dev/null @@ -1,32 +0,0 @@ -{ - "glueAssets": { - "gateway": { - "location": "./node_modules/@glue42/gateway-web/web/gateway-web.js" - }, - "worker": "./node_modules/@glue42/worker-web/dist/worker.js", - "config": "./glue.config.json", - "route": "/glue" - }, - "server": { - "settings": { - "port": 4242, - "disableCache": true - }, - "apps": [ - { - "route": "/clients/", - "localhost": { - "port": 4200 - } - }, - { - "route": "/stocks/", - "localhost": { - "port": 4100 - } - } - ], - "sharedAssets": [] - }, - "logging": "default" -} \ No newline at end of file diff --git a/angular/solution/glue.config.json b/angular/solution/glue.config.json deleted file mode 100644 index 15a08e6..0000000 --- a/angular/solution/glue.config.json +++ /dev/null @@ -1,75 +0,0 @@ -{ - "glue": { - "worker": "./worker.js", - "layouts": { - "autoRestore": false, - "autoSaveWindowContext": false - }, - "channels": true - }, - "gateway": { - "location": "./gateway.js" - }, - "channels": [ - { - "name": "Red", - "meta": { - "color": "red" - } - }, - { - "name": "Green", - "meta": { - "color": "green" - } - }, - { - "name": "Blue", - "meta": { - "color": "#66ABFF" - } - }, - { - "name": "Pink", - "meta": { - "color": "#F328BB" - } - }, - { - "name": "Yellow", - "meta": { - "color": "#FFE733" - } - }, - { - "name": "Dark Yellow", - "meta": { - "color": "#b09b00" - } - }, - { - "name": "Orange", - "meta": { - "color": "#fa5a28" - } - }, - { - "name": "Purple", - "meta": { - "color": "#c873ff" - } - }, - { - "name": "Lime", - "meta": { - "color": "#8af59e" - } - }, - { - "name": "Cyan", - "meta": { - "color": "#80f3ff" - } - } - ] -} \ No newline at end of file diff --git a/angular/solution/portfolio-downloader/.gitignore b/angular/solution/portfolio-downloader/.gitignore new file mode 100644 index 0000000..cc7b141 --- /dev/null +++ b/angular/solution/portfolio-downloader/.gitignore @@ -0,0 +1,42 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings + +# System files +.DS_Store +Thumbs.db diff --git a/angular/solution/portfolio-downloader/README.md b/angular/solution/portfolio-downloader/README.md new file mode 100644 index 0000000..0b2147a --- /dev/null +++ b/angular/solution/portfolio-downloader/README.md @@ -0,0 +1,59 @@ +# PortfolioDownloader + +This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.1.6. + +## Development server + +To start a local development server, run: + +```bash +ng serve +``` + +Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files. + +## Code scaffolding + +Angular CLI includes powerful code scaffolding tools. To generate a new component, run: + +```bash +ng generate component component-name +``` + +For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run: + +```bash +ng generate --help +``` + +## Building + +To build the project run: + +```bash +ng build +``` + +This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed. + +## Running unit tests + +To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command: + +```bash +ng test +``` + +## Running end-to-end tests + +For end-to-end (e2e) testing, run: + +```bash +ng e2e +``` + +Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs. + +## Additional Resources + +For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/angular/solution/portfolio-downloader/angular.json b/angular/solution/portfolio-downloader/angular.json new file mode 100644 index 0000000..9a83d9d --- /dev/null +++ b/angular/solution/portfolio-downloader/angular.json @@ -0,0 +1,95 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "newProjectRoot": "projects", + "projects": { + "portfolio-downloader": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular/build:application", + "options": { + "browser": "src/main.ts", + "polyfills": [ + "zone.js" + ], + "tsConfig": "tsconfig.app.json", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.css" + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kB", + "maximumError": "1MB" + }, + { + "type": "anyComponentStyle", + "maximumWarning": "4kB", + "maximumError": "8kB" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "options": { + "port": 4102 + }, + "builder": "@angular/build:dev-server", + "configurations": { + "production": { + "buildTarget": "portfolio-downloader:build:production" + }, + "development": { + "buildTarget": "portfolio-downloader:build:development" + } + }, + "defaultConfiguration": "development" + }, + "extract-i18n": { + "builder": "@angular/build:extract-i18n" + }, + "test": { + "builder": "@angular/build:karma", + "options": { + "polyfills": [ + "zone.js", + "zone.js/testing" + ], + "tsConfig": "tsconfig.spec.json", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ], + "styles": [ + "src/styles.css" + ] + } + } + } + } + } +} diff --git a/angular/solution/portfolio-downloader/package-lock.json b/angular/solution/portfolio-downloader/package-lock.json new file mode 100644 index 0000000..dbef654 --- /dev/null +++ b/angular/solution/portfolio-downloader/package-lock.json @@ -0,0 +1,10110 @@ +{ + "name": "portfolio-downloader", + "version": "0.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "portfolio-downloader", + "version": "0.0.0", + "dependencies": { + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@angular/router": "^20.1.0", + "@interopio/ng": "^6.0.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.6", + "@angular/cli": "^20.1.6", + "@angular/compiler-cli": "^20.1.0", + "@interopio/theme": "^3.0.2", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.1.0.tgz", + "integrity": "sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-abtesting": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz", + "integrity": "sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-analytics": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.35.0.tgz", + "integrity": "sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-common": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.35.0.tgz", + "integrity": "sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.35.0.tgz", + "integrity": "sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-personalization": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.35.0.tgz", + "integrity": "sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz", + "integrity": "sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-search": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.35.0.tgz", + "integrity": "sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.35.0.tgz", + "integrity": "sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/monitoring": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.35.0.tgz", + "integrity": "sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/recommend": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.35.0.tgz", + "integrity": "sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz", + "integrity": "sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-fetch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz", + "integrity": "sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-node-http": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz", + "integrity": "sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.2002.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2002.0.tgz", + "integrity": "sha512-PaBXFP1kdUuNtMie0lWnitlYbq8o1gz/s0YIa8oY1X3swOJ7bP6kBfxTb9opV5uXAOkXg2zCdnZ4Eu1aVkgPGw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.2.0.tgz", + "integrity": "sha512-3CM6Zsr09Kf92ItFkxijlnC4+ZOgkxdCk0vFYvuw9UuvTDNwyIqJi6693PRPRbcXgpdY2vs6u99elSvQVmoEEw==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.3", + "rxjs": "7.8.2", + "source-map": "0.7.6" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true + } + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.2.0.tgz", + "integrity": "sha512-TCPIN6Bd04oGuNocETmsd9hzGYrjrivisbMKb0WOuDi3OnCkmWqsPR+QA2kYwTOGqG3HXkz/z3CA0g04M2fgrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "8.2.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/build": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.2.0.tgz", + "integrity": "sha512-/Yhqhg01UvX0E+tx4WAeK3AnwpZLqcw+XKTmsPsH5rbqpLKNRR9XsC3PJ4qBFU1u9/Lh13mmmr1+pG2p8ixMug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.2002.0", + "@babel/core": "7.28.3", + "@babel/helper-annotate-as-pure": "7.27.3", + "@babel/helper-split-export-declaration": "7.24.7", + "@inquirer/confirm": "5.1.14", + "@vitejs/plugin-basic-ssl": "2.1.0", + "beasties": "0.3.5", + "browserslist": "^4.23.0", + "esbuild": "0.25.9", + "https-proxy-agent": "7.0.6", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "magic-string": "0.30.17", + "mrmime": "2.0.1", + "parse5-html-rewriting-stream": "8.0.0", + "picomatch": "4.0.3", + "piscina": "5.1.3", + "rolldown": "1.0.0-beta.32", + "sass": "1.90.0", + "semver": "7.7.2", + "source-map-support": "0.5.21", + "tinyglobby": "0.2.14", + "vite": "7.1.2", + "watchpack": "2.4.4" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "lmdb": "3.4.2" + }, + "peerDependencies": { + "@angular/compiler": "^20.0.0", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/localize": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-server": "^20.0.0", + "@angular/service-worker": "^20.0.0", + "@angular/ssr": "^20.2.0", + "karma": "^6.4.0", + "less": "^4.2.0", + "ng-packagr": "^20.0.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.8 <6.0", + "vitest": "^3.1.1" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + }, + "@angular/localize": { + "optional": true + }, + "@angular/platform-browser": { + "optional": true + }, + "@angular/platform-server": { + "optional": true + }, + "@angular/service-worker": { + "optional": true + }, + "@angular/ssr": { + "optional": true + }, + "karma": { + "optional": true + }, + "less": { + "optional": true + }, + "ng-packagr": { + "optional": true + }, + "postcss": { + "optional": true + }, + "tailwindcss": { + "optional": true + }, + "vitest": { + "optional": true + } + } + }, + "node_modules/@angular/cli": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.2.0.tgz", + "integrity": "sha512-p62hkuQOxf5kJsVq6AT7B1MHYo1uPGoZV4lf47qOrLjl0WANwfxEgLvyuVgL47ylnINbPnITeeUdoadVn4t1sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.2002.0", + "@angular-devkit/core": "20.2.0", + "@angular-devkit/schematics": "20.2.0", + "@inquirer/prompts": "7.8.2", + "@listr2/prompt-adapter-inquirer": "3.0.1", + "@modelcontextprotocol/sdk": "1.17.3", + "@schematics/angular": "20.2.0", + "@yarnpkg/lockfile": "1.1.0", + "algoliasearch": "5.35.0", + "ini": "5.0.0", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "npm-package-arg": "13.0.0", + "pacote": "21.0.0", + "resolve": "1.22.10", + "semver": "7.7.2", + "yargs": "18.0.0", + "zod": "3.25.76" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/common": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.2.1.tgz", + "integrity": "sha512-T6RYnDZA9TyYhj2hUz4set8p4RbBCg6IKUvy6qzdKTl4nn4xQ0XUV7aGBYN4LKiGrse9lzlVUAyXtkhmwuBbCQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/core": "20.2.1", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.2.1.tgz", + "integrity": "sha512-ghVt1E8xmwjMwqyGRwXYJkr7fz40VEreUSX1q+gEzbGTftVrK1foxPT8jcueIn0ztArDf7+zSMtu314FiJZyYA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + } + }, + "node_modules/@angular/compiler-cli": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.2.1.tgz", + "integrity": "sha512-VpbcRqNPJvy1L9RDtGGQsQiOrMzxodUWklphbtnh9MrrK6lLuy6Qj2ROiW7vKL9WfLTCXWA24gBAcMAR76dq3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "7.28.3", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^4.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.2.0", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^18.0.0" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.2.1", + "typescript": ">=5.8 <6.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@angular/core": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.2.1.tgz", + "integrity": "sha512-/hl3AkmdQ62P9ttmfULEDg9GIz7BkzhGv9bSH2ssiU3Y4ax6eM8uQXEbMxBA8OUKOvg1Q4POcNHIiJQgO5t28Q==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.2.1", + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.15.0" + }, + "peerDependenciesMeta": { + "@angular/compiler": { + "optional": true + }, + "zone.js": { + "optional": true + } + } + }, + "node_modules/@angular/forms": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.2.1.tgz", + "integrity": "sha512-SfkiHEIFPLtTKeaXUTpRfYnpJDxaeKiTi0YqfvzEjKE68qH0t+pQ4rL0Poch2/l4snP6JS1XzO/nDve1dk3vZw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.2.1", + "@angular/core": "20.2.1", + "@angular/platform-browser": "20.2.1", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.2.1.tgz", + "integrity": "sha512-oxDih/A8G7W+I6oAip+sev+kebioYmzhB/NMzF8C8zx/ieVDzatJ+YeEZQt7eDaJLH94S4sIC25SPq3OFIabxg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/animations": "20.2.1", + "@angular/common": "20.2.1", + "@angular/core": "20.2.1" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } + } + }, + "node_modules/@angular/router": { + "version": "20.2.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.2.1.tgz", + "integrity": "sha512-f8KfG55EVnFDC9ud+MbxAP6voKi7hVQH4YaqPK0Lm6pyc1Xp0I5W25iRbg+Y1rO1csHKHauBPkUEESEuVGBGqg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.2.1", + "@angular/core": "20.2.1", + "@angular/platform-browser": "20.2.1", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", + "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", + "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@emnapi/core": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.4", + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/checkbox": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.2.tgz", + "integrity": "sha512-E+KExNurKcUJJdxmjglTl141EwxWyAHplvsYJQgSwXf8qiNWkTxTuCCqmhFEmbIXd4zLaGMfQFJ6WrZ7fSeV3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/confirm": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz", + "integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/core": { + "version": "10.2.0", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.2.0.tgz", + "integrity": "sha512-NyDSjPqhSvpZEMZrLCYUquWNl+XC/moEcVFqS55IEYIYsY0a1cUCevSqk7ctOlnm/RaSBU5psFryNlxcmGrjaA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/editor": { + "version": "4.2.18", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.18.tgz", + "integrity": "sha512-yeQN3AXjCm7+Hmq5L6Dm2wEDeBRdAZuyZ4I7tWSSanbxDzqM0KqzoDbKM7p4ebllAYdoQuPJS6N71/3L281i6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/external-editor": "^1.0.1", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/expand": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.18.tgz", + "integrity": "sha512-xUjteYtavH7HwDMzq4Cn2X4Qsh5NozoDHCJTdoXg9HfZ4w3R6mxV1B9tL7DGJX2eq/zqtsFjhm0/RJIMGlh3ag==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/external-editor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz", + "integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "chardet": "^2.1.0", + "iconv-lite": "^0.6.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/figures": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz", + "integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/@inquirer/input": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.2.tgz", + "integrity": "sha512-hqOvBZj/MhQCpHUuD3MVq18SSoDNHy7wEnQ8mtvs71K8OPZVXJinOzcvQna33dNYLYE4LkA9BlhAhK6MJcsVbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/number": { + "version": "3.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.18.tgz", + "integrity": "sha512-7exgBm52WXZRczsydCVftozFTrrwbG5ySE0GqUd2zLNSBXyIucs2Wnm7ZKLe/aUu6NUg9dg7Q80QIHCdZJiY4A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/password": { + "version": "4.0.18", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.18.tgz", + "integrity": "sha512-zXvzAGxPQTNk/SbT3carAD4Iqi6A2JS2qtcqQjsL22uvD+JfQzUrDEtPjLL7PLn8zlSNyPdY02IiQjzoL9TStA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/prompts": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.2.tgz", + "integrity": "sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.2.1", + "@inquirer/confirm": "^5.1.14", + "@inquirer/editor": "^4.2.17", + "@inquirer/expand": "^4.0.17", + "@inquirer/input": "^4.2.1", + "@inquirer/number": "^3.0.17", + "@inquirer/password": "^4.0.17", + "@inquirer/rawlist": "^4.1.5", + "@inquirer/search": "^3.1.0", + "@inquirer/select": "^4.3.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/rawlist": { + "version": "4.1.6", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.6.tgz", + "integrity": "sha512-KOZqa3QNr3f0pMnufzL7K+nweFFCCBs6LCXZzXDrVGTyssjLeudn5ySktZYv1XiSqobyHRYYK0c6QsOxJEhXKA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/search": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.1.tgz", + "integrity": "sha512-TkMUY+A2p2EYVY3GCTItYGvqT6LiLzHBnqsU1rJbrpXUijFfM6zvUx0R4civofVwFCmJZcKqOVwwWAjplKkhxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/select": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.2.tgz", + "integrity": "sha512-nwous24r31M+WyDEHV+qckXkepvihxhnyIaod2MG7eCE6G0Zm/HUF6jgN8GXgf4U7AU6SLseKdanY195cwvU6w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.2.0", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@inquirer/type": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz", + "integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } + } + }, + "node_modules/@interopio/browser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/browser/-/browser-4.1.0.tgz", + "integrity": "sha512-mgUfFLIFh5+KD5Y96gC+QKzI8MUMdqrc/ZG4HWyDmyUtAtRIj7Oz790xmoYE70g7PLA3fpUh/ww3n6z0KfmOWQ==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.7.0", + "@interopio/desktop": "^6.14.0", + "@interopio/search-api": "^3.1.0", + "@interopio/workspaces-api": "^4.1.0", + "callback-registry": "^2.7.2" + } + }, + "node_modules/@interopio/browser-platform": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/browser-platform/-/browser-platform-4.1.0.tgz", + "integrity": "sha512-JWqn8TEsUZX5D2UqqAtSebCyvbOFwhjLIqqb3Lo09WMyNkFEAOeoYyit5jPPgOxuSZCdksiedp5Ro9dosBEX/w==", + "license": "Commercial", + "dependencies": { + "@interopio/browser": "^4.1.0", + "@interopio/core": "^6.7.0", + "@interopio/desktop": "^6.14.0" + } + }, + "node_modules/@interopio/core": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@interopio/core/-/core-6.7.0.tgz", + "integrity": "sha512-S2yroornM9BF2axGVtLoV8vKawrXpdJuKLMop6SC5/O7G7MjEW0YwZ17vikcEWe+hdqJ3n439ZR9eTJuWGu4ng==", + "license": "MIT", + "dependencies": { + "callback-registry": "^2.7.2", + "ws": "^8.18.0" + } + }, + "node_modules/@interopio/core/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/@interopio/desktop": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@interopio/desktop/-/desktop-6.14.0.tgz", + "integrity": "sha512-/GhknWLqFi5h/yzLT++cKW5O9SomWK2BnrxQj9EnFqr8Hb6Swib9u/s7ZxRWcYjni8dq+VEZ+C3n/oXp/EisHg==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.5.2-fmr-beta", + "@interopio/schemas": "^9.9.0", + "@interopio/utils": "^1.4.2", + "@interopio/workspaces-api": "^4.0.0", + "callback-registry": "^2.7.1" + } + }, + "node_modules/@interopio/ng": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@interopio/ng/-/ng-6.0.0.tgz", + "integrity": "sha512-QSREUUrbHd3wgGGUucv3CD5Agy3+3rUhaasEkoNHp3sQR1bRFSDDV2n4SdHIdwNXFAZUF9fKzt3uFH46gC7FDw==", + "license": "MIT", + "dependencies": { + "@interopio/browser": "^4.1.0", + "@interopio/browser-platform": "^4.1.0", + "@interopio/desktop": "^6.14.0" + }, + "peerDependencies": { + "@angular/common": ">=19.0.0", + "@angular/core": ">=19.0.0" + } + }, + "node_modules/@interopio/schemas": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@interopio/schemas/-/schemas-9.9.0.tgz", + "integrity": "sha512-Rq+0Z15bQ9vHcAhVyaSBhVdT51zluNAXhuvAFS3mxSciOWSRXJV1B3ddepNeexao3bCL//V75RWyDlvaAmkZQg==", + "license": "ISC", + "dependencies": { + "ajv": "^6.12.6", + "ajv-keywords": "^3.4.1" + }, + "peerDependencies": { + "log4js": "^6.4.2" + }, + "peerDependenciesMeta": { + "log4js": { + "optional": true + } + } + }, + "node_modules/@interopio/schemas/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@interopio/schemas/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/@interopio/schemas/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" + }, + "node_modules/@interopio/search-api": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@interopio/search-api/-/search-api-3.1.0.tgz", + "integrity": "sha512-q6DaQ5TRupQTXyFjTVvGqh5GsosRpaAa8LZDImFHqyGaEoLq8siPAgpnr94BZ/xiNLY6VPm0maoOzDuThUHTeA==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.7.0" + } + }, + "node_modules/@interopio/theme": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@interopio/theme/-/theme-3.0.2.tgz", + "integrity": "sha512-weYe08itt7zspn9aa8hPgSZDp5FPHt7k2fPR489GdIS4zw8zAlM4+EHZZeIv9K3PZOfc7HqtzVgYKIct8Qbevw==", + "dev": true, + "license": "MIT" + }, + "node_modules/@interopio/utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@interopio/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-14Bb2WI9Cwf9zjhTurP4qP9AVY4cxR1AOrwrOtHrTGAeeHp88mALFWfMEv1QnRhlQ06To2vQcRgebNrPlHDZ8Q==", + "license": "ISC", + "dependencies": { + "decoder-validate": "^0.0.2" + } + }, + "node_modules/@interopio/workspaces-api": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/workspaces-api/-/workspaces-api-4.1.0.tgz", + "integrity": "sha512-3yGZ5WOqGP7Xu10GENZwlnYxzrX9nkI/tD1aF5908wOkBrvI9hD/3nj3gAL6Nr2nw633E4GIgv0POs9XPeYR1g==", + "license": "MIT" + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", + "integrity": "sha512-3XFmGwm3u6ioREG+ynAQB7FoxfajgQnMhIu8wC5eo/Lsih4aKDg0VuIMGaOsYn7hJSJagSeaD4K8yfpkEoDEmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/type": "^3.0.7" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 8", + "listr2": "9.0.1" + } + }, + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.2.tgz", + "integrity": "sha512-NK80WwDoODyPaSazKbzd3NEJ3ygePrkERilZshxBViBARNz21rmediktGHExoj9n5t9+ChlgLlxecdFKLCuCKg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.2.tgz", + "integrity": "sha512-zevaowQNmrp3U7Fz1s9pls5aIgpKRsKb3dZWDINtLiozh3jZI9fBrI19lYYBxqdyiIyNdlyiidPnwPShj4aK+w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.2.tgz", + "integrity": "sha512-OmHCULY17rkx/RoCoXlzU7LyR8xqrksgdYWwtYa14l/sseezZ8seKWXcogHcjulBddER5NnEFV4L/Jtr2nyxeg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.2.tgz", + "integrity": "sha512-ZBEfbNZdkneebvZs98Lq30jMY8V9IJzckVeigGivV7nTHJc+89Ctomp1kAIWKlwIG0ovCDrFI448GzFPORANYg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.2.tgz", + "integrity": "sha512-vL9nM17C77lohPYE4YaAQvfZCSVJSryE4fXdi8M7uWPBnU+9DJabgKVAeyDb84ZM2vcFseoBE4/AagVtJeRE7g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.2.tgz", + "integrity": "sha512-SXWjdBfNDze4ZPeLtYIzsIeDJDJ/SdsA0pEXcUBayUIMO0FQBHfVZZyHXQjjHr4cvOAzANBgIiqaXRwfMhzmLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.2.tgz", + "integrity": "sha512-IY+r3bxKW6Q6sIPiMC0L533DEfRJSXibjSI3Ft/w9Q8KQBNqEIvUFXt+09wV8S5BRk0a8uSF19YWxuRwEfI90g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.17.3.tgz", + "integrity": "sha512-JPwUKWSsbzx+DLFznf/QZ32Qa+ptfbUlHhRLrBQBAFu9iI1iYvizM4p+zhhRDceSsPutXp4z+R/HPVphlIiclg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^6.12.6", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.0.1", + "express-rate-limit": "^7.5.0", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.24.1" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true, + "license": "MIT" + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@napi-rs/wasm-runtime": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.3.tgz", + "integrity": "sha512-rZxtMsLwjdXkMUGC3WwsPwLNVqVqnTJT6MNIB6e+5fhMcSCPP0AOsNWuMQ5mdCq6HNjs/ZeWAEchpqeprqBD2Q==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.5", + "@emnapi/runtime": "^1.4.5", + "@tybys/wasm-util": "^0.10.0" + } + }, + "node_modules/@npmcli/agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", + "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/fs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/git": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.3.tgz", + "integrity": "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/git/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", + "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/node-gyp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", + "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/package-json": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.2.0.tgz", + "integrity": "sha512-rCNLSB/JzNvot0SEyXqWZ7tX2B5dD2a1br2Dp0vSYVo5jh8Z0EZ7lS9TsZ1UtziddB1UfNUaMCc538/HztnJGA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/package-json/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/package-json/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@npmcli/promise-spawn": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.2.tgz", + "integrity": "sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/redact": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz", + "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/run-script": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.1.0.tgz", + "integrity": "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@oxc-project/runtime": { + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.81.0.tgz", + "integrity": "sha512-zm/LDVOq9FEmHiuM8zO4DWirv0VP2Tv2VsgaiHby9nvpq+FVrcqNYgv+TysLKOITQXWZj/roluTxFvpkHP0Iuw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@oxc-project/types": { + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.81.0.tgz", + "integrity": "sha512-CnOqkybZK8z6Gx7Wb1qF7AEnSzbol1WwcIzxYOr8e91LytGOjo0wCpgoYWZo8sdbpqX+X+TJayIzo4Pv0R/KjA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-Gs+313LfR4Ka3hvifdag9r44WrdKQaohya7ZXUXzARF7yx0atzFlVZjsvxtKAw1Vmtr4hB/RjUD1jf73SW7zDw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-W8oMqzGcI7wKPXUtS3WJNXzbghHfNiuM1UBAGpVb+XlUCgYRQJd2PRGP7D3WGql3rR3QEhUvSyAuCBAftPQw6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.32.tgz", + "integrity": "sha512-pM4c4sKUk37noJrnnDkJknLhCsfZu7aWyfe67bD0GQHfzAPjV16wPeD9CmQg4/0vv+5IfHYaa4VE536xbA+W0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.32.tgz", + "integrity": "sha512-M8SUgFlYb5kJJWcFC8gUMRiX4WLFxPKMed3SJ2YrxontgIrEcpizPU8nLNVsRYEStoSfKHKExpQw3OP6fm+5bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.32.tgz", + "integrity": "sha512-FuQpbNC/hE//bvv29PFnk0AtpJzdPdYl5CMhlWPovd9g3Kc3lw9TrEPIbL7gRPUdhKAiq6rVaaGvOnXxsa0eww==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.32.tgz", + "integrity": "sha512-hRZygRlaGCjcNTNY9GV7dDI18sG1dK3cc7ujHq72LoDad23zFDUGMQjiSxHWK+/r92iMV+j2MiHbvzayxqynsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.32.tgz", + "integrity": "sha512-HzgT6h+CXLs+GKAU0Wvkt3rvcv0CmDBsDjlPhh4GHysOKbG9NjpKYX2zvjx671E9pGbTvcPpwy7gGsy7xpu+8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.32.tgz", + "integrity": "sha512-Ab/wbf6gdzphDbsg51UaxsC93foQ7wxhtg0SVCXd25BrV4MAJ1HoDtKN/f4h0maFmJobkqYub2DlmoasUzkvBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.32.tgz", + "integrity": "sha512-VoxqGEfh5A1Yx+zBp/FR5QwAbtzbuvky2SVc+ii4g1gLD4zww6mt/hPi5zG+b88zYPFBKHpxMtsz9cWqXU5V5Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-qZ1ViyOUDGbiZrSAJ/FIAhYUElDfVxxFW6DLT/w4KeoZN3HsF4jmRP95mXtl51/oGrqzU9l9Q2f7/P4O/o2ZZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.32.tgz", + "integrity": "sha512-hEkG3wD+f3wytV0lqwb/uCrXc4r4Ny/DWJFJPfQR3VeMWplhWGgSHNwZc2Q7k86Yi36f9NNzzWmrIuvHI9lCVw==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.0.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-k3MvDf8SiA7uP2ikP0unNouJ2YCrnwi7xcVW+RDgMp5YXVr3Xu6svmT3HGn0tkCKUuPmf+uy8I5uiHt5qWQbew==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/binding-win32-ia32-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-wAi/FxGh7arDOUG45UmnXE1sZUa0hY4cXAO2qWAjFa3f7bTgz/BqwJ7XN5SUezvAJPNkME4fEpInfnBvM25a0w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-Ej0i4PZk8ltblZtzVK8ouaGUacUtxRmTm5S9794mdyU/tYxXjAJNseOfxrnHpMWKjMDrOKbqkPqJ52T9NR4LQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.32.tgz", + "integrity": "sha512-QReCdvxiUZAPkvp1xpAg62IeNzykOFA6syH2CnClif4YmALN1XKpB39XneL80008UbtMShthSVDKmrx05N1q/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.49.0.tgz", + "integrity": "sha512-rlKIeL854Ed0e09QGYFlmDNbka6I3EQFw7iZuugQjMb11KMpJCLPFL4ZPbMfaEhLADEL1yx0oujGkBQ7+qW3eA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.49.0.tgz", + "integrity": "sha512-cqPpZdKUSQYRtLLr6R4X3sD4jCBO1zUmeo3qrWBCqYIeH8Q3KRL4F3V7XJ2Rm8/RJOQBZuqzQGWPjjvFUcYa/w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.49.0.tgz", + "integrity": "sha512-99kMMSMQT7got6iYX3yyIiJfFndpojBmkHfTc1rIje8VbjhmqBXE+nb7ZZP3A5skLyujvT0eIUCUsxAe6NjWbw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.49.0.tgz", + "integrity": "sha512-y8cXoD3wdWUDpjOLMKLx6l+NFz3NlkWKcBCBfttUn+VGSfgsQ5o/yDUGtzE9HvsodkP0+16N0P4Ty1VuhtRUGg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.49.0.tgz", + "integrity": "sha512-3mY5Pr7qv4GS4ZvWoSP8zha8YoiqrU+e0ViPvB549jvliBbdNLrg2ywPGkgLC3cmvN8ya3za+Q2xVyT6z+vZqA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.49.0.tgz", + "integrity": "sha512-C9KzzOAQU5gU4kG8DTk+tjdKjpWhVWd5uVkinCwwFub2m7cDYLOdtXoMrExfeBmeRy9kBQMkiyJ+HULyF1yj9w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.49.0.tgz", + "integrity": "sha512-OVSQgEZDVLnTbMq5NBs6xkmz3AADByCWI4RdKSFNlDsYXdFtlxS59J+w+LippJe8KcmeSSM3ba+GlsM9+WwC1w==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.49.0.tgz", + "integrity": "sha512-ZnfSFA7fDUHNa4P3VwAcfaBLakCbYaxCk0jUnS3dTou9P95kwoOLAMlT3WmEJDBCSrOEFFV0Y1HXiwfLYJuLlA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.49.0.tgz", + "integrity": "sha512-Z81u+gfrobVK2iV7GqZCBfEB1y6+I61AH466lNK+xy1jfqFLiQ9Qv716WUM5fxFrYxwC7ziVdZRU9qvGHkYIJg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.49.0.tgz", + "integrity": "sha512-zoAwS0KCXSnTp9NH/h9aamBAIve0DXeYpll85shf9NJ0URjSTzzS+Z9evmolN+ICfD3v8skKUPyk2PO0uGdFqg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.49.0.tgz", + "integrity": "sha512-2QyUyQQ1ZtwZGiq0nvODL+vLJBtciItC3/5cYN8ncDQcv5avrt2MbKt1XU/vFAJlLta5KujqyHdYtdag4YEjYQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.49.0.tgz", + "integrity": "sha512-k9aEmOWt+mrMuD3skjVJSSxHckJp+SiFzFG+v8JLXbc/xi9hv2icSkR3U7uQzqy+/QbbYY7iNB9eDTwrELo14g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.49.0.tgz", + "integrity": "sha512-rDKRFFIWJ/zJn6uk2IdYLc09Z7zkE5IFIOWqpuU0o6ZpHcdniAyWkwSUWE/Z25N/wNDmFHHMzin84qW7Wzkjsw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.49.0.tgz", + "integrity": "sha512-FkkhIY/hYFVnOzz1WeV3S9Bd1h0hda/gRqvZCMpHWDHdiIHn6pqsY3b5eSbvGccWHMQ1uUzgZTKS4oGpykf8Tw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.49.0.tgz", + "integrity": "sha512-gRf5c+A7QiOG3UwLyOOtyJMD31JJhMjBvpfhAitPAoqZFcOeK3Kc1Veg1z/trmt+2P6F/biT02fU19GGTS529A==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.49.0.tgz", + "integrity": "sha512-BR7+blScdLW1h/2hB/2oXM+dhTmpW3rQt1DeSiCP9mc2NMMkqVgjIN3DDsNpKmezffGC9R8XKVOLmBkRUcK/sA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.49.0.tgz", + "integrity": "sha512-hDMOAe+6nX3V5ei1I7Au3wcr9h3ktKzDvF2ne5ovX8RZiAHEtX1A5SNNk4zt1Qt77CmnbqT+upb/umzoPMWiPg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.49.0.tgz", + "integrity": "sha512-wkNRzfiIGaElC9kXUT+HLx17z7D0jl+9tGYRKwd8r7cUqTL7GYAvgUY++U2hK6Ar7z5Z6IRRoWC8kQxpmM7TDA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.49.0.tgz", + "integrity": "sha512-gq5aW/SyNpjp71AAzroH37DtINDcX1Qw2iv9Chyz49ZgdOP3NV8QCyKZUrGsYX9Yyggj5soFiRCgsL3HwD8TdA==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.49.0.tgz", + "integrity": "sha512-gEtqFbzmZLFk2xKh7g0Rlo8xzho8KrEFEkzvHbfUGkrgXOpZ4XagQ6n+wIZFNh1nTb8UD16J4nFSFKXYgnbdBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@schematics/angular": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.2.0.tgz", + "integrity": "sha512-7sZVj7hOcytQrPE17ixjzul9ih81IfXGcEZvr7fT77qy7Hm5rbMjxqSYxCTf3kAyBFRSLq/E8GTapPAjk2coOg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "@angular-devkit/schematics": "20.2.0", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@sigstore/bundle": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.1.0.tgz", + "integrity": "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz", + "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/protobuf-specs": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.3.tgz", + "integrity": "sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==", + "dev": true, + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/sign": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.1.0.tgz", + "integrity": "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/tuf": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.1.1.tgz", + "integrity": "sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@sigstore/verify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.1.1.tgz", + "integrity": "sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@socket.io/component-emitter": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" + } + }, + "node_modules/@tufjs/models": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz", + "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@tybys/wasm-util": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/jasmine": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.9.tgz", + "integrity": "sha512-8t4HtkW4wxiPVedMpeZ63n3vlWxEIquo/zc1Tm8ElU+SqVV7+D3Na2PWaJUp179AzTragMWVwkMv7mvty0NfyQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "24.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz", + "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", + "dev": true, + "license": "MIT", + "dependencies": { + "undici-types": "~7.10.0" + } + }, + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", + "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0" + } + }, + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/abbrev": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/accepts": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14" + } + }, + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/algoliasearch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.35.0.tgz", + "integrity": "sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.1.0", + "@algolia/client-abtesting": "5.35.0", + "@algolia/client-analytics": "5.35.0", + "@algolia/client-common": "5.35.0", + "@algolia/client-insights": "5.35.0", + "@algolia/client-personalization": "5.35.0", + "@algolia/client-query-suggestions": "5.35.0", + "@algolia/client-search": "5.35.0", + "@algolia/ingestion": "1.35.0", + "@algolia/monitoring": "1.35.0", + "@algolia/recommend": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ansis": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.1.0.tgz", + "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/beasties": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz", + "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "css-select": "^6.0.0", + "css-what": "^7.0.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^10.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.49", + "postcss-media-query-parser": "^0.2.3" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true, + "license": "ISC" + }, + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", + "dev": true, + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001735", + "electron-to-chromium": "^1.5.204", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/cacache": { + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", + "dev": true, + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callback-registry": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/callback-registry/-/callback-registry-2.7.2.tgz", + "integrity": "sha512-VVrtF21DaH0VHeNMkLDd4VGuxsYM3V3l3lwYneKVMU/6X3TRtcQszUwlAcqj2HrLcbP1NyS12LsanUwCykaz/Q==", + "license": "ISC" + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001737", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001737.tgz", + "integrity": "sha512-BiloLiXtQNrY5UyF0+1nSJLXUENuhka2pzy2Fx5pGxqavdrxSCW4U6Pn/PoG3Efspi2frRbHpBV2XsrPE6EDlw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/chalk": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", + "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/chardet": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", + "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==", + "dev": true, + "license": "MIT" + }, + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">= 12" + } + }, + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true, + "license": "MIT" + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/finalhandler": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", + "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "~2.3.0", + "parseurl": "~1.3.3", + "statuses": "~1.5.0", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/connect/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/connect/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", + "dev": true, + "license": "MIT", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.6.0" + } + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "dev": true, + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", + "dev": true, + "license": "MIT" + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } + }, + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decoder-validate": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/decoder-validate/-/decoder-validate-0.0.2.tgz", + "integrity": "sha512-9BsqAH9Zq6CvlxKHkSrZrH2iYlhuhHcrh6uTnDvcsa9P5YEweEzt1ci+X/9STgSCE7b9BA7/QIiwhfUDDWmjxw==", + "license": "MIT" + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", + "dev": true, + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true, + "license": "MIT" + }, + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" + } + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "dev": true, + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" + }, + "node_modules/electron-to-chromium": { + "version": "1.5.209", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.209.tgz", + "integrity": "sha512-Xoz0uMrim9ZETCQt8UgM5FxQF9+imA7PBpokoGcZloA1uw2LeHzTlip5cb5KOAsXZLjh/moN2vReN3ZjJmjI9A==", + "dev": true, + "license": "ISC" + }, + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" + } + }, + "node_modules/engine.io": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", + "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/engine.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/engine.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/engine.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz", + "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "punycode": "^1.4.1", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true, + "license": "MIT" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true, + "license": "MIT" + }, + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" + } + }, + "node_modules/eventsource-parser": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.5.tgz", + "integrity": "sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/exponential-backoff": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", + "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express-rate-limit": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", + "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" + }, + "node_modules/fast-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", + "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", + "dev": true, + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } + }, + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hosted-git-info": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.0.tgz", + "integrity": "sha512-gEf705MZLrDPkbbhi8PnoO4ZwYgKoNL+ISZ3AjZMht2r3N5tuTwncyDi6Fv2/qDnMmZxgs0yI8WDOyR8q3G+SQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^11.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz", + "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" + }, + "node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "dev": true, + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/ignore-walk": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", + "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minimatch": "^10.0.3" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/immutable": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", + "dev": true, + "license": "MIT" + }, + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.8.19" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", + "dev": true, + "license": "ISC", + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ini": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", + "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/ip-address": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", + "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" + }, + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/jasmine-core": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.8.0.tgz", + "integrity": "sha512-Q9dqmpUAfptwyueW3+HqBOkSuYd9I/clZSSfN97wXE/Nr2ROFNCwIBEC1F6kb3QXS9Fcz0LjFYSDQT+BiwjuhA==", + "dev": true, + "license": "MIT" + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "devOptional": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" + }, + "node_modules/karma": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", + "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", + "dev": true, + "license": "MIT", + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.7.2", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-chrome-launcher/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" + } + }, + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", + "dev": true, + "license": "MIT", + "dependencies": { + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma-coverage/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", + "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "jasmine-core": "^4.0.0 || ^5.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-jasmine/node_modules/jasmine-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", + "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/karma/node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/karma/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", + "dev": true, + "license": "MIT", + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/karma/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" + }, + "node_modules/karma/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/karma/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/karma/node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/karma/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/karma/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/karma/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/listr2": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", + "dev": true, + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" + } + }, + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" + }, + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.2.tgz", + "integrity": "sha512-nwVGUfTBUwJKXd6lRV8pFNfnrCC1+l49ESJRM19t/tFb/97QfJEixe5DYRvug5JO7DSFKoKaVy7oGMt5rVqZvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "msgpackr": "^1.11.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.5.3", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.4.2", + "@lmdb/lmdb-darwin-x64": "3.4.2", + "@lmdb/lmdb-linux-arm": "3.4.2", + "@lmdb/lmdb-linux-arm64": "3.4.2", + "@lmdb/lmdb-linux-x64": "3.4.2", + "@lmdb/lmdb-win32-arm64": "3.4.2", + "@lmdb/lmdb-win32-x64": "3.4.2" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true, + "license": "MIT" + }, + "node_modules/log-symbols": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", + "dev": true, + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" + } + }, + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", + "dev": true, + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-fetch-happen": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", + "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", + "dev": true, + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/minipass-fetch": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", + "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/msgpackr": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.5.tgz", + "integrity": "sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==", + "dev": true, + "license": "MIT", + "optional": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } + }, + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } + }, + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/node-gyp": { + "version": "11.4.2", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.4.2.tgz", + "integrity": "sha512-3gD+6zsrLQH7DyYOUIutaauuXrcyxeTPyQuZQCQoNPZMHMMS5m4y0xclNpvYzoK3VNzuyxT6eF4mkIL4WSZ1eQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" + } + }, + "node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", + "dev": true, + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/node-gyp/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", + "dev": true, + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" + } + }, + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", + "dev": true, + "license": "MIT" + }, + "node_modules/nopt": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", + "dev": true, + "license": "ISC", + "dependencies": { + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/npm-bundled": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", + "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-install-checks": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.2.tgz", + "integrity": "sha512-z9HJBCYw9Zr8BqXcllKIs5nI+QggAImbBdHphOzVYrz2CB4iQ6FzWyKmlqDZua+51nAu7FcemlbTc9VgQN5XDQ==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "semver": "^7.1.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-package-arg": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz", + "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^9.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-packlist": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.1.tgz", + "integrity": "sha512-vaC03b2PqJA6QqmwHi1jNU8fAPXEnnyv4j/W4PVfgm24C4/zZGSVut3z0YUeN0WIFCo1oGOL02+6LbvFK7JL4Q==", + "dev": true, + "license": "ISC", + "dependencies": { + "ignore-walk": "^8.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/npm-pick-manifest": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", + "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-pick-manifest/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", + "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", + "dev": true, + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ordered-binary": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz", + "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "dev": true, + "license": "BlueOak-1.0.0" + }, + "node_modules/pacote": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.0.tgz", + "integrity": "sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==", + "dev": true, + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^10.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/pacote/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/pacote/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/pacote/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", + "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==", + "dev": true, + "license": "MIT", + "dependencies": { + "entities": "^6.0.0", + "parse5": "^8.0.0", + "parse5-sax-parser": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", + "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "parse5": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "dev": true, + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/piscina": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.3.tgz", + "integrity": "sha512-0u3N7H4+hbr40KjuVn2uNhOcthu/9usKhnw5vT3J7ply79v3D3M8naI00el9Klcy16x557VsEkkUQaHCWFXC/g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=20.x" + }, + "optionalDependencies": { + "@napi-rs/nice": "^1.0.4" + } + }, + "node_modules/pkce-challenge": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", + "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16.20.0" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", + "dev": true, + "license": "MIT" + }, + "node_modules/proc-log": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.9" + } + }, + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", + "dev": true, + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } + }, + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rolldown": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.32.tgz", + "integrity": "sha512-vxI2sPN07MMaoYKlFrVva5qZ1Y7DAZkgp7MQwTnyHt4FUMz9Sh+YeCzNFV9JYHI6ZNwoGWLCfCViE3XVsRC1cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/runtime": "=0.81.0", + "@oxc-project/types": "=0.81.0", + "@rolldown/pluginutils": "1.0.0-beta.32", + "ansis": "^4.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-beta.32", + "@rolldown/binding-darwin-arm64": "1.0.0-beta.32", + "@rolldown/binding-darwin-x64": "1.0.0-beta.32", + "@rolldown/binding-freebsd-x64": "1.0.0-beta.32", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.32", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.32", + "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.32", + "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.32", + "@rolldown/binding-linux-x64-musl": "1.0.0-beta.32", + "@rolldown/binding-openharmony-arm64": "1.0.0-beta.32", + "@rolldown/binding-wasm32-wasi": "1.0.0-beta.32", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.32", + "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.32", + "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.32" + } + }, + "node_modules/rollup": { + "version": "4.49.0", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.49.0.tgz", + "integrity": "sha512-3IVq0cGJ6H7fKXXEdVt+RcYvRCt8beYY9K1760wGQwSAHZcS9eot1zDG5axUbcp/kWRi5zKIIDX8MoKv/TzvZA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.49.0", + "@rollup/rollup-android-arm64": "4.49.0", + "@rollup/rollup-darwin-arm64": "4.49.0", + "@rollup/rollup-darwin-x64": "4.49.0", + "@rollup/rollup-freebsd-arm64": "4.49.0", + "@rollup/rollup-freebsd-x64": "4.49.0", + "@rollup/rollup-linux-arm-gnueabihf": "4.49.0", + "@rollup/rollup-linux-arm-musleabihf": "4.49.0", + "@rollup/rollup-linux-arm64-gnu": "4.49.0", + "@rollup/rollup-linux-arm64-musl": "4.49.0", + "@rollup/rollup-linux-loongarch64-gnu": "4.49.0", + "@rollup/rollup-linux-ppc64-gnu": "4.49.0", + "@rollup/rollup-linux-riscv64-gnu": "4.49.0", + "@rollup/rollup-linux-riscv64-musl": "4.49.0", + "@rollup/rollup-linux-s390x-gnu": "4.49.0", + "@rollup/rollup-linux-x64-gnu": "4.49.0", + "@rollup/rollup-linux-x64-musl": "4.49.0", + "@rollup/rollup-win32-arm64-msvc": "4.49.0", + "@rollup/rollup-win32-ia32-msvc": "4.49.0", + "@rollup/rollup-win32-x64-msvc": "4.49.0", + "fsevents": "~2.3.2" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" + }, + "node_modules/safe-regex-test": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true, + "license": "MIT" + }, + "node_modules/sass": { + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", + "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" + } + }, + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true, + "license": "ISC" + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/sigstore": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz", + "integrity": "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" + } + }, + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socket.io": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" + } + }, + "node_modules/socket.io-adapter/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", + "dev": true, + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/socket.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socket.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" + } + }, + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", + "dev": true, + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" + }, + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" + } + }, + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "dev": true, + "license": "CC0-1.0" + }, + "node_modules/ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", + "dev": true, + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", + "dev": true, + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" + }, + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=14.14" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/tuf-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.1.0.tgz", + "integrity": "sha512-3T3T04WzowbwV2FDiGXBbr81t64g1MUGGJRgT4x5o97N+8ArdhVCAF9IxFrxuSJmM3E5Asn7nKHkao0ibcZXAg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tufjs/models": "3.0.1", + "debug": "^4.4.1", + "make-fetch-happen": "^14.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", + "dev": true, + "license": "MIT", + "dependencies": { + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ua-parser-js": { + "version": "0.7.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.41.tgz", + "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + }, + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" + } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" + } + }, + "node_modules/undici-types": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", + "dev": true, + "license": "MIT" + }, + "node_modules/unique-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "unique-slug": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/unique-slug": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", + "dev": true, + "license": "ISC", + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/validate-npm-package-license": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", + "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "spdx-correct": "^3.0.0", + "spdx-expression-parse": "^3.0.0" + } + }, + "node_modules/validate-npm-package-name": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", + "integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.2.tgz", + "integrity": "sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.6", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.14" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", + "dev": true, + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" + }, + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + }, + "node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } + }, + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.24.6", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", + "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "zod": "^3.24.1" + } + }, + "node_modules/zone.js": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz", + "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==", + "license": "MIT" + } + } +} diff --git a/angular/solution/portfolio-downloader/package.json b/angular/solution/portfolio-downloader/package.json new file mode 100644 index 0000000..0f4a624 --- /dev/null +++ b/angular/solution/portfolio-downloader/package.json @@ -0,0 +1,38 @@ +{ + "name": "portfolio-downloader", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@angular/router": "^20.1.0", + "@interopio/ng": "^6.0.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.6", + "@angular/cli": "^20.1.6", + "@angular/compiler-cli": "^20.1.0", + "@interopio/theme": "^3.0.2", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } +} diff --git a/angular/start/clients/src/assets/.gitkeep b/angular/solution/portfolio-downloader/public/.gitkeep similarity index 100% rename from angular/start/clients/src/assets/.gitkeep rename to angular/solution/portfolio-downloader/public/.gitkeep diff --git a/angular/start/clients/src/assets/favicon.ico b/angular/solution/portfolio-downloader/public/favicon.ico similarity index 100% rename from angular/start/clients/src/assets/favicon.ico rename to angular/solution/portfolio-downloader/public/favicon.ico diff --git a/angular/start/clients/src/assets/logo192.png b/angular/solution/portfolio-downloader/public/logo192.png similarity index 100% rename from angular/start/clients/src/assets/logo192.png rename to angular/solution/portfolio-downloader/public/logo192.png diff --git a/angular/start/clients/src/assets/logo512.png b/angular/solution/portfolio-downloader/public/logo512.png similarity index 100% rename from angular/start/clients/src/assets/logo512.png rename to angular/solution/portfolio-downloader/public/logo512.png diff --git a/angular/solution/portfolio-downloader/src/app/app.config.ts b/angular/solution/portfolio-downloader/src/app/app.config.ts new file mode 100644 index 0000000..42e3839 --- /dev/null +++ b/angular/solution/portfolio-downloader/src/app/app.config.ts @@ -0,0 +1,23 @@ +import { + ApplicationConfig, + provideBrowserGlobalErrorListeners, + provideZoneChangeDetection +} from "@angular/core"; +import { provideIoConnect } from "@interopio/ng"; +import IOBrowser from "@interopio/browser"; +import "@interopio/theme"; + +import { IOConnectService } from "./io-connect.service"; + +export const appConfig: ApplicationConfig = { + providers: [ + provideBrowserGlobalErrorListeners(), + provideZoneChangeDetection({ eventCoalescing: true }), + provideIoConnect({ + browser: { + factory: IOBrowser + } + }), + IOConnectService + ] +}; diff --git a/angular/solution/portfolio-downloader/src/app/app.css b/angular/solution/portfolio-downloader/src/app/app.css new file mode 100644 index 0000000..957ea36 --- /dev/null +++ b/angular/solution/portfolio-downloader/src/app/app.css @@ -0,0 +1,17 @@ +body { + padding: 16px; + --io-font-size: 14px; + height: 100vh; + display: flex; + flex-direction: column; +} + +header { + display: flex; + align-items: center; + margin-bottom: 12px; +} + +header div { + margin-left: 8px; +} diff --git a/angular/solution/portfolio-downloader/src/app/app.html b/angular/solution/portfolio-downloader/src/app/app.html new file mode 100644 index 0000000..e4927a6 --- /dev/null +++ b/angular/solution/portfolio-downloader/src/app/app.html @@ -0,0 +1,10 @@ + +
+

Portfolio Downloader

+
{{ ioConnectStatus() }}
+
+ + @if (clientName) { +

Downloading portfolio of {{ clientName }} ...

+ } + \ No newline at end of file diff --git a/angular/solution/portfolio-downloader/src/app/app.ts b/angular/solution/portfolio-downloader/src/app/app.ts new file mode 100644 index 0000000..2cf30a5 --- /dev/null +++ b/angular/solution/portfolio-downloader/src/app/app.ts @@ -0,0 +1,30 @@ +import { CommonModule } from "@angular/common"; +import { Component, signal } from "@angular/core"; + +import { IOConnectStatus } from "./types"; +import { IOConnectService } from "./io-connect.service"; + +@Component({ + selector: "app-root", + imports: [CommonModule], + templateUrl: "./app.html", + styleUrl: "./app.css" +}) +export class App { + public clientName?: string; + public ioConnectStatus = signal("disconnected"); + + constructor(private readonly ioConnectService: IOConnectService) {} + + public async ngOnInit(): Promise { + this.ioConnectStatus.set(this.ioConnectService.connectionStatus); + + if (this.ioConnectStatus() === "available") { + await this.ioConnectService.setupIntentListener(); + } + + this.ioConnectService.selectedClient.subscribe((client) => { + this.clientName = client?.name; + }); + } +} diff --git a/angular/solution/portfolio-downloader/src/app/io-connect.service.ts b/angular/solution/portfolio-downloader/src/app/io-connect.service.ts new file mode 100644 index 0000000..61389db --- /dev/null +++ b/angular/solution/portfolio-downloader/src/app/io-connect.service.ts @@ -0,0 +1,67 @@ +import { Injectable } from "@angular/core"; +import { BehaviorSubject, Observable } from "rxjs"; +import { IOConnectStore } from "@interopio/ng"; + +import { Client, IOConnectStatus } from "./types"; + +@Injectable() +export class IOConnectService { + private selectedClientSource = new BehaviorSubject( + undefined + ); + + constructor(private readonly ioConnectStore: IOConnectStore) { + (window as any).io = this.ioConnectStore.getIOConnect(); + } + + public get connectionStatus(): IOConnectStatus { + return this.ioConnectStore.getInitError() ? "unavailable" : "available"; + } + + public get selectedClient(): Observable { + return this.selectedClientSource.asObservable(); + } + + public async setupIntentListener(): Promise { + const intentName = "ExportPortfolio"; + + const handler = (context: any) => { + if (context?.type !== "ClientPortfolio") { + return; + } + + const client = context.data as Client; + + // Set the client to the BehaviorSubject + this.selectedClientSource.next(client); + + this.startPortfolioDownload(client.name, client.portfolio); + }; + + // Register Intent + await this.ioConnectStore + .getIOConnect() + .intents.register(intentName, handler); + } + + private startPortfolioDownload(clientName: string, portfolio: string) { + const dataToWrite = JSON.stringify( + { + date: new Date(Date.now()).toLocaleString("en-US"), + portfolio + }, + null, + 4 + ); + + const element = document.createElement("a"); + const blob = new Blob([dataToWrite], { type: "application/json" }); + const href = URL.createObjectURL(blob); + + element.href = href; + element.download = `${clientName ? clientName + "'s " : ""}Portfolio.json`; + + element.click(); + URL.revokeObjectURL(href); + } +} diff --git a/angular/solution/portfolio-downloader/src/app/types.ts b/angular/solution/portfolio-downloader/src/app/types.ts new file mode 100644 index 0000000..f8532ba --- /dev/null +++ b/angular/solution/portfolio-downloader/src/app/types.ts @@ -0,0 +1,19 @@ +export interface Client { + accountManager: string; + address: string; + branchCode: string; + contactNumbers: string; + eId: string; + email: string; + gId: string; + id: string; + name: string; + pId: string; + portf: string; + portfolio: string; + preferredName: string; + spn: string; + notes: string[]; +} + +export type IOConnectStatus = "disconnected" | "unavailable" | "available"; diff --git a/angular/solution/portfolio-downloader/src/index.html b/angular/solution/portfolio-downloader/src/index.html new file mode 100644 index 0000000..77dc68a --- /dev/null +++ b/angular/solution/portfolio-downloader/src/index.html @@ -0,0 +1,17 @@ + + + + + + Portfolio Downloader + + + + + + + + + + + \ No newline at end of file diff --git a/angular/solution/portfolio-downloader/src/main.ts b/angular/solution/portfolio-downloader/src/main.ts new file mode 100644 index 0000000..8b7c83d --- /dev/null +++ b/angular/solution/portfolio-downloader/src/main.ts @@ -0,0 +1,5 @@ +import { bootstrapApplication } from "@angular/platform-browser"; +import { appConfig } from "./app/app.config"; +import { App } from "./app/app"; + +bootstrapApplication(App, appConfig).catch((err) => console.error(err)); diff --git a/angular/solution/portfolio-downloader/src/styles.css b/angular/solution/portfolio-downloader/src/styles.css new file mode 100644 index 0000000..f9f52be --- /dev/null +++ b/angular/solution/portfolio-downloader/src/styles.css @@ -0,0 +1,3 @@ +html { + background-color: var(--base-surface-frame-background); +} diff --git a/angular/solution/portfolio-downloader/tsconfig.app.json b/angular/solution/portfolio-downloader/tsconfig.app.json new file mode 100644 index 0000000..264f459 --- /dev/null +++ b/angular/solution/portfolio-downloader/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] +} diff --git a/angular/solution/portfolio-downloader/tsconfig.json b/angular/solution/portfolio-downloader/tsconfig.json new file mode 100644 index 0000000..e4955f2 --- /dev/null +++ b/angular/solution/portfolio-downloader/tsconfig.json @@ -0,0 +1,34 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "typeCheckHostBindings": true, + "strictTemplates": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] +} diff --git a/angular/solution/portfolio-downloader/tsconfig.spec.json b/angular/solution/portfolio-downloader/tsconfig.spec.json new file mode 100644 index 0000000..04df34c --- /dev/null +++ b/angular/solution/portfolio-downloader/tsconfig.spec.json @@ -0,0 +1,14 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/spec", + "types": [ + "jasmine" + ] + }, + "include": [ + "src/**/*.ts" + ] +} diff --git a/angular/solution/stocks/.editorconfig b/angular/solution/stocks/.editorconfig deleted file mode 100644 index 59d9a3a..0000000 --- a/angular/solution/stocks/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# Editor configuration, see https://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -insert_final_newline = true -trim_trailing_whitespace = true - -[*.ts] -quote_type = single - -[*.md] -max_line_length = off -trim_trailing_whitespace = false diff --git a/angular/solution/stocks/.gitignore b/angular/solution/stocks/.gitignore index 86d943a..cc7b141 100644 --- a/angular/solution/stocks/.gitignore +++ b/angular/solution/stocks/.gitignore @@ -1,21 +1,18 @@ -# See http://help.github.com/ignore-files/ for more about ignoring files. +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. -# compiled output +# Compiled output /dist /tmp /out-tsc -# Only exists if Bazel was run /bazel-out -# dependencies +# Node /node_modules - -# profiling files -chrome-profiler-events*.json -speed-measure-plugin*.json +npm-debug.log +yarn-error.log # IDEs and editors -/.idea +.idea/ .project .classpath .c9/ @@ -23,7 +20,7 @@ speed-measure-plugin*.json .settings/ *.sublime-workspace -# IDE - VSCode +# Visual Studio Code .vscode/* !.vscode/settings.json !.vscode/tasks.json @@ -31,16 +28,15 @@ speed-measure-plugin*.json !.vscode/extensions.json .history/* -# misc -/.sass-cache +# Miscellaneous +/.angular/cache +.sass-cache/ /connect.lock /coverage /libpeerconnection.log -npm-debug.log -yarn-error.log testem.log /typings -# System Files +# System files .DS_Store Thumbs.db diff --git a/angular/solution/stocks/README.md b/angular/solution/stocks/README.md index 357de06..12a2934 100644 --- a/angular/solution/stocks/README.md +++ b/angular/solution/stocks/README.md @@ -1,27 +1,59 @@ # Stocks -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 9.1.0. +This project was generated using [Angular CLI](https://github.com/angular/angular-cli) version 20.1.6. ## Development server -Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The app will automatically reload if you change any of the source files. +To start a local development server, run: + +```bash +ng serve +``` + +Once the server is running, open your browser and navigate to `http://localhost:4200/`. The application will automatically reload whenever you modify any of the source files. ## Code scaffolding -Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. +Angular CLI includes powerful code scaffolding tools. To generate a new component, run: + +```bash +ng generate component component-name +``` + +For a complete list of available schematics (such as `components`, `directives`, or `pipes`), run: + +```bash +ng generate --help +``` -## Build +## Building -Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. Use the `--prod` flag for a production build. +To build the project run: + +```bash +ng build +``` + +This will compile your project and store the build artifacts in the `dist/` directory. By default, the production build optimizes your application for performance and speed. ## Running unit tests -Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). +To execute unit tests with the [Karma](https://karma-runner.github.io) test runner, use the following command: + +```bash +ng test +``` ## Running end-to-end tests -Run `ng e2e` to execute the end-to-end tests via [Protractor](http://www.protractortest.org/). +For end-to-end (e2e) testing, run: + +```bash +ng e2e +``` + +Angular CLI does not come with an end-to-end testing framework by default. You can choose one that suits your needs. -## Further help +## Additional Resources -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI README](https://github.com/angular/angular-cli/blob/master/README.md). +For more information on using the Angular CLI, including detailed command references, visit the [Angular CLI Overview and Command Reference](https://angular.dev/tools/cli) page. diff --git a/angular/solution/stocks/angular.json b/angular/solution/stocks/angular.json index c3b4a88..eb00c05 100644 --- a/angular/solution/stocks/angular.json +++ b/angular/solution/stocks/angular.json @@ -11,121 +11,85 @@ "prefix": "app", "architect": { "build": { - "builder": "@angular-devkit/build-angular:browser", + "builder": "@angular/build:application", "options": { - "baseHref": "/", - "outputPath": "dist/stocks", - "index": "src/index.html", - "main": "src/main.ts", - "polyfills": "src/polyfills.ts", + "browser": "src/main.ts", + "polyfills": [ + "zone.js" + ], "tsConfig": "tsconfig.app.json", - "aot": true, "assets": [ - "src/favicon.ico", - "src/assets", - "src/service-worker.js", - "src/manifest.json" + { + "glob": "**/*", + "input": "public" + } ], "styles": [ - "src/custom-theme.scss", - "node_modules/bootstrap/dist/css/bootstrap.min.css", "src/styles.css" - ], - "scripts": [] + ] }, "configurations": { "production": { - "fileReplacements": [ - { - "replace": "src/environments/environment.ts", - "with": "src/environments/environment.prod.ts" - } - ], - "optimization": true, - "outputHashing": "all", - "sourceMap": false, - "extractCss": true, - "namedChunks": false, - "extractLicenses": true, - "vendorChunk": false, - "buildOptimizer": true, "budgets": [ { "type": "initial", - "maximumWarning": "2mb", - "maximumError": "5mb" + "maximumWarning": "500kB", + "maximumError": "1MB" }, { "type": "anyComponentStyle", - "maximumWarning": "6kb", - "maximumError": "10kb" + "maximumWarning": "4kB", + "maximumError": "8kB" } - ] + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true } - } + }, + "defaultConfiguration": "production" }, "serve": { - "builder": "@angular-devkit/build-angular:dev-server", "options": { - "port": 4100, - "browserTarget": "stocks:build" + "port": 4100 }, + "builder": "@angular/build:dev-server", "configurations": { "production": { - "browserTarget": "stocks:build:production" + "buildTarget": "stocks:build:production" + }, + "development": { + "buildTarget": "stocks:build:development" } - } + }, + "defaultConfiguration": "development" }, "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "browserTarget": "stocks:build" - } + "builder": "@angular/build:extract-i18n" }, "test": { - "builder": "@angular-devkit/build-angular:karma", + "builder": "@angular/build:karma", "options": { - "main": "src/test.ts", - "polyfills": "src/polyfills.ts", + "polyfills": [ + "zone.js", + "zone.js/testing" + ], "tsConfig": "tsconfig.spec.json", - "karmaConfig": "karma.conf.js", "assets": [ - "src/favicon.ico", - "src/assets" + { + "glob": "**/*", + "input": "public" + } ], "styles": [ "src/styles.css" - ], - "scripts": [] - } - }, - "lint": { - "builder": "@angular-devkit/build-angular:tslint", - "options": { - "tsConfig": [ - "tsconfig.app.json", - "tsconfig.spec.json", - "e2e/tsconfig.json" - ], - "exclude": [ - "**/node_modules/**" ] } - }, - "e2e": { - "builder": "@angular-devkit/build-angular:protractor", - "options": { - "protractorConfig": "e2e/protractor.conf.js", - "devServerTarget": "stocks:serve" - }, - "configurations": { - "production": { - "devServerTarget": "stocks:serve:production" - } - } } } } - }, - "defaultProject": "stocks" -} \ No newline at end of file + } +} diff --git a/angular/solution/stocks/browserslist b/angular/solution/stocks/browserslist deleted file mode 100644 index 8084853..0000000 --- a/angular/solution/stocks/browserslist +++ /dev/null @@ -1,12 +0,0 @@ -# This file is used by the build system to adjust CSS and JS output to support the specified browsers below. -# For additional information regarding the format and rule options, please see: -# https://github.com/browserslist/browserslist#queries - -# You can see what browsers were selected by your queries by running: -# npx browserslist - -> 0.5% -last 2 versions -Firefox ESR -not dead -not IE 9-11 # For IE 9-11 support, remove 'not'. \ No newline at end of file diff --git a/angular/solution/stocks/karma.conf.js b/angular/solution/stocks/karma.conf.js deleted file mode 100644 index 5e4dd6b..0000000 --- a/angular/solution/stocks/karma.conf.js +++ /dev/null @@ -1,32 +0,0 @@ -// Karma configuration file, see link for more information -// https://karma-runner.github.io/1.0/config/configuration-file.html - -module.exports = function (config) { - config.set({ - basePath: '', - frameworks: ['jasmine', '@angular-devkit/build-angular'], - plugins: [ - require('karma-jasmine'), - require('karma-chrome-launcher'), - require('karma-jasmine-html-reporter'), - require('karma-coverage-istanbul-reporter'), - require('@angular-devkit/build-angular/plugins/karma') - ], - client: { - clearContext: false // leave Jasmine Spec Runner output visible in browser - }, - coverageIstanbulReporter: { - dir: require('path').join(__dirname, './coverage/stocks'), - reports: ['html', 'lcovonly', 'text-summary'], - fixWebpackSourcePaths: true - }, - reporters: ['progress', 'kjhtml'], - port: 9876, - colors: true, - logLevel: config.LOG_INFO, - autoWatch: true, - browsers: ['Chrome'], - singleRun: false, - restartOnFileChange: true - }); -}; diff --git a/angular/solution/stocks/package-lock.json b/angular/solution/stocks/package-lock.json index e8a22f9..745b165 100644 --- a/angular/solution/stocks/package-lock.json +++ b/angular/solution/stocks/package-lock.json @@ -1,5398 +1,4706 @@ { "name": "stocks", "version": "0.0.0", - "lockfileVersion": 1, + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@angular-devkit/architect": { - "version": "0.901.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.901.4.tgz", - "integrity": "sha512-w4RMj7eLhUSh70HUy5tW4EXjLQFXk0Lfr9WiSy5gvPGp+zzYxknI+Wn4Xid1wU/WS+4tuMv5nJIaNaH2sABESQ==", - "dev": true, - "requires": { - "@angular-devkit/core": "9.1.4", - "rxjs": "6.5.4" - }, - "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "packages": { + "": { + "name": "stocks", + "version": "0.0.0", + "dependencies": { + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@angular/router": "^20.1.0", + "@interopio/ng": "^6.0.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.6", + "@angular/cli": "^20.1.6", + "@angular/compiler-cli": "^20.1.0", + "@interopio/theme": "^3.0.2", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } + }, + "node_modules/@algolia/abtesting": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@algolia/abtesting/-/abtesting-1.1.0.tgz", + "integrity": "sha512-sEyWjw28a/9iluA37KLGu8vjxEIlb60uxznfTUmXImy7H5NvbpSO6yYgmgH5KiD7j+zTUUihiST0jEP12IoXow==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular-devkit/build-angular": { - "version": "0.901.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.901.4.tgz", - "integrity": "sha512-Vod4bc6d38fuvqauIDQxKMe9hKW9m4QNzPKxEc+Dv5Xkv95WaGzkbUVu8M8t4E//sDDMpmcPdYOXSdR27WBi2Q==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.901.4", - "@angular-devkit/build-optimizer": "0.901.4", - "@angular-devkit/build-webpack": "0.901.4", - "@angular-devkit/core": "9.1.4", - "@babel/core": "7.9.0", - "@babel/generator": "7.9.3", - "@babel/preset-env": "7.9.0", - "@babel/template": "7.8.6", - "@jsdevtools/coverage-istanbul-loader": "3.0.3", - "@ngtools/webpack": "9.1.4", - "ajv": "6.12.0", - "autoprefixer": "9.7.4", - "babel-loader": "8.0.6", - "browserslist": "^4.9.1", - "cacache": "15.0.0", - "caniuse-lite": "^1.0.30001032", - "circular-dependency-plugin": "5.2.0", - "copy-webpack-plugin": "5.1.1", - "core-js": "3.6.4", - "css-loader": "3.5.1", - "cssnano": "4.1.10", - "file-loader": "6.0.0", - "find-cache-dir": "3.3.1", - "glob": "7.1.6", - "jest-worker": "25.1.0", - "karma-source-map-support": "1.4.0", - "less": "3.11.1", - "less-loader": "5.0.0", - "license-webpack-plugin": "2.1.4", - "loader-utils": "2.0.0", - "mini-css-extract-plugin": "0.9.0", - "minimatch": "3.0.4", - "open": "7.0.3", - "parse5": "4.0.0", - "postcss": "7.0.27", - "postcss-import": "12.0.1", - "postcss-loader": "3.0.0", - "raw-loader": "4.0.0", - "regenerator-runtime": "0.13.5", - "rimraf": "3.0.2", - "rollup": "2.1.0", - "rxjs": "6.5.4", - "sass": "1.26.3", - "sass-loader": "8.0.2", - "semver": "7.1.3", - "source-map": "0.7.3", - "source-map-loader": "0.2.4", - "speed-measure-webpack-plugin": "1.3.1", - "style-loader": "1.1.3", - "stylus": "0.54.7", - "stylus-loader": "3.0.2", - "terser": "4.6.10", - "terser-webpack-plugin": "2.3.5", - "tree-kill": "1.2.2", - "webpack": "4.42.0", - "webpack-dev-middleware": "3.7.2", - "webpack-dev-server": "3.10.3", - "webpack-merge": "4.2.2", - "webpack-sources": "1.4.3", - "webpack-subresource-integrity": "1.4.0", - "worker-plugin": "4.0.2" - }, - "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "node_modules/@algolia/client-abtesting": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.35.0.tgz", + "integrity": "sha512-uUdHxbfHdoppDVflCHMxRlj49/IllPwwQ2cQ8DLC4LXr3kY96AHBpW0dMyi6ygkn2MtFCc6BxXCzr668ZRhLBQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular-devkit/build-optimizer": { - "version": "0.901.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.901.4.tgz", - "integrity": "sha512-iDMlNRwd8ICMBKnycfw55hdnL5kCiqUjQn+aK/4uOMJMz49tiYMNJAaznXX2BFKmYSmbapKjEbzx9yMYRi9Y7w==", + "node_modules/@algolia/client-analytics": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.35.0.tgz", + "integrity": "sha512-SunAgwa9CamLcRCPnPHx1V2uxdQwJGqb1crYrRWktWUdld0+B2KyakNEeVn5lln4VyeNtW17Ia7V7qBWyM/Skw==", "dev": true, - "requires": { - "loader-utils": "2.0.0", - "source-map": "0.7.3", - "tslib": "1.11.1", - "typescript": "3.6.5", - "webpack-sources": "1.4.3" - }, + "license": "MIT", "dependencies": { - "tslib": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.1.tgz", - "integrity": "sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==", - "dev": true - }, - "typescript": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.6.5.tgz", - "integrity": "sha512-BEjlc0Z06ORZKbtcxGrIvvwYs5hAnuo6TKdNFL55frVDlB+na3z5bsLhFaIxmT+dPWgBIjMo6aNnTOgHHmHgiQ==", - "dev": true - } + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular-devkit/build-webpack": { - "version": "0.901.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.901.4.tgz", - "integrity": "sha512-YBOufI4TGAtIDCS6erFygYJX/fkd8xwI58d+7iFIBmtIJC4/fpGjX6qkHMCBgh8HXAkEPSORBCYQn9O44J1ZXQ==", + "node_modules/@algolia/client-common": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.35.0.tgz", + "integrity": "sha512-ipE0IuvHu/bg7TjT2s+187kz/E3h5ssfTtjpg1LbWMgxlgiaZIgTTbyynM7NfpSJSKsgQvCQxWjGUO51WSCu7w==", "dev": true, - "requires": { - "@angular-devkit/architect": "0.901.4", - "@angular-devkit/core": "9.1.4", - "rxjs": "6.5.4" - }, + "license": "MIT", + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-insights": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.35.0.tgz", + "integrity": "sha512-UNbCXcBpqtzUucxExwTSfAe8gknAJ485NfPN6o1ziHm6nnxx97piIbcBQ3edw823Tej2Wxu1C0xBY06KgeZ7gA==", + "dev": true, + "license": "MIT", "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular-devkit/core": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-9.1.4.tgz", - "integrity": "sha512-OPFQDmT4XabLMSRDgmnzedlOrc83DzQIgLcfoh/UhZ7aJKf/2Vq4l09p/DkMNI36vN5BRL0zDZt7TjvKNgyYgA==", + "node_modules/@algolia/client-personalization": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.35.0.tgz", + "integrity": "sha512-/KWjttZ6UCStt4QnWoDAJ12cKlQ+fkpMtyPmBgSS2WThJQdSV/4UWcqCUqGH7YLbwlj3JjNirCu3Y7uRTClxvA==", "dev": true, - "requires": { - "ajv": "6.12.0", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.5.4", - "source-map": "0.7.3" + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/client-query-suggestions": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.35.0.tgz", + "integrity": "sha512-8oCuJCFf/71IYyvQQC+iu4kgViTODbXDk3m7yMctEncRSRV+u2RtDVlpGGfPlJQOrAY7OONwJlSHkmbbm2Kp/w==", + "dev": true, + "license": "MIT", "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular-devkit/schematics": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-9.1.4.tgz", - "integrity": "sha512-RAbdnUEZ3JTLmWSBiXT5trsVx8Fi72fxN9CiRaluM09Cytg6BUc1wC5XCO0YPvhI400+3Ro1nwjPXezjg7LXzQ==", + "node_modules/@algolia/client-search": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.35.0.tgz", + "integrity": "sha512-FfmdHTrXhIduWyyuko1YTcGLuicVbhUyRjO3HbXE4aP655yKZgdTIfMhZ/V5VY9bHuxv/fGEh3Od1Lvv2ODNTg==", "dev": true, - "requires": { - "@angular-devkit/core": "9.1.4", - "ora": "4.0.3", - "rxjs": "6.5.4" + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/ingestion": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.35.0.tgz", + "integrity": "sha512-gPzACem9IL1Co8mM1LKMhzn1aSJmp+Vp434An4C0OBY4uEJRcqsLN3uLBlY+bYvFg8C8ImwM9YRiKczJXRk0XA==", + "dev": true, + "license": "MIT", "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular/animations": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-9.1.4.tgz", - "integrity": "sha512-gMo/DbCm5BDArladMAeC7/75T2DvhLr4CSUGJt/P/aimTEG2ywoAALs3pzwSSe4qxrHiR0OIksVW3l4km3iXEw==" + "node_modules/@algolia/monitoring": { + "version": "1.35.0", + "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.35.0.tgz", + "integrity": "sha512-w9MGFLB6ashI8BGcQoVt7iLgDIJNCn4OIu0Q0giE3M2ItNrssvb8C0xuwJQyTy1OFZnemG0EB1OvXhIHOvQwWw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } }, - "@angular/cdk": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-9.2.4.tgz", - "integrity": "sha512-iw2+qHMXHYVC6K/fttHeNHIieSKiTEodVutZoOEcBu9rmRTGbLB26V/CRsfIRmA1RBk+uFYWc6UQZnMC3RdnJQ==", - "requires": { - "parse5": "^5.0.0" + "node_modules/@algolia/recommend": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.35.0.tgz", + "integrity": "sha512-AhrVgaaXAb8Ue0u2nuRWwugt0dL5UmRgS9LXe0Hhz493a8KFeZVUE56RGIV3hAa6tHzmAV7eIoqcWTQvxzlJeQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" }, + "engines": { + "node": ">= 14.0.0" + } + }, + "node_modules/@algolia/requester-browser-xhr": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.35.0.tgz", + "integrity": "sha512-diY415KLJZ6x1Kbwl9u96Jsz0OstE3asjXtJ9pmk1d+5gPuQ5jQyEsgC+WmEXzlec3iuVszm8AzNYYaqw6B+Zw==", + "dev": true, + "license": "MIT", "dependencies": { - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", - "optional": true - } + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular/cli": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-9.1.4.tgz", - "integrity": "sha512-H9MqoT4zyIv+Yo3cvRVkzafWGHsqt7jUvtvGwMHIDMTfEX+Q8yiYlDLL6WM3Eb6/hDmLcRGC/GI495sKS1z5qA==", + "node_modules/@algolia/requester-fetch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.35.0.tgz", + "integrity": "sha512-uydqnSmpAjrgo8bqhE9N1wgcB98psTRRQXcjc4izwMB7yRl9C8uuAQ/5YqRj04U0mMQ+fdu2fcNF6m9+Z1BzDQ==", "dev": true, - "requires": { - "@angular-devkit/architect": "0.901.4", - "@angular-devkit/core": "9.1.4", - "@angular-devkit/schematics": "9.1.4", - "@schematics/angular": "9.1.4", - "@schematics/update": "0.901.4", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", - "debug": "4.1.1", - "ini": "1.3.5", - "inquirer": "7.1.0", - "npm-package-arg": "8.0.1", - "npm-pick-manifest": "6.0.0", - "open": "7.0.3", - "pacote": "9.5.12", - "read-package-tree": "5.3.1", - "rimraf": "3.0.2", - "semver": "7.1.3", - "symbol-observable": "1.2.0", - "universal-analytics": "0.4.20", - "uuid": "7.0.2" - }, - "dependencies": { - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true - }, - "uuid": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-7.0.2.tgz", - "integrity": "sha512-vy9V/+pKG+5ZTYKf+VcphF5Oc6EFiu3W8Nv3P3zIh0EqVI80ZxOzuPfe9EHjkFNvf8+xuTHVeei4Drydlx4zjw==", - "dev": true - } + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "@angular/common": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-9.1.4.tgz", - "integrity": "sha512-JvCoCWVbx0tF7l/0WTi24ui/mc2SElyVSNchR4VK/FViARnkvnSBdI/Ef5QWXrsPyKU4PYBtnWWgyxRspH+FBA==" + "node_modules/@algolia/requester-node-http": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.35.0.tgz", + "integrity": "sha512-RgLX78ojYOrThJHrIiPzT4HW3yfQa0D7K+MQ81rhxqaNyNBu4F1r+72LNHYH/Z+y9I1Mrjrd/c/Ue5zfDgAEjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@algolia/client-common": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" + } }, - "@angular/compiler": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.1.4.tgz", - "integrity": "sha512-B+f3lviFNEJtL9V9exSKYPSz2Ddb6dxgPzQR7GSjGikDo+fKMtC1PjNwgJooS9gavhQx30uwkEEMIPYQbM6nNA==" + "node_modules/@ampproject/remapping": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", + "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + }, + "engines": { + "node": ">=6.0.0" + } }, - "@angular/compiler-cli": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-9.1.4.tgz", - "integrity": "sha512-n3PzqNnPD7s/AF9mv5CnarK0sgfoq4txFncHjJWBSltuTQoz6BDZyjuEdqsSLUvgAZPeLsmohemOzEE38HYHZA==", + "node_modules/@angular-devkit/architect": { + "version": "0.2002.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.2002.0.tgz", + "integrity": "sha512-PaBXFP1kdUuNtMie0lWnitlYbq8o1gz/s0YIa8oY1X3swOJ7bP6kBfxTb9opV5uXAOkXg2zCdnZ4Eu1aVkgPGw==", "dev": true, - "requires": { - "canonical-path": "1.0.0", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "dependency-graph": "^0.7.2", - "fs-extra": "4.0.2", - "magic-string": "^0.25.0", - "minimist": "^1.2.0", - "reflect-metadata": "^0.1.2", - "semver": "^6.3.0", - "source-map": "^0.6.1", - "sourcemap-codec": "^1.4.8", - "yargs": "15.3.0" + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "rxjs": "7.8.2" }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-20.2.0.tgz", + "integrity": "sha512-3CM6Zsr09Kf92ItFkxijlnC4+ZOgkxdCk0vFYvuw9UuvTDNwyIqJi6693PRPRbcXgpdY2vs6u99elSvQVmoEEw==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", - "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.0" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "ajv": "8.17.1", + "ajv-formats": "3.0.1", + "jsonc-parser": "3.3.1", + "picomatch": "4.0.3", + "rxjs": "7.8.2", + "source-map": "0.7.6" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^4.0.0" + }, + "peerDependenciesMeta": { + "chokidar": { + "optional": true } } }, - "@angular/core": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.1.4.tgz", - "integrity": "sha512-ND240vncmVD2KVe/KSQU3d/DxxoRipFg1+jFOFZGt0n0orCBHk/V1fu9iaG1sRyldL0+rCQ+fTI+1N4DTmMnxA==" - }, - "@angular/forms": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-9.1.4.tgz", - "integrity": "sha512-Njt+pMLfPBchL0/ayIjJqXL6ZfM4Ccvf7KO1wS1HMzh3QlmfNa0JSgc4pfrbRJAMN9g7V/FYLyKejs1bJZkenA==" - }, - "@angular/language-service": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-9.1.4.tgz", - "integrity": "sha512-eyVxxiegdb4ESdFGfkuDN+YfUbOVHRQLjIl6ACFJQDNHzVXzbmuqpyr5hIJANIVady103/7+dqRxxJo1DdIdTQ==", - "dev": true - }, - "@angular/localize": { - "version": "9.1.5", - "resolved": "https://registry.npmjs.org/@angular/localize/-/localize-9.1.5.tgz", - "integrity": "sha512-8VUEeebWWWXJDlY7S+CWeAUSu/SjbTE9h+YEsVYqAOjx1auDOUnEVTP9mPFMMNsa1p5A0ZBtzyzGw1JTm10NVQ==", - "requires": { - "@babel/core": "7.8.3", - "glob": "7.1.2", - "yargs": "15.3.0" - }, - "dependencies": { - "@babel/core": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.8.3.tgz", - "integrity": "sha512-4XFkf8AwyrEG7Ziu3L2L0Cv+WyY47Tcsp70JFmpftbAA1K7YL/sgE9jh9HyNj08Y/U50ItUchpN0w6HxAoX1rA==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.8.3", - "@babel/helpers": "^7.8.3", - "@babel/parser": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.0", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - } - }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==" - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==" - }, - "glob": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.2.tgz", - "integrity": "sha512-MJTUg1kjuLeQCJ+ccE4Vpa6kKVXkPYJ2mOCQyUuKLcLQsdrMCpBPUi8qVE6+YuaJkozeA9NusTAw3hLr8Xe5EQ==", - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "requires": { - "p-try": "^2.0.0" - } + "node_modules/@angular-devkit/schematics": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-20.2.0.tgz", + "integrity": "sha512-TCPIN6Bd04oGuNocETmsd9hzGYrjrivisbMKb0WOuDi3OnCkmWqsPR+QA2kYwTOGqG3HXkz/z3CA0g04M2fgrQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "jsonc-parser": "3.3.1", + "magic-string": "0.30.17", + "ora": "8.2.0", + "rxjs": "7.8.2" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/build": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/build/-/build-20.2.0.tgz", + "integrity": "sha512-/Yhqhg01UvX0E+tx4WAeK3AnwpZLqcw+XKTmsPsH5rbqpLKNRR9XsC3PJ4qBFU1u9/Lh13mmmr1+pG2p8ixMug==", + "dev": true, + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "2.3.0", + "@angular-devkit/architect": "0.2002.0", + "@babel/core": "7.28.3", + "@babel/helper-annotate-as-pure": "7.27.3", + "@babel/helper-split-export-declaration": "7.24.7", + "@inquirer/confirm": "5.1.14", + "@vitejs/plugin-basic-ssl": "2.1.0", + "beasties": "0.3.5", + "browserslist": "^4.23.0", + "esbuild": "0.25.9", + "https-proxy-agent": "7.0.6", + "istanbul-lib-instrument": "6.0.3", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "magic-string": "0.30.17", + "mrmime": "2.0.1", + "parse5-html-rewriting-stream": "8.0.0", + "picomatch": "4.0.3", + "piscina": "5.1.3", + "rolldown": "1.0.0-beta.32", + "sass": "1.90.0", + "semver": "7.7.2", + "source-map-support": "0.5.21", + "tinyglobby": "0.2.14", + "vite": "7.1.2", + "watchpack": "2.4.4" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "lmdb": "3.4.2" + }, + "peerDependencies": { + "@angular/compiler": "^20.0.0", + "@angular/compiler-cli": "^20.0.0", + "@angular/core": "^20.0.0", + "@angular/localize": "^20.0.0", + "@angular/platform-browser": "^20.0.0", + "@angular/platform-server": "^20.0.0", + "@angular/service-worker": "^20.0.0", + "@angular/ssr": "^20.2.0", + "karma": "^6.4.0", + "less": "^4.2.0", + "ng-packagr": "^20.0.0", + "postcss": "^8.4.0", + "tailwindcss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "tslib": "^2.3.0", + "typescript": ">=5.8 <6.0", + "vitest": "^3.1.1" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "requires": { - "p-limit": "^2.2.0" - } + "@angular/localize": { + "optional": true }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==" + "@angular/platform-browser": { + "optional": true }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==" + "@angular/platform-server": { + "optional": true }, - "require-main-filename": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", - "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==" + "@angular/service-worker": { + "optional": true }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==" + "@angular/ssr": { + "optional": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" + "karma": { + "optional": true }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } + "less": { + "optional": true }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "requires": { - "ansi-regex": "^5.0.0" - } + "ng-packagr": { + "optional": true }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } + "postcss": { + "optional": true }, - "yargs": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", - "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.0" - } + "tailwindcss": { + "optional": true }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "vitest": { + "optional": true } } }, - "@angular/material": { - "version": "9.2.4", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-9.2.4.tgz", - "integrity": "sha512-LkoTXE6B0slvMhvfZDdPWaz4yaYLkaAp5VSPunI9pxGsPxzqEV9e210wC1/sjG/76Nk8Ep7/2z9XKac8Q9bMwA==" - }, - "@angular/platform-browser": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-9.1.4.tgz", - "integrity": "sha512-mBCHfTl+5tQfaUiGlDujP7mFBzovFc54Zi2kcCE8DSdSSVQ2TPBo6hXa6y2cL3hJPFZzQ7mC4ORFrsGADhHn/w==" - }, - "@angular/platform-browser-dynamic": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-9.1.4.tgz", - "integrity": "sha512-YtVbnxyS6FU7xNpA6A95tmSfrB8+WC7OH3mbP8M9NaGk0OYz8B/JOe1HByP4JRpEGCvBtXdJ2NSW/MpLIT8SiQ==" + "node_modules/@angular/cli": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-20.2.0.tgz", + "integrity": "sha512-p62hkuQOxf5kJsVq6AT7B1MHYo1uPGoZV4lf47qOrLjl0WANwfxEgLvyuVgL47ylnINbPnITeeUdoadVn4t1sw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@angular-devkit/architect": "0.2002.0", + "@angular-devkit/core": "20.2.0", + "@angular-devkit/schematics": "20.2.0", + "@inquirer/prompts": "7.8.2", + "@listr2/prompt-adapter-inquirer": "3.0.1", + "@modelcontextprotocol/sdk": "1.17.3", + "@schematics/angular": "20.2.0", + "@yarnpkg/lockfile": "1.1.0", + "algoliasearch": "5.35.0", + "ini": "5.0.0", + "jsonc-parser": "3.3.1", + "listr2": "9.0.1", + "npm-package-arg": "13.0.0", + "pacote": "21.0.0", + "resolve": "1.22.10", + "semver": "7.7.2", + "yargs": "18.0.0", + "zod": "3.25.76" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } }, - "@angular/router": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-9.1.4.tgz", - "integrity": "sha512-yUyjCgG2P2Jh8MvoyC6yirmAtx1Qe7MKLuLvsa9WOB571QNEcNLTYMfAMHUKsQTcE/+o984QyLlneoibgI9wFA==" + "node_modules/@angular/common": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-20.2.0.tgz", + "integrity": "sha512-mh0tF+QjCx1udoeBP4adOXVHVZ1E8okzT/yybYamD5abLiaMSSh4P50JTBuPmJgqqWo9MXDLOLTnKqBSv/FbZw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/core": "20.2.0", + "rxjs": "^6.5.3 || ^7.4.0" + } }, - "@babel/code-frame": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.8.3.tgz", - "integrity": "sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==", - "requires": { - "@babel/highlight": "^7.8.3" + "node_modules/@angular/compiler": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-20.2.0.tgz", + "integrity": "sha512-1kI7VFvuTODX/1TusUH/L1N+SDcDj9m/j/0Ewq+IKkizS4eOjgx+7UGBuTjw9yWZ7QQGEPdoQG9qsM2dhs9dUQ==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" } }, - "@babel/compat-data": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.9.6.tgz", - "integrity": "sha512-5QPTrNen2bm7RBc7dsOmcA5hbrS4O2Vhmk5XOL4zWW/zD/hV0iinpefDlkm+tBBy8kDtFaaeEvmAqt+nURAV2g==", + "node_modules/@angular/compiler-cli": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-20.2.0.tgz", + "integrity": "sha512-mZ7R7tMm1KMBZSCOKSeE9gb37u2ZGc5YlQ8bIgKo+Uik2uvXVDDG1NC/Qe/medYCriSGmI6HqfFce50Nx8/Uxg==", "dev": true, - "requires": { - "browserslist": "^4.11.1", - "invariant": "^2.2.4", - "semver": "^5.5.0" - }, + "license": "MIT", "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "@babel/core": "7.28.3", + "@jridgewell/sourcemap-codec": "^1.4.14", + "chokidar": "^4.0.0", + "convert-source-map": "^1.5.1", + "reflect-metadata": "^0.2.0", + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^18.0.0" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.2.0", + "typescript": ">=5.8 <6.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true } } }, - "@babel/core": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.9.0.tgz", - "integrity": "sha512-kWc7L0fw1xwvI0zi8OKVBuxRVefwGOrKSQMvrQ3dW+bIIavBY3/NpXmpjMy7bQnLgwgzWQZ8TlM57YHpHNHz4w==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.0", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helpers": "^7.9.0", - "@babel/parser": "^7.9.0", - "@babel/template": "^7.8.6", - "@babel/traverse": "^7.9.0", - "@babel/types": "^7.9.0", - "convert-source-map": "^1.7.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.13", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "node_modules/@angular/core": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-20.2.0.tgz", + "integrity": "sha512-4qXWdKYRFNlc1FfgNfYF5189rZ8BnvU5DN2iH2/djRdRJikpm3+JeEuFW7GFjF9dyjOE97x0S3dbVHs0c5mcYA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/compiler": "20.2.0", + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.15.0" + }, + "peerDependenciesMeta": { + "@angular/compiler": { + "optional": true }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "zone.js": { + "optional": true } } }, - "@babel/generator": { - "version": "7.9.3", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.3.tgz", - "integrity": "sha512-RpxM252EYsz9qLUIq6F7YJyK1sv0wWDBFuztfDGWaQKzHjqDHysxSiRUpA/X9jmfqo+WzkAVKFaUily5h+gDCQ==", - "requires": { - "@babel/types": "^7.9.0", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - }, + "node_modules/@angular/forms": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-20.2.0.tgz", + "integrity": "sha512-vG5FIMCGNDMbaWPSazd5Jv14cW+aVUg8G5ikWRSGU1aou7uzmzT2n+zpg4PDSxOFeNXuSZV3n5zJ5prM1NaYJg==", + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } - }, - "@babel/helper-annotate-as-pure": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.8.3.tgz", - "integrity": "sha512-6o+mJrZBxOoEX77Ezv9zwW7WV8DdluouRKNY/IR5u/YTMuKHgugHOzYWlYvYLpLA9nPsQCAAASpCIbjI9Mv+Uw==", - "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.8.3.tgz", - "integrity": "sha512-5eFOm2SyFPK4Rh3XMMRDjN7lBH0orh3ss0g3rTYZnBQ+r6YPj7lgDyCvPphynHvUrobJmeMignBr6Acw9mAPlw==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.8.3", - "@babel/types": "^7.8.3" + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.2.0", + "@angular/core": "20.2.0", + "@angular/platform-browser": "20.2.0", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "@babel/helper-compilation-targets": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.9.6.tgz", - "integrity": "sha512-x2Nvu0igO0ejXzx09B/1fGBxY9NXQlBW2kZsSxCJft+KHN8t9XWzIvFxtPHnBOAXpVsdxZKZFbRUC8TsNKajMw==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.9.6", - "browserslist": "^4.11.1", - "invariant": "^2.2.4", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, + "node_modules/@angular/platform-browser": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-20.2.0.tgz", + "integrity": "sha512-0CyDeXLQixXAWRBq4vfwALo0a0/igtUH1bFkHBUy4u6Nku7S8K7GG/HDN0CGlpep9Xz9o0ghF1zfZHfmEQxlmg==", + "license": "MIT", "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/animations": "20.2.0", + "@angular/common": "20.2.0", + "@angular/core": "20.2.0" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true } } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.8.8.tgz", - "integrity": "sha512-LYVPdwkrQEiX9+1R29Ld/wTrmQu1SSKYnuOk3g0CkcZMA1p0gsNxJFj/3gBdaJ7Cg0Fnek5z0DsMULePP7Lrqg==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-regex": "^7.8.3", - "regexpu-core": "^4.7.0" + "node_modules/@angular/router": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-20.2.0.tgz", + "integrity": "sha512-pUrRVdgHkkd1b3GqHpuq/4YJTuNYGXWykg9t5MUjnt94H6gynpyEmYEZB+RNqwTTZLHgRRv9Y7JMRbwIdupNpA==", + "license": "MIT", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0" + }, + "peerDependencies": { + "@angular/common": "20.2.0", + "@angular/core": "20.2.0", + "@angular/platform-browser": "20.2.0", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "@babel/helper-define-map": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.8.3.tgz", - "integrity": "sha512-PoeBYtxoZGtct3md6xZOCWPcKuMuk3IHhgxsRRNtnNShebf4C8YonTSblsK4tvDbm+eJAw2HAPOfCr+Q/YRG/g==", + "node_modules/@babel/code-frame": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", + "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/types": "^7.8.3", - "lodash": "^4.17.13" + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.27.1", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.8.3.tgz", - "integrity": "sha512-N+8eW86/Kj147bO9G2uclsg5pwfs/fqqY5rwgIL7eTBklgXjcOJ3btzS5iM6AitJcftnY7pm2lGsrJVYLGjzIw==", + "node_modules/@babel/compat-data": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.0.tgz", + "integrity": "sha512-60X7qkglvrap8mn1lh2ebxXdZYtUcpd7gsmy9kLaBJ4i/WdY8PqTSdxyA8qraikqKQK5C1KRBKXqznrVapyNaw==", "dev": true, - "requires": { - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-function-name": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.9.5.tgz", - "integrity": "sha512-JVcQZeXM59Cd1qanDUxv9fgJpt3NeKUaqBqUEvfmQ+BCOKq2xUgaWZW2hr0dkbyJgezYuplEoh5knmrnS68efw==", - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/types": "^7.9.5" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-get-function-arity": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.8.3.tgz", - "integrity": "sha512-FVDR+Gd9iLjUMY1fzE2SR0IuaJToR4RkCDARVfsBBPSP53GEqSFjD8gNyxg246VUyc/ALRxFaAK8rVG7UT7xRA==", - "requires": { - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-hoist-variables": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.8.3.tgz", - "integrity": "sha512-ky1JLOjcDUtSc+xkt0xhYff7Z6ILTAHKmZLHPxAhOP0Nd77O+3nCsd6uSVYur6nJnCI029CrNbYlc0LoPfAPQg==", + "node_modules/@babel/core": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.3.tgz", + "integrity": "sha512-yDBHV9kQNcr2/sUr9jghVyz9C3Y5G2zUM2H2lo+9mKv4sFgbA8s8Z9t8D1jiTkGoO/NoIfKMyKWr4s6CN23ZwQ==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "license": "MIT", + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-compilation-targets": "^7.27.2", + "@babel/helper-module-transforms": "^7.28.3", + "@babel/helpers": "^7.28.3", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/traverse": "^7.28.3", + "@babel/types": "^7.28.2", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.8.3.tgz", - "integrity": "sha512-fO4Egq88utkQFjbPrSHGmGLFqmrshs11d46WI+WZDESt7Wu7wN2G2Iu+NMMZJFDOVRHAMIkB5SNh30NtwCA7RA==", + "node_modules/@babel/core/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" - } + "license": "MIT" }, - "@babel/helper-module-imports": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.8.3.tgz", - "integrity": "sha512-R0Bx3jippsbAEtzkpZ/6FIiuzOURPcMjHp+Z6xPe6DtApDJx+w7UYyOLanZqO8+wKR9G10s/FmHXvxaMd9s6Kg==", + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-module-transforms": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.9.0.tgz", - "integrity": "sha512-0FvKyu0gpPfIQ8EkxlrAydOWROdHpBmiCiRwLkUiBGhCUPRRbVD2/tm3sFr/c/GWFrQ/ffutGUAnx7V0FzT2wA==", + "node_modules/@babel/generator": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.3.tgz", + "integrity": "sha512-3lSpxGgvnmZznmBkCRnVREPUFJv2wrv9iAoFDvADJc0ypmdOxdUtcLeBgBJ6zE0PMeTKnxeQzyk0xTBq4Ep7zw==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-simple-access": "^7.8.3", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/template": "^7.8.6", - "@babel/types": "^7.9.0", - "lodash": "^4.17.13" + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.3", + "@babel/types": "^7.28.2", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.8.3.tgz", - "integrity": "sha512-Kag20n86cbO2AvHca6EJsvqAd82gc6VMGule4HwebwMlwkpXuVqrNRj6CkCV2sKxgi9MyAUnZVnZ6lJ1/vKhHQ==", + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.27.3", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.27.3.tgz", + "integrity": "sha512-fXSwMQqitTGeHLBC08Eq5yXz2m37E4pJX1qAU1+2cNedz/ifv/bVXft90VeSav5nFO61EcNgwr0aJxbyPaWBPg==", "dev": true, - "requires": { - "@babel/types": "^7.8.3" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.27.3" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-plugin-utils": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.8.3.tgz", - "integrity": "sha512-j+fq49Xds2smCUNYmEHF9kGNkhbet6yVIBp4e6oeQpH1RUs/Ir06xUKzDjDkGcaaokPiTNs2JBWHjaE4csUkZQ==", - "dev": true - }, - "@babel/helper-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.8.3.tgz", - "integrity": "sha512-BWt0QtYv/cg/NecOAZMdcn/waj/5P26DR4mVLXfFtDokSR6fyuG0Pj+e2FqtSME+MqED1khnSMulkmGl8qWiUQ==", + "node_modules/@babel/helper-compilation-targets": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", + "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", "dev": true, - "requires": { - "lodash": "^4.17.13" + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.27.2", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-remap-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.8.3.tgz", - "integrity": "sha512-kgwDmw4fCg7AVgS4DukQR/roGp+jP+XluJE5hsRZwxCYGg+Rv9wSGErDWhlI90FODdYfd4xG4AQRiMDjjN0GzA==", + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-wrap-function": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-replace-supers": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.9.6.tgz", - "integrity": "sha512-qX+chbxkbArLyCImk3bWV+jB5gTNU/rsze+JlcF6Nf8tVTigPJSI1o1oBow/9Resa1yehUO9lIipsmu9oG4RzA==", + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.8.3", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/traverse": "^7.9.6", - "@babel/types": "^7.9.6" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-simple-access": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.8.3.tgz", - "integrity": "sha512-VNGUDjx5cCWg4vvCTR8qQ7YJYZ+HBjxOgXEl7ounz+4Sn7+LMD3CFrCTEU6/qXKbA2nKg21CwhhBzO0RpRbdCw==", + "node_modules/@babel/helper-module-imports": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", + "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", "dev": true, - "requires": { - "@babel/template": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.8.3.tgz", - "integrity": "sha512-3x3yOeyBhW851hroze7ElzdkeRXQYQbFIb7gLK1WQYsw2GWDay5gAJNw1sWJ0VFP6z5J1whqeXH/WCdCjZv6dA==", - "requires": { - "@babel/types": "^7.8.3" + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.27.1", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-validator-identifier": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.9.5.tgz", - "integrity": "sha512-/8arLKUFq882w4tWGj9JYzRpAlZgiWUJ+dtteNTDqrRBz9Iguck9Rn3ykuBDoUwh2TO4tSAJlrxDUOXWklJe4g==" - }, - "@babel/helper-wrap-function": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.8.3.tgz", - "integrity": "sha512-LACJrbUET9cQDzb6kG7EeD7+7doC3JNvUgTEQOx2qaO1fKlzE/Bf05qs9w1oXQMmXlPO65lC3Tq9S6gZpTErEQ==", + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", + "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.8.3", - "@babel/types": "^7.8.3" - } - }, - "@babel/helpers": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.9.6.tgz", - "integrity": "sha512-tI4bUbldloLcHWoRUMAj4g1bF313M/o6fBKhIsb3QnGVPwRm9JsNf/gqMkQ7zjqReABiffPV6RWj7hEglID5Iw==", - "requires": { - "@babel/template": "^7.8.3", - "@babel/traverse": "^7.9.6", - "@babel/types": "^7.9.6" + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1", + "@babel/traverse": "^7.28.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" } }, - "@babel/highlight": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.9.0.tgz", - "integrity": "sha512-lJZPilxX7Op3Nv/2cvFdnlepPXDxi29wxteT57Q965oc5R9v86ztx0jfxVrTcBk8C2kcPkkDa2Z4T3ZsPPVWsQ==", - "requires": { - "@babel/helper-validator-identifier": "^7.9.0", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.24.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.24.7.tgz", + "integrity": "sha512-oy5V7pD+UvfkEATUKvIjvIAH/xCzfsFVw7ygW2SI6NClZzquT+mwdTfgfdbUiceh6iQO0CHtCPsyze/MZ2YbAA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.24.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/parser": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.9.6.tgz", - "integrity": "sha512-AoeIEJn8vt+d/6+PXDRPaksYhnlbMIiejioBZvvMQsOjW/JYK6k/0dKnvvP3EhK5GfMBWDPtrxRtegWdAcdq9Q==" - }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.8.3.tgz", - "integrity": "sha512-NZ9zLv848JsV3hs8ryEh7Uaz/0KsmPLqv0+PdkDJL1cJy0K4kOCFa8zc1E3mp+RHPQcpdfb/6GovEsW4VDrOMw==", + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.8.3.tgz", - "integrity": "sha512-NyaBbyLFXFLT9FP+zk0kYlUlA8XtCUbehs67F0nnEg7KICgMc2mNkIeu9TYhKzyXMkrapZFwAhXLdnt4IYHy1w==", + "node_modules/@babel/helper-validator-identifier": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", + "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.8.3.tgz", - "integrity": "sha512-KGhQNZ3TVCQG/MjRbAUwuH+14y9q0tpxs1nWWs3pbSleRdDro9SAMMDyye8HhY1gqZ7/NqIc8SKhya0wRDgP1Q==", + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0" + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-TS9MlfzXpXKt6YYomudb/KU7nQI6/xnapG6in1uZxoxDghuSMZsPb6D2fyUwNYSAp4l1iR7QtFOjkqcRYcUsfw==", + "node_modules/@babel/helpers": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.3.tgz", + "integrity": "sha512-PTNtvUQihsAsDHMOP5pfobP8C6CM4JWXmP8DrEIt46c3r2bf87Ua1zoqevsMo9g+tWDwgWrFP5EIxuBx5RudAw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "license": "MIT", + "dependencies": { + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.8.3.tgz", - "integrity": "sha512-jWioO1s6R/R+wEHizfaScNsAx+xKgwTLNXSh7tTC4Usj3ItsPEhYkEpU4h+lpnBwq7NBVOJXfO6cRFYcX69JUQ==", + "node_modules/@babel/parser": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.3.tgz", + "integrity": "sha512-7+Ey1mAgYqFAx2h0RuoxcQT5+MlG3GTV0TQrgr7/ZliKsm/MNDxVVutlWaziMq7wJNAz8MTqz55XLpWvva6StA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.8.3" + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.9.6.tgz", - "integrity": "sha512-Ga6/fhGqA9Hj+y6whNpPv8psyaK5xzrQwSPsGPloVkvmH+PqW1ixdnfJ9uIO06OjQNYol3PMnfmJ8vfZtkzF+A==", + "node_modules/@babel/template": { + "version": "7.27.2", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", + "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.9.5" + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/parser": "^7.27.2", + "@babel/types": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-0gkX7J7E+AtAw9fcwlVQj8peP61qhdg/89D5swOkjYbkboA2CVckn3kiyum1DE0wskGb7KJJxBdyEBApDLLVdw==", + "node_modules/@babel/traverse": { + "version": "7.28.3", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.3.tgz", + "integrity": "sha512-7w4kZYHneL3A6NP2nxzHvT3HCZ7puDZZjFMqDpBPECub79sTtSO5CGXDkKrTQq8ksAwfD/XI2MRFX23njdDaIQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.27.1", + "@babel/generator": "^7.28.3", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.28.3", + "@babel/template": "^7.27.2", + "@babel/types": "^7.28.2", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.9.0.tgz", - "integrity": "sha512-NDn5tu3tcv4W30jNhmc2hyD5c56G6cXx4TesJubhxrJeCvuuMpttxr0OnNCqbZGhFjLrg+NIhxxC+BK5F6yS3w==", + "node_modules/@babel/types": { + "version": "7.28.2", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.2.tgz", + "integrity": "sha512-ruv7Ae4J5dUYULmeXw1gmb7rYRz57OWCPM57pHojnLq/3Z1CK2lNSLTCVjxVk1F/TZHwOZZrOWi0ur95BbLxNQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.8.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.8.8.tgz", - "integrity": "sha512-EVhjVsMpbhLw9ZfHWSx2iy13Q8Z/eg8e8ccVWt23sWQK5l1UdkoLJPN5w69UA4uITGBnEZD2JOe4QOHycYKv8A==", + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.8", - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "engines": { + "node": ">=0.1.90" } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@emnapi/core": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.4.5.tgz", + "integrity": "sha512-XsLw1dEOpkSX/WucdqUhPWP7hDxSvZiY+fsUC14h+FtQ2Ifni4znbBt8punRX+Uj2JG/uDb8nEHVKvrVlvdZ5Q==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.0.4", + "tslib": "^2.4.0" } }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@emnapi/runtime": { + "version": "1.4.5", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.5.tgz", + "integrity": "sha512-++LApOtY0pEEz1zrd9vy1/zXVaVJJ/EbAF3u0fXIzPJEDtnITsBGbbK0EkM72amhl/R5b+5xx0Y/QhcVOpuulg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@emnapi/wasi-threads": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.0.4.tgz", + "integrity": "sha512-PJR+bOmMOPH8AtcTGAyYNiuJ3/Fcoj2XN/gBEWzDIKh254XO+mM9XoXHk5GNEhodxeMznbg7BlRojVbKN+gC6g==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.9.tgz", + "integrity": "sha512-OaGtL73Jck6pBKjNIe24BnFE6agGl+6KxDtTfHhy1HmhthfKouEcOhqpSL64K4/0WCtbKFLOdzD/44cJ4k9opA==", + "cpu": [ + "ppc64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.9.tgz", + "integrity": "sha512-5WNI1DaMtxQ7t7B6xa572XMXpHAaI/9Hnhk8lcxF4zVN4xstUgTlvuGDorBguKEnZO70qwEcLpfifMLoxiPqHQ==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.9.tgz", + "integrity": "sha512-IDrddSmpSv51ftWslJMvl3Q2ZT98fUSL2/rlUXuVqRXHCs5EUF1/f+jbjF5+NG9UffUDMCiTyh8iec7u8RlTLg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.9.tgz", + "integrity": "sha512-I853iMZ1hWZdNllhVZKm34f4wErd4lMyeV7BLzEExGEIZYsOzqDWDf+y082izYUE8gtJnYHdeDpN/6tUdwvfiw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.9.tgz", + "integrity": "sha512-XIpIDMAjOELi/9PB30vEbVMs3GV1v2zkkPnuyRRURbhqjyzIINwj+nbQATh4H9GxUgH1kFsEyQMxwiLFKUS6Rg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.9.tgz", + "integrity": "sha512-jhHfBzjYTA1IQu8VyrjCX4ApJDnH+ez+IYVEoJHeqJm9VhG9Dh2BYaJritkYK3vMaXrf7Ogr/0MQ8/MeIefsPQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.9.tgz", + "integrity": "sha512-z93DmbnY6fX9+KdD4Ue/H6sYs+bhFQJNCPZsi4XWJoYblUqT06MQUdBCpcSfuiN72AbqeBFu5LVQTjfXDE2A6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.9.tgz", + "integrity": "sha512-mrKX6H/vOyo5v71YfXWJxLVxgy1kyt1MQaD8wZJgJfG4gq4DpQGpgTB74e5yBeQdyMTbgxp0YtNj7NuHN0PoZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.9.tgz", + "integrity": "sha512-HBU2Xv78SMgaydBmdor38lg8YDnFKSARg1Q6AT0/y2ezUAKiZvc211RDFHlEZRFNRVhcMamiToo7bDx3VEOYQw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.9.tgz", + "integrity": "sha512-BlB7bIcLT3G26urh5Dmse7fiLmLXnRlopw4s8DalgZ8ef79Jj4aUcYbk90g8iCa2467HX8SAIidbL7gsqXHdRw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.9.tgz", + "integrity": "sha512-e7S3MOJPZGp2QW6AK6+Ly81rC7oOSerQ+P8L0ta4FhVi+/j/v2yZzx5CqqDaWjtPFfYz21Vi1S0auHrap3Ma3A==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.9.tgz", + "integrity": "sha512-Sbe10Bnn0oUAB2AalYztvGcK+o6YFFA/9829PhOCUS9vkJElXGdphz0A3DbMdP8gmKkqPmPcMJmJOrI3VYB1JQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.9.tgz", + "integrity": "sha512-YcM5br0mVyZw2jcQeLIkhWtKPeVfAerES5PvOzaDxVtIyZ2NUBZKNLjC5z3/fUlDgT6w89VsxP2qzNipOaaDyA==", + "cpu": [ + "mips64el" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.9.tgz", + "integrity": "sha512-++0HQvasdo20JytyDpFvQtNrEsAgNG2CY1CLMwGXfFTKGBGQT3bOeLSYE2l1fYdvML5KUuwn9Z8L1EWe2tzs1w==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.9.tgz", + "integrity": "sha512-uNIBa279Y3fkjV+2cUjx36xkx7eSjb8IvnL01eXUKXez/CBHNRw5ekCGMPM0BcmqBxBcdgUWuUXmVWwm4CH9kg==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.9.tgz", + "integrity": "sha512-Mfiphvp3MjC/lctb+7D287Xw1DGzqJPb/J2aHHcHxflUo+8tmN/6d4k6I2yFR7BVo5/g7x2Monq4+Yew0EHRIA==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.9.tgz", + "integrity": "sha512-iSwByxzRe48YVkmpbgoxVzn76BXjlYFXC7NvLYq+b+kDjyyk30J0JY47DIn8z1MO3K0oSl9fZoRmZPQI4Hklzg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.9.tgz", + "integrity": "sha512-9jNJl6FqaUG+COdQMjSCGW4QiMHH88xWbvZ+kRVblZsWrkXlABuGdFJ1E9L7HK+T0Yqd4akKNa/lO0+jDxQD4Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.9.tgz", + "integrity": "sha512-RLLdkflmqRG8KanPGOU7Rpg829ZHu8nFy5Pqdi9U01VYtG9Y0zOG6Vr2z4/S+/3zIyOxiK6cCeYNWOFR9QP87g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.9.tgz", + "integrity": "sha512-YaFBlPGeDasft5IIM+CQAhJAqS3St3nJzDEgsgFixcfZeyGPCd6eJBWzke5piZuZ7CtL656eOSYKk4Ls2C0FRQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.9.tgz", + "integrity": "sha512-1MkgTCuvMGWuqVtAvkpkXFmtL8XhWy+j4jaSO2wxfJtilVCi0ZE37b8uOdMItIHz4I6z1bWWtEX4CJwcKYLcuA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.9.tgz", + "integrity": "sha512-4Xd0xNiMVXKh6Fa7HEJQbrpP3m3DDn43jKxMjxLLRjWnRsfxjORYJlXPO4JNcXtOyfajXorRKY9NkOpTHptErg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.9.tgz", + "integrity": "sha512-WjH4s6hzo00nNezhp3wFIAfmGZ8U7KtrJNlFMRKxiI9mxEK1scOMAaa9i4crUtu+tBr+0IN6JCuAcSBJZfnphw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.9.tgz", + "integrity": "sha512-mGFrVJHmZiRqmP8xFOc6b84/7xa5y5YvR1x8djzXpJBSv/UsNK6aqec+6JDjConTgvvQefdGhFDAs2DLAds6gQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.9.tgz", + "integrity": "sha512-b33gLVU2k11nVx1OhX3C8QQP6UHQK4ZtN56oFWvVXvz2VkDoe6fbG8TOgHFxEvqeqohmRnIHe5A1+HADk4OQww==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.9.tgz", + "integrity": "sha512-PPOl1mi6lpLNQxnGoyAfschAodRFYXJ+9fs6WHXz7CSWKbOqiMZsubC+BQsVKuul+3vKLuwTHsS2c2y9EoKwxQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.8.3.tgz", - "integrity": "sha512-H7dCMAdN83PcCmqmkHB5dtp+Xa9a6LKSvA2hiFBC/5alSHxM5VgWZXFqDi0YFe8XNGT6iCa+z4V4zSt/PdZ7Dw==", + "node_modules/@inquirer/checkbox": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/checkbox/-/checkbox-4.2.1.tgz", + "integrity": "sha512-bevKGO6kX1eM/N+pdh9leS5L7TBF4ICrzi9a+cbWkrxeAeIcwlo/7OfWGCDERdRCI2/Q6tjltX4bt07ALHDwFw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@inquirer/confirm": { + "version": "5.1.14", + "resolved": "https://registry.npmjs.org/@inquirer/confirm/-/confirm-5.1.14.tgz", + "integrity": "sha512-5yR4IBfe0kXe59r1YCTG8WXkUbl7Z35HK87Sw+WUyGD8wNUx7JvY7laahzeytyE1oLn74bQnL7hstctQxisQ8Q==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@inquirer/core": { + "version": "10.1.15", + "resolved": "https://registry.npmjs.org/@inquirer/core/-/core-10.1.15.tgz", + "integrity": "sha512-8xrp836RZvKkpNbVvgWUlxjT4CraKk2q+I3Ksy+seI2zkcE+y6wNs1BVhgcv8VyImFecUhdQrYLdW32pAjwBdA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "cli-width": "^4.1.0", + "mute-stream": "^2.0.0", + "signal-exit": "^4.1.0", + "wrap-ansi": "^6.2.0", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@inquirer/editor": { + "version": "4.2.17", + "resolved": "https://registry.npmjs.org/@inquirer/editor/-/editor-4.2.17.tgz", + "integrity": "sha512-r6bQLsyPSzbWrZZ9ufoWL+CztkSatnJ6uSxqd6N+o41EZC51sQeWOzI6s5jLb+xxTWxl7PlUppqm8/sow241gg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/external-editor": "^1.0.1", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.8.3.tgz", - "integrity": "sha512-kwj1j9lL/6Wd0hROD3b/OZZ7MSrZLqqn9RAZ5+cYYsflQ9HZBIKCUkr3+uL1MEJ1NePiUbf98jjiMQSv0NMR9g==", + "node_modules/@inquirer/expand": { + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/@inquirer/expand/-/expand-4.0.17.tgz", + "integrity": "sha512-PSqy9VmJx/VbE3CT453yOfNa+PykpKg/0SYP7odez1/NWBGuDXgPhp4AeGYYKjhLn5lUUavVS/JbeYMPdH50Mw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.8.3.tgz", - "integrity": "sha512-0MRF+KC8EqH4dbuITCWwPSzsyO3HIWWlm30v8BbbpOrS1B++isGxPnnuq/IZvOX5J2D/p7DQalQm+/2PnlKGxg==", + "node_modules/@inquirer/external-editor": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@inquirer/external-editor/-/external-editor-1.0.1.tgz", + "integrity": "sha512-Oau4yL24d2B5IL4ma4UpbQigkVhzPDXLoqy1ggK4gnHg/stmkffJE4oOXHXF3uz0UEpywG68KcyXsyYpA1Re/Q==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "chardet": "^2.1.0", + "iconv-lite": "^0.6.3" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.8.3.tgz", - "integrity": "sha512-imt9tFLD9ogt56Dd5CI/6XgpukMwd/fLGSrix2httihVe7LOGVPhyhMh1BU5kDM7iHD08i8uUtmV2sWaBFlHVQ==", + "node_modules/@inquirer/figures": { + "version": "1.0.13", + "resolved": "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.13.tgz", + "integrity": "sha512-lGPVU3yO9ZNqA7vTYz26jny41lE7yoQansmqdMLBEfqaGsmdg7V3W9mK9Pvb5IL4EVZ9GnSDGMO/cJXud5dMaw==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-remap-async-to-generator": "^7.8.3" + "license": "MIT", + "engines": { + "node": ">=18" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.8.3.tgz", - "integrity": "sha512-vo4F2OewqjbB1+yaJ7k2EJFHlTP3jR634Z9Cj9itpqNjuLXvhlVxgnjsHsdRgASR8xYDrx6onw4vW5H6We0Jmg==", + "node_modules/@inquirer/input": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/@inquirer/input/-/input-4.2.1.tgz", + "integrity": "sha512-tVC+O1rBl0lJpoUZv4xY+WGWY8V5b0zxU1XDsMsIHYregdh7bN5X5QnIONNBAl0K765FYlAfNHS2Bhn7SSOVow==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.8.3.tgz", - "integrity": "sha512-pGnYfm7RNRgYRi7bids5bHluENHqJhrV4bCZRwc5GamaWIIs07N4rZECcmJL6ZClwjDz1GbdMZFtPs27hTB06w==", + "node_modules/@inquirer/number": { + "version": "3.0.17", + "resolved": "https://registry.npmjs.org/@inquirer/number/-/number-3.0.17.tgz", + "integrity": "sha512-GcvGHkyIgfZgVnnimURdOueMk0CztycfC8NZTiIY9arIAkeOgt6zG57G+7vC59Jns3UX27LMkPKnKWAOF5xEYg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "lodash": "^4.17.13" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-classes": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.9.5.tgz", - "integrity": "sha512-x2kZoIuLC//O5iA7PEvecB105o7TLzZo8ofBVhP79N+DO3jaX+KYfww9TQcfBEZD0nikNyYcGB1IKtRq36rdmg==", + "node_modules/@inquirer/password": { + "version": "4.0.17", + "resolved": "https://registry.npmjs.org/@inquirer/password/-/password-4.0.17.tgz", + "integrity": "sha512-DJolTnNeZ00E1+1TW+8614F7rOJJCM4y4BAGQ3Gq6kQIG+OJ4zr3GLjIjVVJCbKsk2jmkmv6v2kQuN/vriHdZA==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-define-map": "^7.8.3", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-optimise-call-expression": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.6", - "@babel/helper-split-export-declaration": "^7.8.3", - "globals": "^11.1.0" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.8.3.tgz", - "integrity": "sha512-O5hiIpSyOGdrQZRQ2ccwtTVkgUDBBiCuK//4RJ6UfePllUTCENOzKxfh6ulckXKc0DixTFLCfb2HVkNA7aDpzA==", + "node_modules/@inquirer/prompts": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/@inquirer/prompts/-/prompts-7.8.2.tgz", + "integrity": "sha512-nqhDw2ZcAUrKNPwhjinJny903bRhI0rQhiDz1LksjeRxqa36i3l75+4iXbOy0rlDpLJGxqtgoPavQjmmyS5UJw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/checkbox": "^4.2.1", + "@inquirer/confirm": "^5.1.14", + "@inquirer/editor": "^4.2.17", + "@inquirer/expand": "^4.0.17", + "@inquirer/input": "^4.2.1", + "@inquirer/number": "^3.0.17", + "@inquirer/password": "^4.0.17", + "@inquirer/rawlist": "^4.1.5", + "@inquirer/search": "^3.1.0", + "@inquirer/select": "^4.3.1" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-destructuring": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.9.5.tgz", - "integrity": "sha512-j3OEsGel8nHL/iusv/mRd5fYZ3DrOxWC82x0ogmdN/vHfAP4MYw+AFKYanzWlktNwikKvlzUV//afBW5FTp17Q==", + "node_modules/@inquirer/rawlist": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/@inquirer/rawlist/-/rawlist-4.1.5.tgz", + "integrity": "sha512-R5qMyGJqtDdi4Ht521iAkNqyB6p2UPuZUbMifakg1sWtu24gc2Z8CJuw8rP081OckNDMgtDCuLe42Q2Kr3BolA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.8.3.tgz", - "integrity": "sha512-kLs1j9Nn4MQoBYdRXH6AeaXMbEJFaFu/v1nQkvib6QzTj8MZI5OQzqmD83/2jEM1z0DLilra5aWO5YpyC0ALIw==", + "node_modules/@inquirer/search": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@inquirer/search/-/search-3.1.0.tgz", + "integrity": "sha512-PMk1+O/WBcYJDq2H7foV0aAZSmDdkzZB9Mw2v/DmONRJopwA/128cS9M/TXWLKKdEQKZnKwBzqu2G4x/2Nqx8Q==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.8.3.tgz", - "integrity": "sha512-s8dHiBUbcbSgipS4SMFuWGqCvyge5V2ZeAWzR6INTVC3Ltjig/Vw1G2Gztv0vU/hRG9X8IvKvYdoksnUfgXOEQ==", + "node_modules/@inquirer/select": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@inquirer/select/-/select-4.3.1.tgz", + "integrity": "sha512-Gfl/5sqOF5vS/LIrSndFgOh7jgoe0UXEizDqahFRkq5aJBLegZ6WjuMh/hVEJwlFQjyLq1z9fRtvUMkb7jM1LA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@inquirer/core": "^10.1.15", + "@inquirer/figures": "^1.0.13", + "@inquirer/type": "^3.0.8", + "ansi-escapes": "^4.3.2", + "yoctocolors-cjs": "^2.1.2" + }, + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.8.3.tgz", - "integrity": "sha512-zwIpuIymb3ACcInbksHaNcR12S++0MDLKkiqXHl3AzpgdKlFNhog+z/K0+TGW+b0w5pgTq4H6IwV/WhxbGYSjQ==", + "node_modules/@inquirer/type": { + "version": "3.0.8", + "resolved": "https://registry.npmjs.org/@inquirer/type/-/type-3.0.8.tgz", + "integrity": "sha512-lg9Whz8onIHRthWaN1Q9EGLa/0LFJjyM8mEUbL1eTi6yMGvBf8gvyDLtxSXztQsxMvhxxNpJYrwa1YHdq+w4Jw==", "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "peerDependencies": { + "@types/node": ">=18" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + } } }, - "@babel/plugin-transform-for-of": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.9.0.tgz", - "integrity": "sha512-lTAnWOpMwOXpyDx06N+ywmF3jNbafZEqZ96CGYabxHrxNX8l5ny7dt4bK/rGwAh9utyP2b2Hv7PlZh1AAS54FQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/browser": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/browser/-/browser-4.1.0.tgz", + "integrity": "sha512-mgUfFLIFh5+KD5Y96gC+QKzI8MUMdqrc/ZG4HWyDmyUtAtRIj7Oz790xmoYE70g7PLA3fpUh/ww3n6z0KfmOWQ==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.7.0", + "@interopio/desktop": "^6.14.0", + "@interopio/search-api": "^3.1.0", + "@interopio/workspaces-api": "^4.1.0", + "callback-registry": "^2.7.2" } }, - "@babel/plugin-transform-function-name": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.8.3.tgz", - "integrity": "sha512-rO/OnDS78Eifbjn5Py9v8y0aR+aSYhDhqAwVfsTl0ERuMZyr05L1aFSCJnbv2mmsLkit/4ReeQ9N2BgLnOcPCQ==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/browser-platform": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/browser-platform/-/browser-platform-4.1.0.tgz", + "integrity": "sha512-JWqn8TEsUZX5D2UqqAtSebCyvbOFwhjLIqqb3Lo09WMyNkFEAOeoYyit5jPPgOxuSZCdksiedp5Ro9dosBEX/w==", + "license": "Commercial", + "dependencies": { + "@interopio/browser": "^4.1.0", + "@interopio/core": "^6.7.0", + "@interopio/desktop": "^6.14.0" } }, - "@babel/plugin-transform-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.8.3.tgz", - "integrity": "sha512-3Tqf8JJ/qB7TeldGl+TT55+uQei9JfYaregDcEAyBZ7akutriFrt6C/wLYIer6OYhleVQvH/ntEhjE/xMmy10A==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/core": { + "version": "6.7.0", + "resolved": "https://registry.npmjs.org/@interopio/core/-/core-6.7.0.tgz", + "integrity": "sha512-S2yroornM9BF2axGVtLoV8vKawrXpdJuKLMop6SC5/O7G7MjEW0YwZ17vikcEWe+hdqJ3n439ZR9eTJuWGu4ng==", + "license": "MIT", + "dependencies": { + "callback-registry": "^2.7.2", + "ws": "^8.18.0" } }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.8.3.tgz", - "integrity": "sha512-3Wk2EXhnw+rP+IDkK6BdtPKsUE5IeZ6QOGrPYvw52NwBStw9V1ZVzxgK6fSKSxqUvH9eQPR3tm3cOq79HlsKYA==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/core/node_modules/ws": { + "version": "8.18.3", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.18.3.tgz", + "integrity": "sha512-PEIGCY5tSlUt50cqyMXfCzX+oOPqN0vuGqWzbcJ2xvnkzkq46oOpz7dQaTDBdfICb4N14+GARUDw2XV2N4tvzg==", + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.9.6.tgz", - "integrity": "sha512-zoT0kgC3EixAyIAU+9vfaUVKTv9IxBDSabgHoUCBP6FqEJ+iNiN7ip7NBKcYqbfUDfuC2mFCbM7vbu4qJgOnDw==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.3" + "node_modules/@interopio/desktop": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/@interopio/desktop/-/desktop-6.14.0.tgz", + "integrity": "sha512-/GhknWLqFi5h/yzLT++cKW5O9SomWK2BnrxQj9EnFqr8Hb6Swib9u/s7ZxRWcYjni8dq+VEZ+C3n/oXp/EisHg==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.5.2-fmr-beta", + "@interopio/schemas": "^9.9.0", + "@interopio/utils": "^1.4.2", + "@interopio/workspaces-api": "^4.0.0", + "callback-registry": "^2.7.1" } }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.9.6.tgz", - "integrity": "sha512-7H25fSlLcn+iYimmsNe3uK1at79IE6SKW9q0/QeEHTMC9MdOZ+4bA+T1VFB5fgOqBWoqlifXRzYD0JPdmIrgSQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-simple-access": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.3" + "node_modules/@interopio/ng": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@interopio/ng/-/ng-6.0.0.tgz", + "integrity": "sha512-QSREUUrbHd3wgGGUucv3CD5Agy3+3rUhaasEkoNHp3sQR1bRFSDDV2n4SdHIdwNXFAZUF9fKzt3uFH46gC7FDw==", + "license": "MIT", + "dependencies": { + "@interopio/browser": "^4.1.0", + "@interopio/browser-platform": "^4.1.0", + "@interopio/desktop": "^6.14.0" + }, + "peerDependencies": { + "@angular/common": ">=19.0.0", + "@angular/core": ">=19.0.0" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.9.6.tgz", - "integrity": "sha512-NW5XQuW3N2tTHim8e1b7qGy7s0kZ2OH3m5octc49K1SdAKGxYxeIx7hiIz05kS1R2R+hOWcsr1eYwcGhrdHsrg==", - "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.8.3", - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3", - "babel-plugin-dynamic-import-node": "^2.3.3" + "node_modules/@interopio/schemas": { + "version": "9.9.0", + "resolved": "https://registry.npmjs.org/@interopio/schemas/-/schemas-9.9.0.tgz", + "integrity": "sha512-Rq+0Z15bQ9vHcAhVyaSBhVdT51zluNAXhuvAFS3mxSciOWSRXJV1B3ddepNeexao3bCL//V75RWyDlvaAmkZQg==", + "license": "ISC", + "dependencies": { + "ajv": "^6.12.6", + "ajv-keywords": "^3.4.1" + }, + "peerDependencies": { + "log4js": "^6.4.2" + }, + "peerDependenciesMeta": { + "log4js": { + "optional": true + } } }, - "@babel/plugin-transform-modules-umd": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.9.0.tgz", - "integrity": "sha512-uTWkXkIVtg/JGRSIABdBoMsoIeoHQHPTL0Y2E7xf5Oj7sLqwVsNXOkNk0VJc7vF0IMBsPeikHxFjGe+qmwPtTQ==", - "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.9.0", - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/schemas/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.8.3.tgz", - "integrity": "sha512-f+tF/8UVPU86TrCb06JoPWIdDpTNSGGcAtaD9mLP0aYGA0OS0j7j7DHJR0GTFrUZPUU6loZhbsVZgTh0N+Qdnw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3" + "node_modules/@interopio/schemas/node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "license": "MIT", + "peerDependencies": { + "ajv": "^6.9.1" } }, - "@babel/plugin-transform-new-target": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.8.3.tgz", - "integrity": "sha512-QuSGysibQpyxexRyui2vca+Cmbljo8bcRckgzYV4kRIsHpVeyeC3JDO63pY+xFZ6bWOBn7pfKZTqV4o/ix9sFw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } + "node_modules/@interopio/schemas/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "license": "MIT" }, - "@babel/plugin-transform-object-super": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.8.3.tgz", - "integrity": "sha512-57FXk+gItG/GejofIyLIgBKTas4+pEU47IXKDBWFTxdPd7F80H8zybyAY7UoblVfBhBGs2EKM+bJUu2+iUYPDQ==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-replace-supers": "^7.8.3" + "node_modules/@interopio/search-api": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@interopio/search-api/-/search-api-3.1.0.tgz", + "integrity": "sha512-q6DaQ5TRupQTXyFjTVvGqh5GsosRpaAa8LZDImFHqyGaEoLq8siPAgpnr94BZ/xiNLY6VPm0maoOzDuThUHTeA==", + "license": "MIT", + "dependencies": { + "@interopio/core": "^6.7.0" } }, - "@babel/plugin-transform-parameters": { - "version": "7.9.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.9.5.tgz", - "integrity": "sha512-0+1FhHnMfj6lIIhVvS4KGQJeuhe1GI//h5uptK4PvLt+BGBxsoUJbd3/IW002yk//6sZPlFgsG1hY6OHLcy6kA==", + "node_modules/@interopio/theme": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@interopio/theme/-/theme-3.0.2.tgz", + "integrity": "sha512-weYe08itt7zspn9aa8hPgSZDp5FPHt7k2fPR489GdIS4zw8zAlM4+EHZZeIv9K3PZOfc7HqtzVgYKIct8Qbevw==", "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } + "license": "MIT" }, - "@babel/plugin-transform-property-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.8.3.tgz", - "integrity": "sha512-uGiiXAZMqEoQhRWMK17VospMZh5sXWg+dlh2soffpkAl96KAm+WZuJfa6lcELotSRmooLqg0MWdH6UUq85nmmg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "node_modules/@interopio/utils": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/@interopio/utils/-/utils-1.4.2.tgz", + "integrity": "sha512-14Bb2WI9Cwf9zjhTurP4qP9AVY4cxR1AOrwrOtHrTGAeeHp88mALFWfMEv1QnRhlQ06To2vQcRgebNrPlHDZ8Q==", + "license": "ISC", + "dependencies": { + "decoder-validate": "^0.0.2" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.8.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.8.7.tgz", - "integrity": "sha512-TIg+gAl4Z0a3WmD3mbYSk+J9ZUH6n/Yc57rtKRnlA/7rcCvpekHXe0CMZHP1gYp7/KLe9GHTuIba0vXmls6drA==", + "node_modules/@interopio/workspaces-api": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/@interopio/workspaces-api/-/workspaces-api-4.1.0.tgz", + "integrity": "sha512-3yGZ5WOqGP7Xu10GENZwlnYxzrX9nkI/tD1aF5908wOkBrvI9hD/3nj3gAL6Nr2nw633E4GIgv0POs9XPeYR1g==", + "license": "MIT" + }, + "node_modules/@isaacs/balanced-match": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/balanced-match/-/balanced-match-4.0.1.tgz", + "integrity": "sha512-yzMTt9lEb8Gv7zRioUilSglI0c0smZ9k5D65677DLWLtWJaXIS3CqcGyUFByYKlnUj6TkjLVs54fBl6+TiGQDQ==", "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" + "license": "MIT", + "engines": { + "node": "20 || >=22" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.8.3.tgz", - "integrity": "sha512-mwMxcycN3omKFDjDQUl+8zyMsBfjRFr0Zn/64I41pmjv4NJuqcYlEtezwYtw9TFd9WR1vN5kiM+O0gMZzO6L0A==", + "node_modules/@isaacs/brace-expansion": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@isaacs/brace-expansion/-/brace-expansion-5.0.0.tgz", + "integrity": "sha512-ZT55BDLV0yv0RBm2czMiZ+SqCGO7AvmOM3G/w2xhVPH+te0aKgFjmBvGlL1dH+ql2tgGO3MVrbb3jCKyvpgnxA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "license": "MIT", + "dependencies": { + "@isaacs/balanced-match": "^4.0.1" + }, + "engines": { + "node": "20 || >=22" } }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.8.3.tgz", - "integrity": "sha512-I9DI6Odg0JJwxCHzbzW08ggMdCezoWcuQRz3ptdudgwaHxTjxw5HgdFJmZIkIMlRymL6YiZcped4TTCB0JcC8w==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.8.3.tgz", - "integrity": "sha512-CkuTU9mbmAoFOI1tklFWYYbzX5qCIZVXPVy0jpXgGwkplCndQAa58s2jr66fTeQnA64bDox0HL4U56CFYoyC7g==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.8.3.tgz", - "integrity": "sha512-9Spq0vGCD5Bb4Z/ZXXSK5wbbLFMG085qd2vhL1JYu1WcQ5bXqZBAYRzU1d+p79GcHs2szYv5pVQCX13QgldaWw==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/helper-regex": "^7.8.3" - } - }, - "@babel/plugin-transform-template-literals": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.8.3.tgz", - "integrity": "sha512-820QBtykIQOLFT8NZOcTRJ1UNuztIELe4p9DCgvj4NK+PwluSJ49we7s9FB1HIGNIYT7wFUJ0ar2QpCDj0escQ==", - "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.8.4.tgz", - "integrity": "sha512-2QKyfjGdvuNfHsb7qnBBlKclbD4CfshH2KvDabiijLMGXPHJXGxtDzwIF7bQP+T0ysw8fYTtxPafgfs/c1Lrqg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.8.3.tgz", - "integrity": "sha512-+ufgJjYdmWfSQ+6NS9VGUR2ns8cjJjYbrbi11mZBTaWm+Fui/ncTLFF28Ei1okavY+xkojGr1eJxNsWYeA5aZw==", - "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3" - } - }, - "@babel/preset-env": { - "version": "7.9.0", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.9.0.tgz", - "integrity": "sha512-712DeRXT6dyKAM/FMbQTV/FvRCms2hPCx+3weRjZ8iQVQWZejWWk1wwG6ViWMyqb/ouBbGOl5b6aCk0+j1NmsQ==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.9.0", - "@babel/helper-compilation-targets": "^7.8.7", - "@babel/helper-module-imports": "^7.8.3", - "@babel/helper-plugin-utils": "^7.8.3", - "@babel/plugin-proposal-async-generator-functions": "^7.8.3", - "@babel/plugin-proposal-dynamic-import": "^7.8.3", - "@babel/plugin-proposal-json-strings": "^7.8.3", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-proposal-numeric-separator": "^7.8.3", - "@babel/plugin-proposal-object-rest-spread": "^7.9.0", - "@babel/plugin-proposal-optional-catch-binding": "^7.8.3", - "@babel/plugin-proposal-optional-chaining": "^7.9.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.8.3", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.8.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.8.3", - "@babel/plugin-transform-arrow-functions": "^7.8.3", - "@babel/plugin-transform-async-to-generator": "^7.8.3", - "@babel/plugin-transform-block-scoped-functions": "^7.8.3", - "@babel/plugin-transform-block-scoping": "^7.8.3", - "@babel/plugin-transform-classes": "^7.9.0", - "@babel/plugin-transform-computed-properties": "^7.8.3", - "@babel/plugin-transform-destructuring": "^7.8.3", - "@babel/plugin-transform-dotall-regex": "^7.8.3", - "@babel/plugin-transform-duplicate-keys": "^7.8.3", - "@babel/plugin-transform-exponentiation-operator": "^7.8.3", - "@babel/plugin-transform-for-of": "^7.9.0", - "@babel/plugin-transform-function-name": "^7.8.3", - "@babel/plugin-transform-literals": "^7.8.3", - "@babel/plugin-transform-member-expression-literals": "^7.8.3", - "@babel/plugin-transform-modules-amd": "^7.9.0", - "@babel/plugin-transform-modules-commonjs": "^7.9.0", - "@babel/plugin-transform-modules-systemjs": "^7.9.0", - "@babel/plugin-transform-modules-umd": "^7.9.0", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.8.3", - "@babel/plugin-transform-new-target": "^7.8.3", - "@babel/plugin-transform-object-super": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.8.7", - "@babel/plugin-transform-property-literals": "^7.8.3", - "@babel/plugin-transform-regenerator": "^7.8.7", - "@babel/plugin-transform-reserved-words": "^7.8.3", - "@babel/plugin-transform-shorthand-properties": "^7.8.3", - "@babel/plugin-transform-spread": "^7.8.3", - "@babel/plugin-transform-sticky-regex": "^7.8.3", - "@babel/plugin-transform-template-literals": "^7.8.3", - "@babel/plugin-transform-typeof-symbol": "^7.8.4", - "@babel/plugin-transform-unicode-regex": "^7.8.3", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.9.0", - "browserslist": "^4.9.1", - "core-js-compat": "^3.6.2", - "invariant": "^2.2.2", - "levenary": "^1.1.1", - "semver": "^5.5.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "@babel/preset-modules": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.3.tgz", - "integrity": "sha512-Ra3JXOHBq2xd56xSF7lMKXdjBn3T772Y1Wet3yWnkDly9zHvJki029tAFzvAAK5cf4YV3yoxuP61crYRol6SVg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - } - }, - "@babel/runtime": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.9.6.tgz", - "integrity": "sha512-64AF1xY3OAkFHqOb9s4jpgk1Mm5vDZ4L3acHvAml+53nO1XbXLuDodsVpO4OIUsmemlUHMxNdYMNJmsvOwLrvQ==", - "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" - } - }, - "@babel/template": { - "version": "7.8.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.8.6.tgz", - "integrity": "sha512-zbMsPMy/v0PWFZEhQJ66bqjhH+z0JgMoBWuikXybgG3Gkd/3t5oQ1Rw2WQhnSrsOmsKXnZOx15tkC4qON/+JPg==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/parser": "^7.8.6", - "@babel/types": "^7.8.6" - } - }, - "@babel/traverse": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.9.6.tgz", - "integrity": "sha512-b3rAHSjbxy6VEAvlxM8OV/0X4XrG72zoxme6q1MOoe2vd0bEc+TwayhuC1+Dfgqh1QEG+pj7atQqvUprHIccsg==", - "requires": { - "@babel/code-frame": "^7.8.3", - "@babel/generator": "^7.9.6", - "@babel/helper-function-name": "^7.9.5", - "@babel/helper-split-export-declaration": "^7.8.3", - "@babel/parser": "^7.9.6", - "@babel/types": "^7.9.6", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.13" - }, - "dependencies": { - "@babel/generator": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.9.6.tgz", - "integrity": "sha512-+htwWKJbH2bL72HRluF8zumBxzuX0ZZUFl3JLNyoUjM/Ho8wnVpPXM6aUz8cfKDqQ/h7zHqKt4xzJteUosckqQ==", - "requires": { - "@babel/types": "^7.9.6", - "jsesc": "^2.5.1", - "lodash": "^4.17.13", - "source-map": "^0.5.0" - } - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=" - } - } + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true, + "license": "MIT" }, - "@babel/types": { - "version": "7.9.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.9.6.tgz", - "integrity": "sha512-qxXzvBO//jO9ZnoasKF1uJzHd2+M6Q2ZPIVfnFps8JJvXy0ZBbwbNOmE6SGIY5XOY6d1Bo5lb9d9RJ8nv3WSeA==", - "requires": { - "@babel/helper-validator-identifier": "^7.9.5", - "lodash": "^4.17.13", - "to-fast-properties": "^2.0.0" - } - }, - "@glue42/core": { - "version": "5.4.0", - "resolved": "https://registry.npmjs.org/@glue42/core/-/core-5.4.0.tgz", - "integrity": "sha512-gJdD3UoIlH0MYZjksJKSHhqX7+wICdvlcFaI9VmHp9ldr6wMKIPlevO2xQ55K/0S9TRxTSyKpMNRqLpmrr5ltg==", - "requires": { - "callback-registry": "^2.7.1", - "shortid": "^2.2.6", - "ws": "7.1.2" - }, - "dependencies": { - "ws": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.1.2.tgz", - "integrity": "sha512-gftXq3XI81cJCgkUiAVixA0raD9IVmXqsylCrjRygw4+UOOGzPoxnQ6r/CnVL9i+mDncJo94tSkyrtuuQVBmrg==", - "requires": { - "async-limiter": "^1.0.0" - } - } + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@glue42/desktop": { - "version": "5.5.2", - "resolved": "https://registry.npmjs.org/@glue42/desktop/-/desktop-5.5.2.tgz", - "integrity": "sha512-sIU1jo0JXboLI+SfCmdhTIdtDtcbjYF5DwZq8gW13U3zyb1gwzK9tRW9sheQD/XYFa3BzL0pN7gGoJSsw1WVSA==", - "requires": { - "@glue42/core": "^5.4.0", - "@glue42/workspaces-api": "^1.3.0", - "callback-registry": "^2.7.1", - "shortid": "2.2.8" + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "@glue42/gateway-web": { - "version": "3.0.10", - "resolved": "https://registry.npmjs.org/@glue42/gateway-web/-/gateway-web-3.0.10.tgz", - "integrity": "sha512-6Iy1miv0FEJoDnQRHQ79a9VQNtD2X7RXHUIYsYemCvOuGTlRK56KuBIzhbjcOKf/KtBt8eUXvcXX/p7ttw7IwA==" - }, - "@glue42/ng": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@glue42/ng/-/ng-2.0.6.tgz", - "integrity": "sha512-F14YCYWLeD8wzR2xVpG2hhjsC4b1YoDjdTphoa3QB+iEVBGb+FCV5i0NBDzIbUT3sa+XUg3f2Q+vqIvb6ZHXPg==", - "requires": { - "@glue42/desktop": "^5.5.2", - "@glue42/web": "^2.0.5", - "@glue42/web-platform": "^1.0.4" + "node_modules/@isaacs/fs-minipass": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@isaacs/fs-minipass/-/fs-minipass-4.0.1.tgz", + "integrity": "sha512-wgm9Ehl2jpeqP3zw/7mo3kRHFp5MEDhqAdwy1fTGkHAwnkGOVsgpvQhL8B5n1qlb01jV3n/bI0ZfZp5lWA1k4w==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.4" + }, + "engines": { + "node": ">=18.0.0" } }, - "@glue42/web": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@glue42/web/-/web-2.0.5.tgz", - "integrity": "sha512-P8qVecpExg+ZGjlRtVpSxYO1fDgYKPDbwNakh94TdVmM7lj1F7uBKkme149NoCmTupL5NKIxwlfZ0+3mwW0tTQ==", - "requires": { - "@glue42/core": "^5.4.0", - "@glue42/desktop": "^5.5.2", - "@glue42/workspaces-api": "^1.4.1", - "callback-registry": "^2.6.0", - "decoder-validate": "0.0.2", - "idb": "^5.0.4", - "shortid": "^2.2.15" - }, - "dependencies": { - "shortid": { - "version": "2.2.16", - "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", - "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", - "requires": { - "nanoid": "^2.1.0" - } - } + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "@glue42/web-platform": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@glue42/web-platform/-/web-platform-1.0.4.tgz", - "integrity": "sha512-bBTw5jX6l9gQIrg/huHVv0a4viuaXLM7ic31KS9Kr8mwE7snpE/8JQK7qTZPIu8nopssmjEP5CCDMuCRg76XWQ==", - "requires": { - "@glue42/core": "^5.4.0", - "@glue42/desktop": "^5.5.2", - "@glue42/gateway-web": "3.0.10", - "@glue42/web": "^2.0.5", - "@glue42/workspaces-api": "^1.4.1", - "callback-registry": "^2.7.1", - "decoder-validate": "0.0.2", - "deep-equal": "^2.0.5", - "deepmerge": "^4.2.2", - "idb": "^5.0.7", - "shortid": "^2.2.15" - }, - "dependencies": { - "deep-equal": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", - "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", - "requires": { - "call-bind": "^1.0.0", - "es-get-iterator": "^1.1.1", - "get-intrinsic": "^1.0.1", - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.2", - "is-regex": "^1.1.1", - "isarray": "^2.0.5", - "object-is": "^1.1.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "regexp.prototype.flags": "^1.3.0", - "side-channel": "^1.0.3", - "which-boxed-primitive": "^1.0.1", - "which-collection": "^1.0.1", - "which-typed-array": "^1.1.2" - } - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - }, - "object-is": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.4.tgz", - "integrity": "sha512-1ZvAZ4wlF7IyPVOcE1Omikt7UpaFlOQq0HlSti+ZvDH3UiD2brwGMwDbyV43jao2bKJ+4+WdPJHSd7kgzKYVqg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "shortid": { - "version": "2.2.16", - "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.16.tgz", - "integrity": "sha512-Ugt+GIZqvGXCIItnsL+lvFJOiN7RYqlGy7QE41O3YC1xbNSeDGIRO7xg2JJXIAj1cAGnOeC1r7/T9pgrtQbv4g==", - "requires": { - "nanoid": "^2.1.0" - } - } + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" } }, - "@glue42/workspaces-api": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/@glue42/workspaces-api/-/workspaces-api-1.4.1.tgz", - "integrity": "sha512-sgzuN3rR36W27x3jU2poadH5R3zEhMotQF2qvoE++EdyzMOFKj6kCNGYUjxx3+9pARtOkAawcycVhlXkEK2rrA==", - "requires": { - "@glue42/core": "^5.4.0", - "callback-registry": "^2.5.2", - "decoder-validate": "0.0.2" + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" } }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" }, - "@jsdevtools/coverage-istanbul-loader": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.3.tgz", - "integrity": "sha512-TAdNkeGB5Fe4Og+ZkAr1Kvn9by2sfL44IAHFtxlh1BA1XJ5cLpO9iSNki5opWESv3l3vSHsZ9BNKuqFKbEbFaA==", - "dev": true, - "requires": { - "convert-source-map": "^1.7.0", - "istanbul-lib-instrument": "^4.0.1", - "loader-utils": "^1.4.0", - "merge-source-map": "^1.1.0", - "schema-utils": "^2.6.4" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.30", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.30.tgz", + "integrity": "sha512-GQ7Nw5G2lTu/BtHTKfXhKHok2WGetd4XYcVKGx00SjAk8GMwgJM3zr6zORiPGuOE+/vkc90KtTosSSvaCjKb2Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "@ng-bootstrap/ng-bootstrap": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/@ng-bootstrap/ng-bootstrap/-/ng-bootstrap-6.1.0.tgz", - "integrity": "sha512-2GzkNJBKdeHkaUqaCAqSILPft0IzzHjMfAlAuGY6/ZLlVQ0glt5MTbIXtIhSbjR+OvlrljoXFLrvzs1LGdmE+A==" - }, - "@ngtools/webpack": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-9.1.4.tgz", - "integrity": "sha512-CDlQzMnWraxf/dT3G5L+0N0VniWHWdzjLRP8pWBoyV0xlzWS1yL/lj8Mas2jEIuaUxZ8bi29mE7xa8prqewtBQ==", - "dev": true, - "requires": { - "@angular-devkit/core": "9.1.4", - "enhanced-resolve": "4.1.1", - "rxjs": "6.5.4", - "webpack-sources": "1.4.3" - }, - "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "node_modules/@listr2/prompt-adapter-inquirer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@listr2/prompt-adapter-inquirer/-/prompt-adapter-inquirer-3.0.1.tgz", + "integrity": "sha512-3XFmGwm3u6ioREG+ynAQB7FoxfajgQnMhIu8wC5eo/Lsih4aKDg0VuIMGaOsYn7hJSJagSeaD4K8yfpkEoDEmA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@inquirer/type": "^3.0.7" + }, + "engines": { + "node": ">=20.0.0" + }, + "peerDependencies": { + "@inquirer/prompts": ">= 3 < 8", + "listr2": "9.0.1" } }, - "@schematics/angular": { - "version": "9.1.4", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-9.1.4.tgz", - "integrity": "sha512-7nbiYBRgXc+f0sa5iXTcF6/VMy/Xq0wyKKnDFiLCb2aFYR7EXRHWF2GuwDIg2bvFugLuCBDoNnXeddLE1TXGWg==", + "node_modules/@lmdb/lmdb-darwin-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-arm64/-/lmdb-darwin-arm64-3.4.2.tgz", + "integrity": "sha512-NK80WwDoODyPaSazKbzd3NEJ3ygePrkERilZshxBViBARNz21rmediktGHExoj9n5t9+ChlgLlxecdFKLCuCKg==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@angular-devkit/core": "9.1.4", - "@angular-devkit/schematics": "9.1.4" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-darwin-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-darwin-x64/-/lmdb-darwin-x64-3.4.2.tgz", + "integrity": "sha512-zevaowQNmrp3U7Fz1s9pls5aIgpKRsKb3dZWDINtLiozh3jZI9fBrI19lYYBxqdyiIyNdlyiidPnwPShj4aK+w==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm/-/lmdb-linux-arm-3.4.2.tgz", + "integrity": "sha512-OmHCULY17rkx/RoCoXlzU7LyR8xqrksgdYWwtYa14l/sseezZ8seKWXcogHcjulBddER5NnEFV4L/Jtr2nyxeg==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-arm64/-/lmdb-linux-arm64-3.4.2.tgz", + "integrity": "sha512-ZBEfbNZdkneebvZs98Lq30jMY8V9IJzckVeigGivV7nTHJc+89Ctomp1kAIWKlwIG0ovCDrFI448GzFPORANYg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-linux-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-linux-x64/-/lmdb-linux-x64-3.4.2.tgz", + "integrity": "sha512-vL9nM17C77lohPYE4YaAQvfZCSVJSryE4fXdi8M7uWPBnU+9DJabgKVAeyDb84ZM2vcFseoBE4/AagVtJeRE7g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@lmdb/lmdb-win32-arm64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-arm64/-/lmdb-win32-arm64-3.4.2.tgz", + "integrity": "sha512-SXWjdBfNDze4ZPeLtYIzsIeDJDJ/SdsA0pEXcUBayUIMO0FQBHfVZZyHXQjjHr4cvOAzANBgIiqaXRwfMhzmLw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@lmdb/lmdb-win32-x64": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/@lmdb/lmdb-win32-x64/-/lmdb-win32-x64-3.4.2.tgz", + "integrity": "sha512-IY+r3bxKW6Q6sIPiMC0L533DEfRJSXibjSI3Ft/w9Q8KQBNqEIvUFXt+09wV8S5BRk0a8uSF19YWxuRwEfI90g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "@schematics/update": { - "version": "0.901.4", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.901.4.tgz", - "integrity": "sha512-jCtZY2Fbj502gKN5gdu1brnRy/ssyzTrWm69Ty73V+t8uL7nLr+/hny/VBJ8CiQnKQvxcgVl1xgvI1cXzpysVA==", + "node_modules/@modelcontextprotocol/sdk": { + "version": "1.17.3", + "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.17.3.tgz", + "integrity": "sha512-JPwUKWSsbzx+DLFznf/QZ32Qa+ptfbUlHhRLrBQBAFu9iI1iYvizM4p+zhhRDceSsPutXp4z+R/HPVphlIiclg==", "dev": true, - "requires": { - "@angular-devkit/core": "9.1.4", - "@angular-devkit/schematics": "9.1.4", - "@yarnpkg/lockfile": "1.1.0", - "ini": "1.3.5", - "npm-package-arg": "^8.0.0", - "pacote": "9.5.12", - "rxjs": "6.5.4", - "semver": "7.1.3", - "semver-intersect": "1.4.0" - }, - "dependencies": { - "rxjs": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.4.tgz", - "integrity": "sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - } + "license": "MIT", + "dependencies": { + "ajv": "^6.12.6", + "content-type": "^1.0.5", + "cors": "^2.8.5", + "cross-spawn": "^7.0.5", + "eventsource": "^3.0.2", + "eventsource-parser": "^3.0.0", + "express": "^5.0.1", + "express-rate-limit": "^7.5.0", + "pkce-challenge": "^5.0.0", + "raw-body": "^3.0.0", + "zod": "^3.23.8", + "zod-to-json-schema": "^3.24.1" + }, + "engines": { + "node": ">=18" } }, - "@types/color-name": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/@types/color-name/-/color-name-1.1.1.tgz", - "integrity": "sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==" - }, - "@types/events": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@types/events/-/events-3.0.0.tgz", - "integrity": "sha512-EaObqwIvayI5a8dCzhFrjKzVwKLxjoG9T6Ppd5CEo07LRKfQ8Yokw54r5+Wq7FaBQ+yXRvQAYPrHwya1/UFt9g==", - "dev": true - }, - "@types/glob": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.1.tgz", - "integrity": "sha512-1Bh06cbWJUHMC97acuD6UMG29nMt0Aqz1vF3guLfG+kHHJhy3AyohZFFxYk2f7Q1SQIrNwvncxAE0N/9s70F2w==", + "node_modules/@modelcontextprotocol/sdk/node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "requires": { - "@types/events": "*", - "@types/minimatch": "*", - "@types/node": "*" + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "@types/jasmine": { - "version": "3.5.10", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.5.10.tgz", - "integrity": "sha512-3F8qpwBAiVc5+HPJeXJpbrl+XjawGmciN5LgiO7Gv1pl1RHtjoMNqZpqEksaPJW05ViKe8snYInRs6xB25Xdew==", - "dev": true - }, - "@types/jasminewd2": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.8.tgz", - "integrity": "sha512-d9p31r7Nxk0ZH0U39PTH0hiDlJ+qNVGjlt1ucOoTUptxb2v+Y5VMnsxfwN+i3hK4yQnqBi3FMmoMFcd1JHDxdg==", + "node_modules/@modelcontextprotocol/sdk/node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true, - "requires": { - "@types/jasmine": "*" - } + "license": "MIT" }, - "@types/minimatch": { + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-arm64": { "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", - "dev": true - }, - "@types/node": { - "version": "12.12.38", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.38.tgz", - "integrity": "sha512-75eLjX0pFuTcUXnnWmALMzzkYorjND0ezNEycaKesbUBg9eGZp4GHPuDmkRc4mQQvIpe29zrzATNRA6hkYqwmA==", - "dev": true - }, - "@types/q": { - "version": "1.5.2", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.2.tgz", - "integrity": "sha512-ce5d3q03Ex0sy4R14722Rmt6MT07Ua+k4FwDfdcToYJcMKNtRVQvJ6JCAPdAmAnbRb6CsX6aYb9m96NGod9uTw==", - "dev": true - }, - "@types/selenium-webdriver": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", - "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", - "dev": true - }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true - }, - "@types/webpack-sources": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.7.tgz", - "integrity": "sha512-XyaHrJILjK1VHVC4aVlKsdNN5KBTwufMb43cQs+flGxtPAf/1Qwl8+Q0tp5BwEGaI8D6XT1L+9bSWXckgkjTLw==", - "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-arm64/-/msgpackr-extract-darwin-arm64-3.0.3.tgz", + "integrity": "sha512-QZHtlVgbAdy2zAqNA9Gu1UpIuI8Xvsd1v8ic6B2pZmeFnFcMWiPLfWXh7TVw4eGEZ/C9TH281KwhVoeQUKbyjw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "@webassemblyjs/ast": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.8.5.tgz", - "integrity": "sha512-aJMfngIZ65+t71C3y2nBBg5FFG0Okt9m0XEgWZ7Ywgn1oMAT8cNwx00Uv1cQyHtidq0Xn94R4TAywO+LCQ+ZAQ==", + "node_modules/@msgpackr-extract/msgpackr-extract-darwin-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-darwin-x64/-/msgpackr-extract-darwin-x64-3.0.3.tgz", + "integrity": "sha512-mdzd3AVzYKuUmiWOQ8GNhl64/IoFGol569zNRdkLReh6LRLHOXxU4U8eq0JwaD8iFHdVGqSy4IjFL4reoWCDFw==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5" - } + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.8.5.tgz", - "integrity": "sha512-9p+79WHru1oqBh9ewP9zW95E3XAo+90oth7S5Re3eQnECGq59ly1Ri5tsIipKGpiStHsUYmY3zMLqtk3gTcOtQ==", - "dev": true + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm/-/msgpackr-extract-linux-arm-3.0.3.tgz", + "integrity": "sha512-fg0uy/dG/nZEXfYilKoRe7yALaNmHoYeIoJuJ7KJ+YyU2bvY8vPv27f7UKhGRpY6euFYqEVhxCFZgAUNQBM3nw==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@webassemblyjs/helper-api-error": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.8.5.tgz", - "integrity": "sha512-Za/tnzsvnqdaSPOUXHyKJ2XI7PDX64kWtURyGiJJZKVEdFOsdKUCPTNEVFZq3zJ2R0G5wc2PZ5gvdTRFgm81zA==", - "dev": true - }, - "@webassemblyjs/helper-buffer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.8.5.tgz", - "integrity": "sha512-Ri2R8nOS0U6G49Q86goFIPNgjyl6+oE1abW1pS84BuhP1Qcr5JqMwRFT3Ah3ADDDYGEgGs1iyb1DGX+kAi/c/Q==", - "dev": true + "node_modules/@msgpackr-extract/msgpackr-extract-linux-arm64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-arm64/-/msgpackr-extract-linux-arm64-3.0.3.tgz", + "integrity": "sha512-YxQL+ax0XqBJDZiKimS2XQaf+2wDGVa1enVRGzEvLLVFeqa5kx2bWbtcSXgsxjQB7nRqqIGFIcLteF/sHeVtQg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@webassemblyjs/helper-code-frame": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.8.5.tgz", - "integrity": "sha512-VQAadSubZIhNpH46IR3yWO4kZZjMxN1opDrzePLdVKAZ+DFjkGD/rf4v1jap744uPVU6yjL/smZbRIIJTOUnKQ==", - "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.8.5" - } + "node_modules/@msgpackr-extract/msgpackr-extract-linux-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-linux-x64/-/msgpackr-extract-linux-x64-3.0.3.tgz", + "integrity": "sha512-cvwNfbP07pKUfq1uH+S6KJ7dT9K8WOE4ZiAcsrSes+UY55E/0jLYc+vq+DO7jlmqRb5zAggExKm0H7O/CBaesg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] }, - "@webassemblyjs/helper-fsm": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.8.5.tgz", - "integrity": "sha512-kRuX/saORcg8se/ft6Q2UbRpZwP4y7YrWsLXPbbmtepKr22i8Z4O3V5QE9DbZK908dh5Xya4Un57SDIKwB9eow==", - "dev": true + "node_modules/@msgpackr-extract/msgpackr-extract-win32-x64": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@msgpackr-extract/msgpackr-extract-win32-x64/-/msgpackr-extract-win32-x64-3.0.3.tgz", + "integrity": "sha512-x0fWaQtYp4E6sktbsdAqnehxDgEc/VwM7uLsRCYWaiGu0ykYdZPiS8zCWdnjHwyiumousxfBm4SO31eXqwEZhQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "@webassemblyjs/helper-module-context": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.8.5.tgz", - "integrity": "sha512-/O1B236mN7UNEU4t9X7Pj38i4VoU8CcMHyy3l2cV/kIF4U5KoHXDVqcDuOs1ltkac90IM4vZdHc52t1x8Yfs3g==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "mamacro": "^0.0.3" - } - }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.8.5.tgz", - "integrity": "sha512-Cu4YMYG3Ddl72CbmpjU/wbP6SACcOPVbHN1dI4VJNJVgFwaKf1ppeFJrwydOG3NDHxVGuCfPlLZNyEdIYlQ6QQ==", - "dev": true - }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.8.5.tgz", - "integrity": "sha512-VV083zwR+VTrIWWtgIUpqfvVdK4ff38loRmrdDBgBT8ADXYsEZ5mPQ4Nde90N3UYatHdYoDIFb7oHzMncI02tA==", + "node_modules/@napi-rs/nice": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice/-/nice-1.1.1.tgz", + "integrity": "sha512-xJIPs+bYuc9ASBl+cvGsKbGrJmS6fAKaSZCnT0lhahT5rhA2VVy9/EcIgd2JhtEuFOJNx7UHNn/qiTPTY4nrQw==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5" - } - }, - "@webassemblyjs/ieee754": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.8.5.tgz", - "integrity": "sha512-aaCvQYrvKbY/n6wKHb/ylAJr27GglahUO89CcGXMItrOBqRarUMxWLJgxm9PJNuKULwN5n1csT9bYoMeZOGF3g==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "optionalDependencies": { + "@napi-rs/nice-android-arm-eabi": "1.1.1", + "@napi-rs/nice-android-arm64": "1.1.1", + "@napi-rs/nice-darwin-arm64": "1.1.1", + "@napi-rs/nice-darwin-x64": "1.1.1", + "@napi-rs/nice-freebsd-x64": "1.1.1", + "@napi-rs/nice-linux-arm-gnueabihf": "1.1.1", + "@napi-rs/nice-linux-arm64-gnu": "1.1.1", + "@napi-rs/nice-linux-arm64-musl": "1.1.1", + "@napi-rs/nice-linux-ppc64-gnu": "1.1.1", + "@napi-rs/nice-linux-riscv64-gnu": "1.1.1", + "@napi-rs/nice-linux-s390x-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-gnu": "1.1.1", + "@napi-rs/nice-linux-x64-musl": "1.1.1", + "@napi-rs/nice-openharmony-arm64": "1.1.1", + "@napi-rs/nice-win32-arm64-msvc": "1.1.1", + "@napi-rs/nice-win32-ia32-msvc": "1.1.1", + "@napi-rs/nice-win32-x64-msvc": "1.1.1" + } + }, + "node_modules/@napi-rs/nice-android-arm-eabi": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm-eabi/-/nice-android-arm-eabi-1.1.1.tgz", + "integrity": "sha512-kjirL3N6TnRPv5iuHw36wnucNqXAO46dzK9oPb0wj076R5Xm8PfUVA9nAFB5ZNMmfJQJVKACAPd/Z2KYMppthw==", + "cpu": [ + "arm" + ], "dev": true, - "requires": { - "@xtuc/ieee754": "^1.2.0" + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" } }, - "@webassemblyjs/leb128": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.8.5.tgz", - "integrity": "sha512-plYUuUwleLIziknvlP8VpTgO4kqNaH57Y3JnNa6DLpu/sGcP6hbVdfdX5aHAV716pQBKrfuU26BJK29qY37J7A==", + "node_modules/@napi-rs/nice-android-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-android-arm64/-/nice-android-arm64-1.1.1.tgz", + "integrity": "sha512-blG0i7dXgbInN5urONoUCNf+DUEAavRffrO7fZSeoRMJc5qD+BJeNcpr54msPF6qfDD6kzs9AQJogZvT2KD5nw==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@xtuc/long": "4.2.2" + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10" } }, - "@webassemblyjs/utf8": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.8.5.tgz", - "integrity": "sha512-U7zgftmQriw37tfD934UNInokz6yTmn29inT2cAetAsaU9YeVCveWEwhKL1Mg4yS7q//NGdzy79nlXh3bT8Kjw==", - "dev": true - }, - "@webassemblyjs/wasm-edit": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.8.5.tgz", - "integrity": "sha512-A41EMy8MWw5yvqj7MQzkDjU29K7UJq1VrX2vWLzfpRHt3ISftOXqrtojn7nlPsZ9Ijhp5NwuODuycSvfAO/26Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/helper-wasm-section": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-opt": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "@webassemblyjs/wast-printer": "1.8.5" - } - }, - "@webassemblyjs/wasm-gen": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.8.5.tgz", - "integrity": "sha512-BCZBT0LURC0CXDzj5FXSc2FPTsxwp3nWcqXQdOZE4U7h7i8FqtFK5Egia6f9raQLpEKT1VL7zr4r3+QX6zArWg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wasm-opt": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.8.5.tgz", - "integrity": "sha512-HKo2mO/Uh9A6ojzu7cjslGaHaUU14LdLbGEKqTR7PBKwT6LdPtLLh9fPY33rmr5wcOMrsWDbbdCHq4hQUdd37Q==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-buffer": "1.8.5", - "@webassemblyjs/wasm-gen": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5" + "node_modules/@napi-rs/nice-darwin-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-arm64/-/nice-darwin-arm64-1.1.1.tgz", + "integrity": "sha512-s/E7w45NaLqTGuOjC2p96pct4jRfo61xb9bU1unM/MJ/RFkKlJyJDx7OJI/O0ll/hrfpqKopuAFDV8yo0hfT7A==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "@webassemblyjs/wasm-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.8.5.tgz", - "integrity": "sha512-pi0SYE9T6tfcMkthwcgCpL0cM9nRYr6/6fjgDtL6q/ZqKHdMWvxitRi5JcZ7RI4SNJJYnYNaWy5UUrHQy998lw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-wasm-bytecode": "1.8.5", - "@webassemblyjs/ieee754": "1.8.5", - "@webassemblyjs/leb128": "1.8.5", - "@webassemblyjs/utf8": "1.8.5" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.8.5.tgz", - "integrity": "sha512-daXC1FyKWHF1i11obK086QRlsMsY4+tIOKgBqI1lxAnkp9xe9YMcgOxm9kLe+ttjs5aWV2KKE1TWJCN57/Btsg==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/floating-point-hex-parser": "1.8.5", - "@webassemblyjs/helper-api-error": "1.8.5", - "@webassemblyjs/helper-code-frame": "1.8.5", - "@webassemblyjs/helper-fsm": "1.8.5", - "@xtuc/long": "4.2.2" + "node_modules/@napi-rs/nice-darwin-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-darwin-x64/-/nice-darwin-x64-1.1.1.tgz", + "integrity": "sha512-dGoEBnVpsdcC+oHHmW1LRK5eiyzLwdgNQq3BmZIav+9/5WTZwBYX7r5ZkQC07Nxd3KHOCkgbHSh4wPkH1N1LiQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" } }, - "@webassemblyjs/wast-printer": { - "version": "1.8.5", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.8.5.tgz", - "integrity": "sha512-w0U0pD4EhlnvRyeJzBqaVSJAo9w/ce7/WPogeXLzGkO6hzhr4GnQIZ4W4uUt5b9ooAaXPtnXlj0gzsXEOUNYMg==", + "node_modules/@napi-rs/nice-freebsd-x64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-freebsd-x64/-/nice-freebsd-x64-1.1.1.tgz", + "integrity": "sha512-kHv4kEHAylMYmlNwcQcDtXjklYp4FCf0b05E+0h6nDHsZ+F0bDe04U/tXNOqrx5CmIAth4vwfkjjUmp4c4JktQ==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/wast-parser": "1.8.5", - "@xtuc/long": "4.2.2" + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10" } }, - "@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", + "node_modules/@napi-rs/nice-linux-arm-gnueabihf": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm-gnueabihf/-/nice-linux-arm-gnueabihf-1.1.1.tgz", + "integrity": "sha512-E1t7K0efyKXZDoZg1LzCOLxgolxV58HCkaEkEvIYQx12ht2pa8hoBo+4OB3qh7e+QiBlp1SRf+voWUZFxyhyqg==", + "cpu": [ + "arm" + ], "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "node_modules/@napi-rs/nice-linux-arm64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-gnu/-/nice-linux-arm64-gnu-1.1.1.tgz", + "integrity": "sha512-CIKLA12DTIZlmTaaKhQP88R3Xao+gyJxNWEn04wZwC2wmRapNnxCUZkVwggInMJvtVElA+D4ZzOU5sX4jV+SmQ==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "acorn": { - "version": "6.4.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.1.tgz", - "integrity": "sha512-ZVA9k326Nwrj3Cj9jlh3wGFutC2ZornPNARZwsNYqQYgN0EsV2d53w5RN/co65Ohn4sUAUtb1rSUAOD6XN9idA==", - "dev": true - }, - "adm-zip": { - "version": "0.4.14", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.14.tgz", - "integrity": "sha512-/9aQCnQHF+0IiCl0qhXoK7qs//SwYE7zX8lsr/DNk1BRAHYxeLZPL4pguwK29gUEqasYQjqPtEpDRSWEkdHn9g==", - "dev": true - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true - }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "node_modules/@napi-rs/nice-linux-arm64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-arm64-musl/-/nice-linux-arm64-musl-1.1.1.tgz", + "integrity": "sha512-+2Rzdb3nTIYZ0YJF43qf2twhqOCkiSrHx2Pg6DJaCPYhhaxbLcdlV8hCRMHghQ+EtZQWGNcS2xF4KxBhSGeutg==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "es6-promisify": "^5.0.0" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "agentkeepalive": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", - "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", + "node_modules/@napi-rs/nice-linux-ppc64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-ppc64-gnu/-/nice-linux-ppc64-gnu-1.1.1.tgz", + "integrity": "sha512-4FS8oc0GeHpwvv4tKciKkw3Y4jKsL7FRhaOeiPei0X9T4Jd619wHNe4xCLmN2EMgZoeGg+Q7GY7BsvwKpL22Tg==", + "cpu": [ + "ppc64" + ], "dev": true, - "requires": { - "humanize-ms": "^1.2.1" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "aggregate-error": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.0.1.tgz", - "integrity": "sha512-quoaXsZ9/BLNae5yiNoUz+Nhkwz83GhWwtYFglcjEQB2NDHCIpApbqXxIFnm4Pq/Nvhrsq5sYJFyohrrxnTGAA==", + "node_modules/@napi-rs/nice-linux-riscv64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-riscv64-gnu/-/nice-linux-riscv64-gnu-1.1.1.tgz", + "integrity": "sha512-HU0nw9uD4FO/oGCCk409tCi5IzIZpH2agE6nN4fqpwVlCn5BOq0MS1dXGjXaG17JaAvrlpV5ZeyZwSon10XOXw==", + "cpu": [ + "riscv64" + ], "dev": true, - "requires": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "ajv": { - "version": "6.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.0.tgz", - "integrity": "sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==", + "node_modules/@napi-rs/nice-linux-s390x-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-s390x-gnu/-/nice-linux-s390x-gnu-1.1.1.tgz", + "integrity": "sha512-2YqKJWWl24EwrX0DzCQgPLKQBxYDdBxOHot1KWEq7aY2uYeX+Uvtv4I8xFVVygJDgf6/92h9N3Y43WPx8+PAgQ==", + "cpu": [ + "s390x" + ], "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", - "dev": true - }, - "ajv-keywords": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.4.1.tgz", - "integrity": "sha512-RO1ibKvd27e6FEShVFfPALuHI3WjSVNeK5FIsmme/LYRNxjKuNj+Dt7bucLa6NdSv3JcVTyMlm9kGR84z1XpaQ==", - "dev": true - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true - }, - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true - }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "node_modules/@napi-rs/nice-linux-x64-gnu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-gnu/-/nice-linux-x64-gnu-1.1.1.tgz", + "integrity": "sha512-/gaNz3R92t+dcrfCw/96pDopcmec7oCcAQ3l/M+Zxr82KT4DljD37CpgrnXV+pJC263JkW572pdbP3hP+KjcIg==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "type-fest": "^0.11.0" - } - }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "requires": { - "color-convert": "^1.9.0" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "node_modules/@napi-rs/nice-linux-x64-musl": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-linux-x64-musl/-/nice-linux-x64-musl-1.1.1.tgz", + "integrity": "sha512-xScCGnyj/oppsNPMnevsBe3pvNaoK7FGvMjT35riz9YdhB2WtTG47ZlbxtOLpjeO9SqqQ2J2igCmz6IJOD5JYw==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" } }, - "app-root-path": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-2.2.1.tgz", - "integrity": "sha512-91IFKeKk7FjfmezPKkwtaRvSpnUc4gDwPAjA1YZ9Gn0q0PPeW+vbeUsZuyDwjI7+QTHhcLen2v25fi/AmhvbJA==", - "dev": true - }, - "append-transform": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/append-transform/-/append-transform-1.0.0.tgz", - "integrity": "sha512-P009oYkeHyU742iSZJzZZywj4QRJdnTWffaKuJQLablCZ1uz6/cW4yaRgcDaoQ+uwOxxnt0gRUcwfsNP2ri0gw==", + "node_modules/@napi-rs/nice-openharmony-arm64": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-openharmony-arm64/-/nice-openharmony-arm64-1.1.1.tgz", + "integrity": "sha512-6uJPRVwVCLDeoOaNyeiW0gp2kFIM4r7PL2MczdZQHkFi9gVlgm+Vn+V6nTWRcu856mJ2WjYJiumEajfSm7arPQ==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "default-require-extensions": "^2.0.0" + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">= 10" } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", - "dev": true - }, - "arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@napi-rs/nice-win32-arm64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-arm64-msvc/-/nice-win32-arm64-msvc-1.1.1.tgz", + "integrity": "sha512-uoTb4eAvM5B2aj/z8j+Nv8OttPf2m+HVx3UjA5jcFxASvNhQriyCQF1OB1lHL43ZhW+VwZlgvjmP5qF3+59atA==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "sprintf-js": "~1.0.2" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "aria-query": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "node_modules/@napi-rs/nice-win32-ia32-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-ia32-msvc/-/nice-win32-ia32-msvc-1.1.1.tgz", + "integrity": "sha512-CNQqlQT9MwuCsg1Vd/oKXiuH+TcsSPJmlAFc5frFyX/KkOh0UpBLEj7aoY656d5UKZQMQFP7vJNa1DNUNORvug==", + "cpu": [ + "ia32" + ], "dev": true, - "requires": { - "ast-types-flow": "0.0.7", - "commander": "^2.11.0" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-filter": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/array-filter/-/array-filter-1.0.0.tgz", - "integrity": "sha1-uveeYubvTCpMC4MSMtr/7CUfnYM=" - }, - "array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "node_modules/@napi-rs/nice-win32-x64-msvc": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@napi-rs/nice-win32-x64-msvc/-/nice-win32-x64-msvc-1.1.1.tgz", + "integrity": "sha512-vB+4G/jBQCAh0jelMTY3+kgFy00Hlx2f2/1zjMoH821IbplbWZOkLiTYXQkygNTzQJTq5cvwBDgn2ppHD+bglQ==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "array-uniq": "^1.0.1" + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" } }, - "array-uniq": { + "node_modules/@napi-rs/wasm-runtime": { "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asap": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/asap/-/asap-2.0.6.tgz", - "integrity": "sha1-5QNHYR1+aQlDIIu9r+vLwvuGbUY=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-1.0.3.tgz", + "integrity": "sha512-rZxtMsLwjdXkMUGC3WwsPwLNVqVqnTJT6MNIB6e+5fhMcSCPP0AOsNWuMQ5mdCq6HNjs/ZeWAEchpqeprqBD2Q==", "dev": true, - "requires": { - "safer-buffer": "~2.1.0" + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.4.5", + "@emnapi/runtime": "^1.4.5", + "@tybys/wasm-util": "^0.10.0" } }, - "asn1.js": { - "version": "4.10.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-4.10.1.tgz", - "integrity": "sha512-p32cOF5q0Zqs9uBiONKYLm6BClCoBCM5O9JfeUSlnQLBTxYdTK+pW+nXflm8UkKd2UYlEbYz5qEi0JuZR9ckSw==", + "node_modules/@npmcli/agent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-3.0.0.tgz", + "integrity": "sha512-S79NdEgDQd/NGCay6TCoVzXSj74skRZIKJcpJjC5lOq34SZzyI6MqtiiWoiVWoVrTcGjNeC4ipbh1VIHlpfF5Q==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" - }, + "license": "ISC", "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "agent-base": "^7.1.0", + "http-proxy-agent": "^7.0.0", + "https-proxy-agent": "^7.0.1", + "lru-cache": "^10.0.1", + "socks-proxy-agent": "^8.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/@npmcli/agent/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, + "license": "ISC" + }, + "node_modules/@npmcli/fs": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-4.0.0.tgz", + "integrity": "sha512-/xGlezI6xfGO9NwuJlnwz/K14qD1kCSAGtacBHnGzeAIuJGazcp45KP5NuyARXoKb7cwulAGWVsbeSxdG/cb0Q==", + "dev": true, + "license": "ISC", "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true - }, - "ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", - "dev": true - }, - "async": { - "version": "2.6.3", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", - "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "node_modules/@npmcli/git": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-6.0.3.tgz", + "integrity": "sha512-GUYESQlxZRAdhs3UhbB6pVRNUELQOHXwK9ruDkwmCv2aZ5y0SApQzUJCg02p3A7Ue2J5hxvlk1YI53c00NmRyQ==", "dev": true, - "requires": { - "lodash": "^4.17.14" + "license": "ISC", + "dependencies": { + "@npmcli/promise-spawn": "^8.0.0", + "ini": "^5.0.0", + "lru-cache": "^10.0.1", + "npm-pick-manifest": "^10.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==" - }, - "asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "9.7.4", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.7.4.tgz", - "integrity": "sha512-g0Ya30YrMBAEZk60lp+qfX5YQllG+S5W3GYCFvyHTvhOki0AEQJLPEcIuGRsqVwLi8FvXPVtwTGhfr38hVpm0g==", - "dev": true, - "requires": { - "browserslist": "^4.8.3", - "caniuse-lite": "^1.0.30001020", - "chalk": "^2.4.2", - "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.26", - "postcss-value-parser": "^4.0.2" - } - }, - "available-typed-arrays": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.2.tgz", - "integrity": "sha512-XWX3OX8Onv97LMk/ftVyBibpGwY5a8SmuxZPzeOxqmuEqUCOM9ZE+uIaD1VNJ5QnvU2UQusvmKbuM1FR8QWGfQ==", - "requires": { - "array-filter": "^1.0.0" + "node_modules/@npmcli/git/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" } }, - "aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true - }, - "aws4": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.9.1.tgz", - "integrity": "sha512-wMHVg2EOHaMRxbzgFJ9gtjOOCrI80OHLG14rxi28XwOW8ux6IiEbRCGGGqCtdAIg4FQCbW20k9RsT4y3gJlFug==", - "dev": true + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" }, - "axobject-query": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", - "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", - "dev": true, - "requires": { - "ast-types-flow": "0.0.7" - } - }, - "babel-loader": { - "version": "8.0.6", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.0.6.tgz", - "integrity": "sha512-4BmWKtBOBm13uoUwd08UwjZlaw3O9GWf456R9j+5YykFZ6LUIjIKLc0zEZf+hauxPOJs96C8k6FvYD09vWzhYw==", - "dev": true, - "requires": { - "find-cache-dir": "^2.0.0", - "loader-utils": "^1.0.2", - "mkdirp": "^0.5.1", - "pify": "^4.0.1" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } + "node_modules/@npmcli/git/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "node_modules/@npmcli/installed-package-contents": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-3.0.0.tgz", + "integrity": "sha512-fkxoPuFGvxyrH+OQzyTkX2LUEamrF4jZSmxjAtPPHHGO0dqsQ8tTKjnIS8SAnPHdk2I03BDtSMR5K/4loKg79Q==", "dev": true, - "requires": { - "object.assign": "^4.1.0" + "license": "ISC", + "dependencies": { + "npm-bundled": "^4.0.0", + "npm-normalize-package-bin": "^4.0.0" + }, + "bin": { + "installed-package-contents": "bin/index.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true - }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=" - }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/@npmcli/node-gyp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-4.0.0.tgz", + "integrity": "sha512-+t5DZ6mO/QFh78PByMq1fGSAub/agLJZDRfJRMeOSNCt8s9YVlTjmGpIPwPhvXTGUIJk+WszlT0rQa1W33yzNA==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "base64-arraybuffer": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.5.tgz", - "integrity": "sha1-c5JncZI7Whl0etZmqlzUv5xunOg=", - "dev": true - }, - "base64-js": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.3.1.tgz", - "integrity": "sha512-mLQ4i2QO1ytvGWFWmcngKO//JXAQueZvwEKtjgQFM4jIK0kU+ytMfplL8j+n5mspOfjHwoAg+9yhb7BwAHm36g==", - "dev": true - }, - "base64id": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-1.0.0.tgz", - "integrity": "sha1-R2iMuZu2gE8OBtPnY7HDLlfY5rY=", - "dev": true - }, - "batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", - "dev": true - }, - "bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "node_modules/@npmcli/package-json": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-6.2.0.tgz", + "integrity": "sha512-rCNLSB/JzNvot0SEyXqWZ7tX2B5dD2a1br2Dp0vSYVo5jh8Z0EZ7lS9TsZ1UtziddB1UfNUaMCc538/HztnJGA==", "dev": true, - "requires": { - "tweetnacl": "^0.14.3" + "license": "ISC", + "dependencies": { + "@npmcli/git": "^6.0.0", + "glob": "^10.2.2", + "hosted-git-info": "^8.0.0", + "json-parse-even-better-errors": "^4.0.0", + "proc-log": "^5.0.0", + "semver": "^7.5.3", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "better-assert": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/better-assert/-/better-assert-1.0.2.tgz", - "integrity": "sha1-QIZrnhueC1W0gYlDEeaPr/rrxSI=", + "node_modules/@npmcli/package-json/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, - "requires": { - "callsite": "1.0.0" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true - }, - "binary-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.0.0.tgz", - "integrity": "sha512-Phlt0plgpIIBOGTT/ehfFnbNlfsDEiqmzE2KRXoX1bLIlir4X/MR+zSyBEkL05ffWgnRSf/DXv+WrUAVr93/ow==", - "dev": true - }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/@npmcli/package-json/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true - }, - "blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "node_modules/@npmcli/package-json/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, - "requires": { - "minimist": "^1.2.0" + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "bluebird": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", - "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", - "dev": true + "node_modules/@npmcli/package-json/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" }, - "bn.js": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.1.tgz", - "integrity": "sha512-IUTD/REb78Z2eodka1QZyyEk66pciRcP6Sroka0aI3tG/iwIdYLrBD62RsubR7vqdt3WyX8p4jxeatzmRSphtA==", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", - "dev": true, - "requires": { - "bytes": "3.1.0", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" - }, + "node_modules/@npmcli/package-json/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", + "dev": true, + "license": "ISC", "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "node_modules/@npmcli/promise-spawn": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-8.0.2.tgz", + "integrity": "sha512-/bNJhjc+o6qL+Dwz/bqfTQClkEO5nTQ1ZEcdCkAQjhkZMHIh22LPG7fNh1enJP1NKWDqYiiABnjFCY7E0zHYtQ==", "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", - "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "license": "ISC", + "dependencies": { + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", - "dev": true - }, - "bootstrap": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.4.1.tgz", - "integrity": "sha512-tbx5cHubwE6e2ZG7nqM3g/FZ5PQEDMWmMGNrCUBVRPHXTJaH7CBDdsLeu3eCh3B1tzAxTnAbtmrzvWEvT2NNEA==" - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "node_modules/@npmcli/promise-spawn/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" } }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, - "requires": { - "fill-range": "^7.0.1" + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "node_modules/@npmcli/redact": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@npmcli/redact/-/redact-3.2.2.tgz", + "integrity": "sha512-7VmYAmk4csGv08QzrDKScdzn11jHPFGyqJW39FyPgPuAp3zIaUmuCo1yxw9aGs+NEJuTGQ9Gwqpt93vtJubucg==", "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "node_modules/@npmcli/run-script": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-9.1.0.tgz", + "integrity": "sha512-aoNSbxtkePXUlbZB+anS1LqsJdctG5n3UVhfU47+CDdwMi6uNTBMF9gPcQRnqghQd2FGzcwwIFBruFMxjhBewg==", "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" + "license": "ISC", + "dependencies": { + "@npmcli/node-gyp": "^4.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "node-gyp": "^11.0.0", + "proc-log": "^5.0.0", + "which": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "node_modules/@npmcli/run-script/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "license": "ISC", + "engines": { + "node": ">=16" } }, - "browserify-rsa": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.0.1.tgz", - "integrity": "sha1-IeCr+vbyApzy+vsTNWenAdQTVSQ=", + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "randombytes": "^2.0.1" - }, + "license": "ISC", "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "browserify-sign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.1.0.tgz", - "integrity": "sha512-VYxo7cDCeYUoBZ0ZCy4UyEUCP3smyBd4DRQM5nrFS1jJjPJjX7rP3oLRpPoWfkhQfyJ0I9ZbHbKafrFD/SGlrg==", - "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.2", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "node_modules/@oxc-project/runtime": { + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@oxc-project/runtime/-/runtime-0.81.0.tgz", + "integrity": "sha512-zm/LDVOq9FEmHiuM8zO4DWirv0VP2Tv2VsgaiHby9nvpq+FVrcqNYgv+TysLKOITQXWZj/roluTxFvpkHP0Iuw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" } }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "node_modules/@oxc-project/types": { + "version": "0.81.0", + "resolved": "https://registry.npmjs.org/@oxc-project/types/-/types-0.81.0.tgz", + "integrity": "sha512-CnOqkybZK8z6Gx7Wb1qF7AEnSzbol1WwcIzxYOr8e91LytGOjo0wCpgoYWZo8sdbpqX+X+TJayIzo4Pv0R/KjA==", "dev": true, - "requires": { - "pako": "~1.0.5" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/Boshen" } }, - "browserslist": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.12.0.tgz", - "integrity": "sha512-UH2GkcEDSI0k/lRkuDSzFl9ZZ87skSy9w2XAn1MsZnL+4c4rqbBd3e82UWHbYDpztABrPBhZsTEeuxVfHppqDg==", + "node_modules/@parcel/watcher": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.5.1.tgz", + "integrity": "sha512-dfUnCxiN9H4ap84DvD2ubjw+3vUNpstxa0TneY/Paat8a3R4uQZDLSvWjmznAY/DoahqTHl9V46HF/Zs3F29pg==", "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001043", - "electron-to-chromium": "^1.3.413", - "node-releases": "^1.1.53", - "pkg-up": "^2.0.0" + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "detect-libc": "^1.0.3", + "is-glob": "^4.0.3", + "micromatch": "^4.0.5", + "node-addon-api": "^7.0.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "@parcel/watcher-android-arm64": "2.5.1", + "@parcel/watcher-darwin-arm64": "2.5.1", + "@parcel/watcher-darwin-x64": "2.5.1", + "@parcel/watcher-freebsd-x64": "2.5.1", + "@parcel/watcher-linux-arm-glibc": "2.5.1", + "@parcel/watcher-linux-arm-musl": "2.5.1", + "@parcel/watcher-linux-arm64-glibc": "2.5.1", + "@parcel/watcher-linux-arm64-musl": "2.5.1", + "@parcel/watcher-linux-x64-glibc": "2.5.1", + "@parcel/watcher-linux-x64-musl": "2.5.1", + "@parcel/watcher-win32-arm64": "2.5.1", + "@parcel/watcher-win32-ia32": "2.5.1", + "@parcel/watcher-win32-x64": "2.5.1" + } + }, + "node_modules/@parcel/watcher-android-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.5.1.tgz", + "integrity": "sha512-KF8+j9nNbUN8vzOFDpRMsaKBHZ/mcjEjMToVMJOhTozkDonQFFrRcfdLWn6yWKCmJKmdVxSgHiYvTCef4/qcBA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.5.1.tgz", + "integrity": "sha512-eAzPv5osDmZyBhou8PoF4i6RQXAfeKL9tjb3QzYuccXFMQU0ruIc/POh30ePnaOyD1UXdlKguHBmsTs53tVoPw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-darwin-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.5.1.tgz", + "integrity": "sha512-1ZXDthrnNmwv10A0/3AJNZ9JGlzrF82i3gNQcWOzd7nJ8aj+ILyW1MTxVk35Db0u91oD5Nlk9MBiujMlwmeXZg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-freebsd-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.5.1.tgz", + "integrity": "sha512-SI4eljM7Flp9yPuKi8W0ird8TI/JK6CSxju3NojVI6BjHsTyK7zxA9urjVjEKJ5MBYC+bLmMcbAWlZ+rFkLpJQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.5.1.tgz", + "integrity": "sha512-RCdZlEyTs8geyBkkcnPWvtXLY44BCeZKmGYRtSgtwwnHR4dxfHRG3gR99XdMEdQ7KeiDdasJwwvNSF5jKtDwdA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm-musl/-/watcher-linux-arm-musl-2.5.1.tgz", + "integrity": "sha512-6E+m/Mm1t1yhB8X412stiKFG3XykmgdIOqhjWj+VL8oHkKABfu/gjFj8DvLrYVHSBNC+/u5PeNrujiSQ1zwd1Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.5.1.tgz", + "integrity": "sha512-LrGp+f02yU3BN9A+DGuY3v3bmnFUggAITBGriZHUREfNEzZh/GO06FF5u2kx8x+GBEUYfyTGamol4j3m9ANe8w==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-arm64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.5.1.tgz", + "integrity": "sha512-cFOjABi92pMYRXS7AcQv9/M1YuKRw8SZniCDw0ssQb/noPkRzA+HBDkwmyOJYp5wXcsTrhxO0zq1U11cK9jsFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-glibc": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.5.1.tgz", + "integrity": "sha512-GcESn8NZySmfwlTsIur+49yDqSny2IhPeZfXunQi48DMugKeZ7uy1FX83pO0X22sHntJ4Ub+9k34XQCX+oHt2A==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-linux-x64-musl": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.5.1.tgz", + "integrity": "sha512-n0E2EQbatQ3bXhcH2D1XIAANAcTZkQICBPVaxMeaCVBtOpBZpWJuf7LwyWPSBDITb7In8mqQgJ7gH8CILCURXg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-arm64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.5.1.tgz", + "integrity": "sha512-RFzklRvmc3PkjKjry3hLF9wD7ppR4AKcWNzH7kXR7GUe0Igb3Nz8fyPwtZCSquGrhU5HhUNDr/mKBqj7tqA2Vw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-ia32": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.5.1.tgz", + "integrity": "sha512-c2KkcVN+NJmuA7CGlaGD1qJh1cLfDnQsHjE89E60vUEMlqduHGCdCLJCID5geFVM0dOtA3ZiIO8BoEQmzQVfpQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@parcel/watcher-win32-x64": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.5.1.tgz", + "integrity": "sha512-9lHBdJITeNR++EvSQVUcaZoWupyHfXe1jZvGZ06O/5MflPcuPLtEphScIBL+AiCWBO46tDSHzWyD0uDmmZqsgA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" } }, - "browserstack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", - "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", + "node_modules/@parcel/watcher/node_modules/detect-libc": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz", + "integrity": "sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg==", "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" + "license": "Apache-2.0", + "optional": true, + "bin": { + "detect-libc": "bin/detect-libc.js" + }, + "engines": { + "node": ">=0.10" } }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/@parcel/watcher/node_modules/node-addon-api": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz", + "integrity": "sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ==", "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" - } + "license": "MIT", + "optional": true }, - "buffer-alloc": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/buffer-alloc/-/buffer-alloc-1.2.0.tgz", - "integrity": "sha512-CFsHQgjtW1UChdXgbyJGtnm+O/uLQeZdtbDo8mfUgYXCHSM1wgrVxXm6bSyrUuErEb+4sYVGCzASBRot7zyrow==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "requires": { - "buffer-alloc-unsafe": "^1.1.0", - "buffer-fill": "^1.0.0" + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" } }, - "buffer-alloc-unsafe": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/buffer-alloc-unsafe/-/buffer-alloc-unsafe-1.1.0.tgz", - "integrity": "sha512-TEM2iMIEQdJ2yjPJoSIsldnleVaAk1oW3DBVUykyOLsEsFmEc9kn+SFFPz+gl54KQNxlDnAwCXosOS9Okx2xAg==", - "dev": true - }, - "buffer-fill": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/buffer-fill/-/buffer-fill-1.0.0.tgz", - "integrity": "sha1-+PeLdniYiO858gXNY39o5wISKyw=", - "dev": true - }, - "buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true - }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true - }, - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true - }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", - "dev": true - }, - "bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true - }, - "cacache": { - "version": "15.0.0", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.0.tgz", - "integrity": "sha512-L0JpXHhplbJSiDGzyJJnJCTL7er7NzbBgxzVqLswEb4bO91Zbv17OUMuUeu/q0ZwKn3V+1HM4wb9tO4eVE/K8g==", + "node_modules/@rolldown/binding-android-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-android-arm64/-/binding-android-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-Gs+313LfR4Ka3hvifdag9r44WrdKQaohya7ZXUXzARF7yx0atzFlVZjsvxtKAw1Vmtr4hB/RjUD1jf73SW7zDw==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "chownr": "^1.1.2", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.1.1", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^8.0.0", - "tar": "^6.0.1", - "unique-filename": "^1.1.1" - }, - "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - } - }, - "call-bind": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rolldown/binding-darwin-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-arm64/-/binding-darwin-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-W8oMqzGcI7wKPXUtS3WJNXzbghHfNiuM1UBAGpVb+XlUCgYRQJd2PRGP7D3WGql3rR3QEhUvSyAuCBAftPQw6Q==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rolldown/binding-darwin-x64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-darwin-x64/-/binding-darwin-x64-1.0.0-beta.32.tgz", + "integrity": "sha512-pM4c4sKUk37noJrnnDkJknLhCsfZu7aWyfe67bD0GQHfzAPjV16wPeD9CmQg4/0vv+5IfHYaa4VE536xbA+W0Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rolldown/binding-freebsd-x64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-freebsd-x64/-/binding-freebsd-x64-1.0.0-beta.32.tgz", + "integrity": "sha512-M8SUgFlYb5kJJWcFC8gUMRiX4WLFxPKMed3SJ2YrxontgIrEcpizPU8nLNVsRYEStoSfKHKExpQw3OP6fm+5bw==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rolldown/binding-linux-arm-gnueabihf": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm-gnueabihf/-/binding-linux-arm-gnueabihf-1.0.0-beta.32.tgz", + "integrity": "sha512-FuQpbNC/hE//bvv29PFnk0AtpJzdPdYl5CMhlWPovd9g3Kc3lw9TrEPIbL7gRPUdhKAiq6rVaaGvOnXxsa0eww==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-arm64-gnu": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-gnu/-/binding-linux-arm64-gnu-1.0.0-beta.32.tgz", + "integrity": "sha512-hRZygRlaGCjcNTNY9GV7dDI18sG1dK3cc7ujHq72LoDad23zFDUGMQjiSxHWK+/r92iMV+j2MiHbvzayxqynsg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-arm64-musl": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-arm64-musl/-/binding-linux-arm64-musl-1.0.0-beta.32.tgz", + "integrity": "sha512-HzgT6h+CXLs+GKAU0Wvkt3rvcv0CmDBsDjlPhh4GHysOKbG9NjpKYX2zvjx671E9pGbTvcPpwy7gGsy7xpu+8g==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-x64-gnu": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-gnu/-/binding-linux-x64-gnu-1.0.0-beta.32.tgz", + "integrity": "sha512-Ab/wbf6gdzphDbsg51UaxsC93foQ7wxhtg0SVCXd25BrV4MAJ1HoDtKN/f4h0maFmJobkqYub2DlmoasUzkvBg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-linux-x64-musl": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-linux-x64-musl/-/binding-linux-x64-musl-1.0.0-beta.32.tgz", + "integrity": "sha512-VoxqGEfh5A1Yx+zBp/FR5QwAbtzbuvky2SVc+ii4g1gLD4zww6mt/hPi5zG+b88zYPFBKHpxMtsz9cWqXU5V5Q==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rolldown/binding-openharmony-arm64": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-openharmony-arm64/-/binding-openharmony-arm64-1.0.0-beta.32.tgz", + "integrity": "sha512-qZ1ViyOUDGbiZrSAJ/FIAhYUElDfVxxFW6DLT/w4KeoZN3HsF4jmRP95mXtl51/oGrqzU9l9Q2f7/P4O/o2ZZA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rolldown/binding-wasm32-wasi": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-wasm32-wasi/-/binding-wasm32-wasi-1.0.0-beta.32.tgz", + "integrity": "sha512-hEkG3wD+f3wytV0lqwb/uCrXc4r4Ny/DWJFJPfQR3VeMWplhWGgSHNwZc2Q7k86Yi36f9NNzzWmrIuvHI9lCVw==", + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@napi-rs/wasm-runtime": "^1.0.3" + }, + "engines": { + "node": ">=14.0.0" } }, - "callback-registry": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/callback-registry/-/callback-registry-2.7.1.tgz", - "integrity": "sha512-wHRRB7qGES+JANDzO+XFcMtyPHLuaQVbvuKuQFUJ6S6/74aN/PUlSqcqzqrY0xuMlTCVINIkFSJKXq5wlHf5kA==" - }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "node_modules/@rolldown/binding-win32-arm64-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-arm64-msvc/-/binding-win32-arm64-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-k3MvDf8SiA7uP2ikP0unNouJ2YCrnwi7xcVW+RDgMp5YXVr3Xu6svmT3HGn0tkCKUuPmf+uy8I5uiHt5qWQbew==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "callsites": "^2.0.0" - } + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/binding-win32-ia32-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-ia32-msvc/-/binding-win32-ia32-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-wAi/FxGh7arDOUG45UmnXE1sZUa0hY4cXAO2qWAjFa3f7bTgz/BqwJ7XN5SUezvAJPNkME4fEpInfnBvM25a0w==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/binding-win32-x64-msvc": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/binding-win32-x64-msvc/-/binding-win32-x64-msvc-1.0.0-beta.32.tgz", + "integrity": "sha512-Ej0i4PZk8ltblZtzVK8ouaGUacUtxRmTm5S9794mdyU/tYxXjAJNseOfxrnHpMWKjMDrOKbqkPqJ52T9NR4LQQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.32.tgz", + "integrity": "sha512-QReCdvxiUZAPkvp1xpAg62IeNzykOFA6syH2CnClif4YmALN1XKpB39XneL80008UbtMShthSVDKmrx05N1q/g==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.47.1.tgz", + "integrity": "sha512-lTahKRJip0knffA/GTNFJMrToD+CM+JJ+Qt5kjzBK/sFQ0EWqfKW3AYQSlZXN98tX0lx66083U9JYIMioMMK7g==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.47.1.tgz", + "integrity": "sha512-uqxkb3RJLzlBbh/bbNQ4r7YpSZnjgMgyoEOY7Fy6GCbelkDSAzeiogxMG9TfLsBbqmGsdDObo3mzGqa8hps4MA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.47.1.tgz", + "integrity": "sha512-tV6reObmxBDS4DDyLzTDIpymthNlxrLBGAoQx6m2a7eifSNEZdkXQl1PE4ZjCkEDPVgNXSzND/k9AQ3mC4IOEQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.47.1.tgz", + "integrity": "sha512-XuJRPTnMk1lwsSnS3vYyVMu4x/+WIw1MMSiqj5C4j3QOWsMzbJEK90zG+SWV1h0B1ABGCQ0UZUjti+TQK35uHQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.47.1.tgz", + "integrity": "sha512-79BAm8Ag/tmJ5asCqgOXsb3WY28Rdd5Lxj8ONiQzWzy9LvWORd5qVuOnjlqiWWZJw+dWewEktZb5yiM1DLLaHw==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.47.1.tgz", + "integrity": "sha512-OQ2/ZDGzdOOlyfqBiip0ZX/jVFekzYrGtUsqAfLDbWy0jh1PUU18+jYp8UMpqhly5ltEqotc2miLngf9FPSWIA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.47.1.tgz", + "integrity": "sha512-HZZBXJL1udxlCVvoVadstgiU26seKkHbbAMLg7680gAcMnRNP9SAwTMVet02ANA94kXEI2VhBnXs4e5nf7KG2A==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.47.1.tgz", + "integrity": "sha512-sZ5p2I9UA7T950JmuZ3pgdKA6+RTBr+0FpK427ExW0t7n+QwYOcmDTK/aRlzoBrWyTpJNlS3kacgSlSTUg6P/Q==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.47.1.tgz", + "integrity": "sha512-3hBFoqPyU89Dyf1mQRXCdpc6qC6At3LV6jbbIOZd72jcx7xNk3aAp+EjzAtN6sDlmHFzsDJN5yeUySvorWeRXA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.47.1.tgz", + "integrity": "sha512-49J4FnMHfGodJWPw73Ve+/hsPjZgcXQGkmqBGZFvltzBKRS+cvMiWNLadOMXKGnYRhs1ToTGM0sItKISoSGUNA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loongarch64-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.47.1.tgz", + "integrity": "sha512-4yYU8p7AneEpQkRX03pbpLmE21z5JNys16F1BZBZg5fP9rIlb0TkeQjn5du5w4agConCCEoYIG57sNxjryHEGg==", + "cpu": [ + "loong64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.47.1.tgz", + "integrity": "sha512-fAiq+J28l2YMWgC39jz/zPi2jqc0y3GSRo1yyxlBHt6UN0yYgnegHSRPa3pnHS5amT/efXQrm0ug5+aNEu9UuQ==", + "cpu": [ + "ppc64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.47.1.tgz", + "integrity": "sha512-daoT0PMENNdjVYYU9xec30Y2prb1AbEIbb64sqkcQcSaR0zYuKkoPuhIztfxuqN82KYCKKrj+tQe4Gi7OSm1ow==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.47.1.tgz", + "integrity": "sha512-JNyXaAhWtdzfXu5pUcHAuNwGQKevR+6z/poYQKVW+pLaYOj9G1meYc57/1Xv2u4uTxfu9qEWmNTjv/H/EpAisw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.47.1.tgz", + "integrity": "sha512-U/CHbqKSwEQyZXjCpY43/GLYcTVKEXeRHw0rMBJP7fP3x6WpYG4LTJWR3ic6TeYKX6ZK7mrhltP4ppolyVhLVQ==", + "cpu": [ + "s390x" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.47.1.tgz", + "integrity": "sha512-uTLEakjxOTElfeZIGWkC34u2auLHB1AYS6wBjPGI00bWdxdLcCzK5awjs25YXpqB9lS8S0vbO0t9ZcBeNibA7g==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.47.1.tgz", + "integrity": "sha512-Ft+d/9DXs30BK7CHCTX11FtQGHUdpNDLJW0HHLign4lgMgBcPFN3NkdIXhC5r9iwsMwYreBBc4Rho5ieOmKNVQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.47.1.tgz", + "integrity": "sha512-N9X5WqGYzZnjGAFsKSfYFtAShYjwOmFJoWbLg3dYixZOZqU7hdMq+/xyS14zKLhFhZDhP9VfkzQnsdk0ZDS9IA==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.47.1.tgz", + "integrity": "sha512-O+KcfeCORZADEY8oQJk4HK8wtEOCRE4MdOkb8qGZQNun3jzmj2nmhV/B/ZaaZOkPmJyvm/gW9n0gsB4eRa1eiQ==", + "cpu": [ + "ia32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.47.1.tgz", + "integrity": "sha512-CpKnYa8eHthJa3c+C38v/E+/KZyF1Jdh2Cz3DyKZqEWYgrM1IHFArXNWvBLPQCKUEsAqqKX27tTqVEFbDNUcOA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "node_modules/@schematics/angular": { + "version": "20.2.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-20.2.0.tgz", + "integrity": "sha512-7sZVj7hOcytQrPE17ixjzul9ih81IfXGcEZvr7fT77qy7Hm5rbMjxqSYxCTf3kAyBFRSLq/E8GTapPAjk2coOg==", "dev": true, - "requires": { - "caller-callsite": "^2.0.0" + "license": "MIT", + "dependencies": { + "@angular-devkit/core": "20.2.0", + "@angular-devkit/schematics": "20.2.0", + "jsonc-parser": "3.3.1" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=24.0.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "callsite": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/callsite/-/callsite-1.0.0.tgz", - "integrity": "sha1-KAOY5dZkvXQDi28JBRU+borxvCA=", - "dev": true - }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==" - }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "node_modules/@sigstore/bundle": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-3.1.0.tgz", + "integrity": "sha512-Mm1E3/CmDDCz3nDhFKTuYdB47EdRFRQMOE/EAbiG1MJW77/w1b3P7Qx7JSrVJs8PfwOLOVcKQCHErIwCTyPbag==", "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" - } - }, - "caniuse-lite": { - "version": "1.0.30001053", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001053.tgz", - "integrity": "sha512-HtV4wwIZl6GA4Oznse8aR274XUOYGZnQLcf/P8vHgmlfqSNelwD+id8CyHOceqLqt9yfKmo7DUZTh1EuS9pukg==", - "dev": true - }, - "canonical-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", - "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", - "dev": true - }, - "caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", - "dev": true - }, - "chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "requires": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - } - }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "chokidar": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.0.tgz", - "integrity": "sha512-aXAaho2VJtisB/1fg1+3nlLJqGOuewTzQpd/Tz0yTg2R0e4IGtshYvtjowyEumcBv2z+y4+kc75Mz7j5xJskcQ==", - "dev": true, - "requires": { - "anymatch": "~3.1.1", - "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.4.0" - }, + "license": "Apache-2.0", "dependencies": { - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", - "dev": true, - "requires": { - "is-glob": "^4.0.1" - } - } + "@sigstore/protobuf-specs": "^0.4.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", + "node_modules/@sigstore/core": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-2.0.0.tgz", + "integrity": "sha512-nYxaSb/MtlSI+JWcwTHQxyNmWeWrUXJJ/G4liLrGG7+tS4vAz6LF3xRXqLH6wPIVUoZQel2Fs4ddLx4NCpiIYg==", "dev": true, - "requires": { - "tslib": "^1.9.0" + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "circular-dependency-plugin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz", - "integrity": "sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } - } - }, - "clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/@sigstore/protobuf-specs": { + "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.4.3.tgz", + "integrity": "sha512-fk2zjD9117RL9BjqEwF7fwv7Q/P9yGsMV4MUJZ/DocaQJ6+3pKr+syBq1owU5Q5qGw5CUbXzm+4yJ2JVRDQeSA==", "dev": true, - "requires": { - "restore-cursor": "^3.1.0" + "license": "Apache-2.0", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "cli-spinners": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.3.0.tgz", - "integrity": "sha512-Xs2Hf2nzrvJMFKimOR7YR0QwZ8fc0u98kdtwN1eNAZzNQgH3vK2pXzff6GJtKh7S5hoJ87ECiAiZFS2fb5Ii2w==", - "dev": true - }, - "cli-width": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-2.2.1.tgz", - "integrity": "sha512-GRMWDxpOB6Dgk2E5Uo+3eEBvtOOlimMmpbFiKuLFnQzYDavtLFY3K5ona41jgN/WdRZtG7utuVSVTL4HbZHGkw==", - "dev": true - }, - "cliui": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-4.1.0.tgz", - "integrity": "sha512-4FG+RSG9DL7uEwRUZXZn3SS34DiDPfzP0VOiEwtUWlE+AR2EIg+hSyvrIgUUfhdgR/UkAeW2QHgeP+hWrXs7jQ==", + "node_modules/@sigstore/sign": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-3.1.0.tgz", + "integrity": "sha512-knzjmaOHOov1Ur7N/z4B1oPqZ0QX5geUfhrVaqVlu+hl0EAoL4o+l0MSULINcD5GCWe3Z0+YJO8ues6vFlW0Yw==", "dev": true, - "requires": { - "string-width": "^2.1.1", - "strip-ansi": "^4.0.0", - "wrap-ansi": "^2.0.0" - }, + "license": "Apache-2.0", "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } - } - }, - "clone": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", - "integrity": "sha1-G39Ln1kfHo+DZwQBYANFoCiHQ18=", - "dev": true - }, - "clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "make-fetch-happen": "^14.0.2", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", + "node_modules/@sigstore/tuf": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-3.1.1.tgz", + "integrity": "sha512-eFFvlcBIoGwVkkwmTi/vEQFSva3xs5Ot3WmBcjgjVdiaoelBLQaQ/ZBfhlG0MnG0cmTYScPpk7eDdGDWUcFUmg==", "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "code-point-at": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/code-point-at/-/code-point-at-1.1.0.tgz", - "integrity": "sha1-DQcLTQQ6W+ozovGkDi7bPZpMz3c=", - "dev": true - }, - "codelyzer": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-5.2.2.tgz", - "integrity": "sha512-jB4FZ1Sx7kZhvZVdf+N2BaKTdrrNZOL0Bj10RRfrhHrb3zEvXjJvvq298JPMJAiyiCS/v4zs1QlGU0ip7xGqeA==", - "dev": true, - "requires": { - "app-root-path": "^2.2.1", - "aria-query": "^3.0.0", - "axobject-query": "2.0.2", - "css-selector-tokenizer": "^0.7.1", - "cssauron": "^1.4.0", - "damerau-levenshtein": "^1.0.4", - "semver-dsl": "^1.0.1", - "source-map": "^0.5.7", - "sprintf-js": "^1.1.2" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true - } + "license": "Apache-2.0", + "dependencies": { + "@sigstore/protobuf-specs": "^0.4.1", + "tuf-js": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "node_modules/@sigstore/verify": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-2.1.1.tgz", + "integrity": "sha512-hVJD77oT67aowHxwT4+M6PGOp+E2LtLdTK3+FC0lBO9T7sYwItDMXZ7Z07IDCvR1M717a4axbIWckrW67KMP/w==", "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "color": { + "node_modules/@socket.io/component-emitter": { "version": "3.1.2", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.2.tgz", - "integrity": "sha512-vXTJhHebByxZn3lDvDJYw4lR5+uB3vuoHsuYA5AKuxRVn5wzzIfQKGLBmgdVRHKTJYeK5rvJcHnrd0Li49CFpg==", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.2.tgz", + "integrity": "sha512-9BCxFwvbGg/RsZK9tjXd8s4UcwR0MWeFQ1XEKIQVVvAGJyINdrqKMcTRyLoK8Rse1GjzLV9cwjWV1olXRWEXVA==", "dev": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.2" - } - }, - "color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "requires": { - "color-name": "1.1.3" - } - }, - "color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=" + "license": "MIT" }, - "color-string": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.3.tgz", - "integrity": "sha512-dC2C5qeWoYkxki5UAXapdjqO672AM4vZuPGRQfO8b5HKuKGBbKWpITyDYN7TOFKvRW7kOgAn3746clDBMDJyQw==", + "node_modules/@tufjs/canonical-json": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", + "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "license": "MIT", + "engines": { + "node": "^16.14.0 || >=18.0.0" } }, - "colors": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.1.2.tgz", - "integrity": "sha1-FopHAXVran9RoSzgyXv6KMCE7WM=", - "dev": true - }, - "combined-stream": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", - "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "node_modules/@tufjs/models": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-3.0.1.tgz", + "integrity": "sha512-UUYHISyhCU3ZgN8yaear3cGATHb3SMuKHsQ/nVbHXcmnBf+LzQ/cQfhNG+rfaSHgqGKNEm2cOCLVLELStUQ1JA==", "dev": true, - "requires": { - "delayed-stream": "~1.0.0" - } - }, - "commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==", - "dev": true - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", - "dev": true - }, - "compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "requires": { - "mime-db": ">= 1.43.0 < 2" - } - }, - "compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "requires": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "@tufjs/canonical-json": "2.0.0", + "minimatch": "^9.0.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=" - }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "requires": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, + "license": "ISC", "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true - }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true - }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", - "dev": true - }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "node_modules/@tybys/wasm-util": { + "version": "0.10.0", + "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.0.tgz", + "integrity": "sha512-VyyPYFlOMNylG45GoAe0xDoLwWuowvf92F9kySqzYh8vmYm7D2u4iUJKa1tOUpS70Ku13ASrOkS4ScXFsTaCNQ==", "dev": true, - "requires": { - "safe-buffer": "5.1.2" - } - }, - "content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", - "requires": { - "safe-buffer": "~5.1.1" - } - }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", - "dev": true - }, - "cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", - "dev": true - }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-5.1.1.tgz", - "integrity": "sha512-P15M5ZC8dyCjQHWwd4Ia/dm0SgVvZJMYeykVIVYXbGyqO4dWB5oyPHp9i7wjwo5LhtlhKbiBCdS2NvM07Wlybg==", - "dev": true, - "requires": { - "cacache": "^12.0.3", - "find-cache-dir": "^2.1.0", - "glob-parent": "^3.1.0", - "globby": "^7.1.1", - "is-glob": "^4.0.1", - "loader-utils": "^1.2.3", - "minimatch": "^3.0.4", - "normalize-path": "^3.0.0", - "p-limit": "^2.2.1", - "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - } + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" } }, - "core-js": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.4.tgz", - "integrity": "sha512-4paDGScNgZP2IXXilaffL9X7968RuvwlkK3xWtZRVqgd8SYNiVKRJvkFd1aqqEuPfN7E68ZHEp9hDj6lHj4Hyw==", - "dev": true - }, - "core-js-compat": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.6.5.tgz", - "integrity": "sha512-7ItTKOhOZbznhXAQ2g/slGg1PJV5zDO/WdkTwi7UEOJmkvsE32PWvx6mKtDjiMpjnR2CNf6BAD6sSxIlv7ptng==", + "node_modules/@types/cors": { + "version": "2.8.19", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.19.tgz", + "integrity": "sha512-mFNylyeyqN93lfe/9CSxOGREz8cpzAhH+E93xJ4xWQf62V8sQ/24reV2nyzUWM6H6Xji+GGHpkbLe7pVoUEskg==", "dev": true, - "requires": { - "browserslist": "^4.8.5", - "semver": "7.0.0" - }, + "license": "MIT", "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } + "@types/node": "*" } }, - "core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "dev": true, + "license": "MIT" }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "node_modules/@types/jasmine": { + "version": "5.1.9", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.9.tgz", + "integrity": "sha512-8t4HtkW4wxiPVedMpeZ63n3vlWxEIquo/zc1Tm8ElU+SqVV7+D3Na2PWaJUp179AzTragMWVwkMv7mvty0NfyQ==", "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" - } + "license": "MIT" }, - "create-ecdh": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.3.tgz", - "integrity": "sha512-GbEHQPMOswGpKXM9kCWVrremUcBmjteUaQ01T9rkKCPDXfUHX0IoP9LpHYo2NPFampa4e+/pFDc3jQdxrxQLaw==", + "node_modules/@types/node": { + "version": "24.3.0", + "resolved": "https://registry.npmjs.org/@types/node/-/node-24.3.0.tgz", + "integrity": "sha512-aPTXCrfwnDLj4VvXrm+UUCQjNEvJgNA8s5F1cvwQU+3KNltTOkBm1j30uNLyqqPNe7gE3KFzImYoZEfLhp4Yow==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.0.0" - }, + "license": "MIT", "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } - } - }, - "create-hash": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" - } - }, - "create-hmac": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", - "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "undici-types": "~7.10.0" } }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" - } - }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-2.1.0.tgz", + "integrity": "sha512-dOxxrhgyDIEUADhb/8OlV9JIqYLgos03YorAueTIeOUskLJSEsfwCByjbu98ctXitUN3znXKp0bYD/WHSudCeA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "peerDependencies": { + "vite": "^6.0.0 || ^7.0.0" } }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true - }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", "dev": true, - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" - } + "license": "BSD-2-Clause" }, - "css-loader": { - "version": "3.5.1", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-3.5.1.tgz", - "integrity": "sha512-0G4CbcZzQ9D1Q6ndOfjFuMDo8uLYMu5vc9Abs5ztyHcKvmil6GJrMiNjzzi3tQvUF+mVRuDg7bE6Oc0Prolgig==", + "node_modules/abbrev": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-3.0.1.tgz", + "integrity": "sha512-AO2ac6pjRB3SJmGJo+v5/aK6Omggp6fsLrs6wN9bd35ulu4cCwaAU9+7ZhXjeqHVkaHThLuzH0nZr0YpCDhygg==", "dev": true, - "requires": { - "camelcase": "^5.3.1", - "cssesc": "^3.0.0", - "icss-utils": "^4.1.1", - "loader-utils": "^1.2.3", - "normalize-path": "^3.0.0", - "postcss": "^7.0.27", - "postcss-modules-extract-imports": "^2.0.0", - "postcss-modules-local-by-default": "^3.0.2", - "postcss-modules-scope": "^2.2.0", - "postcss-modules-values": "^3.0.0", - "postcss-value-parser": "^4.0.3", - "schema-utils": "^2.6.5", - "semver": "^6.3.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "css-parse": { + "node_modules/accepts": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", + "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", "dev": true, - "requires": { - "css": "^2.0.0" + "license": "MIT", + "dependencies": { + "mime-types": "^3.0.0", + "negotiator": "^1.0.0" + }, + "engines": { + "node": ">= 0.6" } }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "node_modules/agent-base": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.4.tgz", + "integrity": "sha512-MnA+YT8fwfJPgBx3m60MNqakm30XOkyIoH1y6huTQvC0PwZG7ki8NacLBcrPbNoo8vEZy7Jpuk7+jMO+CUovTQ==", "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" + "license": "MIT", + "engines": { + "node": ">= 14" } }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", - "dev": true - }, - "css-selector-tokenizer": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.2.tgz", - "integrity": "sha512-yj856NGuAymN6r8bn8/Jl46pR+OC3eEvAhfGYDUe7YPtTPAYrSSw4oAniZ9Y8T5B92hjhwTBLUen0/vKPxf6pw==", + "node_modules/ajv": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", + "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", "dev": true, - "requires": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2", - "regexpu-core": "^4.6.0" + "license": "MIT", + "dependencies": { + "fast-deep-equal": "^3.1.3", + "fast-uri": "^3.0.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "node_modules/ajv-formats": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-3.0.1.tgz", + "integrity": "sha512-8iUql50EUR+uUcdRQ3HDqa6EVyo3docL8g5WJ3FNcWmu62IbkGUue/pEyLBW8VGKKucTPgqeks4fIU1DA4yowQ==", "dev": true, - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" - }, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true } } }, - "css-what": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.2.1.tgz", - "integrity": "sha512-WwOrosiQTvyms+Ti5ZC5vGEK0Vod3FTt1ca+payZqvKuGJF+dq7bG63DstxtN0dpm6FxY27a/zS3Wten+gEtGw==", - "dev": true - }, - "cssauron": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", - "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "node_modules/algoliasearch": { + "version": "5.35.0", + "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.35.0.tgz", + "integrity": "sha512-Y+moNhsqgLmvJdgTsO4GZNgsaDWv8AOGAaPeIeHKlDn/XunoAqYbA+XNpBd1dW8GOXAUDyxC9Rxc7AV4kpFcIg==", "dev": true, - "requires": { - "through": "X.X.X" - } - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", - "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" + "license": "MIT", + "dependencies": { + "@algolia/abtesting": "1.1.0", + "@algolia/client-abtesting": "5.35.0", + "@algolia/client-analytics": "5.35.0", + "@algolia/client-common": "5.35.0", + "@algolia/client-insights": "5.35.0", + "@algolia/client-personalization": "5.35.0", + "@algolia/client-query-suggestions": "5.35.0", + "@algolia/client-search": "5.35.0", + "@algolia/ingestion": "1.35.0", + "@algolia/monitoring": "1.35.0", + "@algolia/recommend": "5.35.0", + "@algolia/requester-browser-xhr": "5.35.0", + "@algolia/requester-fetch": "5.35.0", + "@algolia/requester-node-http": "5.35.0" + }, + "engines": { + "node": ">= 14.0.0" } }, - "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "dev": true, - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "dev": true - }, - "csso": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.0.3.tgz", - "integrity": "sha512-NL3spysxUkcrOgnpsT4Xdl2aiEiBG6bXswAABQVHcMrfjjBisFOKwLDOmf4wf32aPdcJws1zds2B0Rg+jqMyHQ==", - "dev": true, - "requires": { - "css-tree": "1.0.0-alpha.39" - }, - "dependencies": { - "css-tree": { - "version": "1.0.0-alpha.39", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.39.tgz", - "integrity": "sha512-7UvkEYgBAHRG9Nt980lYxjsTrCyHFN53ky3wVsDkiMdVqylqRt+Zc+jm5qw7/qyOvN2dHSYtX0e4MbCCExSvnA==", - "dev": true, - "requires": { - "mdn-data": "2.0.6", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.6.tgz", - "integrity": "sha512-rQvjv71olwNHgiTbfPZFkJtjNMciWgswYeciZhtvWLO8bmX3TnhyA62I6sTWOyZssWHJJjY6/KiWwqQsWWsqOA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "license": "MIT", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", - "dev": true - }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "damerau-levenshtein": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", - "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", - "dev": true - }, - "dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/ansi-regex": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.2.0.tgz", + "integrity": "sha512-TKY5pyBkHyADOPYlRT9Lx6F544mPl0vS5Ew7BJ45hA08Q+t3GjbueLliBWN3sMICk6+y7HdyxSzC4bWS8baBdg==", "dev": true, - "requires": { - "assert-plus": "^1.0.0" - } - }, - "date-format": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", - "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "requires": { - "ms": "^2.1.1" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "debuglog": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/debuglog/-/debuglog-1.0.1.tgz", - "integrity": "sha1-qiT/uaw9+aI1GDfPstJ5NgzXhJI=", - "dev": true - }, - "decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=" - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "decoder-validate": { - "version": "0.0.2", - "resolved": "https://registry.npmjs.org/decoder-validate/-/decoder-validate-0.0.2.tgz", - "integrity": "sha512-9BsqAH9Zq6CvlxKHkSrZrH2iYlhuhHcrh6uTnDvcsa9P5YEweEzt1ci+X/9STgSCE7b9BA7/QIiwhfUDDWmjxw==" - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==" - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "node_modules/ansis": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/ansis/-/ansis-4.1.0.tgz", + "integrity": "sha512-BGcItUBWSMRgOCe+SVZJ+S7yTRG0eGt9cXAHev72yuGcY23hnLA7Bky5L/xLyPINoSN95geovfBkqoTlNZYa7w==", "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" + "license": "ISC", + "engines": { + "node": ">=14" } }, - "default-require-extensions": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/default-require-extensions/-/default-require-extensions-2.0.0.tgz", - "integrity": "sha1-9fj7sYp9bVCyH2QfZJ67Uiz+JPc=", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "requires": { - "strip-bom": "^3.0.0" + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "requires": { - "clone": "^1.0.2" + "license": "MIT", + "engines": { + "node": ">=8.6" }, - "dependencies": { - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "requires": { - "object-keys": "^1.0.12" - } - }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", - "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, - "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } - } - }, - "delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true - }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", - "dev": true - }, - "dependency-graph": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz", - "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==", - "dev": true + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true, + "license": "MIT" }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "license": "MIT", + "engines": { + "node": "^4.5.0 || >= 5.9" } }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true - }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", - "dev": true - }, - "dezalgo": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/dezalgo/-/dezalgo-1.0.3.tgz", - "integrity": "sha1-f3Qt4Gb8dIvI24IFad3c5Jvw1FY=", + "node_modules/beasties": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/beasties/-/beasties-0.3.5.tgz", + "integrity": "sha512-NaWu+f4YrJxEttJSm16AzMIFtVldCvaJ68b1L098KpqXmxt9xOLtKoLkKxb8ekhOrLqEJAbvT6n6SEvB/sac7A==", "dev": true, - "requires": { - "asap": "^2.0.0", - "wrappy": "1" + "license": "Apache-2.0", + "dependencies": { + "css-select": "^6.0.0", + "css-what": "^7.0.0", + "dom-serializer": "^2.0.0", + "domhandler": "^5.0.3", + "htmlparser2": "^10.0.0", + "picocolors": "^1.1.1", + "postcss": "^8.4.49", + "postcss-media-query-parser": "^0.2.3" + }, + "engines": { + "node": ">=14.0.0" } }, - "di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true - }, - "diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "node_modules/binary-extensions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz", + "integrity": "sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=8" }, - "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "dir-glob": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-2.2.2.tgz", - "integrity": "sha512-f9LBi5QWzIW3I6e//uxZoLBlUt9kcp66qo0sSCxL6YZKc75R1c4MFCoe/LaZiBGmgujvQdxc5Bn3QhfyvK5Hsw==", + "node_modules/body-parser": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", + "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", "dev": true, - "requires": { - "path-type": "^3.0.0" + "license": "MIT", + "dependencies": { + "bytes": "^3.1.2", + "content-type": "^1.0.5", + "debug": "^4.4.0", + "http-errors": "^2.0.0", + "iconv-lite": "^0.6.3", + "on-finished": "^2.4.1", + "qs": "^6.14.0", + "raw-body": "^3.0.0", + "type-is": "^2.0.0" + }, + "engines": { + "node": ">=18" } }, - "dns-equal": { + "node_modules/boolbase": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", - "dev": true - }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } + "license": "ISC" }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "node_modules/brace-expansion": { + "version": "1.1.12", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", + "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" } }, - "dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "node_modules/braces": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", + "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", "dev": true, - "requires": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" + "license": "MIT", + "dependencies": { + "fill-range": "^7.1.1" + }, + "engines": { + "node": ">=8" } }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "node_modules/browserslist": { + "version": "4.25.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.25.3.tgz", + "integrity": "sha512-cDGv1kkDI4/0e5yON9yM5G/0A5u8sf5TnmdX5C9qHzI9PPu++sQ9zjm1k9NiOrf3riY4OkK0zSGqfvJyJsgCBQ==", "dev": true, - "requires": { - "domelementtype": "^2.0.1", - "entities": "^2.0.0" - }, - "dependencies": { - "domelementtype": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.1.tgz", - "integrity": "sha512-5HOHUDsYZWV8FGWN0Njbr/Rn7f/eWSQi1v7+HsUVwXgn8nWWlL64zKDkS0n8ZmQ3mlWOMuXOnR+7Nx/5tMO5AQ==", - "dev": true + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "dependencies": { + "caniuse-lite": "^1.0.30001735", + "electron-to-chromium": "^1.5.204", + "node-releases": "^2.0.19", + "update-browserslist-db": "^1.1.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } + "license": "MIT" }, - "dot-prop": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.2.0.tgz", - "integrity": "sha512-uEUyaDKoSQ1M4Oq8l45hSE26SnTxL6snNnqvK/VWx5wJhmff5z0FUVJDKDanor/6w3kzE3i7XZOk+7wC0EXr1A==", + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", "dev": true, - "requires": { - "is-obj": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "node_modules/cacache": { + "version": "19.0.1", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-19.0.1.tgz", + "integrity": "sha512-hdsUxulXCi5STId78vRVYEtDAjq99ICAUktLTeTYsLoTE6Z8dS0c8pWNCxwdrk9YfJeobDZc2Y186hD/5ZQgFQ==", "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "license": "ISC", + "dependencies": { + "@npmcli/fs": "^4.0.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^10.0.1", + "minipass": "^7.0.3", + "minipass-collect": "^2.0.1", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^7.0.2", + "ssri": "^12.0.0", + "tar": "^7.4.3", + "unique-filename": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", + "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", "dev": true, - "requires": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" - } - }, - "ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.430", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.430.tgz", - "integrity": "sha512-HMDYkANGhx6vfbqpOf/hc6hWEmiOipOHGDeRDeUb3HLD3XIWpvKQxFgWf0tgHcr3aNv6I/8VPecplqmQsXoZSw==", - "dev": true - }, - "elliptic": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.2.tgz", - "integrity": "sha512-f4x70okzZbIQl/NSRLkI/+tteV/9WqL98zx+SQ69KbXxmVrmjwsNUPn/gYJJ0sHvEak24cZgHIPegRePAtA/xw==", - "dev": true, - "requires": { - "bn.js": "^4.4.0", - "brorand": "^1.0.1", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" } }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "emojis-list": { + "node_modules/cacache/node_modules/chownr": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true - }, - "encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true - }, - "encoding": { - "version": "0.1.12", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.12.tgz", - "integrity": "sha1-U4tm8+5izRq1HsMjgp0flIDHS+s=", - "dev": true, - "requires": { - "iconv-lite": "~0.4.13" - } - }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true, - "requires": { - "once": "^1.4.0" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, - "engine.io": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.2.1.tgz", - "integrity": "sha512-+VlKzHzMhaU+GsCIg4AoXF1UdDFjHHwMmMKqMJNDNLlUlejz58FCy4LBqB2YVJskHGYl06BatYWKP2TVdVXE5w==", + "node_modules/cacache/node_modules/glob": { + "version": "10.4.5", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.4.5.tgz", + "integrity": "sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==", "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "1.0.0", - "cookie": "0.3.1", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.0", - "ws": "~3.3.1" - }, - "dependencies": { - "cookie": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.3.1.tgz", - "integrity": "sha1-5+Ch+e9DtMi6klxcWpboBtFoc7s=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - } - } - }, - "engine.io-client": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.2.1.tgz", - "integrity": "sha512-y5AbkytWeM4jQr7m/koQLc5AxpRKC1hEVUb/s1FUAWEJq5AzJJ4NLvzuKPuxtDi5Mq755WuDvZ6Iv2rXj4PTzw==", - "dev": true, - "requires": { - "component-emitter": "1.2.1", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.1.1", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "ws": "~3.3.1", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "ws": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/ws/-/ws-3.3.3.tgz", - "integrity": "sha512-nnWLa/NwZSt4KQJu51MYlCcSQ5g7INpOrOMt4XV8j4dqTXdmlUmSHQ8/oLC069ckre0fRsgfvsKwbTdtKLCDkA==", - "dev": true, - "requires": { - "async-limiter": "~1.0.0", - "safe-buffer": "~5.1.0", - "ultron": "~1.1.0" - } - } + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "engine.io-parser": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.1.3.tgz", - "integrity": "sha512-6HXPre2O4Houl7c4g7Ic/XzPnHBvaEmN90vtRO9uLmwtRqQmTOw0QMevL1TOfL2Cpu1VzsaTmMotQgMdkzGkVA==", + "node_modules/cacache/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.5", - "blob": "0.0.5", - "has-binary2": "~1.0.2" - } + "license": "ISC" }, - "enhanced-resolve": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.1.1.tgz", - "integrity": "sha512-98p2zE+rL7/g/DzMHMTF4zZlCgeVdJ7yr6xzEpJRYwFYrGi9ANdn5DnJURg6RpBkyk60XYDnWIv51VfIhfNGuA==", + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", + "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - } - }, - "ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "entities": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.0.0.tgz", - "integrity": "sha512-D9f7V0JSRwIxlRI2mjMqufDrRDnx8p+eEOz7aUM9SuvF8gsBzra0/6tbjl1m8eQHrZlYj6PxqE00hZ1SAIKPLw==", - "dev": true - }, - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", - "dev": true - }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", - "dev": true, - "requires": { - "prr": "~1.0.1" - } - }, - "error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "requires": { - "is-arrayish": "^0.2.1" - } - }, - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-get-iterator": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.1.tgz", - "integrity": "sha512-qorBw8Y7B15DVLaJWy6WdEV/ZkieBcu6QCq/xzWzGOKJqgG1j754vXRfZ3NY7HSShneqU43mPB4OkQBTkvHhFw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.1", - "has-symbols": "^1.0.1", - "is-arguments": "^1.0.4", - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-string": "^1.0.5", - "isarray": "^2.0.5" - }, - "dependencies": { - "isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==" - } - } - }, - "es-to-primitive": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es6-promise": { - "version": "4.2.8", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.8.tgz", - "integrity": "sha512-HJDGx5daxeIvxdBxvG2cb9g4tEvwIk3i8+nhX0yGrYmZUzbkdg8QbDevheDB8gd0//uPj4c1EQua8Q+MViT0/w==", - "dev": true - }, - "es6-promisify": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", - "dev": true, - "requires": { - "es6-promise": "^4.0.3" + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=" - }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "node_modules/cacache/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true, - "requires": { - "esrecurse": "^4.1.0", - "estraverse": "^4.1.1" + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true - }, - "esrecurse": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.2.1.tgz", - "integrity": "sha512-64RBB++fIOAXPw3P9cy89qfMlvZEXZkqqJkjqqXIvzP5ezRZjW+lPWjw35UX/3EhUPFYbg5ER4JYgDw4007/DQ==", + "node_modules/cacache/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "dev": true, - "requires": { - "estraverse": "^4.1.0" - } - }, - "estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true - }, - "etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", - "dev": true - }, - "eventemitter3": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.0.tgz", - "integrity": "sha512-qerSRB0p+UDEssxTtm6EDKcE7W4OaoisfIMl4CngyEhjpYglocpNg6UEqCvemdGhosAsg4sO2dXJOdyBifPGCg==", - "dev": true - }, - "events": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.1.0.tgz", - "integrity": "sha512-Rv+u8MLHNOdMjTAFeT3nCjHn2aGlx435FP/sDHNaRhDEMwyI/aB22Kj2qIN8R0cw3z28psEQLYwxVKLsKrMgWg==", - "dev": true + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" + } }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", + "node_modules/cacache/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", "dev": true, - "requires": { - "original": "^1.0.0" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "exit": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", - "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true + "node_modules/callback-registry": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/callback-registry/-/callback-registry-2.7.2.tgz", + "integrity": "sha512-VVrtF21DaH0VHeNMkLDd4VGuxsYM3V3l3lwYneKVMU/6X3TRtcQszUwlAcqj2HrLcbP1NyS12LsanUwCykaz/Q==", + "license": "ISC" }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", + "node_modules/caniuse-lite": { + "version": "1.0.30001736", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001736.tgz", + "integrity": "sha512-ImpN5gLEY8gWeqfLUyEF4b7mYWcYoR2Si1VhnrbM4JizRFmfGaAQ12PhNykq6nvI4XvKLrsp8Xde74D5phJOSw==", "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true + { + "type": "github", + "url": "https://github.com/sponsors/ai" } - } + ], + "license": "CC-BY-4.0" }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "node_modules/chalk": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.6.0.tgz", + "integrity": "sha512-46QrSQFyVSEyYAgQ22hQ+zDa60YHA4fBstHmtSApj1Y5vKtG27fWowW03jCk5KcbXEWPZUIR894aARCA/G1kfQ==", "dev": true, - "requires": { - "accepts": "~1.3.7", - "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", - "content-type": "~1.0.4", - "cookie": "0.4.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "~1.1.2", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "~1.1.2", - "fresh": "0.5.2", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", - "type-is": "~1.6.18", - "utils-merge": "1.0.1", - "vary": "~1.1.2" + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" }, - "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true + "node_modules/chardet": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-2.1.0.tgz", + "integrity": "sha512-bNFETTG/pM5ryzQ9Ad0lJOTa6HWD/YsScAR3EnCPZRPlQh77JocYktSHOUHelyhm8IARL+o4c4F1bP5KVOjiRA==", + "dev": true, + "license": "MIT" }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "node_modules/chokidar": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-4.0.3.tgz", + "integrity": "sha512-Qgzu8kfBvo+cA4962jnP1KkS6Dop5NS6g7R5LFYJr4b8Ub94PPQXUksCw9PvXoeXPRRddRNC5C1JQUR2SMGtnA==", + "dev": true, + "license": "MIT", + "dependencies": { + "readdirp": "^4.0.1" + }, + "engines": { + "node": ">= 14.16.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" } }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "dev": true, - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" + "license": "ISC", + "engines": { + "node": ">=10" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/cli-cursor": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-5.0.0.tgz", + "integrity": "sha512-aCj4O5wKyszjMmDT4tZj93kxyydN/K5zPWSCe6/0AV/AA1pqe5ZBIw0a2ZfPQV7lL5/yb5HsUreJ6UFAF1tEQw==", + "dev": true, + "license": "MIT", + "dependencies": { + "restore-cursor": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "extsprintf": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", - "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz", - "integrity": "sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true + "node_modules/cli-spinners": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", + "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "fastparse": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", - "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", - "dev": true + "node_modules/cli-truncate": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/cli-truncate/-/cli-truncate-4.0.0.tgz", + "integrity": "sha512-nPdaFdQ0h/GEigbPClz11D0v/ZJEwxmeVZGeMo3Z5StPtUTkA9o1lD6QwoirYiSDzbcwn2XcjwmCp68W1IS4TA==", + "dev": true, + "license": "MIT", + "dependencies": { + "slice-ansi": "^5.0.0", + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "node_modules/cli-width": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", + "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" + "license": "ISC", + "engines": { + "node": ">= 12" } }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true + "node_modules/cliui": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-9.0.1.tgz", + "integrity": "sha512-k7ndgKhwoQveBL+/1tqGJYNz097I7WOvwbmmU2AR5+magtbjPWQTS1C5vzGkBC8Ym8UWRzfKUzUUqFLypY4Q+w==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20" + } }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "node_modules/cliui/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, - "requires": { - "escape-string-regexp": "^1.0.5" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "file-loader": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.0.0.tgz", - "integrity": "sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ==", + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^2.6.5" + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true, - "optional": true + "license": "MIT" }, - "fileset": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/fileset/-/fileset-2.0.3.tgz", - "integrity": "sha1-jnVIqW08wjJ+5eZ0FocjozO7oqA=", + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true, + "license": "MIT" + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true, + "license": "MIT" + }, + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, - "requires": { - "glob": "^7.0.3", - "minimatch": "^3.0.3" + "license": "MIT", + "dependencies": { + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "requires": { - "to-regex-range": "^5.0.1" + "license": "MIT", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/connect/node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "finalhandler": { + "node_modules/connect/node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, - "requires": { + "license": "MIT", + "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -5401,8339 +4709,5402 @@ "statuses": "~1.5.0", "unpipe": "~1.0.0" }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "engines": { + "node": ">= 0.8" } }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^3.0.2", - "pkg-dir": "^4.1.0" - }, - "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } + "node_modules/connect/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true, + "license": "MIT" }, - "find-up": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-2.1.0.tgz", - "integrity": "sha1-RdG35QbHF93UgndaK3eSCjwMV6c=", + "node_modules/connect/node_modules/on-finished": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", + "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", "dev": true, - "requires": { - "locate-path": "^2.0.0" + "license": "MIT", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true - }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "node_modules/connect/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "follow-redirects": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.11.0.tgz", - "integrity": "sha512-KZm0V+ll8PfBrKwMzdo5D13b1bur9Iq9Zd/RMmAoQQcl2PxxFml8cxXPaaPYVbV0RjNjq1CU7zIzAOqtUPudmA==", + "node_modules/content-disposition": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", + "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", "dev": true, - "requires": { - "debug": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "foreach": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/foreach/-/foreach-2.0.5.tgz", - "integrity": "sha1-C+4AUBiusmDQo6865ljdATbsG5k=" - }, - "forever-agent": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", - "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true - }, - "form-data": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", - "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", "dev": true, - "requires": { - "asynckit": "^0.4.0", - "combined-stream": "^1.0.6", - "mime-types": "^2.1.12" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "dev": true, + "license": "MIT" }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", "dev": true, - "requires": { - "map-cache": "^0.2.2" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "node_modules/cookie-signature": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", + "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=6.6.0" } }, - "fs-extra": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", - "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" + "license": "MIT", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" } }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", "dev": true, - "requires": { - "minipass": "^3.0.0" + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" } }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", + "node_modules/css-select": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-6.0.0.tgz", + "integrity": "sha512-rZZVSLle8v0+EY8QAkDWrKhpgt6SA5OtHsgBnsj6ZaLb5dmDVOWUDtQitd9ydxxvEjhewNudS6eTVU7uOyzvXw==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^7.0.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.2", + "nth-check": "^2.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=" + "node_modules/css-what": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-7.0.0.tgz", + "integrity": "sha512-wD5oz5xibMOPHzy13CyGmogB3phdvcDaB5t0W/Nr5Z2O/agcB8YwOz6e2Lsp10pNDzBoDO9nVa3RGs/2BttpHQ==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", "dev": true, - "optional": true + "license": "MIT" }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==" + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">=4.0" + } }, - "genfun": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true + "node_modules/debug": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.1.tgz", + "integrity": "sha512-KcKCqiftBJcZr++7ykoDIEwSa3XWowTfNPo92BYxjXiyYEVrUQh2aLyhxBCwww+heortUFxEJYcRzosstTEBYQ==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } }, - "gensync": { - "version": "1.0.0-beta.1", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.1.tgz", - "integrity": "sha512-r8EC6NO1sngH/zdD9fiRDLdcgnbayXah+mLgManTaIZJqEC1MZstmnox8KpnI2/fxQwrp5OpCOYWLp4rBl4Jcg==" + "node_modules/decoder-validate": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/decoder-validate/-/decoder-validate-0.0.2.tgz", + "integrity": "sha512-9BsqAH9Zq6CvlxKHkSrZrH2iYlhuhHcrh6uTnDvcsa9P5YEweEzt1ci+X/9STgSCE7b9BA7/QIiwhfUDDWmjxw==", + "license": "MIT" }, - "get-caller-file": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-1.0.3.tgz", - "integrity": "sha512-3t6rVToeoZfYSGd8YoLFR2DJkiQrIiUrGcjvFX2mDw3bn6k2OtwHN0TNCLbBO+w8qTvimhDkv+LSscbJY1vE6w==", - "dev": true + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "get-intrinsic": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.2.tgz", - "integrity": "sha512-aeX0vrFm21ILl3+JpFFRNe9aUvp6VFZb2/CTbgLb8j75kOhvoNYjt9d8KA/tJG4gSo8nzEDedRl0h7vDmBYRVg==", - "requires": { - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1" + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "node_modules/detect-libc": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", + "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", "dev": true, - "requires": { - "pump": "^3.0.0" + "license": "Apache-2.0", + "optional": true, + "engines": { + "node": ">=8" } }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", + "dev": true, + "license": "MIT" }, - "getpass": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", - "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", "dev": true, - "requires": { - "assert-plus": "^1.0.0" + "license": "MIT", + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" } }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" } - } + ], + "license": "BSD-2-Clause" }, - "globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==" + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } }, - "globby": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-7.1.1.tgz", - "integrity": "sha1-+yzP+UAfhgCUXfral0QMypcrhoA=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "dir-glob": "^2.0.0", - "glob": "^7.1.2", - "ignore": "^3.3.5", - "pify": "^3.0.0", - "slash": "^1.0.0" - }, - "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "dev": true, + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } }, - "handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true, + "license": "MIT" }, - "har-schema": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", - "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true, + "license": "MIT" }, - "har-validator": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", - "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "node_modules/electron-to-chromium": { + "version": "1.5.207", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.207.tgz", + "integrity": "sha512-mryFrrL/GXDTmAtIVMVf+eIXM09BBPlO5IQ7lUyKmK8d+A4VpRGG+M3ofoVef6qyF8s60rJei8ymlJxjUA8Faw==", "dev": true, - "requires": { - "ajv": "^6.5.5", - "har-schema": "^2.0.0" - } + "license": "ISC" }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", - "requires": { - "function-bind": "^1.1.1" - } + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "dev": true, + "license": "MIT" }, - "has-ansi": { + "node_modules/encodeurl": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", - "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", "dev": true, - "requires": { - "ansi-regex": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, - "requires": { - "isarray": "2.0.1" - }, + "license": "MIT", + "optional": true, "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } + "iconv-lite": "^0.6.2" } }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, - "has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=" - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==" - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", + "node_modules/engine.io": { + "version": "6.6.4", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.6.4.tgz", + "integrity": "sha512-ZCkIjSYNDyGn0R6ewHDtXgns/Zre/NT6Agvq1/WobF7JXgFff4SeDroKiCO3fNJreU9YG429Sc81o4w5ok/W5g==", "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "license": "MIT", + "dependencies": { + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.7.2", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.2.1", + "ws": "~8.17.1" + }, + "engines": { + "node": ">=10.2.0" } }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", - "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - } + "node_modules/engine.io-parser": { + "version": "5.2.3", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.3.tgz", + "integrity": "sha512-HqD3yTBfnBxIrbnM1DoD6Pcq8NECnh8d4As1Qgh0z5Gg3jRRIqijury0CL3ghu/edArpUYiYqQiDUQBIs4np3Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10.0.0" } }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "node_modules/engine.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", - "dev": true - }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "node_modules/engine.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "hosted-git-info": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.4.tgz", - "integrity": "sha512-4oT62d2jwSDBbLLFLZE+1vPuQ1h8p9wjrJ8Mqx5TjsyWmBMV5B13eJqn8pvluqubLf3cJPTfiYCIwNwDNmzScQ==", + "node_modules/engine.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "requires": { - "lru-cache": "^5.1.1" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "node_modules/engine.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, - "html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", - "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", - "dev": true - }, - "html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", - "dev": true - }, - "http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", - "dev": true - }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "node_modules/engine.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "http-parser-js": { - "version": "0.4.10", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", - "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=", - "dev": true - }, - "http-proxy": { - "version": "1.18.0", - "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.0.tgz", - "integrity": "sha512-84I2iJM/n1d4Hdgc6y2+qY5mDaz2PUVjlg9znE9byl+q0uC3DeByqBGReQu5tpLK0TAqTIXScRUV+dg7+bUPpQ==", + "node_modules/ent": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.2.tgz", + "integrity": "sha512-kKvD1tO6BM+oK9HzCPpUdRb4vKFQY/FPTFmurMvh6LlN68VMrdj77w8yp51/kDbpkFOS9J8w5W6zIzgM2H8/hw==", "dev": true, - "requires": { - "eventemitter3": "^4.0.0", - "follow-redirects": "^1.0.0", - "requires-port": "^1.0.0" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.3", + "es-errors": "^1.3.0", + "punycode": "^1.4.1", + "safe-regex-test": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" } }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "http-signature": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", - "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", + "node_modules/environment": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/environment/-/environment-1.1.0.tgz", + "integrity": "sha512-xUtoPkMggbz0MPyPiIWr1Kp4aeWJjDZ6SMvURhimjdZgsRuDplF5/s9hcgGhyXMhs+6vpnuoiZ2kFiu3FMnS8Q==", "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "jsprim": "^1.2.2", - "sshpk": "^1.7.0" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true, + "license": "MIT" }, - "https-proxy-agent": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", - "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", "dev": true, - "requires": { - "agent-base": "^4.3.0", - "debug": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "humanize-ms": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", "dev": true, - "requires": { - "ms": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "iconv-lite": { - "version": "0.4.24", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", - "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "node_modules/es-object-atoms": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", + "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", + "dev": true, + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esbuild": { + "version": "0.25.9", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.9.tgz", + "integrity": "sha512-CRbODhYyQx3qp7ZEwzxOk4JBqmD/seJrzPa/cGjY1VtIn5E09Oi9/dB4JwctnfZ8Q8iT7rioVv5k/FNT/uf54g==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.9", + "@esbuild/android-arm": "0.25.9", + "@esbuild/android-arm64": "0.25.9", + "@esbuild/android-x64": "0.25.9", + "@esbuild/darwin-arm64": "0.25.9", + "@esbuild/darwin-x64": "0.25.9", + "@esbuild/freebsd-arm64": "0.25.9", + "@esbuild/freebsd-x64": "0.25.9", + "@esbuild/linux-arm": "0.25.9", + "@esbuild/linux-arm64": "0.25.9", + "@esbuild/linux-ia32": "0.25.9", + "@esbuild/linux-loong64": "0.25.9", + "@esbuild/linux-mips64el": "0.25.9", + "@esbuild/linux-ppc64": "0.25.9", + "@esbuild/linux-riscv64": "0.25.9", + "@esbuild/linux-s390x": "0.25.9", + "@esbuild/linux-x64": "0.25.9", + "@esbuild/netbsd-arm64": "0.25.9", + "@esbuild/netbsd-x64": "0.25.9", + "@esbuild/openbsd-arm64": "0.25.9", + "@esbuild/openbsd-x64": "0.25.9", + "@esbuild/openharmony-arm64": "0.25.9", + "@esbuild/sunos-x64": "0.25.9", + "@esbuild/win32-arm64": "0.25.9", + "@esbuild/win32-ia32": "0.25.9", + "@esbuild/win32-x64": "0.25.9" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3" + "license": "MIT", + "engines": { + "node": ">=6" } }, - "icss-utils": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-4.1.1.tgz", - "integrity": "sha512-4aFq7wvWyMHKgxsH8QQtGpvbASCf+eM3wPRLI6R+MgAnTCZ6STYsRvttLvRWK0Nfif5piF394St3HeJDaljGPA==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", "dev": true, - "requires": { - "postcss": "^7.0.14" - } + "license": "MIT" }, - "idb": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/idb/-/idb-5.0.8.tgz", - "integrity": "sha512-K9xInRkVbT3ZsYimD2KVj6B4E93IBvOjEQTryu99WuuN7G+7x3SzA79+yubbX0QRN9V64Gi+L+ulG5QYTVydOg==" - }, - "ieee754": { - "version": "1.1.13", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.1.13.tgz", - "integrity": "sha512-4vf7I2LYV/HaWerSo3XmlMkp5eZ83i+/CDluXi/IGTs/O1sejBNhTtnxzmRZfvOUqj7lZjqHkeTvpgSFDlWZTg==", - "dev": true - }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true - }, - "ignore": { - "version": "3.3.10", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-3.3.10.tgz", - "integrity": "sha512-Pgs951kaMm5GXP7MOvxERINe3gsaVjUWFm+UZPSq9xYriQAksyhg0csnS0KXSNRD5NmNdapXEpjxG49+AKh/ug==", - "dev": true - }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", "dev": true, - "requires": { - "minimatch": "^3.0.4" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true, - "optional": true - }, - "immediate": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", - "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", - "dev": true + "license": "MIT" }, - "import-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-cwd/-/import-cwd-2.1.0.tgz", - "integrity": "sha1-qmzzbnInYShcs3HsZRn1PiQ1sKk=", + "node_modules/eventsource": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.7.tgz", + "integrity": "sha512-CRT1WTyuQoD771GW56XEZFQ/ZoSfWid1alKGDYMmkt2yl8UXrVR4pspqWNEcqKvVIzg6PAltWjxcSSPrboA4iA==", "dev": true, - "requires": { - "import-from": "^2.1.0" + "license": "MIT", + "dependencies": { + "eventsource-parser": "^3.0.1" + }, + "engines": { + "node": ">=18.0.0" } }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "node_modules/eventsource-parser": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.5.tgz", + "integrity": "sha512-bSRG85ZrMdmWtm7qkF9He9TNRzc/Bm99gEJMaQoHJ9E6Kv9QBbsldh2oMj7iXmYNEAVvNgvv5vPorG6W+XtBhQ==", "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=20.0.0" } }, - "import-from": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/import-from/-/import-from-2.1.0.tgz", - "integrity": "sha1-M1238qev/VOqpHHUuAId7ja387E=", + "node_modules/exponential-backoff": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.2.tgz", + "integrity": "sha512-8QxYTVXUkuy7fIIoitQkPwGonB8F3Zj8eEO8Sqg9Zv/bkI7RJAzowee4gr81Hak/dUTpA2Z7VfQgoijjPNlUZA==", "dev": true, - "requires": { - "resolve-from": "^3.0.0" + "license": "Apache-2.0" + }, + "node_modules/express": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", + "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", + "dev": true, + "license": "MIT", + "dependencies": { + "accepts": "^2.0.0", + "body-parser": "^2.2.0", + "content-disposition": "^1.0.0", + "content-type": "^1.0.5", + "cookie": "^0.7.1", + "cookie-signature": "^1.2.1", + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "finalhandler": "^2.1.0", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "merge-descriptors": "^2.0.0", + "mime-types": "^3.0.0", + "on-finished": "^2.4.1", + "once": "^1.4.0", + "parseurl": "^1.3.3", + "proxy-addr": "^2.0.7", + "qs": "^6.14.0", + "range-parser": "^1.2.1", + "router": "^2.2.0", + "send": "^1.1.0", + "serve-static": "^2.2.0", + "statuses": "^2.0.1", + "type-is": "^2.0.1", + "vary": "^1.1.2" + }, + "engines": { + "node": ">= 18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" } }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "node_modules/express-rate-limit": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.1.tgz", + "integrity": "sha512-7iN8iPMDzOMHPUYllBEsQdWVB6fPDMPqwjBaFrgr4Jgr/+okjvzAy+UHlYYL/Vs0OsOrMkwS6PJDkFlJwoxUnw==", "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">= 16" + }, + "funding": { + "url": "https://github.com/sponsors/express-rate-limit" + }, + "peerDependencies": { + "express": ">= 4.11" } }, - "imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true - }, - "indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "dev": true, + "license": "MIT" }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "license": "MIT" }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "license": "MIT" }, - "infer-owner": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", - "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", - "dev": true + "node_modules/fast-uri": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", + "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fastify" + }, + { + "type": "opencollective", + "url": "https://opencollective.com/fastify" + } + ], + "license": "BSD-3-Clause" }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", - "requires": { - "once": "^1.3.0", - "wrappy": "1" + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" - }, - "ini": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", - "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true - }, - "inquirer": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.1.0.tgz", - "integrity": "sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-width": "^2.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.15", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.5.3", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" + "node_modules/fill-range": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", + "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", + "dev": true, + "license": "MIT", + "dependencies": { + "to-regex-range": "^5.0.1" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/finalhandler": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", + "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", + "dev": true, + "license": "MIT", "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true - }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", - "dev": true, - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } + "debug": "^4.4.0", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "on-finished": "^2.4.1", + "parseurl": "^1.3.3", + "statuses": "^2.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/flatted": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", + "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/follow-redirects": { + "version": "1.15.11", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.11.tgz", + "integrity": "sha512-deG2P0JfjrTxl50XGCDyfI97ZGVCxIpfKYmfyrQ54n5FO/0gfIES8C/Psl6kWVDolizcaaxZJnTS0QSMxvnsBQ==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "license": "MIT", + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true } } }, - "internal-ip": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "node_modules/foreground-child": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.1.tgz", + "integrity": "sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==", "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.6", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "invariant": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/invariant/-/invariant-2.2.4.tgz", - "integrity": "sha512-phJfQVBuaJM5raOpJjSfkiD6BpbCE4Ns//LaXl6wGYtUBY83nWS6Rf9tXm2e8VaK60JEjYldbPif/A2B1C2gNA==", + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", "dev": true, - "requires": { - "loose-envify": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "invert-kv": { + "node_modules/fresh": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/invert-kv/-/invert-kv-2.0.0.tgz", - "integrity": "sha512-wPVv/y/QQ/Uiirj/vh3oP+1Ww+AWehmi1g5fFWGPF6IpCBCDVrhgHRMvrLfdYcwDh3QJbGXDW4JAuzxElLSqKA==", - "dev": true - }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true - }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true - }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", - "dev": true - }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true - }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", + "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==" + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^4.0.0", + "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" + } }, - "is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", - "dev": true + "node_modules/fs-minipass": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", + "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, - "is-bigint": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.1.tgz", - "integrity": "sha512-J0ELF4yHFxHy0cmSxZuheDOz2luOdVvqjwmEcj8H/L1JHeuEDSDbeRP+Dk9kFVk5RTFzbucJ2Kb9F7ixY2QaCg==" + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true, + "license": "ISC" }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, - "requires": { - "binary-extensions": "^2.0.0" + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "is-boolean-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.0.tgz", - "integrity": "sha512-a7Uprx8UtD+HWdyYwnD1+ExtTgqQtD2k/1yJgtXP6wnMm8byhkoTZRl+95LLThpzNZJ5aEvi46cdH+ayMFRwmA==", - "requires": { - "call-bind": "^1.0.0" + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==" + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" + "license": "ISC", + "engines": { + "node": "6.* || 8.* || >= 10.*" } }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", "dev": true, - "requires": { - "kind-of": "^3.0.2" + "license": "MIT", + "engines": { + "node": ">=18" }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==" - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" - }, + "license": "MIT", "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "license": "MIT", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "deprecated": "Glob versions prior to v9 are no longer supported", + "dev": true, + "license": "ISC", + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "requires": { - "is-extglob": "^2.1.1" + "license": "ISC", + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" } }, - "is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true - }, - "is-map": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", - "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==" - }, - "is-negative-zero": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.1.tgz", - "integrity": "sha512-2z6JzQvZRa9A2Y7xC6dQQm4FSTSTNWjKIYYTt4246eMTJmIo0Q+ZyOsU66X8lxK1AbB92dFeglPLrhwpeRKO6w==" - }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-number-object": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.4.tgz", - "integrity": "sha512-zohwelOAur+5uXtk8O3GPQ1eAcu4ZX3UwxQhUlfFFMNpUd83gXgjbhJh6HmB6LUNV/ieOLQuDwJO3dWJosUeMw==" - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true, + "license": "BSD-2-Clause" }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", "dev": true, - "requires": { - "is-path-inside": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "devOptional": true, + "license": "ISC" + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "path-is-inside": "^1.0.2" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "is-plain-obj": { + "node_modules/has-symbols": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-1.1.0.tgz", - "integrity": "sha1-caUMhCnfync8kqOQpKA7OfzVHT4=", - "dev": true - }, - "is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", "dev": true, - "requires": { - "isobject": "^3.0.1" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "requires": { - "has": "^1.0.3" + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dev": true, + "license": "MIT", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-set": { + "node_modules/hasown": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", - "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==" - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-string": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.5.tgz", - "integrity": "sha512-buY6VNRjhQMiF1qWDouloZlQbRhDPCebwxSjxMjxgemYT46YMd2NR0/H+fBhEfWX4A/w9TBJ+ol+okqJKFE6vQ==" - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", + "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" + "license": "MIT", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" } }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", - "requires": { - "has-symbols": "^1.0.1" + "node_modules/hosted-git-info": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-9.0.0.tgz", + "integrity": "sha512-gEf705MZLrDPkbbhi8PnoO4ZwYgKoNL+ISZ3AjZMht2r3N5tuTwncyDi6Fv2/qDnMmZxgs0yI8WDOyR8q3G+SQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^11.1.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "is-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.4.tgz", - "integrity": "sha512-ILaRgn4zaSrVNXNGtON6iFNotXW3hAPF3+0fB1usg2jFlWqo5fEDdmJkz0zBfoi7Dgskr8Khi2xZ8cXqZEfXNA==", - "requires": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "has-symbols": "^1.0.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - } + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.1.0.tgz", + "integrity": "sha512-QIXZUBJUx+2zHUdQujWejBkcD9+cs94tLn0+YL8UrCh+D5sCXZ4c7LaEH48pNwRY3MLDgqUFyhlCyjJPf1WP0A==", + "dev": true, + "license": "ISC", + "engines": { + "node": "20 || >=22" } }, - "is-typedarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", - "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", - "dev": true - }, - "is-weakmap": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", - "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==" - }, - "is-weakset": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.1.tgz", - "integrity": "sha512-pi4vhbhVHGLxohUw7PhGsueT4vRGFoXhP7+RGN0jKIv9+8PWYCQTqtADngrxOm2g46hoH0+g8uZZBzMrvVGDmw==" - }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "node_modules/html-escaper": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", + "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", + "dev": true, + "license": "MIT" }, - "is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", "dev": true, - "requires": { - "is-docker": "^2.0.0" + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" } }, - "isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", - "dev": true - }, - "isbinaryfile": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-3.0.3.tgz", - "integrity": "sha512-8cJBL5tTd2OS0dM4jz07wQd5g0dCCqIhUxPIGtZfa5L6hWlvV5MHTITy/DBAsF+Oe2LS1X3krBUhNwaGUWpWxw==", + "node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, - "requires": { - "buffer-alloc": "^1.2.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "dev": true, + "license": "BSD-2-Clause" }, - "isstream": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", - "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", - "dev": true - }, - "istanbul-api": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/istanbul-api/-/istanbul-api-2.1.7.tgz", - "integrity": "sha512-LYTOa2UrYFyJ/aSczZi/6lBykVMjCCvUmT64gOe+jPZFy4w6FYfPGqFT2IiQ2BxVHHDOvCD7qrIXb0EOh4uGWw==", - "dev": true, - "requires": { - "async": "^2.6.2", - "compare-versions": "^3.4.0", - "fileset": "^2.0.3", - "istanbul-lib-coverage": "^2.0.5", - "istanbul-lib-hook": "^2.0.7", - "istanbul-lib-instrument": "^3.3.0", - "istanbul-lib-report": "^2.0.8", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^2.2.5", - "js-yaml": "^3.13.1", - "make-dir": "^2.1.0", - "minimatch": "^3.0.4", - "once": "^1.4.0" - }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "istanbul-lib-instrument": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-3.3.0.tgz", - "integrity": "sha512-5nnIN4vo5xQZHdXno/YDXJ0G+I3dAm4XgzfSVTPLQpj/zAV2dV6Juy0yaf10/zrJOJeHoN3fraFe+XRq2bFVZA==", - "dev": true, - "requires": { - "@babel/generator": "^7.4.0", - "@babel/parser": "^7.4.3", - "@babel/template": "^7.4.0", - "@babel/traverse": "^7.4.3", - "@babel/types": "^7.4.0", - "istanbul-lib-coverage": "^2.0.5", - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" } }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true - }, - "istanbul-lib-hook": { - "version": "2.0.7", - "resolved": "https://registry.npmjs.org/istanbul-lib-hook/-/istanbul-lib-hook-2.0.7.tgz", - "integrity": "sha512-vrRztU9VRRFDyC+aklfLoeXyNdTfga2EI3udDGn4cZ6fpSXpHLV9X6CHvfoMCPtggg8zvDDmC4b9xfu0z6/llA==", + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", "dev": true, - "requires": { - "append-transform": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "istanbul-lib-instrument": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.1.tgz", - "integrity": "sha512-imIchxnodll7pvQBYOqUu88EufLCU56LMeFPZZM/fJZ1irYcYdqroaV+ACK1Ila8ls09iEYArp+nqyC6lW1Vfg==", - "dev": true, - "requires": { - "@babel/core": "^7.7.5", - "@babel/parser": "^7.7.5", - "@babel/template": "^7.7.4", - "@babel/traverse": "^7.7.4", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", - "semver": "^6.3.0" - }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "license": "MIT", "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "istanbul-lib-report": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-2.0.8.tgz", - "integrity": "sha512-fHBeG573EIihhAblwgxrSenp0Dby6tJMFR/HvlerBsrCTD5bkUuoNtn3gVh29ZCS824cGGBPn7Sg7cNk+2xUsQ==", + "node_modules/http-proxy-agent": { + "version": "7.0.2", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", + "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", "dev": true, - "requires": { - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "supports-color": "^6.1.0" - }, + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "agent-base": "^7.1.0", + "debug": "^4.3.4" + }, + "engines": { + "node": ">= 14" } }, - "istanbul-lib-source-maps": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", - "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", + "node_modules/https-proxy-agent": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.6.tgz", + "integrity": "sha512-vK9P5/iUfdl95AI+JVyUuIcVtd4ofvtrOr3HNtM2yxC9bnMbEdp3x01OhQNnjb8IJYi38VlTE3mBXwcfvywuSw==", "dev": true, - "requires": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^2.0.5", - "make-dir": "^2.1.0", - "rimraf": "^2.6.3", - "source-map": "^0.6.1" - }, + "license": "MIT", "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "agent-base": "^7.1.2", + "debug": "4" + }, + "engines": { + "node": ">= 14" } }, - "istanbul-reports": { - "version": "2.2.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-2.2.7.tgz", - "integrity": "sha512-uu1F/L1o5Y6LzPVSVZXNOoD/KXpJue9aeLRd0sM9uMXfZvzomB0WxVamWb5ue8kA2vVWEmW7EG+A5n3f1kqHKg==", + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, - "requires": { - "html-escaper": "^2.0.0" + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "jasmine": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", - "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", + "node_modules/ignore-walk": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-8.0.0.tgz", + "integrity": "sha512-FCeMZT4NiRQGh+YkeKMtWrOmBgWjHjMJ26WQWrRQyoyzqevdaGSakUaJW5xQYmjLlUVk2qUnCjYVBax9EKKg8A==", "dev": true, - "requires": { - "exit": "^0.1.2", - "glob": "^7.0.6", - "jasmine-core": "~2.8.0" + "license": "ISC", + "dependencies": { + "minimatch": "^10.0.3" }, + "engines": { + "node": "^20.17.0 || >=22.9.0" + } + }, + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "10.0.3", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-10.0.3.tgz", + "integrity": "sha512-IPZ167aShDZZUMdRk66cyQAW3qr0WzbHkPdMYa8bzZhlHhO3jALbKdxcaak7W9FfT2rZNpQuUu4Od7ILEpXSaw==", + "dev": true, + "license": "ISC", "dependencies": { - "jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - } + "@isaacs/brace-expansion": "^5.0.0" + }, + "engines": { + "node": "20 || >=22" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "jasmine-core": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.5.0.tgz", - "integrity": "sha512-nCeAiw37MIMA9w9IXso7bRaLl+c/ef3wnxsoSAlYrzS+Ot0zTG6nU8G/cIfGkqpkjX2wNaIW9RFG0TwIFnG6bA==", - "dev": true + "node_modules/immutable": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-5.1.3.tgz", + "integrity": "sha512-+chQdDfvscSF1SJqv2gn4SRO2ZyS3xL3r7IW/wWEEzrzLisnOlKiQu5ytC/BVNcS15C39WT2Hg/bjKjDMcu+zg==", + "dev": true, + "license": "MIT" }, - "jasmine-spec-reporter": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-4.2.1.tgz", - "integrity": "sha512-FZBoZu7VE5nR7Nilzy+Np8KuVIOxF4oXDPDknehCYBDE080EnlPu0afdZNmpGDBRCUBv3mj5qgqCRmk6W/K8vg==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "requires": { - "colors": "1.1.2" + "license": "MIT", + "engines": { + "node": ">=0.8.19" } }, - "jasminewd2": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", - "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", - "dev": true - }, - "jest-worker": { - "version": "25.1.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-25.1.0.tgz", - "integrity": "sha512-ZHhHtlxOWSxCoNOKHGbiLzXnl42ga9CxDr27H36Qn+15pQZd3R/F24jrmjDelw9j/iHUIWMWs08/u2QN50HHOg==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "deprecated": "This module is not supported, and leaks memory. Do not use it. Check out lru-cache if you want a good and tested way to coalesce async requests by a key value, which is much more comprehensive and powerful.", "dev": true, - "requires": { - "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" - }, + "license": "ISC", "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "once": "^1.3.0", + "wrappy": "1" } }, - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==" + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true, + "license": "ISC" }, - "js-yaml": { - "version": "3.13.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.13.1.tgz", - "integrity": "sha512-YfbcO7jXDdyj0DGxYVSlSeQNHbD7XPWvrVWeVUujrQEoZzWJIRrCPoyk6kL6IAjAG2IolMK4T0hNUe0HOUs5Jw==", + "node_modules/ini": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-5.0.0.tgz", + "integrity": "sha512-+N0ngpO3e7cRUWOJAS7qw0IZIVc6XPrW4MlFBdD066F2L4k1L6ker3hLqSq7iXxU5tgS4WGkIUElWn5vogAEnw==", "dev": true, - "requires": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "jsbn": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", - "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", - "dev": true - }, - "jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==" - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true - }, - "json-schema": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", - "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", - "dev": true + "node_modules/ip-address": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-10.0.1.tgz", + "integrity": "sha512-NWv9YLW4PoW2B7xtzaS3NCot75m6nK7Icdv0o3lfMceJVRfSoQwqD4wEH5rLwoKJwUiZ/rfpiVBhnaF0FK4HoA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 12" + } }, - "json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.10" + } }, - "json-stringify-safe": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", - "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", - "dev": true + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "license": "MIT", + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true + "node_modules/is-core-module": { + "version": "2.16.1", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", + "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", + "dev": true, + "license": "MIT", + "dependencies": { + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", - "requires": { - "minimist": "^1.2.5" + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "jsonfile": { + "node_modules/is-fullwidth-code-point": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-4.0.0.tgz", + "integrity": "sha512-O4L094N2/dZ7xqVdrXhh9r1KODPJpFms8B5sGdJLPy664AgvXsreZUyCQQNItZRDlYug4xStLjNp/sz3HvBowQ==", "dev": true, - "requires": { - "graceful-fs": "^4.1.6" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true - }, - "jsprim": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", - "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "requires": { - "assert-plus": "1.0.0", - "extsprintf": "1.3.0", - "json-schema": "0.2.3", - "verror": "1.10.0" + "license": "MIT", + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "jszip": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.4.0.tgz", - "integrity": "sha512-gZAOYuPl4EhPTXT0GjhI3o+ZAz3su6EhLrKUoAivcKqyqC7laS5JEv4XWZND9BgcDcF83vI85yGbDmDR6UhrIg==", + "node_modules/is-interactive": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-2.0.0.tgz", + "integrity": "sha512-qP1vozQRI+BMOPcjFzrjXuQvdak2pHNUMZoeG2eRbiSqyvbEf/wQtEOTOX1guk6E3t36RkaqiSt8A/6YElNxLQ==", "dev": true, - "requires": { - "lie": "~3.3.0", - "pako": "~1.0.2", - "readable-stream": "~2.3.6", - "set-immediate-shim": "~1.0.1" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "karma": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/karma/-/karma-4.4.1.tgz", - "integrity": "sha512-L5SIaXEYqzrh6b1wqYC42tNsFMx2PWuxky84pK9coK09MvmL7mxii3G3bZBh/0rvD27lqDd0le9jyhzvwif73A==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "requires": { - "bluebird": "^3.3.0", - "body-parser": "^1.16.1", - "braces": "^3.0.2", - "chokidar": "^3.0.0", - "colors": "^1.1.0", - "connect": "^3.6.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.0", - "flatted": "^2.0.0", - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "http-proxy": "^1.13.0", - "isbinaryfile": "^3.0.0", - "lodash": "^4.17.14", - "log4js": "^4.0.0", - "mime": "^2.3.1", - "minimatch": "^3.0.2", - "optimist": "^0.6.1", - "qjobs": "^1.1.4", - "range-parser": "^1.2.0", - "rimraf": "^2.6.0", - "safe-buffer": "^5.0.1", - "socket.io": "2.1.1", - "source-map": "^0.6.1", - "tmp": "0.0.33", - "useragent": "2.3.0" - }, - "dependencies": { - "mime": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz", - "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "license": "MIT", + "engines": { + "node": ">=0.12.0" } }, - "karma-chrome-launcher": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", - "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", + "node_modules/is-promise": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", + "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", "dev": true, - "requires": { - "which": "^1.2.1" + "license": "MIT" + }, + "node_modules/is-regex": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", + "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "gopd": "^1.2.0", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "karma-coverage-istanbul-reporter": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-2.1.1.tgz", - "integrity": "sha512-CH8lTi8+kKXGvrhy94+EkEMldLCiUA0xMOiL31vvli9qK0T+qcXJAwWBRVJWnVWxYkTmyWar8lPz63dxX6/z1A==", + "node_modules/is-unicode-supported": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-2.1.0.tgz", + "integrity": "sha512-mE00Gnza5EEB3Ds0HfMyllZzbBrmLOX3vfWoj9A9PEnTfratQ/BcaJOuMhnkhjXvb2+FkY3VuHqtAGpTPmglFQ==", "dev": true, - "requires": { - "istanbul-api": "^2.1.6", - "minimatch": "^3.0.4" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "karma-jasmine": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-3.0.3.tgz", - "integrity": "sha512-80iBR8/hLFY2Uw3S2GG6EndWtMCGMJjrCYNwYROWsJFVTjWrRSsLqcA2ye+U3ygW5sjOQo8f+78L8cGUxjC/+A==", + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", "dev": true, - "requires": { - "jasmine-core": "^3.5.0" + "license": "MIT", + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" } }, - "karma-jasmine-html-reporter": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.3.tgz", - "integrity": "sha512-ci0VrjuCaFj+9d1tYlTE3KIPUCp0rz874zWWU3JgCMqGIyw5ke+BXWFPOAGAqUdCJcrMwneyvp1zFXA74MiPUA==", - "dev": true + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true, + "license": "ISC" }, - "karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "node_modules/istanbul-lib-coverage": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", + "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", "dev": true, - "requires": { - "source-map-support": "^0.5.5" + "license": "BSD-3-Clause", + "engines": { + "node": ">=8" } }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true - }, - "kind-of": { + "node_modules/istanbul-lib-instrument": { "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-6.0.3.tgz", + "integrity": "sha512-Vtgk7L/R2JHyyGW07spoFlB8/lpjiOLTjMdms6AFMraYt3BaJauod/NGrfnVG/y4Ix1JEuMRPDPEj2ua+zz1/Q==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.23.9", + "@babel/parser": "^7.23.9", + "@istanbuljs/schema": "^0.1.3", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=10" + } }, - "lcid": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/lcid/-/lcid-2.0.0.tgz", - "integrity": "sha512-avPEb8P8EGnwXKClwsNUgryVjllcRqtMYa49NTsbQagYuT1DcXnl1915oxWjoyGrXR6zH/Y0Zc96xWsPcoDKeA==", - "dev": true, - "requires": { - "invert-kv": "^2.0.0" - } - }, - "less": { - "version": "3.11.1", - "resolved": "https://registry.npmjs.org/less/-/less-3.11.1.tgz", - "integrity": "sha512-tlWX341RECuTOvoDIvtFqXsKj072hm3+9ymRBe76/mD6O5ZZecnlAOVDlWAleF2+aohFrxNidXhv2773f6kY7g==", - "dev": true, - "requires": { - "clone": "^2.1.2", - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "mime": "^1.4.1", - "mkdirp": "^0.5.0", - "promise": "^7.1.1", - "request": "^2.83.0", - "source-map": "~0.6.0", - "tslib": "^1.10.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - } + "node_modules/istanbul-lib-report": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", + "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "make-dir": "^4.0.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" } }, - "less-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-5.0.0.tgz", - "integrity": "sha512-bquCU89mO/yWLaUq0Clk7qCsKhsF/TZpJUzETRvJa9KSVEL9SO3ovCvdEHISBhrC81OwC8QSVX7E0bzElZj9cg==", - "dev": true, - "requires": { - "clone": "^2.1.1", - "loader-utils": "^1.1.0", - "pify": "^4.0.1" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } + "node_modules/istanbul-lib-source-maps": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", + "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", + "dev": true, + "license": "BSD-3-Clause", + "dependencies": { + "debug": "^4.1.1", + "istanbul-lib-coverage": "^3.0.0", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=10" } }, - "leven": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/leven/-/leven-3.1.0.tgz", - "integrity": "sha512-qsda+H8jTaUaN/x5vzW2rzc+8Rw4TAQ/4KjB46IwK5VH+IlVeeeje/EoZRpiXvIqjFgK84QffqPztGI3VBLG1A==", - "dev": true - }, - "levenary": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/levenary/-/levenary-1.1.1.tgz", - "integrity": "sha512-mkAdOIt79FD6irqjYSs4rdbnlT5vRonMEvBVPVb3XmevfS8kgRXwfes0dhPdEtzTWD/1eNE/Bm/G1iRt6DcnQQ==", + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "requires": { - "leven": "^3.1.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "license-webpack-plugin": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.1.4.tgz", - "integrity": "sha512-1Xq72fmPbTg5KofXs+yI5L4QqPFjQ6mZxoeI6D7gfiEDOtaEIk6PGrdLaej90bpDqKNHNxlQ/MW4tMAL6xMPJQ==", + "node_modules/istanbul-reports": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.2.0.tgz", + "integrity": "sha512-HGYWWS/ehqTV3xN10i23tkPkpH46MLCIMFNCaaKNavAXTF1RkqxawEPtnjnGZ6XKSInBKkiOA5BKS+aZiY3AvA==", "dev": true, - "requires": { - "@types/webpack-sources": "^0.1.5", - "webpack-sources": "^1.2.0" + "license": "BSD-3-Clause", + "dependencies": { + "html-escaper": "^2.0.0", + "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", "dev": true, - "requires": { - "immediate": "~3.0.5" + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true + "node_modules/jasmine-core": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.8.0.tgz", + "integrity": "sha512-Q9dqmpUAfptwyueW3+HqBOkSuYd9I/clZSSfN97wXE/Nr2ROFNCwIBEC1F6kb3QXS9Fcz0LjFYSDQT+BiwjuhA==", + "dev": true, + "license": "MIT" }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - } + "license": "MIT" }, - "locate-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-2.0.0.tgz", - "integrity": "sha1-K1aLJl7slExtnA3pw9u7ygNUzY4=", + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", "dev": true, - "requires": { - "p-locate": "^2.0.0", - "path-exists": "^3.0.0" + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" } }, - "lodash": { - "version": "4.17.15", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.15.tgz", - "integrity": "sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==" - }, - "lodash.clonedeep": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", - "integrity": "sha1-4j8/nE+Pvd6HJSnBBxhXoIblzO8=", - "dev": true - }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true + "node_modules/json-parse-even-better-errors": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-4.0.0.tgz", + "integrity": "sha512-lR4MXjGNgkJc7tkQ97kb2nuEMnNCyU//XYVH0MKTGcXEiSudQ5MKGKen3C5QubYy0vmq+JGitUg92uuywGEwIA==", + "dev": true, + "license": "MIT", + "engines": { + "node": "^18.17.0 || >=20.5.0" + } }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true + "node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true, + "license": "MIT" }, - "log-symbols": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-3.0.0.tgz", - "integrity": "sha512-dSkNGuI7iG3mfvDzUuYZyvk5dD9ocYCYzNU6CYDE6+Xqd+gwme6Z00NS3dUh8mq/73HaEtT7m6W+yUPtU6BZnQ==", + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "requires": { - "chalk": "^2.4.2" + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, - "log4js": { - "version": "4.5.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-4.5.1.tgz", - "integrity": "sha512-EEEgFcE9bLgaYUKuozyFfytQM2wDHtXn4tAN41pkaxpNjAykv11GVdeI4tHtmPWW4Xrgh9R/2d7XYghDVjbKKw==", + "node_modules/jsonc-parser": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.3.1.tgz", + "integrity": "sha512-HUgH65KyejrUFPvHFPbqOY0rsFip3Bo5wb4ngvdi1EpCYWUQDC5V+Y7mZws+DLkr4M//zQJoanu1SP+87Dv1oQ==", "dev": true, - "requires": { - "date-format": "^2.0.0", - "debug": "^4.1.1", - "flatted": "^2.0.0", - "rfdc": "^1.1.4", - "streamroller": "^1.0.6" + "license": "MIT" + }, + "node_modules/jsonfile": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", + "devOptional": true, + "license": "MIT", + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "loglevel": { - "version": "1.6.8", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.6.8.tgz", - "integrity": "sha512-bsU7+gc9AJ2SqpzxwU3+1fedl8zAntbtC5XYlt3s2j1hJcn2PsXSmgN8TaLG/J1/2mod4+cE/3vNL70/c1RNCA==", - "dev": true + "node_modules/jsonparse": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ], + "license": "MIT" }, - "loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", + "node_modules/karma": { + "version": "6.4.4", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.4.tgz", + "integrity": "sha512-LrtUxbdvt1gOpo3gxG+VAJlJAEMhbWlM4YrFQgql98FwF7+K8K12LYO4hnDdUkNjeztYrOXEMqgTajSWgmtI/w==", "dev": true, - "requires": { - "js-tokens": "^3.0.0 || ^4.0.0" + "license": "MIT", + "dependencies": { + "@colors/colors": "1.5.0", + "body-parser": "^1.19.0", + "braces": "^3.0.2", + "chokidar": "^3.5.1", + "connect": "^3.7.0", + "di": "^0.0.1", + "dom-serialize": "^2.2.1", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", + "http-proxy": "^1.18.1", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", + "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", + "qjobs": "^1.2.0", + "range-parser": "^1.2.1", + "rimraf": "^3.0.2", + "socket.io": "^4.7.2", + "source-map": "^0.6.1", + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" } }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", "dev": true, - "requires": { - "yallist": "^3.0.2" - }, + "license": "MIT", "dependencies": { - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "which": "^1.2.1" } }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", + "node_modules/karma-chrome-launcher/node_modules/which": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", + "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/karma-coverage": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", + "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, + "license": "MIT", "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "istanbul-lib-coverage": "^3.2.0", + "istanbul-lib-instrument": "^5.1.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^4.0.1", + "istanbul-reports": "^3.0.5", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10.0.0" } }, - "make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "make-fetch-happen": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", - "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", + "node_modules/karma-coverage/node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, - "requires": { - "agentkeepalive": "^3.4.1", - "cacache": "^12.0.0", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^4.0.0", - "ssri": "^6.0.0" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - } + "license": "BSD-3-Clause", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-coverage": "^3.2.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=8" } }, - "mamacro": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/mamacro/-/mamacro-0.0.3.tgz", - "integrity": "sha512-qMEwh+UujcQ+kbz3T6V+wAmO2U8veoq2w+3wY8MquqwVA3jChfwY+Tk52GZKDfACEPjuZ7r2oJLejwpt8jtwTA==", - "dev": true - }, - "map-age-cleaner": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/map-age-cleaner/-/map-age-cleaner-0.1.3.tgz", - "integrity": "sha512-bJzx6nMoP6PDLPBFmg7+xRKeFZvFboMrGlxmNj9ClvX53KrmvM5bXFXEWjbz4cz1AFn+jWJ9z/DJSz7hrs0w3w==", + "node_modules/karma-coverage/node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", "dev": true, - "requires": { - "p-defer": "^1.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", "dev": true, - "requires": { - "object-visit": "^1.0.0" + "license": "MIT", + "dependencies": { + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" } }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/karma-jasmine-html-reporter": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", + "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "license": "MIT", + "peerDependencies": { + "jasmine-core": "^4.0.0 || ^5.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" } }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", - "dev": true + "node_modules/karma-jasmine/node_modules/jasmine-core": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.1.tgz", + "integrity": "sha512-VYz/BjjmC3klLJlLwA4Kw8ytk0zDSmbbDLNs794VnWmkcCB7I9aAL/D48VNQtmITyPvea2C3jdUMfc3kAoy0PQ==", + "dev": true, + "license": "MIT" }, - "media-typer": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", - "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true + "node_modules/karma/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" + } }, - "mem": { + "node_modules/karma/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/mem/-/mem-4.3.0.tgz", - "integrity": "sha512-qX2bG48pTqYRVmDB37rn/6PT7LcR8T7oAX3bf99u1Tt1nzxYfxkgqDwUwolPlXweM0XzBOBFzSx4kfp7KP1s/w==", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "map-age-cleaner": "^0.1.1", - "mimic-fn": "^2.0.0", - "p-is-promise": "^2.0.0" + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", + "node_modules/karma/node_modules/body-parser": { + "version": "1.20.3", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz", + "integrity": "sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g==", "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.13.0", + "raw-body": "2.5.2", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", - "dev": true - }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "node_modules/karma/node_modules/chokidar": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", + "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", "dev": true, - "requires": { - "source-map": "^0.6.1" - }, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "license": "ISC", + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/karma/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" - }, + "license": "MIT", "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "ms": "2.0.0" } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true + "node_modules/karma/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", + "node_modules/karma/node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "requires": { - "mime-db": "1.44.0" + "license": "MIT", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" } }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true - }, - "mini-css-extract-plugin": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-0.9.0.tgz", - "integrity": "sha512-lp3GeY7ygcgAmVIcRPBVhIkf8Us7FZjA+ILpal44qLdSu11wmjKQ3d9k15lfD7pO4esu9eUIAW7qiYIBppv40A==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "normalize-url": "1.9.1", - "schema-utils": "^1.0.0", - "webpack-sources": "^1.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "normalize-url": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-1.9.1.tgz", - "integrity": "sha1-LMDWazHqIwNkWENuNiDYWVTGbDw=", - "dev": true, - "requires": { - "object-assign": "^4.0.1", - "prepend-http": "^1.0.0", - "query-string": "^4.1.0", - "sort-keys": "^1.0.0" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } + "node_modules/karma/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", - "requires": { - "brace-expansion": "^1.1.7" + "node_modules/karma/node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==" - }, - "minipass": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.1.tgz", - "integrity": "sha512-UFqVihv6PQgwj8/yTGvl9kPz7xIAY+R5z6XYjRInD3Gk3qx6QGSD6zEcpeG4Dy/lQnv1J6zv8ejV90hyYIKf3w==", + "node_modules/karma/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "requires": { - "yallist": "^4.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "minipass-collect": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", - "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", + "node_modules/karma/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { - "minipass": "^3.0.0" + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", + "node_modules/karma/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", "dev": true, - "requires": { - "minipass": "^3.0.0" - } + "license": "MIT" }, - "minipass-pipeline": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.2.tgz", - "integrity": "sha512-3JS5A2DKhD2g0Gg8x3yamO0pj7YeKGwVlDS90pF++kxptwx/F+B//roxf9SqYil5tQo65bijy+dAuAFZmYOouA==", + "node_modules/karma/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "requires": { - "minipass": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "minizlib": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.0.tgz", - "integrity": "sha512-EzTZN/fjSvifSX0SlqUERCN39o6T40AMarPbv0MrarSFtIITCBh7bi+dU8nxGFHuqs9jdIAeoYoKuQAAASsPPA==", + "node_modules/karma/node_modules/qs": { + "version": "6.13.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz", + "integrity": "sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg==", "dev": true, - "requires": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.0.6" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "node_modules/karma/node_modules/raw-body": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", + "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", + "dev": true, + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "node_modules/karma/node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "requires": { - "minimist": "^1.2.5" + "license": "MIT", + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "move-concurrently": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" - }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "node_modules/karma/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "dns-packet": "^1.3.1", - "thunky": "^1.0.2" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", - "dev": true - }, - "nan": { - "version": "2.14.1", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.1.tgz", - "integrity": "sha512-isWHgVjnFjh2x2yuJ/tj3JbwoHu3UC2dX5G/88Cm24yB6YopVgxvBObDY7n5xW6ExmFhJpSEQqFPvq9zaXc8Jw==", + "node_modules/karma/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "optional": true - }, - "nanoid": { - "version": "2.1.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-2.1.11.tgz", - "integrity": "sha512-s/snB+WGm6uwi0WjsZdaVcuf3KJXlfGl2LcxgwkEwJF0D/BWzVWAZW/XY4bFaiR7s0Jk3FPvlnepg1H1b1UwlA==" - }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - } - }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true - }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", - "dev": true - }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "node-fetch-npm": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", - "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", + "node_modules/karma/node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" + "license": "MIT", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" } }, - "node-forge": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.9.0.tgz", - "integrity": "sha512-7ASaDa3pD+lJ3WvXFsxekJQelBKRpne+GOVbLbtHYdd7pFspyeuJHnWfLplGf3SwKGbfs/aYl5V/JCIaHVUKKQ==", - "dev": true - }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "node_modules/karma/node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node-releases": { - "version": "1.1.55", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.55.tgz", - "integrity": "sha512-H3R3YR/8TjT5WPin/wOoHOUPHgvj8leuU/Keta/rwelEQN9pA/S2Dx8/se4pZ2LBxSd0nAGzsNzhqwa77v7F1w==", - "dev": true - }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" - }, + "license": "MIT", "dependencies": { - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" } }, - "normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true - }, - "normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "dev": true - }, - "npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", "dev": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" + "license": "ISC", + "engines": { + "node": ">=10" } }, - "npm-install-checks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "node_modules/listr2": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/listr2/-/listr2-9.0.1.tgz", + "integrity": "sha512-SL0JY3DaxylDuo/MecFeiC+7pedM0zia33zl0vcjgwcq1q1FWWF1To9EIauPbl8GbMCU0R2e0uJ8bZunhYKD2g==", "dev": true, - "requires": { - "semver": "^7.1.1" + "license": "MIT", + "dependencies": { + "cli-truncate": "^4.0.0", + "colorette": "^2.0.20", + "eventemitter3": "^5.0.1", + "log-update": "^6.1.0", + "rfdc": "^1.4.1", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=20.0.0" } }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true + "node_modules/listr2/node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "dev": true, + "license": "MIT" }, - "npm-package-arg": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.0.1.tgz", - "integrity": "sha512-/h5Fm6a/exByzFSTm7jAyHbgOqErl9qSNJDQF32Si/ZzgwT2TERVxRxn3Jurw1wflgyVVAxnFR4fRHPM7y1ClQ==", + "node_modules/listr2/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, - "requires": { - "hosted-git-info": "^3.0.2", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/lmdb": { + "version": "3.4.2", + "resolved": "https://registry.npmjs.org/lmdb/-/lmdb-3.4.2.tgz", + "integrity": "sha512-nwVGUfTBUwJKXd6lRV8pFNfnrCC1+l49ESJRM19t/tFb/97QfJEixe5DYRvug5JO7DSFKoKaVy7oGMt5rVqZvg==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "msgpackr": "^1.11.2", + "node-addon-api": "^6.1.0", + "node-gyp-build-optional-packages": "5.2.2", + "ordered-binary": "^1.5.3", + "weak-lru-cache": "^1.2.2" + }, + "bin": { + "download-lmdb-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@lmdb/lmdb-darwin-arm64": "3.4.2", + "@lmdb/lmdb-darwin-x64": "3.4.2", + "@lmdb/lmdb-linux-arm": "3.4.2", + "@lmdb/lmdb-linux-arm64": "3.4.2", + "@lmdb/lmdb-linux-x64": "3.4.2", + "@lmdb/lmdb-win32-arm64": "3.4.2", + "@lmdb/lmdb-win32-x64": "3.4.2" } }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", "dev": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" - } + "license": "MIT" }, - "npm-pick-manifest": { + "node_modules/log-symbols": { "version": "6.0.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.0.0.tgz", - "integrity": "sha512-PdJpXMvjqt4nftNEDpCgjBUF8yI3Q3MyuAmVB9nemnnCg32F4BPL/JFBfdj8DubgHCYUFQhtLWmBPvdsFtjWMg==", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-6.0.0.tgz", + "integrity": "sha512-i24m8rpwhmPIS4zscNzK6MSEhk0DUWa/8iYQWxhffV8jkI4Phvs3F+quL5xvS0gdQR0FyTCMMH33Y78dDTzzIw==", "dev": true, - "requires": { - "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.0.0", - "semver": "^7.0.0" + "license": "MIT", + "dependencies": { + "chalk": "^5.3.0", + "is-unicode-supported": "^1.3.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "npm-registry-fetch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.4.tgz", - "integrity": "sha512-6jb34hX/iYNQebqWUHtU8YF6Cjb1H6ouTFPClYsyiW6lpFkljTpdeftm53rRojtja1rKAvKNIIiTS5Sjpw4wsA==", + "node_modules/log-symbols/node_modules/is-unicode-supported": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-1.3.0.tgz", + "integrity": "sha512-43r2mRvz+8JRIKnWJ+3j8JtjRKZ6GmjzfaE/qiBJnikNnYv/6bagRJ1kUhNk8R5EX/GkobD+r+sfxCPJsiKBLQ==", "dev": true, - "requires": { - "JSONStream": "^1.3.4", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0", - "safe-buffer": "^5.2.0" + "license": "MIT", + "engines": { + "node": ">=12" }, - "dependencies": { - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dev": true, - "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "safe-buffer": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", - "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==", - "dev": true - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "node_modules/log-update": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/log-update/-/log-update-6.1.0.tgz", + "integrity": "sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==", "dev": true, - "requires": { - "path-key": "^2.0.0" + "license": "MIT", + "dependencies": { + "ansi-escapes": "^7.0.0", + "cli-cursor": "^5.0.0", + "slice-ansi": "^7.1.0", + "strip-ansi": "^7.1.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "node_modules/log-update/node_modules/ansi-escapes": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-7.0.0.tgz", + "integrity": "sha512-GdYO7a61mR0fOlAsvC9/rIHf7L96sBc6dEWzeOu+KAea5bZyQRPIpojrVoI4AXGJS/ycu/fBTdLrUkA4ODrvjw==", "dev": true, - "requires": { - "boolbase": "~1.0.0" + "license": "MIT", + "dependencies": { + "environment": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true - }, - "number-is-nan": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/number-is-nan/-/number-is-nan-1.0.1.tgz", - "integrity": "sha1-CXtgK1NCKlIsGvuHkDGDNpQaAR0=", - "dev": true - }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", - "dev": true - }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true - }, - "object-component": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/object-component/-/object-component-0.0.3.tgz", - "integrity": "sha1-8MaapQ78lbhmwYb0AKM3acsvEpE=", - "dev": true - }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "node_modules/log-update/node_modules/is-fullwidth-code-point": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-5.0.0.tgz", + "integrity": "sha512-OVa3u9kkBbw7b8Xw5F9P+D/T9X+Z4+JruYVNapTjPYZYUznQ5YfWeFkOj606XYYW8yugTfC8Pj0hYqvi4ryAhA==", + "dev": true, + "license": "MIT", + "dependencies": { + "get-east-asian-width": "^1.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==" - }, - "object-is": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.2.tgz", - "integrity": "sha512-5lHCz+0uufF6wZ7CRFWJN3hp8Jqblpgve06U5CMQ3f//6iDjPr2PEo9MWCjEssDsa+UZEL4PkFpr+BMop6aKzQ==", + "node_modules/log-update/node_modules/slice-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-7.1.0.tgz", + "integrity": "sha512-bSiSngZ/jWeX93BqeIAbImyTbEihizcwNjFoRUIY/T1wWQsfsm2Vw1agPKylXvQTU7iASGdHhyqRlqQzfz+Htg==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "is-fullwidth-code-point": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==" - }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "node_modules/log-update/node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", "dev": true, - "requires": { - "isobject": "^3.0.0" + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "devOptional": true, + "license": "Apache-2.0", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" } }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "node_modules/magic-string": { + "version": "0.30.17", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", + "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", "dev": true, - "requires": { - "isobject": "^3.0.1" + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0" } }, - "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "node_modules/make-dir": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", + "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "license": "MIT", + "dependencies": { + "semver": "^7.5.3" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", + "node_modules/make-fetch-happen": { + "version": "14.0.3", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-14.0.3.tgz", + "integrity": "sha512-QMjGbFTP0blj97EeidG5hk/QhKQ3T4ICckQGLgz38QF7Vgbk6e6FTARN8KhKxyBbWn8R0HU+bnw8aSoFPD4qtQ==", "dev": true, - "requires": { - "ee-first": "1.1.1" - } - }, - "on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true - }, - "once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", - "requires": { - "wrappy": "1" + "license": "ISC", + "dependencies": { + "@npmcli/agent": "^3.0.0", + "cacache": "^19.0.1", + "http-cache-semantics": "^4.1.1", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^1.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "ssri": "^12.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", "dev": true, - "requires": { - "mimic-fn": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" } }, - "open": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/open/-/open-7.0.3.tgz", - "integrity": "sha512-sP2ru2v0P290WFfv49Ap8MF6PkzGNnGlAwHweB4WR4mr5d2d0woiCluUeJ218w7/+PmoBy9JmYgD5A4mLcWOFA==", + "node_modules/media-typer": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", + "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", "dev": true, - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "node_modules/merge-descriptors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", + "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", "dev": true, - "requires": { - "is-wsl": "^1.1.0" + "license": "MIT", + "engines": { + "node": ">=18" }, - "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "optimist": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/optimist/-/optimist-0.6.1.tgz", - "integrity": "sha1-2j6nRob6IaGaERwybpDrFaAZZoY=", + "node_modules/micromatch": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", + "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", "dev": true, - "requires": { - "minimist": "~0.0.1", - "wordwrap": "~0.0.2" - }, + "license": "MIT", + "optional": true, "dependencies": { - "minimist": { - "version": "0.0.10", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.10.tgz", - "integrity": "sha1-3j+YVD2/lggr5IrRoMfNqDYwHc8=", - "dev": true - } + "braces": "^3.0.3", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "ora": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/ora/-/ora-4.0.3.tgz", - "integrity": "sha512-fnDebVFyz309A73cqCipVL1fBZewq4vwgSHfxh43vVy31mbyoQ8sCH3Oeaog/owYOs/lLlGVPCISQonTneg6Pg==", - "dev": true, - "requires": { - "chalk": "^3.0.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.2.0", - "is-interactive": "^1.0.0", - "log-symbols": "^3.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" + "node_modules/micromatch/node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "license": "MIT", + "optional": true, + "engines": { + "node": ">=8.6" }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.2.1.tgz", - "integrity": "sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==", - "dev": true, - "requires": { - "@types/color-name": "^1.1.1", - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-3.0.0.tgz", - "integrity": "sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - }, - "supports-color": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.1.0.tgz", - "integrity": "sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", "dev": true, - "requires": { - "url-parse": "^1.4.3" + "license": "MIT", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4.0.0" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", - "dev": true - }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true - }, - "os-locale": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/os-locale/-/os-locale-3.1.0.tgz", - "integrity": "sha512-Z8l3R4wYWM40/52Z+S265okfFj8Kt2cC2MKY+xNi3kFs+XGI7WXu/I309QQQYbRW4ijiZ+yxs9pqEhJh0DqW3Q==", + "node_modules/mime-db": { + "version": "1.54.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", + "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", "dev": true, - "requires": { - "execa": "^1.0.0", - "lcid": "^2.0.0", - "mem": "^4.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", + "node_modules/mime-types": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", + "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "license": "MIT", + "dependencies": { + "mime-db": "^1.54.0" + }, + "engines": { + "node": ">= 0.6" } }, - "p-defer": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-defer/-/p-defer-1.0.0.tgz", - "integrity": "sha1-n26xgvbJqozXQwBKfU+WsZaw+ww=", - "dev": true - }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-is-promise/-/p-is-promise-2.1.0.tgz", - "integrity": "sha512-Y3W0wlRPK8ZMRbNq97l4M5otioeA5lm1z7bkNkxCka8HSPjR0xRWmpCmc9utiaLP9Jb1eD8BgeIxTW4AIF45Pg==", - "dev": true - }, - "p-limit": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-1.3.0.tgz", - "integrity": "sha512-vvcXsLAJ9Dr5rQOPk7toZQZJApBl2K4J6dANSsEuh6QI41JYcsS/qhTGa9ErIUUgK3WNQoJYvylxvjqmiqEA9Q==", + "node_modules/mimic-function": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/mimic-function/-/mimic-function-5.0.1.tgz", + "integrity": "sha512-VP79XUPxV2CigYP3jWwAUFSku2aKqBH7uTAapFWCBqutsbmDo96KY5o8uh6U+/YSIn5OxJnXp73beVkpqMIGhA==", "dev": true, - "requires": { - "p-try": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-locate": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-2.0.0.tgz", - "integrity": "sha1-IKAQOyIqcMj9OcwuWAaA893l7EM=", + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "requires": { - "p-limit": "^1.1.0" + "license": "ISC", + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "p-map": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-3.0.0.tgz", - "integrity": "sha512-d3qXVTF/s+W+CdJ5A29wywV2n8CQQYahlgz2bFiA+4eVNJbHJodPZ+/gXwPGh0bOqA+j8S+6+ckmvLGPk1QpxQ==", + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", "dev": true, - "requires": { - "aggregate-error": "^3.0.0" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "node_modules/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", "dev": true, - "requires": { - "retry": "^0.12.0" + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "p-try": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-1.0.0.tgz", - "integrity": "sha1-y8ec26+P1CKOE/Yh8rGiN8GyB7M=", - "dev": true - }, - "pacote": { - "version": "9.5.12", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.12.tgz", - "integrity": "sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.3", - "cacache": "^12.0.2", - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.3", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.4.0", - "npm-normalize-package-bin": "^1.0.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.1.12", - "npm-pick-manifest": "^3.0.0", - "npm-registry-fetch": "^4.0.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.2", - "semver": "^5.6.0", - "ssri": "^6.0.1", - "tar": "^4.4.10", - "unique-filename": "^1.1.1", - "which": "^1.3.1" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dev": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dev": true, - "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npm-pick-manifest": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", - "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "node_modules/minipass-collect": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", + "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^7.0.3" + }, + "engines": { + "node": ">=16 || 14 >=14.17" } }, - "pako": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", - "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", - "dev": true - }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", + "node_modules/minipass-fetch": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-4.0.1.tgz", + "integrity": "sha512-j7U11C5HXigVuutxebFadoYBbd7VSdZWggSe64NVdvWNBqGAiXPL2QVCehjmw7lY1oF9gOllYbORh+hiNgfPgQ==", "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" + "license": "MIT", + "dependencies": { + "minipass": "^7.0.3", + "minipass-sized": "^1.0.3", + "minizlib": "^3.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "parse-asn1": { - "version": "5.1.5", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.5.tgz", - "integrity": "sha512-jkMYn1dcJqF6d5CpU689bq7w/b5ALS9ROVSpQDPrZsqqesUJii9qutvoT5ltGedNXMO2e16YUWIghG9KxaViTQ==", + "node_modules/minipass-flush": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", + "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "dev": true, - "requires": { - "asn1.js": "^4.0.0", - "browserify-aes": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "parse5": { + "node_modules/minipass-flush/node_modules/yallist": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-4.0.0.tgz", - "integrity": "sha512-VrZ7eOd3T1Fk4XWNXMgiGBK/z0MG48BWG2uQNU4I72fkQuKUTZpl+u9k+CxEG0twMVzSmXEEz12z5Fnw1jIQFA==", - "dev": true + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" }, - "parseqs": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.5.tgz", - "integrity": "sha1-1SCKNzjkZ2bikbouoXNoSSGouJ0=", + "node_modules/minipass-pipeline": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", + "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, - "requires": { - "better-assert": "~1.0.0" + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "parseuri": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.5.tgz", - "integrity": "sha1-gCBKUNTbt3m/3G6+J3jZDkvOMgo=", + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "requires": { - "better-assert": "~1.0.0" + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true - }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true - }, - "path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=" - }, - "path-is-inside": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", - "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", - "dev": true + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "license": "ISC", + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==" + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", - "dev": true + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" }, - "path-type": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-3.0.0.tgz", - "integrity": "sha512-T2ZUsdZFHgA3u4e5PfPbjd7HDDpxPnQb5jN0SrDsjNSuVXHJqtwTnWqG0B1jZrgmJ/7lj1EmVIByWt1gxGkWvg==", + "node_modules/minizlib": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-3.0.2.tgz", + "integrity": "sha512-oG62iEk+CYt5Xj2YqI5Xi9xWUeZhDI8jjQmC5oThVH5JGCTgIjr7ciJDzC7MBzYd//WvR1OTmP5Q38Q8ShQtVA==", "dev": true, - "requires": { - "pify": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "pify": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-3.0.0.tgz", - "integrity": "sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY=", - "dev": true - } + "minipass": "^7.1.2" + }, + "engines": { + "node": ">= 18" } }, - "pbkdf2": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.0.17.tgz", - "integrity": "sha512-U/il5MsrZp7mGg3mSQfn742na2T+1/vHDCG5/iTI3X9MKUuYUZVLQhyRsg06mCgDBTd57TxzgZt7P+fYfjRLtA==", + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "license": "MIT", + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "performance-now": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", - "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", - "dev": true + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=10" + } }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", - "dev": true + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "devOptional": true, + "license": "MIT" }, - "pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "node_modules/msgpackr": { + "version": "1.11.5", + "resolved": "https://registry.npmjs.org/msgpackr/-/msgpackr-1.11.5.tgz", + "integrity": "sha512-UjkUHN0yqp9RWKy0Lplhh+wlpdt9oQBYgULZOiFhV3VclSF1JnSQWZ5r9gORQlNYaUKQoR8itv7g7z1xDDuACA==", + "dev": true, + "license": "MIT", + "optional": true, + "optionalDependencies": { + "msgpackr-extract": "^3.0.2" + } }, - "pinkie": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", - "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "node_modules/msgpackr-extract": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/msgpackr-extract/-/msgpackr-extract-3.0.3.tgz", + "integrity": "sha512-P0efT1C9jIdVRefqjzOQ9Xml57zpOXnIuS+csaB4MdZbTdmGDLo8XhzBG1N7aO11gKDDkJvBLULeFTo46wwreA==", + "dev": true, + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "dependencies": { + "node-gyp-build-optional-packages": "5.2.2" + }, + "bin": { + "download-msgpackr-prebuilds": "bin/download-prebuilds.js" + }, + "optionalDependencies": { + "@msgpackr-extract/msgpackr-extract-darwin-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-darwin-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-arm64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-linux-x64": "3.0.3", + "@msgpackr-extract/msgpackr-extract-win32-x64": "3.0.3" + } }, - "pinkie-promise": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", - "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", + "node_modules/mute-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-2.0.0.tgz", + "integrity": "sha512-WWdIxpyjEn+FhQJQQv9aQAYlHoNVdzIzUySNV1gHUPDSdZJ3yZn7pAAbQcV7B56Mvu881q9FZV+0Vx2xC44VWA==", "dev": true, - "requires": { - "pinkie": "^2.0.0" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", "dev": true, - "requires": { - "find-up": "^3.0.0" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", + "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "pkg-up": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/pkg-up/-/pkg-up-2.0.0.tgz", - "integrity": "sha1-yBmscoBZpGHKscOImivjxJoATX8=", + "node_modules/node-addon-api": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-6.1.0.tgz", + "integrity": "sha512-+eawOlIgy680F0kBzPUNFhMZGtJ1YmqM6l4+Crf4IkImjYrO/mqPwRMh352g23uIaQKFItcQ64I7KMaJxHgAVA==", "dev": true, - "requires": { - "find-up": "^2.1.0" - } + "license": "MIT", + "optional": true }, - "portfinder": { - "version": "1.0.26", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.26.tgz", - "integrity": "sha512-Xi7mKxJHHMI3rIUrnm/jjUgwhbYMkp/XKEcZX3aG4BrumLpq3nmoQMX+ClYnDZnZ/New7IatC1no5RX0zo1vXQ==", + "node_modules/node-gyp": { + "version": "11.4.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-11.4.1.tgz", + "integrity": "sha512-GiVxQ1e4TdZSSVmFDYUn6uUsrEUP68pa8C/xBzCfL/FcLHa4reWrxxTP7tRGhNdviYrNsL5kRolBL5LNYEutCw==", "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.1" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "env-paths": "^2.2.0", + "exponential-backoff": "^3.1.1", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^14.0.3", + "nopt": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "tar": "^7.4.3", + "tinyglobby": "^0.2.12", + "which": "^5.0.0" + }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.27.tgz", - "integrity": "sha512-WuQETPMcW9Uf1/22HWUWP9lgsIC+KEHg2kozMflKjbeUtw9ujvFX6QmIfozaErDkmLWS9WEnEdEe6Uo9/BNTdQ==", + "node_modules/node-gyp-build-optional-packages": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/node-gyp-build-optional-packages/-/node-gyp-build-optional-packages-5.2.2.tgz", + "integrity": "sha512-s+w+rBWnpTMwSFbaE0UXsRlg7hU4FjekKU4eyAih5T8nJuNZT1nNsskXpxmeqSK9UzkBl6UgRlnKc8hz8IEqOw==", "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, + "license": "MIT", + "optional": true, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "detect-libc": "^2.0.1" + }, + "bin": { + "node-gyp-build-optional-packages": "bin.js", + "node-gyp-build-optional-packages-optional": "optional.js", + "node-gyp-build-optional-packages-test": "build-test.js" } }, - "postcss-calc": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.2.tgz", - "integrity": "sha512-rofZFHUg6ZIrvRwPeFktv06GdbDYLcGqh9EwiMutZg+a0oePCCw1zHOEiji6LCpyRcjTREtPASuUqeAvYlEVvQ==", + "node_modules/node-gyp/node_modules/chownr": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-3.0.0.tgz", + "integrity": "sha512-+IxzY9BZOQd/XuYPRmrvEVjF/nqj5kgT4kEq7VofrDoM1MxoRjEWkrCC3EtLi59TVawxTAn+orJwFQcrqEN1+g==", "dev": true, - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "node_modules/node-gyp/node_modules/isexe": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", + "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", + "dev": true, + "license": "ISC", + "engines": { + "node": ">=16" } }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", + "node_modules/node-gyp/node_modules/mkdirp": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-3.0.1.tgz", + "integrity": "sha512-+NsyUUAZDmo6YVHzL/stxSu3t9YS1iljliy3BSDrXJ/dkn1KYdmtZODGGjLcc9XLgVVpH4KshHB8XmZgMhaBXg==", "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "license": "MIT", + "bin": { + "mkdirp": "dist/cjs/src/bin.js" }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", + "node_modules/node-gyp/node_modules/tar": { + "version": "7.4.3", + "resolved": "https://registry.npmjs.org/tar/-/tar-7.4.3.tgz", + "integrity": "sha512-5S7Va8hKfV7W5U6g3aYxXmlPoZVAwUMy9AOKyF2fVuZa2UD3qZjg578OrLRt8PcNN1PleVaL/5/yYATNL0ICUw==", "dev": true, - "requires": { - "postcss": "^7.0.0" + "license": "ISC", + "dependencies": { + "@isaacs/fs-minipass": "^4.0.0", + "chownr": "^3.0.0", + "minipass": "^7.1.2", + "minizlib": "^3.0.1", + "mkdirp": "^3.0.1", + "yallist": "^5.0.0" + }, + "engines": { + "node": ">=18" } }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", + "node_modules/node-gyp/node_modules/which": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/which/-/which-5.0.0.tgz", + "integrity": "sha512-JEdGzHwwkrbWoGOlIHqQ5gtprKGOenpDHpxE9zVR1bWbOtYRyPPHMe9FaP6x61CmNaTThSkb0DAJte5jD+DmzQ==", "dev": true, - "requires": { - "postcss": "^7.0.0" + "license": "ISC", + "dependencies": { + "isexe": "^3.1.1" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", + "node_modules/node-gyp/node_modules/yallist": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-5.0.0.tgz", + "integrity": "sha512-YgvUTfwqyc7UXVMrB+SImsVYSmTS8X/tSrtdNZMImM+n7+QTriRXyXim0mBrTXNeqzVF0KWGgHPeiyViFFrNDw==", "dev": true, - "requires": { - "postcss": "^7.0.0" + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=18" } }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", + "node_modules/node-releases": { + "version": "2.0.19", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", + "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", "dev": true, - "requires": { - "postcss": "^7.0.0" - } + "license": "MIT" }, - "postcss-import": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", - "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==", + "node_modules/nopt": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-8.1.0.tgz", + "integrity": "sha512-ieGu42u/Qsa4TFktmaKEwM6MQH0pOWnaB3htzh0JRtx84+Mebc0cbZYN5bC+6WTZ4+77xrL9Pn5m7CV6VIkV7A==", "dev": true, - "requires": { - "postcss": "^7.0.1", - "postcss-value-parser": "^3.2.3", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "abbrev": "^3.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-load-config": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-2.1.0.tgz", - "integrity": "sha512-4pV3JJVPLd5+RueiVVB+gFOAa7GWc25XQcMp86Zexzke69mKf6Nx9LRcQywdz7yZI9n1udOxmLuAwTBypypF8Q==", + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "import-cwd": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "postcss-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-3.0.0.tgz", - "integrity": "sha512-cLWoDEY5OwHcAjDnkyRQzAXfs2jrKjXpO/HQFcc5b5u/r7aa471wdmChmwfnv7x2u840iat/wi0lQ5nbRgSkUA==", - "dev": true, - "requires": { - "loader-utils": "^1.1.0", - "postcss": "^7.0.0", - "postcss-load-config": "^2.0.0", - "schema-utils": "^1.0.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - } + "node_modules/npm-bundled": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-4.0.0.tgz", + "integrity": "sha512-IxaQZDMsqfQ2Lz37VvyyEtKLe8FsRZuysmedy/N06TU1RyVppYKXrO4xIhR0F+7ubIBox6Q7nir6fQI3ej39iA==", + "dev": true, + "license": "ISC", + "dependencies": { + "npm-normalize-package-bin": "^4.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "node_modules/npm-install-checks": { + "version": "7.1.1", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-7.1.1.tgz", + "integrity": "sha512-u6DCwbow5ynAX5BdiHQ9qvexme4U3qHW3MWe5NqH+NeBm0LbiH6zvGjNNew1fY+AZZUtVHbOPF3j7mJxbUzpXg==", "dev": true, - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, + "license": "BSD-2-Clause", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "semver": "^7.1.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "node_modules/npm-normalize-package-bin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-4.0.0.tgz", + "integrity": "sha512-TZKxPvItzai9kN9H/TkmCtx/ZN/hvr3vUycjlfmH0ootY9yFBzNOpiXAdIn1Iteqsvk4lQn6B5PTrt+n6h8k/w==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "node_modules/npm-package-arg": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-13.0.0.tgz", + "integrity": "sha512-+t2etZAGcB7TbbLHfDwooV9ppB2LhhcT6A+L9cahsf9mEUAoQ6CktLEVvEnpD0N5CkX7zJqnPGaFtoQDy9EkHQ==", "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "hosted-git-info": "^9.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "node_modules/npm-packlist": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-10.0.1.tgz", + "integrity": "sha512-vaC03b2PqJA6QqmwHi1jNU8fAPXEnnyv4j/W4PVfgm24C4/zZGSVut3z0YUeN0WIFCo1oGOL02+6LbvFK7JL4Q==", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "ignore-walk": "^8.0.0" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", + "node_modules/npm-pick-manifest": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-10.0.0.tgz", + "integrity": "sha512-r4fFa4FqYY8xaM7fHecQ9Z2nE9hgNfJR+EmoKv0+chvzWkBcORX3r0FpTByP+CbOVJDladMXnPQGVN8PBLGuTQ==", "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "npm-install-checks": "^7.1.0", + "npm-normalize-package-bin": "^4.0.0", + "npm-package-arg": "^12.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "node_modules/npm-pick-manifest/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", + "dev": true, + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-modules-extract-imports": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-2.0.0.tgz", - "integrity": "sha512-LaYLDNS4SG8Q5WAWqIJgdHPJrDDr/Lv775rMBFUbgjTz6j34lUznACHcdRWroPvXANP2Vj7yNK57vp9eFqzLWQ==", + "node_modules/npm-pick-manifest/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "postcss": "^7.0.5" - } + "license": "ISC" }, - "postcss-modules-local-by-default": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-3.0.2.tgz", - "integrity": "sha512-jM/V8eqM4oJ/22j0gx4jrp63GSvDH6v86OqyTHHUvk4/k1vceipZsaymiZ5PvocqZOl5SFHiFJqjs3la0wnfIQ==", + "node_modules/npm-pick-manifest/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", "dev": true, - "requires": { - "icss-utils": "^4.1.1", - "postcss": "^7.0.16", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.0" + "license": "ISC", + "dependencies": { + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-modules-scope": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-2.2.0.tgz", - "integrity": "sha512-YyEgsTMRpNd+HmyC7H/mh3y+MeFWevy7V1evVhJWewmMbjDHIbZbOXICC2y+m1xI1UVfIT1HMW/O04Hxyu9oXQ==", + "node_modules/npm-registry-fetch": { + "version": "18.0.2", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-18.0.2.tgz", + "integrity": "sha512-LeVMZBBVy+oQb5R6FDV9OlJCcWDU+al10oKpe+nsvcHnG24Z3uM3SvJYKfGJlfGjVU8v9liejCrUR/M5HO5NEQ==", "dev": true, - "requires": { - "postcss": "^7.0.6", - "postcss-selector-parser": "^6.0.0" + "license": "ISC", + "dependencies": { + "@npmcli/redact": "^3.0.0", + "jsonparse": "^1.3.1", + "make-fetch-happen": "^14.0.0", + "minipass": "^7.0.2", + "minipass-fetch": "^4.0.0", + "minizlib": "^3.0.1", + "npm-package-arg": "^12.0.0", + "proc-log": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-modules-values": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-3.0.0.tgz", - "integrity": "sha512-1//E5jCBrZ9DmRX+zCtmQtRSV6PV42Ix7Bzj9GbwJceduuf7IqP8MgeTXuRDHOWj2m0VzZD5+roFWDuU8RQjcg==", + "node_modules/npm-registry-fetch/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, - "requires": { - "icss-utils": "^4.0.0", - "postcss": "^7.0.6" + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "postcss": "^7.0.0" - } + "license": "ISC" }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "node_modules/npm-registry-fetch/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "BSD-2-Clause", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", "dev": true, - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.4" }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "wrappy": "1" } }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "node_modules/onetime": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-7.0.0.tgz", + "integrity": "sha512-VXJjc87FScF88uafS3JllDgvAm+c/Slfz06lorj2uAY34rlUu0Nt+v8wreiImcrgAjjIHp1rXpTDlLOGw29WwQ==", "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "mimic-function": "^5.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "node_modules/ora": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/ora/-/ora-8.2.0.tgz", + "integrity": "sha512-weP+BZ8MVNnlCm8c0Qdc1WSWq4Qn7I+9CJGm7Qali6g44e/PUzbjNqJX5NJ9ljlNMosfJvg1fKEGILklK9cwnw==", "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "chalk": "^5.3.0", + "cli-cursor": "^5.0.0", + "cli-spinners": "^2.9.2", + "is-interactive": "^2.0.0", + "is-unicode-supported": "^2.0.0", + "log-symbols": "^6.0.0", + "stdin-discarder": "^0.2.2", + "string-width": "^7.2.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "node_modules/ordered-binary": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ordered-binary/-/ordered-binary-1.6.0.tgz", + "integrity": "sha512-IQh2aMfMIDbPjI/8a3Edr+PiOpcsB7yo8NdW7aHWVaoR/pcDldunMvnnwbk/auPGqmKeAdxtZl7MHX/QmPwhvQ==", + "dev": true, + "license": "MIT", + "optional": true + }, + "node_modules/p-map": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/p-map/-/p-map-7.0.3.tgz", + "integrity": "sha512-VkndIv2fIB99swvQoA65bm+fsmt6UNdGeIB0oxBs+WhAhdh08QA04JXpI7rbB9r08/nkbysKoya9rtDERYOYMA==", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">=18" }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" - } + "license": "BlueOak-1.0.0" }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "node_modules/pacote": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-21.0.0.tgz", + "integrity": "sha512-lcqexq73AMv6QNLo7SOpz0JJoaGdS3rBFgF122NZVl1bApo2mfu+XzUBU/X/XsiJu+iUmKpekRayqQYAs+PhkA==", "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "@npmcli/git": "^6.0.0", + "@npmcli/installed-package-contents": "^3.0.0", + "@npmcli/package-json": "^6.0.0", + "@npmcli/promise-spawn": "^8.0.0", + "@npmcli/run-script": "^9.0.0", + "cacache": "^19.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^7.0.2", + "npm-package-arg": "^12.0.0", + "npm-packlist": "^10.0.0", + "npm-pick-manifest": "^10.0.0", + "npm-registry-fetch": "^18.0.0", + "proc-log": "^5.0.0", + "promise-retry": "^2.0.1", + "sigstore": "^3.0.0", + "ssri": "^12.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "bin/index.js" + }, + "engines": { + "node": "^20.17.0 || >=22.9.0" } }, - "postcss-selector-parser": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.2.tgz", - "integrity": "sha512-36P2QR59jDTOAiIkqEprfJDsoNrvwFei3eCqKd1Y0tUsBimsq39BLp7RD+JWny3WgB1zGhJX8XVePwm9k4wdBg==", + "node_modules/pacote/node_modules/hosted-git-info": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-8.1.0.tgz", + "integrity": "sha512-Rw/B2DNQaPBICNXEm8balFz9a6WpZrkCGpcWFpy7nCj+NyhSdqXipmfvtmWt9xGfp0wZnBxB+iVpLmQMYt47Tw==", "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" + "license": "ISC", + "dependencies": { + "lru-cache": "^10.0.1" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "node_modules/pacote/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", "dev": true, - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, + "license": "ISC" + }, + "node_modules/pacote/node_modules/npm-package-arg": { + "version": "12.0.2", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-12.0.2.tgz", + "integrity": "sha512-f1NpFjNI9O4VbKMOlA5QoBq/vSQPORHcTZ2feJpFkTHJ9eQkdlmZEKSjcAhxTGInC7RlEyScT9ui67NaOsjFWA==", + "dev": true, + "license": "ISC", "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "hosted-git-info": "^8.0.0", + "proc-log": "^5.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^6.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "node_modules/parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-8.0.0.tgz", + "integrity": "sha512-9m4m5GSgXjL4AjumKzq1Fgfp3Z8rsvjRNbnkVwfu2ImRqE5D0LnY2QfDen18FSY9C573YU5XxSapdHZTZ2WolA==", "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" + "license": "MIT", + "dependencies": { + "entities": "^6.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true - }, - "prepend-http": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/prepend-http/-/prepend-http-1.0.4.tgz", - "integrity": "sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw=", - "dev": true - }, - "private": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/private/-/private-0.1.8.tgz", - "integrity": "sha512-VvivMrbvd2nKkiG38qjULzlc+4Vx4wm/whI9pQD35YrARNnhxeiRktSOhSukRLFNlzg6Br/cJPet5J/u19r/mg==", - "dev": true - }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true - }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "promise": { - "version": "7.3.1", - "resolved": "https://registry.npmjs.org/promise/-/promise-7.3.1.tgz", - "integrity": "sha512-nolQXZ/4L+bP/UGlkfaIujX9BKxGwmQ9OT4mOt5yvy8iK1h3wqTEJCijzGANTCCl9nWjY41juyAn2K3Q1hLLTg==", + "node_modules/parse5-html-rewriting-stream": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-8.0.0.tgz", + "integrity": "sha512-wzh11mj8KKkno1pZEu+l2EVeWsuKDfR5KNWZOTsslfUX8lPDZx77m9T0kIoAVkFtD1nx6YF8oh4BnPHvxMtNMw==", "dev": true, - "optional": true, - "requires": { - "asap": "~2.0.3" + "license": "MIT", + "dependencies": { + "entities": "^6.0.0", + "parse5": "^8.0.0", + "parse5-sax-parser": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true - }, - "promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", "dev": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-sax-parser": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-8.0.0.tgz", + "integrity": "sha512-/dQ8UzHZwnrzs3EvDj6IkKrD/jIZyTlB+8XrHJvcjNgRdmWruNdN9i9RK/JtxakmlUdPwKubKPTCqvbTgzGhrw==", + "dev": true, + "license": "MIT", "dependencies": { - "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", - "dev": true - } + "parse5": "^8.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "protoduck": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", - "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", - "dev": true, - "requires": { - "genfun": "^5.0.0" - } - }, - "protractor": { - "version": "5.4.4", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-5.4.4.tgz", - "integrity": "sha512-BaL4vePgu3Vfa/whvTUAlgaCAId4uNSGxIFSCXMgj7LMYENPWLp85h5RBi9pdpX/bWQ8SF6flP7afmi2TC4eHw==", - "dev": true, - "requires": { - "@types/q": "^0.0.32", - "@types/selenium-webdriver": "^3.0.0", - "blocking-proxy": "^1.0.0", - "browserstack": "^1.5.1", - "chalk": "^1.1.3", - "glob": "^7.0.3", - "jasmine": "2.8.0", - "jasminewd2": "^2.1.0", - "q": "1.4.1", - "saucelabs": "^1.5.0", - "selenium-webdriver": "3.6.0", - "source-map-support": "~0.4.0", - "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.0.6", - "yargs": "^12.0.5" - }, - "dependencies": { - "@types/q": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - } - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "webdriver-manager": { - "version": "12.1.7", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.7.tgz", - "integrity": "sha512-XINj6b8CYuUYC93SG3xPkxlyUc3IJbD6Vvo75CVGuG9uzsefDzWQrhz0Lq8vbPxtb4d63CZdYophF8k8Or/YiA==", - "dev": true, - "requires": { - "adm-zip": "^0.4.9", - "chalk": "^1.1.1", - "del": "^2.2.0", - "glob": "^7.0.3", - "ini": "^1.3.4", - "minimist": "^1.2.0", - "q": "^1.4.1", - "request": "^2.87.0", - "rimraf": "^2.5.2", - "semver": "^5.3.0", - "xml2js": "^0.4.17" - } - } + "node_modules/parse5/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "dev": true, + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", "dev": true, - "requires": { - "forwarded": "~0.1.2", - "ipaddr.js": "1.9.1" + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "prr": { + "node_modules/path-is-absolute": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true - }, - "pseudomap": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", - "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", - "dev": true - }, - "psl": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/psl/-/psl-1.8.0.tgz", - "integrity": "sha512-RIdOzyoavK+hA18OGGWDqUTsCLhtA7IcZ/6NCs4fFJaHBDab+pDDmDIByWFRQJq2Cd7r1OoQxBGKOaztq+hjIQ==", - "dev": true - }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.8", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.8.tgz", - "integrity": "sha512-ItfYfPLkWHUjckQCk8xC+LwxgK8NYcXywGigJgSwOP8Y2iyWT4f2vsZnoOXTTbo+o5yXmIUJ4gn5538SO5S3gA==", - "dev": true - } + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "punycode": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", - "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true - }, - "qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true - }, - "qs": { - "version": "6.5.2", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", - "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true, + "license": "MIT" }, - "query-string": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/query-string/-/query-string-4.3.4.tgz", - "integrity": "sha1-u7aTucqRXCMlFbIosaArYJBD2+s=", + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", "dev": true, - "requires": { - "object-assign": "^4.1.0", - "strict-uri-encode": "^1.0.0" + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "dev": true, + "license": "ISC" }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true + "node_modules/path-to-regexp": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", + "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=16" + } }, - "querystringify": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.1.1.tgz", - "integrity": "sha512-w7fLxIRCRT7U8Qu53jQnJyPkYZIaR4n5151KMfcJlO/A9397Wxb1amJvROTK6TOnp7PfoAmg/qXiNHI+08jRfA==", - "dev": true + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "dev": true, + "license": "ISC" }, - "randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "node_modules/picomatch": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", + "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", "dev": true, - "requires": { - "safe-buffer": "^5.1.0" + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" } }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "node_modules/piscina": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-5.1.3.tgz", + "integrity": "sha512-0u3N7H4+hbr40KjuVn2uNhOcthu/9usKhnw5vT3J7ply79v3D3M8naI00el9Klcy16x557VsEkkUQaHCWFXC/g==", "dev": true, - "requires": { - "randombytes": "^2.0.5", - "safe-buffer": "^5.1.0" + "license": "MIT", + "engines": { + "node": ">=20.x" + }, + "optionalDependencies": { + "@napi-rs/nice": "^1.0.4" } }, - "range-parser": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", - "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true - }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "node_modules/pkce-challenge": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", + "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - } + "license": "MIT", + "engines": { + "node": ">=16.20.0" } }, - "raw-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.0.tgz", - "integrity": "sha512-iINUOYvl1cGEmfoaLjnZXt4bKfT2LJnZZib5N/LLyAphC+Dd11vNP9CNVb38j+SAJpFI1uo8j9frmih53ASy7Q==", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.5.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "node_modules/postcss-media-query-parser": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/postcss-media-query-parser/-/postcss-media-query-parser-0.2.3.tgz", + "integrity": "sha512-3sOlxmbKcSHMjlUXQZKQ06jOswE7oVkXPxmZdoB1r5l0q6gTFTQSHxNxOrCccElbW7dxNytifNEo8qidX2Vsig==", "dev": true, - "requires": { - "pify": "^2.3.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } + "license": "MIT" }, - "read-package-json": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-2.1.1.tgz", - "integrity": "sha512-dAiqGtVc/q5doFz6096CcnXhpYk0ZN8dEKVkGLU0CsASt8SrgF6SF7OTKAYubfvFhWaqofl+Y8HK19GR8jwW+A==", + "node_modules/proc-log": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-5.0.0.tgz", + "integrity": "sha512-Azwzvl90HaF0aCz1JrDdXQykFakSSNPaPoiZ9fm5qJIMHioDZEi7OAdRwSm6rSoPtY3Qutnm3L7ogmg3dc+wbQ==", "dev": true, - "requires": { - "glob": "^7.1.1", - "graceful-fs": "^4.1.2", - "json-parse-better-errors": "^1.0.1", - "normalize-package-data": "^2.0.0", - "npm-normalize-package-bin": "^1.0.0" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "read-package-tree": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/read-package-tree/-/read-package-tree-5.3.1.tgz", - "integrity": "sha512-mLUDsD5JVtlZxjSlPPx1RETkNjjvQYuweKwNVt1Sn8kP5Jh44pvYuUHCp6xSVDZWbNxVxG5lyZJ921aJH61sTw==", + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", "dev": true, - "requires": { - "read-package-json": "^2.0.0", - "readdir-scoped-modules": "^1.0.0", - "util-promisify": "^2.1.0" + "license": "MIT", + "dependencies": { + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" } }, - "readable-stream": { - "version": "2.3.7", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", - "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, - "requires": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" + "license": "MIT", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" } }, - "readdir-scoped-modules": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/readdir-scoped-modules/-/readdir-scoped-modules-1.1.0.tgz", - "integrity": "sha512-asaikDeqAQg7JifRsZn1NJZXo9E+VwlyCfbkZhwyISinqk5zNS6266HS5kah6P0SaQKGF6SkNnZVHUzHFYxYDw==", + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha512-jmYNElW7yvO7TV33CjSmvSiE2yco3bV2czu/OzDKdMNVZQWfxCblURLhf+47syQRBntjfLdd/H0egrzIG+oaFQ==", "dev": true, - "requires": { - "debuglog": "^1.0.1", - "dezalgo": "^1.0.0", - "graceful-fs": "^4.1.2", - "once": "^1.3.0" - } + "license": "MIT" }, - "readdirp": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.4.0.tgz", - "integrity": "sha512-0xe001vZBnJEK+uKcj8qOhyAKPzIT+gStxWr3LCB0DwcXR5NZJ3IaC+yGnHCYzB/S7ov3m3EEbZI2zeNvX+hGQ==", + "node_modules/qjobs": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", + "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", "dev": true, - "requires": { - "picomatch": "^2.2.1" + "license": "MIT", + "engines": { + "node": ">=0.9" } }, - "reflect-metadata": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", - "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", - "dev": true - }, - "regenerate": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.0.tgz", - "integrity": "sha512-1G6jJVDWrt0rK99kBjvEtziZNCICAuvIPkSiUFIQxVP06RCVpq3dmDo2oi6ABpYaDYaTRr67BEhL8r1wgEZZKg==", - "dev": true - }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "node_modules/qs": { + "version": "6.14.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", + "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", "dev": true, - "requires": { - "regenerate": "^1.4.0" + "license": "BSD-3-Clause", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "regenerator-runtime": { - "version": "0.13.5", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.5.tgz", - "integrity": "sha512-ZS5w8CpKFinUzOwW3c83oPeVXoNsrLsaCoLtJvAClH135j/R77RuymhiSErhm2lKcwSCIpmvIWSbDkIfAqKQlA==", - "dev": true - }, - "regenerator-transform": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.4.tgz", - "integrity": "sha512-EaJaKPBI9GvKpvUz2mz4fhx7WPgvwRLY9v3hlNHWmAuJHI13T4nwKnNvm5RWJzEdnI5g5UwtOww+S8IdoUC2bw==", + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", "dev": true, - "requires": { - "@babel/runtime": "^7.8.4", - "private": "^0.1.8" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", + "node_modules/raw-body": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", + "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" + "license": "MIT", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.6.3", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "regexpu-core": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.0.tgz", - "integrity": "sha512-TQ4KXRnIn6tz6tjnrXEkD/sshygKH/j5KzK86X8MkeHyZ8qst/LZ89j3X4/8HEIfHANTFIP/AbXakeRhWIl5YQ==", - "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" - } - }, - "regjsgen": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.1.tgz", - "integrity": "sha512-5qxzGZjDs9w4tzT3TPhCJqWdCc3RLYwy9J2NB0nm5Lz+S273lvWcpjaTGHsT1dc6Hhfq41uSEOw8wBmxrKOuyg==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", - "dev": true, - "requires": { - "jsesc": "~0.5.0" - }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } + "node_modules/readdirp": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-4.1.2.tgz", + "integrity": "sha512-GDhwkLfywWL2s6vEjyhri+eXmfH6j1L7JE27WhqLeYzoh/A3DBaYGEj2H/HFZCn/kMfim73FXxEJTw06WtxQwg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 14.18.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true + "node_modules/reflect-metadata": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.2.tgz", + "integrity": "sha512-urBwgfrvVP/eAyXx4hluJivBKzuEbSQs9rKWCrCkbSxNv8mxPcUZKeuoF3Uy4mJl3Lwprp6yy5/39VWigZ4K6Q==", + "dev": true, + "license": "Apache-2.0" }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true - }, - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=" + "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "require-main-filename": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-1.0.1.tgz", - "integrity": "sha1-l/cXtp1IeE9fUmpsWqj/3aBVpNE=", - "dev": true + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } }, - "requires-port": { + "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", - "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", - "dev": true - }, - "resolve": { - "version": "1.17.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.17.0.tgz", - "integrity": "sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==", - "requires": { - "path-parse": "^1.0.6" - } + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true, + "license": "MIT" }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "node_modules/resolve": { + "version": "1.22.10", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.10.tgz", + "integrity": "sha512-NPRy+/ncIMeDlTAsuqwKIiferiawhefFJtkNSW0qZJEqMEb+qBt/77B/jGeeek+F0uOeN05CDa6HXbbIgtVX4w==", "dev": true, - "requires": { - "resolve-from": "^3.0.0" + "license": "MIT", + "dependencies": { + "is-core-module": "^2.16.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "node_modules/restore-cursor": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-5.1.0.tgz", + "integrity": "sha512-oMA2dcrw6u0YfxJQXm342bFKX/E4sG9rbTzO9ptUcR/e8A33cHuvStiYOwH7fszkZlZ1z/ta9AAoPk2F4qIOHA==", "dev": true, - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" + "license": "MIT", + "dependencies": { + "onetime": "^7.0.0", + "signal-exit": "^4.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "retry": { + "node_modules/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true - }, - "rfdc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", - "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==", - "dev": true - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 4" + } }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", - "dev": true + "node_modules/rfdc": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.4.1.tgz", + "integrity": "sha512-q1b3N5QkRUWUl7iyylaaj3kOpIT0N2i9MqIEQXP73GVsN9cw3fdx8X63cEmWhJGi2PPCF23Ijp7ktmd39rawIA==", + "devOptional": true, + "license": "MIT" }, - "rimraf": { + "node_modules/rimraf": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "deprecated": "Rimraf versions prior to v4 are no longer supported", "dev": true, - "requires": { + "license": "ISC", + "dependencies": { "glob": "^7.1.3" - } - }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/rolldown": { + "version": "1.0.0-beta.32", + "resolved": "https://registry.npmjs.org/rolldown/-/rolldown-1.0.0-beta.32.tgz", + "integrity": "sha512-vxI2sPN07MMaoYKlFrVva5qZ1Y7DAZkgp7MQwTnyHt4FUMz9Sh+YeCzNFV9JYHI6ZNwoGWLCfCViE3XVsRC1cg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@oxc-project/runtime": "=0.81.0", + "@oxc-project/types": "=0.81.0", + "@rolldown/pluginutils": "1.0.0-beta.32", + "ansis": "^4.0.0" + }, + "bin": { + "rolldown": "bin/cli.mjs" + }, + "optionalDependencies": { + "@rolldown/binding-android-arm64": "1.0.0-beta.32", + "@rolldown/binding-darwin-arm64": "1.0.0-beta.32", + "@rolldown/binding-darwin-x64": "1.0.0-beta.32", + "@rolldown/binding-freebsd-x64": "1.0.0-beta.32", + "@rolldown/binding-linux-arm-gnueabihf": "1.0.0-beta.32", + "@rolldown/binding-linux-arm64-gnu": "1.0.0-beta.32", + "@rolldown/binding-linux-arm64-musl": "1.0.0-beta.32", + "@rolldown/binding-linux-x64-gnu": "1.0.0-beta.32", + "@rolldown/binding-linux-x64-musl": "1.0.0-beta.32", + "@rolldown/binding-openharmony-arm64": "1.0.0-beta.32", + "@rolldown/binding-wasm32-wasi": "1.0.0-beta.32", + "@rolldown/binding-win32-arm64-msvc": "1.0.0-beta.32", + "@rolldown/binding-win32-ia32-msvc": "1.0.0-beta.32", + "@rolldown/binding-win32-x64-msvc": "1.0.0-beta.32" + } + }, + "node_modules/rollup": { + "version": "4.47.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.47.1.tgz", + "integrity": "sha512-iasGAQoZ5dWDzULEUX3jiW0oB1qyFOepSyDyoU6S/OhVlDIwj5knI5QBa5RRQ0sK7OE0v+8VIi2JuV+G+3tfNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.47.1", + "@rollup/rollup-android-arm64": "4.47.1", + "@rollup/rollup-darwin-arm64": "4.47.1", + "@rollup/rollup-darwin-x64": "4.47.1", + "@rollup/rollup-freebsd-arm64": "4.47.1", + "@rollup/rollup-freebsd-x64": "4.47.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.47.1", + "@rollup/rollup-linux-arm-musleabihf": "4.47.1", + "@rollup/rollup-linux-arm64-gnu": "4.47.1", + "@rollup/rollup-linux-arm64-musl": "4.47.1", + "@rollup/rollup-linux-loongarch64-gnu": "4.47.1", + "@rollup/rollup-linux-ppc64-gnu": "4.47.1", + "@rollup/rollup-linux-riscv64-gnu": "4.47.1", + "@rollup/rollup-linux-riscv64-musl": "4.47.1", + "@rollup/rollup-linux-s390x-gnu": "4.47.1", + "@rollup/rollup-linux-x64-gnu": "4.47.1", + "@rollup/rollup-linux-x64-musl": "4.47.1", + "@rollup/rollup-win32-arm64-msvc": "4.47.1", + "@rollup/rollup-win32-ia32-msvc": "4.47.1", + "@rollup/rollup-win32-x64-msvc": "4.47.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/router": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", + "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" + "license": "MIT", + "dependencies": { + "debug": "^4.4.0", + "depd": "^2.0.0", + "is-promise": "^4.0.0", + "parseurl": "^1.3.3", + "path-to-regexp": "^8.0.0" + }, + "engines": { + "node": ">= 18" } }, - "rollup": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.1.0.tgz", - "integrity": "sha512-gfE1455AEazVVTJoeQtcOq/U6GSxwoj4XPSWVsuWmgIxj7sBQNLDOSA82PbdMe+cP8ql8fR1jogPFe8Wg8g4SQ==", - "dev": true, - "requires": { - "fsevents": "~2.1.2" + "node_modules/rxjs": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.2.tgz", + "integrity": "sha512-dhKf903U/PQZY6boNNtAGdWbG85WAbjT/1xYoZIC7FAY0yWapOBQVsVrDl58W86//e1VpMNBtRV4MaXfdMySFA==", + "license": "Apache-2.0", + "dependencies": { + "tslib": "^2.1.0" } }, - "run-async": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", - "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", - "dev": true - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, - "requires": { - "aproba": "^1.1.1" - } - }, - "rxjs": { - "version": "6.5.5", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.5.5.tgz", - "integrity": "sha512-WfQI+1gohdf0Dai/Bbmk5L5ItH5tYqm3ki2c5GdWhKjalzjg93N3avFjVStyZZz+A2Em+ZxKH5bNghw9UeylGQ==", - "requires": { - "tslib": "^1.9.0" - } - }, - "safe-buffer": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", - "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "license": "MIT" }, - "safe-regex": { + "node_modules/safe-regex-test": { "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", + "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", + "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", "dev": true, - "requires": { - "ret": "~0.1.10" + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "is-regex": "^1.2.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "safer-buffer": { + "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", - "dev": true - }, - "sass": { - "version": "1.26.3", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.26.3.tgz", - "integrity": "sha512-5NMHI1+YFYw4sN3yfKjpLuV9B5l7MqQ6FlkTcC4FT+oHbBRUZoSjHrrt/mE0nFXJyY2kQtU9ou9HxvFVjLFuuw==", - "dev": true, - "requires": { - "chokidar": ">=2.0.0 <4.0.0" - } - }, - "sass-loader": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", - "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", - "dev": true, - "requires": { - "clone-deep": "^4.0.1", - "loader-utils": "^1.2.3", - "neo-async": "^2.6.1", - "schema-utils": "^2.6.1", - "semver": "^6.3.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "saucelabs": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", - "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", - "dev": true, - "requires": { - "https-proxy-agent": "^2.2.1" - } - }, - "sax": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", - "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", - "dev": true - }, - "schema-utils": { - "version": "2.6.6", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.6.6.tgz", - "integrity": "sha512-wHutF/WPSbIi9x6ctjGGk2Hvl0VOz5l3EKEuKbjPlB30mKZUzb9A5k9yEXRX3pwyqVLPvpfZZEllaFq/M718hA==", - "dev": true, - "requires": { - "ajv": "^6.12.0", - "ajv-keywords": "^3.4.1" - } - }, - "select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", - "dev": true - }, - "selenium-webdriver": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", - "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", - "dev": true, - "requires": { - "jszip": "^3.1.3", - "rimraf": "^2.5.4", - "tmp": "0.0.30", - "xml2js": "^0.4.17" - }, - "dependencies": { - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } - } - }, - "selfsigned": { - "version": "1.10.7", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.7.tgz", - "integrity": "sha512-8M3wBCzeWIJnQfl43IKwOmC4H/RAp50S8DF60znzjW5GVqTcSe2vWclt7hmYVPkKPlHWOu5EaWOMZ2Y6W8ZXTA==", "dev": true, - "requires": { - "node-forge": "0.9.0" - } + "license": "MIT" }, - "semver": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.1.3.tgz", - "integrity": "sha512-ekM0zfiA9SCBlsKa2X1hxyxiI4L3B6EbVJkkdgQXnSEEaHlGdvyodMruTiulSRWMMB4NeIuYNMC9rTKTz97GxA==", - "dev": true - }, - "semver-dsl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", - "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", + "node_modules/sass": { + "version": "1.90.0", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.90.0.tgz", + "integrity": "sha512-9GUyuksjw70uNpb1MTYWsH9MQHOHY6kwfnkafC24+7aOMZn9+rVMBxRbLvw756mrBFbIsFg6Xw9IkR2Fnn3k+Q==", "dev": true, - "requires": { - "semver": "^5.3.0" - }, + "license": "MIT", "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "chokidar": "^4.0.0", + "immutable": "^5.0.2", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" + }, + "optionalDependencies": { + "@parcel/watcher": "^2.4.1" } }, - "semver-intersect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", - "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", + "node_modules/semver": { + "version": "7.7.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz", + "integrity": "sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==", "dev": true, - "requires": { - "semver": "^5.0.0" + "license": "ISC", + "bin": { + "semver": "bin/semver.js" }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "engines": { + "node": ">=10" } }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", - "dev": true, - "requires": { - "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "~1.7.2", - "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", - "range-parser": "~1.2.1", - "statuses": "~1.5.0" + "node_modules/send": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", + "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", + "dev": true, + "license": "MIT", + "dependencies": { + "debug": "^4.3.5", + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "etag": "^1.8.1", + "fresh": "^2.0.0", + "http-errors": "^2.0.0", + "mime-types": "^3.0.1", + "ms": "^2.1.3", + "on-finished": "^2.4.1", + "range-parser": "^1.2.1", + "statuses": "^2.0.1" }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } + "engines": { + "node": ">= 18" } }, - "serialize-javascript": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-2.1.2.tgz", - "integrity": "sha512-rs9OggEUF0V4jUSecXazOYsLfu7OGK2qIn3c7IPBiffz32XniEp/TX9Xmc9LQfK2nQ2QKHvZ2oygKUGU0lG4jQ==", - "dev": true - }, - "serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "node_modules/serve-static": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", + "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", "dev": true, - "requires": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } + "encodeurl": "^2.0.0", + "escape-html": "^1.0.3", + "parseurl": "^1.3.3", + "send": "^1.2.0" + }, + "engines": { + "node": ">= 18" } }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true, - "requires": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.17.1" - } + "license": "ISC" }, - "set-blocking": { + "node_modules/shebang-command": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", - "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=" - }, - "set-immediate-shim": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", - "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", - "dev": true - }, - "sha.js": { - "version": "2.4.11", - "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "requires": { - "kind-of": "^6.0.2" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", "dev": true, - "requires": { - "shebang-regex": "^1.0.0" + "license": "MIT", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "shebang-regex": { + "node_modules/side-channel-list": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true - }, - "shortid": { - "version": "2.2.8", - "resolved": "https://registry.npmjs.org/shortid/-/shortid-2.2.8.tgz", - "integrity": "sha1-AzsRfWoul1gE9vCWnb59PQs1UTE=" - }, - "side-channel": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", - "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", - "requires": { - "call-bind": "^1.0.0", - "get-intrinsic": "^1.0.2", - "object-inspect": "^1.9.0" - }, - "dependencies": { - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - } - } - }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true - }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", + "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, + "license": "MIT", "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - } - } - }, - "slash": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-1.0.0.tgz", - "integrity": "sha1-xB8vbDn8FtHNF61LXYlhFK5HDVU=", - "dev": true - }, - "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3" }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "license": "MIT", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", "dev": true, - "requires": { - "kind-of": "^3.2.0" - }, + "license": "MIT", "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "socket.io": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.1.1.tgz", - "integrity": "sha512-rORqq9c+7W0DAK3cleWNSyfv/qKXV99hV4tZe+gGLfBECw3XEhBy7x85F3wypA9688LKjtwO9pX9L33/xQI8yA==", + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", "dev": true, - "requires": { - "debug": "~3.1.0", - "engine.io": "~3.2.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.1.1", - "socket.io-parser": "~3.2.0" + "license": "ISC", + "engines": { + "node": ">=14" }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", - "dev": true - }, - "socket.io-client": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.1.1.tgz", - "integrity": "sha512-jxnFyhAuFxYfjqIgduQlhzqTcOEQSn+OHKVfAxWaNWa7ecP7xSNk2Dx/3UEsDcY7NcFafxvNvKPmmO7HTwTxGQ==", - "dev": true, - "requires": { - "backo2": "1.0.2", - "base64-arraybuffer": "0.1.5", - "component-bind": "1.0.0", - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "engine.io-client": "~3.2.0", - "has-binary2": "~1.0.2", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "object-component": "0.0.3", - "parseqs": "0.0.5", - "parseuri": "0.0.5", - "socket.io-parser": "~3.2.0", - "to-array": "0.1.4" - }, - "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "node_modules/sigstore": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-3.1.0.tgz", + "integrity": "sha512-ZpzWAFHIFqyFE56dXqgX/DkDRZdz+rRcjoIk/RQU4IX0wiCv1l8S7ZrXDHcCc+uaf+6o7w3h2l3g6GYG5TKN9Q==", + "dev": true, + "license": "Apache-2.0", + "dependencies": { + "@sigstore/bundle": "^3.1.0", + "@sigstore/core": "^2.0.0", + "@sigstore/protobuf-specs": "^0.4.0", + "@sigstore/sign": "^3.1.0", + "@sigstore/tuf": "^3.1.0", + "@sigstore/verify": "^2.1.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "socket.io-parser": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.2.0.tgz", - "integrity": "sha512-FYiBx7rc/KORMJlgsXysflWx/RIvtqZbyGLlHZvjfmPTPeuD/I8MaW7cfFrj5tRltICJdgwflhfZ3NVVbVLFQA==", + "node_modules/slice-ansi": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/slice-ansi/-/slice-ansi-5.0.0.tgz", + "integrity": "sha512-FC+lgizVPfie0kkhqUScwRu1O/lF6NOgJmlCgK+/LYxDCTk8sGelYaHDhFcDN+Sn3Cv+3VSa4Byeo+IMCzpMgQ==", "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~3.1.0", - "isarray": "2.0.1" - }, + "license": "MIT", "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } + "ansi-styles": "^6.0.0", + "is-fullwidth-code-point": "^4.0.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/slice-ansi?sponsor=1" } }, - "sockjs": { - "version": "0.3.19", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.19.tgz", - "integrity": "sha512-V48klKZl8T6MzatbLlzzRNhMepEys9Y4oGFpypBFFn1gLI/QQ9HtLLyWJNbPlwGLelOVOEijUbTTJeLLI59jLw==", + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.0.1" + "license": "MIT", + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" } }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "node_modules/socket.io": { + "version": "4.8.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.8.1.tgz", + "integrity": "sha512-oZ7iUCxph8WYRHHcjBEc9unw3adt5CmSNlppj/5Q4k2RIrhl8Z5yY2Xr4j9zj0+wzVZ0bxmYoGSzKJnRl6A4yg==", "dev": true, - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - } + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "cors": "~2.8.5", + "debug": "~4.3.2", + "engine.io": "~6.6.0", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.4" + }, + "engines": { + "node": ">=10.2.0" } }, - "socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "node_modules/socket.io-adapter": { + "version": "2.5.5", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.5.tgz", + "integrity": "sha512-eLDQas5dzPgOWCk9GuuJC2lBqItuhKI4uxGgo9aIV7MYbk2h9Q6uULEh8WBzThoI7l+qU9Ast9fVUmkqPP9wYg==", "dev": true, - "requires": { - "ip": "1.1.5", - "smart-buffer": "^4.1.0" + "license": "MIT", + "dependencies": { + "debug": "~4.3.4", + "ws": "~8.17.1" } }, - "socks-proxy-agent": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", - "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", + "node_modules/socket.io-adapter/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "requires": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" - }, + "license": "MIT", "dependencies": { - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "sort-keys": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sort-keys/-/sort-keys-1.1.2.tgz", - "integrity": "sha1-RBttTTRnmPG05J6JIK37oOVD+a0=", + "node_modules/socket.io-parser": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", + "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", "dev": true, - "requires": { - "is-plain-obj": "^1.0.0" + "license": "MIT", + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" + }, + "engines": { + "node": ">=10.0.0" } }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "source-map-loader": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-0.2.4.tgz", - "integrity": "sha512-OU6UJUty+i2JDpTItnizPrlpOIBLmQbWMuBg9q5bVtnHACqw1tn9nNwqJLbv0/00JjnJb/Ee5g5WS5vrRv7zIQ==", - "dev": true, - "requires": { - "async": "^2.5.0", - "loader-utils": "^1.1.0" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } + "node_modules/socket.io-parser/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "node_modules/socket.io/node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "license": "MIT", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", + "node_modules/socket.io/node_modules/debug": { + "version": "4.3.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz", + "integrity": "sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ==", "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true - }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "node_modules/socket.io/node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", "dev": true, - "requires": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "spdx-exceptions": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", - "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", - "dev": true - }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "node_modules/socket.io/node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" + "license": "MIT", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", - "dev": true - }, - "spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "node_modules/socket.io/node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", "dev": true, - "requires": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" + "license": "MIT", + "engines": { + "node": ">= 0.6" } }, - "spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "node_modules/socks": { + "version": "2.8.7", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.7.tgz", + "integrity": "sha512-HLpt+uLy/pxB+bum/9DzAgiKS8CX1EvbWxI4zlmgGCExImLdiad2iCwXT5Z4c9c3Eq8rP2318mPW2c+QbtjK8A==", "dev": true, - "requires": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } + "license": "MIT", + "dependencies": { + "ip-address": "^10.0.1", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.0.0", + "npm": ">= 3.0.0" } }, - "speed-measure-webpack-plugin": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.1.tgz", - "integrity": "sha512-qVIkJvbtS9j/UeZumbdfz0vg+QfG/zxonAjzefZrqzkr7xOncLVXkeGbTpzd1gjCBM4PmVNkWlkeTVhgskAGSQ==", + "node_modules/socks-proxy-agent": { + "version": "8.0.5", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.5.tgz", + "integrity": "sha512-HehCEsotFqbPW9sJ8WVYB6UbmIMv7kUUORIF2Nncq4VQvBfNBLibW9YZR5dlYCSUhwcD628pRllm7n+E+YTzJw==", "dev": true, - "requires": { - "chalk": "^2.0.1" + "license": "MIT", + "dependencies": { + "agent-base": "^7.1.2", + "debug": "^4.3.4", + "socks": "^2.8.3" + }, + "engines": { + "node": ">= 14" } }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", "dev": true, - "requires": { - "extend-shallow": "^3.0.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" } }, - "sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", - "dev": true - }, - "sshpk": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", - "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", - "dev": true, - "requires": { - "asn1": "~0.2.3", - "assert-plus": "^1.0.0", - "bcrypt-pbkdf": "^1.0.0", - "dashdash": "^1.12.0", - "ecc-jsbn": "~0.1.1", - "getpass": "^0.1.1", - "jsbn": "~0.1.0", - "safer-buffer": "^2.0.2", - "tweetnacl": "~0.14.0" - } - }, - "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "license": "MIT", + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" } }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" } }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "license": "Apache-2.0", + "dependencies": { + "spdx-expression-parse": "^3.0.0", + "spdx-license-ids": "^3.0.0" } }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true + "node_modules/spdx-exceptions": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", + "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", + "dev": true, + "license": "CC-BY-3.0" }, - "streamroller": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-1.0.6.tgz", - "integrity": "sha512-3QC47Mhv3/aZNFpDDVO44qQb9gwB9QggMEE0sQmkTAwBVYdBRWISdsywlkfm5II1Q5y/pmrHflti/IgmIzdDBg==", + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "requires": { - "async": "^2.6.2", - "date-format": "^2.0.0", - "debug": "^3.2.6", - "fs-extra": "^7.0.1", - "lodash": "^4.17.14" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "fs-extra": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-7.0.1.tgz", - "integrity": "sha512-YJDaCJZEnBmcbw13fvdAM9AwNOJwOzrE4pqMqBq5nFiEqXUqHwlK4B+3pUw6JNvfSPtX05xFHtYy/1ni01eGCw==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } + "spdx-exceptions": "^2.1.0", + "spdx-license-ids": "^3.0.0" } }, - "strict-uri-encode": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/strict-uri-encode/-/strict-uri-encode-1.1.0.tgz", - "integrity": "sha1-J5siXfHVgrH1TmWt3UNS4Y+qBxM=", - "dev": true + "node_modules/spdx-license-ids": { + "version": "3.0.22", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.22.tgz", + "integrity": "sha512-4PRT4nh1EImPbt2jASOKHX7PB7I+e4IWNLvkKFDxNhJlfjbYlleYQh285Z/3mPTHSAK/AvdMmw5BNNuYH8ShgQ==", + "dev": true, + "license": "CC0-1.0" }, - "string-width": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-2.1.1.tgz", - "integrity": "sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==", + "node_modules/ssri": { + "version": "12.0.0", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-12.0.0.tgz", + "integrity": "sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==", "dev": true, - "requires": { - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^4.0.0" - }, + "license": "ISC", "dependencies": { - "ansi-regex": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.0.tgz", - "integrity": "sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=", - "dev": true - }, - "strip-ansi": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-4.0.0.tgz", - "integrity": "sha1-qEeQIusaw2iocTibY1JixQXuNo8=", - "dev": true, - "requires": { - "ansi-regex": "^3.0.0" - } - } + "minipass": "^7.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" } }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" + "node_modules/stdin-discarder": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/stdin-discarder/-/stdin-discarder-0.2.2.tgz", + "integrity": "sha512-UhDfHmA92YAlNnCfhmq0VeNL5bDbiZGg7sZ2IvPsXubGkiNa9EC+tUTsjBRsYUAz87btI6/1wf4XoVvQ3uRnmQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" } }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "safe-buffer": "~5.1.0" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", + "node_modules/string-width-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "requires": { - "ansi-regex": "^2.0.0" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha1-IzTBjpx1n3vdVv3vfprj1YjmjtM=", - "dev": true - }, - "strip-eof": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "style-loader": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-1.1.3.tgz", - "integrity": "sha512-rlkH7X/22yuwFYK357fMN/BxYOorfnfq0eD7+vqlemSK4wEcejFF1dg4zxP0euBW8NrYx2WZzZ8PPFevr7D+Kw==", - "dev": true, - "requires": { - "loader-utils": "^1.2.3", - "schema-utils": "^2.6.4" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } - } + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "node_modules/string-width-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "stylus": { - "version": "0.54.7", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.7.tgz", - "integrity": "sha512-Yw3WMTzVwevT6ZTrLCYNHAFmanMxdylelL3hkWNgPMeTCpMwpV3nXjpOHuBXtFv7aiO2xRuQS6OoAdgkNcSNug==", + "node_modules/string-width-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "css-parse": "~2.0.0", - "debug": "~3.1.0", - "glob": "^7.1.3", - "mkdirp": "~0.5.x", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.0.0", - "source-map": "^0.7.3" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } - } - }, - "stylus-loader": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-3.0.2.tgz", - "integrity": "sha512-+VomPdZ6a0razP+zinir61yZgpw2NfljeSsdUF5kJuEzlo3khXhY19Fn6l8QQz1GRJGtMCo8nG5C04ePyV7SUA==", - "dev": true, - "requires": { - "loader-utils": "^1.0.2", - "lodash.clonedeep": "^4.5.0", - "when": "~3.6.x" - }, - "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "requires": { - "has-flag": "^3.0.0" - } - }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" - } - }, - "symbol-observable": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-1.2.0.tgz", - "integrity": "sha512-e900nM8RRtGhlV36KGEU9k65K3mPb1WV70OdjfxlG2EAuM1noi/E/BaW/uMhL7bPEssK8QV57vN3esixjUvcXQ==", - "dev": true - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "tar": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.2.tgz", - "integrity": "sha512-Glo3jkRtPcvpDlAs/0+hozav78yoXKFr+c4wgw62NNMO3oo4AaJdCo21Uu7lcwr55h39W2XD1LMERc64wtbItg==", + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", "dev": true, - "requires": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^3.0.0", - "minizlib": "^2.1.0", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, + "license": "MIT", "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "terser": { - "version": "4.6.10", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.6.10.tgz", - "integrity": "sha512-qbF/3UOo11Hggsbsqm2hPa6+L4w7bkr+09FNseEe8xrcVD3APGLFqE+Oz1ZKAxjYnFsj80rLOfgAtJ0LNJjtTA==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - }, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "terser-webpack-plugin": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-2.3.5.tgz", - "integrity": "sha512-WlWksUoq+E4+JlJ+h+U+QUzXpcsMSSNXkDy9lBVkSqDn1w23Gg29L/ary9GeJVYCGiNJJX7LnVc4bwL1N3/g1w==", + "node_modules/strip-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "requires": { - "cacache": "^13.0.1", - "find-cache-dir": "^3.2.0", - "jest-worker": "^25.1.0", - "p-limit": "^2.2.2", - "schema-utils": "^2.6.4", - "serialize-javascript": "^2.1.2", - "source-map": "^0.6.1", - "terser": "^4.4.3", - "webpack-sources": "^1.4.3" - }, - "dependencies": { - "cacache": { - "version": "13.0.1", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-13.0.1.tgz", - "integrity": "sha512-5ZvAxd05HDDU+y9BVvcqYu2LLXmPnQ0hW62h32g4xBTgL/MppR4/04NHfj/ycM2y6lmTnbw6HVi+1eN0Psba6w==", - "dev": true, - "requires": { - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "fs-minipass": "^2.0.0", - "glob": "^7.1.4", - "graceful-fs": "^4.2.2", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "minipass": "^3.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "p-map": "^3.0.0", - "promise-inflight": "^1.0.1", - "rimraf": "^2.7.1", - "ssri": "^7.0.0", - "unique-filename": "^1.1.1" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "ssri": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-7.1.0.tgz", - "integrity": "sha512-77/WrDZUWocK0mvA5NTRQyveUf+wsrIc6vyrxpS8tVvYBcX215QbafrJR3KtkpskIzoFLqqNuuYQvxaMjXJ/0g==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "minipass": "^3.1.1" - } - } + "license": "MIT", + "engines": { + "node": ">=8" } }, - "through": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" + "license": "MIT", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "timers-browserify": { - "version": "2.0.11", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.11.tgz", - "integrity": "sha512-60aV6sgJ5YEbzUdn9c8kYGIqOubPoUdqQCul3SBAsRCZ40s6Y5cMcrW4dt3/k/EsbLVJNl9n6Vz3fTc+k2GeKQ==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "requires": { - "setimmediate": "^1.0.4" + "license": "MIT", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", + "node_modules/tar": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.1.tgz", + "integrity": "sha512-DZ4yORTwrbTj/7MZYq2w+/ZFdI6OZ/f9SFHR+71gIVUZhOQPHzVCLpvRnPgyaMpfWxxk/4ONva3GQSyNIKRv6A==", "dev": true, - "requires": { - "os-tmpdir": "~1.0.2" + "license": "ISC", + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=" - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, + "license": "ISC", "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "node_modules/tar/node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, - "requires": { - "is-number": "^7.0.0" + "license": "ISC", + "engines": { + "node": ">=8" } }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", + "node_modules/tar/node_modules/minizlib": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", + "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" + "license": "MIT", + "dependencies": { + "minipass": "^3.0.0", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" } }, - "tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true - }, - "ts-node": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", - "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", - "dev": true, - "requires": { - "arg": "^4.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "source-map-support": "^0.5.6", - "yn": "^3.0.0" - } - }, - "tslib": { - "version": "1.11.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.11.2.tgz", - "integrity": "sha512-tTSkux6IGPnUGUd1XAZHcpu85MOkIl5zX49pO+jfsie3eP0B6pyhOlLXm3cAC6T7s+euSDDUUV+Acop5WmtkVg==" - }, - "tslint": { - "version": "6.1.2", - "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.2.tgz", - "integrity": "sha512-UyNrLdK3E0fQG/xWNqAFAC5ugtFyPO4JJR1KyyfQAyzR8W0fTRrC91A8Wej4BntFzcvETdCSDa/4PnNYJQLYiA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "builtin-modules": "^1.1.1", - "chalk": "^2.3.0", - "commander": "^2.12.1", - "diff": "^4.0.1", - "glob": "^7.1.1", - "js-yaml": "^3.13.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.3", - "resolve": "^1.3.2", - "semver": "^5.3.0", - "tslib": "^1.10.0", - "tsutils": "^2.29.0" - }, - "dependencies": { - "semver": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.1.tgz", - "integrity": "sha512-sauaDf/PZdVgrLTNYHRtpXa1iRiKcaebiKQ1BJdpQlWH2lCvexQdX55snPFyK7QzpudqbCI0qXFfOasHdyNDGQ==", - "dev": true - } + "node_modules/tar/node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "tsutils": { - "version": "2.29.0", - "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", - "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "requires": { - "tslib": "^1.8.1" + "license": "MIT", + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", - "dev": true + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true, + "license": "ISC" }, - "tunnel-agent": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", - "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", + "node_modules/tinyglobby": { + "version": "0.2.14", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.14.tgz", + "integrity": "sha512-tX5e7OM1HnYr2+a2C/4V0htOcSQcoSTH9KgJnVvNm5zm/cyEWKJ7j7YutsH9CxMdtOkkLFy2AHrMci9IM8IPZQ==", "dev": true, - "requires": { - "safe-buffer": "^5.0.1" + "license": "MIT", + "dependencies": { + "fdir": "^6.4.4", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" } }, - "tweetnacl": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", - "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", - "dev": true - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true - }, - "type-is": { - "version": "1.6.18", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", - "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "node_modules/tmp": { + "version": "0.2.5", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.5.tgz", + "integrity": "sha512-voyz6MApa1rQGUxT3E+BK7/ROe8itEx7vD8/HEvt4xwXucvQ5G5oeEiHkmHZJuBO21RpOf+YYm9MOivj709jow==", "dev": true, - "requires": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" + "license": "MIT", + "engines": { + "node": ">=14.14" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typescript": { - "version": "3.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-3.8.3.tgz", - "integrity": "sha512-MYlEfn5VrLNsgudQTVJeNaQFUAI7DkhnOjdpAp4T+ku1TfQClewlbSuTVHiA+8skNBgaf02TL/kLOvig4y3G8w==", - "dev": true - }, - "ultron": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ultron/-/ultron-1.1.1.tgz", - "integrity": "sha512-UIEXBNeYmKptWH6z8ZnqTeS8fV74zG0/eRU9VGkpzz+LIJNs8W/zM/L+7ctCkRrgbNnnR0xxw4bKOr0cW0N0Og==", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", - "dev": true - }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "license": "MIT", + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "dev": true - }, - "union-value": { + "node_modules/toidentifier": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "license": "MIT", + "engines": { + "node": ">=0.6" } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true - }, - "uniqs": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "node_modules/tuf-js": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-3.1.0.tgz", + "integrity": "sha512-3T3T04WzowbwV2FDiGXBbr81t64g1MUGGJRgT4x5o97N+8ArdhVCAF9IxFrxuSJmM3E5Asn7nKHkao0ibcZXAg==", "dev": true, - "requires": { - "unique-slug": "^2.0.0" + "license": "MIT", + "dependencies": { + "@tufjs/models": "3.0.1", + "debug": "^4.4.1", + "make-fetch-happen": "^14.0.3" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", "dev": true, - "requires": { - "imurmurhash": "^0.1.4" + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "universal-analytics": { - "version": "0.4.20", - "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.20.tgz", - "integrity": "sha512-gE91dtMvNkjO+kWsPstHRtSwHXz0l2axqptGYp5ceg4MsuurloM0PU3pdOfpb5zBXUvyjT4PwhWK2m39uczZuw==", + "node_modules/type-is": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", + "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", "dev": true, - "requires": { - "debug": "^3.0.0", - "request": "^2.88.0", - "uuid": "^3.0.0" - }, + "license": "MIT", "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - } + "content-type": "^1.0.5", + "media-typer": "^1.1.0", + "mime-types": "^3.0.0" + }, + "engines": { + "node": ">= 0.6" } }, - "universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true - }, - "unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true + "node_modules/typescript": { + "version": "5.8.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", + "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } + "node_modules/ua-parser-js": { + "version": "0.7.41", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.41.tgz", + "integrity": "sha512-O3oYyCMPYgNNHuO7Jjk3uacJWZF8loBgwrfd/5LE/HyZ3lUIOdniQ7DNXJcIgZbwioZxk0fLfI4EVnetdiX5jg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true + { + "type": "github", + "url": "https://github.com/sponsors/faisalman" } + ], + "license": "MIT", + "bin": { + "ua-parser-js": "script/cli.js" + }, + "engines": { + "node": "*" } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true + "node_modules/undici-types": { + "version": "7.10.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.10.0.tgz", + "integrity": "sha512-t5Fy/nfn+14LuOc2KNYg75vZqClpAiqscVvMygNnlsHBFpSXdJaYtXMcdNLpl/Qvc3P2cB3s6lOV51nqsFq4ag==", + "dev": true, + "license": "MIT" }, - "uri-js": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", - "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", + "node_modules/unique-filename": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-4.0.0.tgz", + "integrity": "sha512-XSnEewXmQ+veP7xX2dS5Q4yZAvO40cBN2MWkJ7D/6sW4Dg6wYBNwM1Vrnz1FhH5AdeLIlUXRI9e28z1YZi71NQ==", "dev": true, - "requires": { - "punycode": "^2.1.0" + "license": "ISC", + "dependencies": { + "unique-slug": "^5.0.0" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "node_modules/unique-slug": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-5.0.0.tgz", + "integrity": "sha512-9OdaqO5kwqR+1kVgHAhsp5vPNU0hnxRa26rBFNfNgM7M6pNtgzeBn3s/xbyCQL3dcjzOatcef6UUHpB/6MaETg==", "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, + "license": "ISC", "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" + "node_modules/universalify": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", + "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", + "devOptional": true, + "license": "MIT", + "engines": { + "node": ">= 4.0.0" } }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } }, - "useragent": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/useragent/-/useragent-2.3.0.tgz", - "integrity": "sha512-4AoH4pxuSvHCjqLO04sU6U/uE65BYza8l/KKBS0b0hnUPWi+cQ2BpeTEwejCSx9SPV5/U03nniDTrWx5NrmKdw==", - "dev": true, - "requires": { - "lru-cache": "4.1.x", - "tmp": "0.0.x" - }, - "dependencies": { - "lru-cache": { - "version": "4.1.5", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", - "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", - "dev": true, - "requires": { - "pseudomap": "^1.0.2", - "yallist": "^2.1.2" - } + "node_modules/update-browserslist-db": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", + "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, - "yallist": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", - "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", - "dev": true + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" - }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "license": "BSD-2-Clause", "dependencies": { - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", - "dev": true - } + "punycode": "^2.1.0" } }, - "util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", - "dev": true - }, - "util-promisify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/util-promisify/-/util-promisify-2.1.0.tgz", - "integrity": "sha1-PCI2R2xNMsX/PEcAKt18E7moKlM=", - "dev": true, - "requires": { - "object.getownpropertydescriptors": "^2.0.3" + "node_modules/uri-js/node_modules/punycode": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", + "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", + "license": "MIT", + "engines": { + "node": ">=6" } }, - "util.promisify": { + "node_modules/utils-merge": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" + "license": "MIT", + "engines": { + "node": ">= 0.4.0" } }, - "utils-merge": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", - "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true - }, - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - }, - "validate-npm-package-license": { + "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "requires": { + "license": "Apache-2.0", + "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, - "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "node_modules/validate-npm-package-name": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-6.0.2.tgz", + "integrity": "sha512-IUoow1YUtvoBBC06dXs8bR8B9vuA3aJfmQNKMoaPG/OFsPmoQvw8xh+6Ye25Gx9DQhoEom3Pcu9MKHerm/NpUQ==", "dev": true, - "requires": { - "builtins": "^1.0.3" + "license": "ISC", + "engines": { + "node": "^18.17.0 || >=20.5.0" } }, - "vary": { + "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true - }, - "verror": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", - "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", - "dev": true, - "requires": { - "assert-plus": "^1.0.0", - "core-util-is": "1.0.2", - "extsprintf": "^1.2.0" - } - }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true - }, - "watchpack": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.6.1.tgz", - "integrity": "sha512-+IF9hfUFOrYOOaKyfaI7h7dquUIOgyEMoQMLA7OP5FxegKA2+XdXThAZ9TU2kucfhDH7rfMHs1oPYziVGWRnZA==", - "dev": true, - "requires": { - "chokidar": "^2.1.8", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vite": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-7.1.2.tgz", + "integrity": "sha512-J0SQBPlQiEXAF7tajiH+rUooJPo0l8KQgyg4/aMunNtrOa7bwuZJsJbDWzeljqQpgftxuq5yNJxQ91O9ts29UQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.6", + "picomatch": "^4.0.3", + "postcss": "^8.5.6", + "rollup": "^4.43.0", + "tinyglobby": "^0.2.14" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^20.19.0 || >=22.12.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^20.19.0 || >=22.12.0", + "jiti": ">=1.21.0", + "less": "^4.0.0", + "lightningcss": "^1.21.0", + "sass": "^1.70.0", + "sass-embedded": "^1.70.0", + "stylus": ">=0.54.8", + "sugarss": "^5.0.0", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } + "jiti": { + "optional": true }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } + "less": { + "optional": true }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } + "lightningcss": { + "optional": true }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } + "sass": { + "optional": true }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } + "sass-embedded": { + "optional": true }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } + "stylus": { + "optional": true }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } + "sugarss": { + "optional": true }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } + "terser": { + "optional": true }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } + "tsx": { + "optional": true }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } + "yaml": { + "optional": true } } }, - "wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", "dev": true, - "requires": { - "minimalistic-assert": "^1.0.0" + "license": "MIT", + "engines": { + "node": ">=0.10.0" } }, - "wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "node_modules/watchpack": { + "version": "2.4.4", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", + "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", "dev": true, - "requires": { - "defaults": "^1.0.3" + "license": "MIT", + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" } }, - "webdriver-js-extender": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", - "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", - "dev": true, - "requires": { - "@types/selenium-webdriver": "^3.0.0", - "selenium-webdriver": "^3.0.1" - } - }, - "webpack": { - "version": "4.42.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.42.0.tgz", - "integrity": "sha512-EzJRHvwQyBiYrYqhyjW9AqM90dE4+s1/XtCfn7uWg6cS72zH+2VPFAlsnW0+W0cDi0XRjNKUMoJtpSi50+Ph6w==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.8.5", - "@webassemblyjs/helper-module-context": "1.8.5", - "@webassemblyjs/wasm-edit": "1.8.5", - "@webassemblyjs/wasm-parser": "1.8.5", - "acorn": "^6.2.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.1.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.1", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.6.0", - "webpack-sources": "^1.4.1" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "rimraf": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", - "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "terser-webpack-plugin": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.3.tgz", - "integrity": "sha512-QMxecFz/gHQwteWwSo5nTc6UaICqN1bMedC5sMtUc7y3Ha3Q8y6ZO0iCR8pq4RJC8Hjf0FEPEHZqcMB/+DFCrA==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^2.1.2", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - } - } + "node_modules/weak-lru-cache": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/weak-lru-cache/-/weak-lru-cache-1.2.2.tgz", + "integrity": "sha512-DEAoo25RfSYMuTGc9vPJzZcZullwIqRDSI9LOy+fkCJPi6hykCnfKaXTuPBDuXAUcqHXyOgFtHNp/kB2FjYHbw==", + "dev": true, + "license": "MIT", + "optional": true }, - "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", - "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - }, - "mime": { - "version": "2.4.5", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.5.tgz", - "integrity": "sha512-3hQhEUF027BuxZjQA3s7rIv/7VCQPa27hN9u9g87sEkWaKwQPuXOkVKtOeiyUrnWqTDiOs8Ed2rwg733mB0R5w==", - "dev": true - } + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "webpack-dev-server": { - "version": "3.10.3", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.10.3.tgz", - "integrity": "sha512-e4nWev8YzEVNdOMcNzNeCN947sWJNd43E5XvsJzbAL08kGc2frm1tQ32hTJslRS+H65LCb/AaUCYU7fjHCpDeQ==", + "node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", - "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.2.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.6", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.25", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", - "semver": "^6.3.0", - "serve-index": "^1.9.1", - "sockjs": "0.3.19", - "sockjs-client": "1.4.0", - "spdy": "^4.0.1", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "12.0.5" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - } + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" } }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "webpack-merge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-4.2.2.tgz", - "integrity": "sha512-TUE1UGoTX2Cd42j3krGYqObZbOD+xF7u28WB7tfUordytSjbWTIjK/8V0amkBfTYN4/pB/GIDlJZZ657BGG19g==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", "dev": true, - "requires": { - "lodash": "^4.17.15" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - }, + "license": "MIT", "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "webpack-subresource-integrity": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.4.0.tgz", - "integrity": "sha512-GB1kB/LwAWC3CxwcedGhMkxGpNZxSheCe1q+KJP1bakuieAdX/rGHEcf5zsEzhKXpqsGqokgsDoD9dIkr61VDQ==", + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true, - "requires": { - "webpack-sources": "^1.3.0" - } + "license": "MIT" }, - "websocket-driver": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", - "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "node_modules/wrap-ansi-cjs/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "requires": { - "http-parser-js": ">=0.4.0 <0.4.11", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "websocket-extensions": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", - "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==", - "dev": true - }, - "when": { - "version": "3.6.4", - "resolved": "https://registry.npmjs.org/when/-/when-3.6.4.tgz", - "integrity": "sha1-RztRfsFZ4rhQBUl6E5g/CVQS404=", - "dev": true - }, - "which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "isexe": "^2.0.0" + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "which-boxed-primitive": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", - "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", - "requires": { - "is-bigint": "^1.0.1", - "is-boolean-object": "^1.1.0", - "is-number-object": "^1.0.4", - "is-string": "^1.0.5", - "is-symbol": "^1.0.3" + "node_modules/wrap-ansi-cjs/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "which-collection": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", - "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", - "requires": { - "is-map": "^2.0.1", - "is-set": "^2.0.1", - "is-weakmap": "^2.0.1", - "is-weakset": "^2.0.1" + "node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=8" } }, - "which-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", - "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=" - }, - "which-typed-array": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.4.tgz", - "integrity": "sha512-49E0SpUe90cjpoc7BOJwyPHRqSAd12c10Qm2amdEZrJPCY2NDxaW01zHITrem+rnETY3dwrbH3UUrUwagfCYDA==", - "requires": { - "available-typed-arrays": "^1.0.2", - "call-bind": "^1.0.0", - "es-abstract": "^1.18.0-next.1", - "foreach": "^2.0.5", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.1", - "is-typed-array": "^1.1.3" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.2", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.2.tgz", - "integrity": "sha512-Ih4ZMFHEtZupnUh6497zEL4y2+w8+1ljnCyaTa+adcoafI1GOvMwFlDjBLfWR7y9VLfrjRJe9ocuHY1PSR9jjw==", - "requires": { - "call-bind": "^1.0.2", - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.1", - "is-regex": "^1.1.1", - "object-inspect": "^1.9.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.2", - "string.prototype.trimend": "^1.0.3", - "string.prototype.trimstart": "^1.0.3" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==" - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.9.0.tgz", - "integrity": "sha512-i3Bp9iTqwhaLZBxGkRfo5ZbE07BQRT7MGu8+nNgwW9ItGp1TzCTw2DLEoWwjClxBjOFI/hWljTAmYGCEwmtnOw==" - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - }, - "string.prototype.trimend": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.3.tgz", - "integrity": "sha512-ayH0pB+uf0U28CtjlLvL7NaohvR1amUvVZk+y3DYb0Ey2PUV5zPkkKy9+U1ndVEIXO8hNg18eIv9Jntbii+dKw==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - }, - "string.prototype.trimstart": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.3.tgz", - "integrity": "sha512-oBIBUy5lea5tt0ovtOFiEQaBkoBBkyJhZXzJYrSmDo5IUUqbOPvVezuRs/agBIdZ2p2Eo1FD6bD9USyBLfl3xg==", - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3" - } - } + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "wordwrap": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/wordwrap/-/wordwrap-0.0.3.tgz", - "integrity": "sha1-o9XabNXAvAAI03I0u68b7WMFkQc=", - "dev": true + "node_modules/wrap-ansi/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true, + "license": "MIT" }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", "dev": true, - "requires": { - "errno": "~0.1.7" + "license": "MIT", + "engines": { + "node": ">=8" } }, - "worker-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-4.0.2.tgz", - "integrity": "sha512-V+1zSZMOOKk+uBzKyNIODLQLsx59zSIOaI75J1EMS0iR1qy+KQR3y/pQ3T0vIhvPfDFapGRMsoMvQNEL3okqSA==", + "node_modules/wrap-ansi/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "loader-utils": "^1.1.0" - }, + "license": "MIT", "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "wrap-ansi": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-2.1.0.tgz", - "integrity": "sha1-2Pw9KE3QV5T+hJc8rs3Rz4JP3YU=", - "dev": true, - "requires": { - "string-width": "^1.0.1", - "strip-ansi": "^3.0.1" - }, - "dependencies": { - "is-fullwidth-code-point": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-1.0.0.tgz", - "integrity": "sha1-754xOG8DGn8NZDr4L95QxFfvAMs=", - "dev": true, - "requires": { - "number-is-nan": "^1.0.0" - } - }, - "string-width": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-1.0.2.tgz", - "integrity": "sha1-EYvfW4zcUaKn5w0hHgfisLmxB9M=", - "dev": true, - "requires": { - "code-point-at": "^1.0.0", - "is-fullwidth-code-point": "^1.0.0", - "strip-ansi": "^3.0.0" - } - } + "node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "wrappy": { + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=" + "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true, + "license": "ISC" }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "node_modules/ws": { + "version": "8.17.1", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.17.1.tgz", + "integrity": "sha512-6XQFvXTkbfUOZOKKILFG1PDK2NDQs4azKQl26T0YS5CxqWLgXajbPZ+h4gZekJyRqFU8pvnbAbbs/3TgRPy+GQ==", "dev": true, - "requires": { - "async-limiter": "~1.0.0" + "license": "MIT", + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "xml2js": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", - "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", "dev": true, - "requires": { - "sax": ">=0.6.0", - "xmlbuilder": "~11.0.0" + "license": "ISC", + "engines": { + "node": ">=10" } }, - "xmlbuilder": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", - "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "node_modules/yargs": { + "version": "18.0.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-18.0.0.tgz", + "integrity": "sha512-4UEqdc2RYGHZc7Doyqkrqiln3p9X2DZVxaGbwhn2pi7MrRagKaOcIKe8L3OxYcbhXLgLFUS3zAYuQjKBQgmuNg==", + "dev": true, + "license": "MIT", + "dependencies": { + "cliui": "^9.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "string-width": "^7.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^22.0.0" + }, + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } }, - "y18n": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.0.tgz", - "integrity": "sha512-r9S/ZyXu/Xu9q1tYlpsLIsa3EeLXXk0VwlxqTcFRfg9EhMW+17kbt9G0NrgCmhGb5vT2hyhJZLfDGx+7+5Uj/w==" + "node_modules/yargs-parser": { + "version": "22.0.0", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-22.0.0.tgz", + "integrity": "sha512-rwu/ClNdSMpkSrUb+d6BRsSkLUq1fmfsY6TOpYzTwvwkg1/NRG85KBy3kq++A8LKQwX6lsu+aWad+2khvuXrqw==", + "dev": true, + "license": "ISC", + "engines": { + "node": "^20.19.0 || ^22.12.0 || >=23" + } }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yargs": { - "version": "12.0.5", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-12.0.5.tgz", - "integrity": "sha512-Lhz8TLaYnxq/2ObqHDql8dX8CJi97oHxrjUcYtzKbbykPtVW9WB+poxI+NM2UIzsMgNCZTIf0AQwsjK5yMAqZw==", - "dev": true, - "requires": { - "cliui": "^4.0.0", - "decamelize": "^1.2.0", - "find-up": "^3.0.0", - "get-caller-file": "^1.0.1", - "os-locale": "^3.0.0", - "require-directory": "^2.1.1", - "require-main-filename": "^1.0.1", - "set-blocking": "^2.0.0", - "string-width": "^2.0.0", - "which-module": "^2.0.0", - "y18n": "^3.2.1 || ^4.0.0", - "yargs-parser": "^11.1.1" - }, - "dependencies": { - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", - "dev": true, - "requires": { - "locate-path": "^3.0.0" - } - }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", - "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" - } - }, - "p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", - "dev": true, - "requires": { - "p-limit": "^2.0.0" - } - }, - "p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true - } + "node_modules/yoctocolors-cjs": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/yoctocolors-cjs/-/yoctocolors-cjs-2.1.3.tgz", + "integrity": "sha512-U/PBtDf35ff0D8X8D0jfdzHYEPFxAI7jJlxZXwCSez5M3190m+QobIfh+sWDWSHMCWWJN2AWamkegn6vr6YBTw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "yargs-parser": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-11.1.1.tgz", - "integrity": "sha512-C6kB/WJDiaxONLJQnF8ccx9SEeoTTLek8RVbaOIsrAUS8VrBEXfmeSnCZxygc+XC2sNMBIwOOnfcxiynjHsVSQ==", + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" } }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true + "node_modules/zod-to-json-schema": { + "version": "3.24.6", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz", + "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==", + "dev": true, + "license": "ISC", + "peerDependencies": { + "zod": "^3.24.1" + } }, - "yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true - }, - "zone.js": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", - "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==" + "node_modules/zone.js": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.15.1.tgz", + "integrity": "sha512-XE96n56IQpJM7NAoXswY3XRLcWFW83xe0BiAOeMD7K5k5xecOeul3Qcpx6GqEeeHNkW5DWL5zOyTbEfB4eti8w==", + "license": "MIT" } } } diff --git a/angular/solution/stocks/package.json b/angular/solution/stocks/package.json index 604d8c6..7038f5c 100644 --- a/angular/solution/stocks/package.json +++ b/angular/solution/stocks/package.json @@ -1,53 +1,38 @@ { - "name": "stocks", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "test": "ng test", - "lint": "ng lint", - "e2e": "ng e2e" - }, - "private": true, - "dependencies": { - "@angular/animations": "~9.1.0", - "@angular/cdk": "^9.2.4", - "@angular/common": "~9.1.0", - "@angular/compiler": "~9.1.0", - "@angular/core": "~9.1.0", - "@angular/forms": "~9.1.0", - "@angular/localize": "~9.1.0", - "@angular/material": "^9.2.4", - "@angular/platform-browser": "~9.1.0", - "@angular/platform-browser-dynamic": "~9.1.0", - "@angular/router": "~9.1.0", - "@glue42/ng": "^2.0.6", - "@ng-bootstrap/ng-bootstrap": "^6.1.0", - "bootstrap": "^4.4.0", - "rxjs": "~6.5.4", - "tslib": "^1.10.0", - "zone.js": "~0.10.2" - }, - "devDependencies": { - "@angular-devkit/build-angular": "~0.901.0", - "@angular/cli": "~9.1.0", - "@angular/compiler-cli": "~9.1.0", - "@angular/language-service": "~9.1.0", - "@types/node": "^12.11.1", - "@types/jasmine": "~3.5.0", - "@types/jasminewd2": "~2.0.3", - "codelyzer": "^5.1.2", - "jasmine-core": "~3.5.0", - "jasmine-spec-reporter": "~4.2.1", - "karma": "~4.4.1", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage-istanbul-reporter": "~2.1.0", - "karma-jasmine": "~3.0.1", - "karma-jasmine-html-reporter": "^1.4.2", - "protractor": "~5.4.3", - "ts-node": "~8.3.0", - "tslint": "~6.1.0", - "typescript": "~3.8.3" - } + "name": "stocks", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "watch": "ng build --watch --configuration development", + "test": "ng test" + }, + "private": true, + "dependencies": { + "@angular/common": "^20.1.0", + "@angular/compiler": "^20.1.0", + "@angular/core": "^20.1.0", + "@angular/forms": "^20.1.0", + "@angular/platform-browser": "^20.1.0", + "@angular/router": "^20.1.0", + "@interopio/ng": "^6.0.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "zone.js": "~0.15.0" + }, + "devDependencies": { + "@angular/build": "^20.1.6", + "@angular/cli": "^20.1.6", + "@angular/compiler-cli": "^20.1.0", + "@interopio/theme": "^3.0.2", + "@types/jasmine": "~5.1.0", + "jasmine-core": "~5.8.0", + "karma": "~6.4.0", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage": "~2.2.0", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "~2.1.0", + "typescript": "~5.8.2" + } } diff --git a/angular/start/stocks/src/assets/.gitkeep b/angular/solution/stocks/public/.gitkeep similarity index 100% rename from angular/start/stocks/src/assets/.gitkeep rename to angular/solution/stocks/public/.gitkeep diff --git a/angular/start/stocks/src/assets/favicon.ico b/angular/solution/stocks/public/favicon.ico similarity index 100% rename from angular/start/stocks/src/assets/favicon.ico rename to angular/solution/stocks/public/favicon.ico diff --git a/angular/start/stocks/src/assets/logo192.png b/angular/solution/stocks/public/logo192.png similarity index 100% rename from angular/start/stocks/src/assets/logo192.png rename to angular/solution/stocks/public/logo192.png diff --git a/angular/start/stocks/src/assets/logo512.png b/angular/solution/stocks/public/logo512.png similarity index 100% rename from angular/start/stocks/src/assets/logo512.png rename to angular/solution/stocks/public/logo512.png diff --git a/angular/solution/stocks/src/app/app-routing.module.ts b/angular/solution/stocks/src/app/app-routing.module.ts deleted file mode 100644 index 2813eaf..0000000 --- a/angular/solution/stocks/src/app/app-routing.module.ts +++ /dev/null @@ -1,15 +0,0 @@ -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; -import { StockDetailsComponent } from './stock-details/stock-details.component'; -import { StocksComponent } from './stocks/stocks.component'; - -const routes: Routes = [ - { path: "details", component: StockDetailsComponent }, - { path: '', component: StocksComponent } -]; - -@NgModule({ - imports: [RouterModule.forRoot(routes)], - exports: [RouterModule] -}) -export class AppRoutingModule { } diff --git a/angular/solution/stocks/src/app/app.component.ts b/angular/solution/stocks/src/app/app.component.ts deleted file mode 100644 index ec7b843..0000000 --- a/angular/solution/stocks/src/app/app.component.ts +++ /dev/null @@ -1,7 +0,0 @@ -import { Component } from "@angular/core"; - -@Component({ - selector: 'app-root', - template: `` -}) -export class AppComponent {} \ No newline at end of file diff --git a/angular/solution/stocks/src/app/app.config.ts b/angular/solution/stocks/src/app/app.config.ts new file mode 100644 index 0000000..5846d79 --- /dev/null +++ b/angular/solution/stocks/src/app/app.config.ts @@ -0,0 +1,40 @@ +import { + ApplicationConfig, + provideBrowserGlobalErrorListeners, + provideZoneChangeDetection +} from "@angular/core"; +import { provideHttpClient } from "@angular/common/http"; +import { provideRouter } from "@angular/router"; + +import "@interopio/theme"; +import { provideIoConnect } from "@interopio/ng"; +import IOBrowser, { IOConnectBrowser } from "@interopio/browser"; +import IOWorkspaces from "@interopio/workspaces-api"; + +import { routes } from "./app.routes"; +import { DataService } from "./data.service"; +import { IOConnectService } from "./io-connect.service"; + +const config: IOConnectBrowser.Config = { + // widget: { + // enable: true + // } + libraries: [IOWorkspaces] +}; + +export const appConfig: ApplicationConfig = { + providers: [ + provideBrowserGlobalErrorListeners(), + provideZoneChangeDetection({ eventCoalescing: true }), + provideRouter(routes), + provideHttpClient(), + provideIoConnect({ + browser: { + factory: IOBrowser, + config + } + }), + DataService, + IOConnectService + ] +}; diff --git a/angular/solution/stocks/src/app/app.css b/angular/solution/stocks/src/app/app.css new file mode 100644 index 0000000..e69de29 diff --git a/angular/solution/stocks/src/app/app.html b/angular/solution/stocks/src/app/app.html new file mode 100644 index 0000000..90c6b64 --- /dev/null +++ b/angular/solution/stocks/src/app/app.html @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/angular/solution/stocks/src/app/app.module.ts b/angular/solution/stocks/src/app/app.module.ts deleted file mode 100644 index 31ac495..0000000 --- a/angular/solution/stocks/src/app/app.module.ts +++ /dev/null @@ -1,34 +0,0 @@ -import { BrowserModule } from '@angular/platform-browser'; -import { NgModule } from '@angular/core'; - -import { AppRoutingModule } from './app-routing.module'; -import { AppComponent } from './app.component'; -import { NgbModule } from '@ng-bootstrap/ng-bootstrap'; -import { HttpClientModule } from '@angular/common/http'; -import { DataService } from './data.service'; -import { StockDetailsComponent } from './stock-details/stock-details.component'; -import { StocksComponent } from './stocks/stocks.component'; - -import { Glue42Ng } from "@glue42/ng"; -import GlueWeb from "@glue42/web"; -import { GlueService } from './glue.service'; -import { ChannelSelectModule } from './channel-select/channel-select.module'; - -@NgModule({ - declarations: [ - AppComponent, - StockDetailsComponent, - StocksComponent - ], - imports: [ - BrowserModule, - AppRoutingModule, - NgbModule, - HttpClientModule, - Glue42Ng.forRoot({ web: { factory: GlueWeb } }), - ChannelSelectModule - ], - providers: [DataService, GlueService], - bootstrap: [AppComponent] -}) -export class AppModule { } diff --git a/angular/solution/stocks/src/app/app.routes.ts b/angular/solution/stocks/src/app/app.routes.ts new file mode 100644 index 0000000..2af97c4 --- /dev/null +++ b/angular/solution/stocks/src/app/app.routes.ts @@ -0,0 +1,8 @@ +import { Routes } from "@angular/router"; +import { Stocks } from "./stocks/stocks"; +import { StockDetails } from "./stock-details/stock-details"; + +export const routes: Routes = [ + { path: "details", component: StockDetails }, + { path: "", component: Stocks } +]; diff --git a/angular/solution/stocks/src/app/app.ts b/angular/solution/stocks/src/app/app.ts new file mode 100644 index 0000000..c735027 --- /dev/null +++ b/angular/solution/stocks/src/app/app.ts @@ -0,0 +1,10 @@ +import { Component } from "@angular/core"; +import { RouterOutlet } from "@angular/router"; + +@Component({ + selector: "app-root", + imports: [RouterOutlet], + templateUrl: "./app.html", + styleUrl: "./app.css" +}) +export class App {} diff --git a/angular/solution/stocks/src/app/channel-select/channel-select.component.html b/angular/solution/stocks/src/app/channel-select/channel-select.component.html deleted file mode 100644 index 72cfa77..0000000 --- a/angular/solution/stocks/src/app/channel-select/channel-select.component.html +++ /dev/null @@ -1,8 +0,0 @@ - - Select a channel - - No channel - - {{channel.name}} - - diff --git a/angular/solution/stocks/src/app/channel-select/channel-select.component.ts b/angular/solution/stocks/src/app/channel-select/channel-select.component.ts deleted file mode 100644 index 53533ef..0000000 --- a/angular/solution/stocks/src/app/channel-select/channel-select.component.ts +++ /dev/null @@ -1,53 +0,0 @@ -import { Component, Input, ElementRef, Renderer2, Output, EventEmitter } from "@angular/core"; -import { MatSelectChange } from '@angular/material/select'; -import { Channel } from '../types'; - -@Component({ - selector: 'channel-select', - templateUrl: './channel-select.component.html' -}) -export class ChannelSelectComponent { - - @Input() public channels: Channel[]; - private currentChannel: Channel; - public NO_CHANNEL = 'no-channel'; - @Output() private channelLeaveEmitter = new EventEmitter(); - @Output() private channelJoinEmitter = new EventEmitter(); - - constructor( - private readonly elem: ElementRef, - private readonly renderer: Renderer2 - ) { } - - public async selectChannel(selected: MatSelectChange) { - - if (selected.value === this.NO_CHANNEL && !this.currentChannel) { - return; - } - - const foundChannel = this.channels.find((channel) => channel.name === selected.value); - - if (foundChannel && foundChannel.name === this.currentChannel?.name) { - return; - } - - let selectedElement = this.elem.nativeElement.querySelectorAll('.mat-select-value')[0]; - - this.renderer.removeStyle(selectedElement, 'color'); - - if (selected.value === this.NO_CHANNEL) { - - this.channelLeaveEmitter.emit(); - - delete this.currentChannel; - - return; - } - - this.currentChannel = foundChannel; - - this.channelJoinEmitter.emit({ name: this.currentChannel.name }); - - this.renderer.setStyle(selectedElement, 'color', this.currentChannel.meta.color); - } -} \ No newline at end of file diff --git a/angular/solution/stocks/src/app/channel-select/channel-select.module.ts b/angular/solution/stocks/src/app/channel-select/channel-select.module.ts deleted file mode 100644 index cc38762..0000000 --- a/angular/solution/stocks/src/app/channel-select/channel-select.module.ts +++ /dev/null @@ -1,16 +0,0 @@ -import { NgModule } from "@angular/core"; -import { CommonModule } from '@angular/common'; -import { MatSelectModule } from '@angular/material/select'; -import { ChannelSelectComponent } from './channel-select.component'; -import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; - -@NgModule({ - declarations: [ChannelSelectComponent], - imports: [ - CommonModule, - BrowserAnimationsModule, - MatSelectModule - ], - exports: [ChannelSelectComponent] -}) -export class ChannelSelectModule { } \ No newline at end of file diff --git a/angular/solution/stocks/src/app/data.service.ts b/angular/solution/stocks/src/app/data.service.ts index 64f3d9b..bdddb2a 100644 --- a/angular/solution/stocks/src/app/data.service.ts +++ b/angular/solution/stocks/src/app/data.service.ts @@ -1,20 +1,21 @@ import { Injectable } from "@angular/core"; -import { HttpClient } from '@angular/common/http'; -import { Stock, FullPriceUpdate } from './types'; -import { Subject, Observable } from 'rxjs'; +import { HttpClient } from "@angular/common/http"; +import { Stock, FullPriceUpdate } from "./types"; +import { Subject, Observable, firstValueFrom } from "rxjs"; @Injectable() export class DataService { - private stockPricesSource = new Subject(); - public selectedStock: Stock; + public selectedStock?: Stock; constructor(private readonly http: HttpClient) { this.startGeneratingStockPrices(); } public getStocks(): Promise { - return this.http.get('http://localhost:8080/api/portfolio').toPromise(); + return firstValueFrom( + this.http.get("http://localhost:8080/api/portfolio") + ); } public onStockPrices(): Observable { @@ -30,62 +31,62 @@ export class DataService { const priceUpdate = { stocks: [ { - RIC: 'VOD.L', + RIC: "VOD.L", Bid: Number((70 - Math.random() * 10).toFixed(2)), Ask: Number((70 + Math.random() * 10).toFixed(2)) }, { - RIC: 'TSCO.L', + RIC: "TSCO.L", Bid: Number((90 - Math.random() * 10).toFixed(2)), Ask: Number((90 + Math.random() * 10).toFixed(2)) }, { - RIC: 'BARC.L', + RIC: "BARC.L", Bid: Number((105 - Math.random() * 10).toFixed(2)), Ask: Number((105 + Math.random() * 10).toFixed(2)) }, { - RIC: 'BMWG.DE', + RIC: "BMWG.DE", Bid: Number((29 - Math.random() * 10).toFixed(2)), Ask: Number((29 + Math.random() * 10).toFixed(2)) }, { - RIC: 'AAL.L', + RIC: "AAL.L", Bid: Number((46 - Math.random() * 10).toFixed(2)), Ask: Number((46 + Math.random() * 10).toFixed(2)) }, { - RIC: 'IBM.N', + RIC: "IBM.N", Bid: Number((70 - Math.random() * 10).toFixed(2)), Ask: Number((70 + Math.random() * 10).toFixed(2)) }, { - RIC: 'AAPL.OQ', + RIC: "AAPL.OQ", Bid: Number((90 - Math.random() * 10).toFixed(2)), Ask: Number((90 + Math.random() * 10).toFixed(2)) }, { - RIC: 'BA.N', + RIC: "BA.N", Bid: Number((105 - Math.random() * 10).toFixed(2)), Ask: Number((105 + Math.random() * 10).toFixed(2)) }, { - RIC: 'TSLA:OQ', + RIC: "TSLA:OQ", Bid: Number((29 - Math.random() * 10).toFixed(2)), Ask: Number((29 + Math.random() * 10).toFixed(2)) }, { - RIC: 'ENBD.DU', + RIC: "ENBD.DU", Bid: Number((46 - Math.random() * 10).toFixed(2)), Ask: Number((46 + Math.random() * 10).toFixed(2)) }, { - RIC: 'AMZN.OQ', + RIC: "AMZN.OQ", Bid: Number((29 - Math.random() * 10).toFixed(2)), Ask: Number((29 + Math.random() * 10).toFixed(2)) }, { - RIC: 'MSFT:OQ', + RIC: "MSFT:OQ", Bid: Number((46 - Math.random() * 10).toFixed(2)), Ask: Number((46 + Math.random() * 10).toFixed(2)) } @@ -95,4 +96,4 @@ export class DataService { this.handleStockPricesUpdate(priceUpdate); }, 1500); } -} \ No newline at end of file +} diff --git a/angular/solution/stocks/src/app/glue.service.ts b/angular/solution/stocks/src/app/glue.service.ts deleted file mode 100644 index df6cd87..0000000 --- a/angular/solution/stocks/src/app/glue.service.ts +++ /dev/null @@ -1,110 +0,0 @@ -import { Injectable, NgZone } from "@angular/core"; -import { Glue42Store } from '@glue42/ng'; -import { Glue42Web } from "@glue42/web"; -import { GlueStatus, Stock, Client, Channel } from './types'; -import { Observable, Subject } from 'rxjs'; -import { DataService } from './data.service'; - -@Injectable() -export class GlueService { - - private readonly selectedClientSource = new Subject(); - private readonly priceUpdateSource = new Subject<{ Ask: number, Bid: number }>(); - - constructor(private readonly glueStore: Glue42Store, private _zone: NgZone, private readonly dataService: DataService) { } - - public get glueStatus(): GlueStatus { - return this.glueStore.getInitError() ? "unavailable" : "available"; - } - - public onClientSelected(): Observable { - return this.selectedClientSource.asObservable(); - } - - public onPriceUpdate(): Observable<{ Ask: number, Bid: number }> { - return this.priceUpdateSource.asObservable(); - } - - public async openStockDetails(stock: Stock): Promise { - const windowName = `${stock.BPOD} Details`; - const URL = "http://localhost:4242/stocks/details/"; - - const openSettings: Glue42Web.Windows.Settings = { - width: 600, - height: 600 - }; - - openSettings.context = stock; - - const stockWindowExists = this.glueStore.getGlue().windows.list().find(w => w.name === windowName); - - if (!stockWindowExists) { - // Open a new window by providing a name and URL. The name must be unique. - await this.glueStore.getGlue().windows.open(windowName, URL, openSettings); - } - } - - public async getMyContext() { - return await this.glueStore.getGlue().windows.my().getContext(); - } - - public async subscribeToLivePrices(stock: Stock): Promise { - - const stream = this.glueStore.getGlue().interop.methods().find((method) => method.name === "LivePrices" && method.supportsStreaming); - - if (!stream) { - return; - } - - const subscription = await this.glueStore.getGlue().interop.subscribe(stream); - - subscription.onData((streamData) => { - const newPrices = streamData.data.stocks; - - const selectedStockPrice = newPrices.find((prices) => prices.RIC === stock.RIC); - - this._zone.run(() => this.priceUpdateSource.next({ - Ask: Number(selectedStockPrice.Ask), - Bid: Number(selectedStockPrice.Bid) - })); - - }); - - return subscription; - } - - public subscribeToChannelContext() { - this.glueStore.getGlue().channels.subscribe((client) => { - this._zone.run(() => this.selectedClientSource.next(client)); - }); - } - - public async subscribeToSharedContext() { - await this.glueStore.getGlue().contexts.subscribe('SelectedClient', (client) => { - this._zone.run(() => this.selectedClientSource.next(client)); - }); - } - - public async registerClientSelect() { - await this.glueStore.getGlue().interop.register("SelectClient", (args) => { - this._zone.run(() => this.selectedClientSource.next(args.client)); - }); - } - - public async createPriceStream() { - const priceStream = await this.glueStore.getGlue().interop.createStream("LivePrices"); - this.dataService.onStockPrices().subscribe((priceUpdate) => priceStream.push(priceUpdate)); - } - - public getAllChannels(): Promise { - return this.glueStore.getGlue().channels.list(); - } - - public joinChannel(name: string): Promise { - return this.glueStore.getGlue().channels.join(name); - } - - public leaveChannel(): Promise { - return this.glueStore.getGlue().channels.leave(); - } -} diff --git a/angular/solution/stocks/src/app/io-connect.service.ts b/angular/solution/stocks/src/app/io-connect.service.ts new file mode 100644 index 0000000..af08ca4 --- /dev/null +++ b/angular/solution/stocks/src/app/io-connect.service.ts @@ -0,0 +1,363 @@ +import { Injectable, NgZone } from "@angular/core"; +import { Subject, Observable, BehaviorSubject } from "rxjs"; +import { IOConnectStore } from "@interopio/ng"; +import { IOConnectBrowser } from "@interopio/browser"; +import { IOConnectWorkspaces } from "@interopio/workspaces-api"; + +import { Client, IOConnectStatus, Stock, StockPriceUpdate } from "./types"; +import { DataService } from "./data.service"; + +@Injectable() +export class IOConnectService { + private readonly selectedClientSource = new Subject(); + private selectedStockSource!: BehaviorSubject; + private readonly priceUpdateSource = new Subject<{ + Ask: number; + Bid: number; + }>(); + + constructor( + private readonly ioConnectStore: IOConnectStore, + private readonly _zone: NgZone, + private readonly dataService: DataService + ) { + // Setting the io.Connect API to the window object makes it easier to launch the app, open the console and experiment. + (window as any).io = this.ioConnectStore.getIOConnect(); + } + + public get connectionStatus(): IOConnectStatus { + return this.ioConnectStore.getInitError() ? "unavailable" : "available"; + } + + public onClientSelected(): Observable { + return this.selectedClientSource.asObservable(); + } + + public onPriceUpdate(): Observable<{ Ask: number; Bid: number }> { + return this.priceUpdateSource.asObservable(); + } + + public onStockSelected(): Observable { + return this.selectedStockSource.asObservable(); + } + + public async getMyWindowContext(): Promise { + // Getting the current window + const myWindow = this.ioConnectStore.getIOConnect().windows.my(); + + // Returning the stock from the context + return myWindow?.getContext(); + } + + public async openStockDetails(stock: Stock): Promise { + const windowName = `${stock.BPOD} Details`; + const URL = "http://localhost:4100/details/"; + + // Optional object with settings for the new window. + const windowSettings: IOConnectBrowser.Windows.Settings = { + width: 600, + height: 600, + left: 900, + // Pass the selected stock as a context for the new window. + context: stock + }; + + // Check whether the clicked stock has already been opened in a new window. + const stockWindowExists = this.ioConnectStore + .getIOConnect() + .windows.list() + .find((w) => w.name === windowName); + + if (stockWindowExists) { + return; + } + + // Open a new window by providing a name and URL. The name must be unique. + await this.ioConnectStore + .getIOConnect() + .windows.open(windowName, URL, windowSettings); + } + + public async registerClientSelect(): Promise { + const methodName = "SelectClient"; + + const handler = (args: { client: Client }): void => { + this._zone.run(() => this.selectedClientSource.next(args.client)); + }; + + // Registering an Interop method by providing a name and callback that will be called when the method is invoked. + await this.ioConnectStore + .getIOConnect() + .interop.register(methodName, handler); + } + + public async createPriceStream(): Promise { + const streamName = "LivePrices"; + + // Creating an Interop stream. + const priceStream = await this.ioConnectStore + .getIOConnect() + .interop.createStream(streamName); + + // Pushing data to the stream. + this.dataService + .onStockPrices() + .subscribe((priceUpdate) => priceStream.push(priceUpdate)); + } + + public async subscribeToLivePrices(): Promise { + const methodName = "LivePrices"; + + // Interop streams are special Interop methods that have a property `supportsStreaming: true`. + // You can filter Interop methods by name and that property to find the stream you are interested in. + // If the method is not yet registered, await for it using `waitFormMethodAdded` which returns the expected method + const streamMethod = + this.ioConnectStore + .getIOConnect() + .interop.methods() + .find( + (method) => + method.name === methodName && method.supportsStreaming + ) ?? (await this.waitForMethodAdded(methodName, true)); + + // Creating a stream subscription. + const subscription = await this.ioConnectStore + .getIOConnect() + .interop.subscribe(streamMethod); + + // Use the `onData()` method of the `subscription` object to define + // a handler for the received stream data. + subscription.onData((streamData) => { + const newPrices: StockPriceUpdate[] = streamData.data.stocks; + + // Only process if we have a current stock + const currentStock = this.selectedStockSource.value; + + if (!currentStock) { + return; + } + + // Extract only the stock you are interested in. + const selectedStockPrice = newPrices.find( + (prices) => prices.RIC === currentStock.RIC + ); + + if (!selectedStockPrice) { + return; + } + + this._zone.run(() => + this.priceUpdateSource.next({ + Ask: Number(selectedStockPrice.Ask), + Bid: Number(selectedStockPrice.Bid) + }) + ); + }); + + return subscription; + } + + public async subscribeToSharedContext(): Promise { + // Subscribing for updates to a shared context by specifying context name and providing a handler for the updates. + await this.ioConnectStore + .getIOConnect() + .contexts.subscribe("SelectedClient", (client) => { + this._zone.run(() => this.selectedClientSource.next(client)); + }); + } + + public subscribeToChannelContext(): void { + // Subscribing for updates to the current Channel and providing a handler for the updates. + this.ioConnectStore.getIOConnect().channels.subscribe((client) => { + this._zone.run(() => this.selectedClientSource.next(client)); + }); + } + + public async startStockDetails(stock: Stock): Promise { + const detailsApplication = this.ioConnectStore + .getIOConnect() + .appManager.application("Stock Details"); + + if (!detailsApplication) { + return; + } + + // Check whether an instance with the selected stock is already running. + const contexts = await Promise.all( + // Use the `instances` property to get all running app instances. + detailsApplication.instances.map((instance) => + instance.getContext() + ) + ); + + const isRunning = contexts.find( + (context: any) => context?.RIC === stock.RIC + ); + + if (isRunning) { + return; + } + + const currentChannel = await this.ioConnectStore + .getIOConnect() + .channels.getMy(); + + const startOptions: IOConnectBrowser.AppManager.ApplicationStartOptions = + { + width: 600, + height: 600, + left: 900, + top: 0, + channelId: currentChannel?.name + }; + + await detailsApplication.start(stock, startOptions); + } + + public async getMyAppInstanceContext(): Promise { + // Getting my app instance + const myInstance = + this.ioConnectStore.getIOConnect().appManager.myInstance; + + // Getting the context + return myInstance.getContext() as Promise; + } + + public async setClientFromWorkspace(): Promise { + const myWorkspace = await this.ioConnectStore + .getIOConnect() + .workspaces?.getMyWorkspace(); + + if (!myWorkspace) { + return; + } + + myWorkspace.onContextUpdated((newContext: Client) => { + this._zone.run(() => this.selectedClientSource.next(newContext)); + }); + } + + public async openStockDetailsInWorkspace(stock: Stock): Promise { + const myWorkspace = await this.ioConnectStore + .getIOConnect() + .workspaces?.getMyWorkspace(); + + if (!myWorkspace) { + return; + } + + // Search for `WorkspaceWindow` object of the Stock Details instance. + let detailsWorkspaceWindow = myWorkspace.getWindow( + (window) => window.appName === "Stock Details" + ); + + // There's an already wsp window of the Stock Details app + if (detailsWorkspaceWindow) { + // Update the context of the Stock Details window + return detailsWorkspaceWindow.getGdWindow().updateContext(stock); + } + + // Find id of the current window + const myId = this.ioConnectStore.getIOConnect().windows.my()?.id; + + // Reference to the immediate parent element of the Stocks window. + const myImmediateParent = myWorkspace.getWindow( + (window) => window.id === myId + ).parent; + + if (!myImmediateParent) { + return; + } + + // Add a `Group` element as a sibling of the immediate parent of the Stocks window. + const group = await ( + myImmediateParent as IOConnectWorkspaces.WorkspaceBox + ).parent.addGroup(); + + // Open the Stock Details window in the newly created `Group` element. + detailsWorkspaceWindow = await group.addWindow({ + appName: "Stock Details" + }); + + await detailsWorkspaceWindow.forceLoad(); + + await detailsWorkspaceWindow.getGdWindow().updateContext(stock); + } + + public setSelectedStock(stock: Stock): void { + if (this.selectedStockSource) { + return this.selectedStockSource.next(stock); + } + + this.selectedStockSource = new BehaviorSubject(stock); + } + + public subscribeForStockContextUpdate(): void { + const myWindow = this.ioConnectStore.getIOConnect().windows.my(); + + myWindow?.onContextUpdated((context: Stock) => { + this._zone.run(() => this.setSelectedStock(context)); + }); + } + + public async raiseExportPortfolioIntentRequest(): Promise { + const intentName = "ExportPortfolio"; + + const intents = await this.ioConnectStore + .getIOConnect() + .intents.find(intentName); + + if (!intents.length) { + // There's no such intent available => do nothing + return; + } + + // Get the current client from the workspace window context + const client = await this.getMyWorkspaceContext(); + + const intentRequest: IOConnectBrowser.Intents.IntentRequest = { + intent: intentName, + context: { + type: "ClientPortfolio", + data: client + } + }; + + await this.ioConnectStore + .getIOConnect() + .intents.raise(intentRequest) + .catch(console.error); + } + + private async getMyWorkspaceContext(): Promise { + const myWorkspace = await this.ioConnectStore + .getIOConnect() + .workspaces?.getMyWorkspace(); + + return myWorkspace?.getContext() as Promise; + } + + private waitForMethodAdded( + methodName: string, + supportsStreaming: boolean = false + ): Promise { + return new Promise( + (resolve) => { + const unsubscribe = this.ioConnectStore + .getIOConnect() + .interop.methodAdded((method) => { + // The method we're waiting for has been added + if ( + method.name === methodName && + method.supportsStreaming === supportsStreaming + ) { + // Unsubscribing from the method added event. + unsubscribe(); + // Resolving the promise. + resolve(method); + } + }); + } + ); + } +} diff --git a/angular/solution/stocks/src/app/stock-details/stock-details.component.html b/angular/solution/stocks/src/app/stock-details/stock-details.component.html deleted file mode 100644 index e23eb7c..0000000 --- a/angular/solution/stocks/src/app/stock-details/stock-details.component.html +++ /dev/null @@ -1,55 +0,0 @@ - -
-
-
- Glue42 is {{glueStatus}} -
-
-

Stocks

-
-
-
-
-

{{clientMessage}}

-
-
-
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
RIC{{stock?.RIC}}
BPOD{{stock?.BPOD}}
Bloomberg{{stock?.Bloomberg}}
Description{{stock?.Description}}
Exchange{{stock?.Exchange}}
Venues{{stock?.Venues}}
Bid{{stock?.Bid}}
Ask{{stock?.Ask}}
-
-
- diff --git a/angular/solution/stocks/src/app/stock-details/stock-details.component.ts b/angular/solution/stocks/src/app/stock-details/stock-details.component.ts deleted file mode 100644 index f28d820..0000000 --- a/angular/solution/stocks/src/app/stock-details/stock-details.component.ts +++ /dev/null @@ -1,51 +0,0 @@ -import { Component, OnInit, OnDestroy } from "@angular/core"; -import { DataService } from '../data.service'; -import { Stock, GlueStatus } from '../types'; -import { GlueService } from '../glue.service'; -import { Glue42Web } from "@glue42/web"; - -@Component({ - templateUrl: './stock-details.component.html' -}) -export class StockDetailsComponent implements OnInit, OnDestroy { - - public stock: Stock; - public glueStatus: GlueStatus = "disconnected"; - public clientMessage: string; - private glueSubscription: Glue42Web.Interop.Subscription; - - constructor( - private readonly dataService: DataService, - private readonly glueService: GlueService - ) { } - - public async ngOnInit(): Promise { - this.glueStatus = this.glueService.glueStatus; - this.stock = this.dataService.selectedStock; - - if (this.glueStatus === "available") { - this.stock = await this.glueService.getMyContext(); - this.glueSubscription = await this.glueService.subscribeToLivePrices(this.stock); - this.glueService.subscribeToSharedContext().catch(console.log); - } - - this.glueService.onClientSelected() - .subscribe((client) => { - this.clientMessage = client.portfolio.includes(this.stock.RIC) ? - `${client.name} has this stock in the portfolio` : - `${client.name} does NOT have this stock in the portfolio`; - }); - - this.glueService.onPriceUpdate().subscribe((newPrices) => { - this.stock.Ask = newPrices.Ask; - this.stock.Bid = newPrices.Bid; - }); - } - - public ngOnDestroy(): void { - if (this.glueSubscription) { - this.glueSubscription.close(); - } - } - -} diff --git a/angular/solution/stocks/src/app/stock-details/stock-details.css b/angular/solution/stocks/src/app/stock-details/stock-details.css new file mode 100644 index 0000000..b86d2c6 --- /dev/null +++ b/angular/solution/stocks/src/app/stock-details/stock-details.css @@ -0,0 +1,36 @@ +body { + padding: 16px; + --io-font-size: 14px; + height: 100vh; + display: flex; + flex-direction: column; +} + +header { + display: flex; + align-items: center; + margin-bottom: 12px; +} + +header div { + margin-left: 8px; +} + +th { + text-align: left; + padding: 8px 2px; +} + +td { + padding: 2px 4px; +} + +tbody tr:hover { + background-color: var(--list-item-background-hover); +} + +.table-container { + overflow: auto; + flex: 1; + margin-top: 12px; +} diff --git a/angular/solution/stocks/src/app/stock-details/stock-details.html b/angular/solution/stocks/src/app/stock-details/stock-details.html new file mode 100644 index 0000000..d6abb9f --- /dev/null +++ b/angular/solution/stocks/src/app/stock-details/stock-details.html @@ -0,0 +1,46 @@ + +
+

Stock Details

+
{{ + ioConnectStatus() }}
+
+

{{ clientMessage }}

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
RIC{{stock?.RIC}}
BPOD{{stock?.BPOD}}
Bloomberg{{stock?.Bloomberg}}
Description{{stock?.Description}}
Exchange{{stock?.Exchange}}
Venues{{stock?.Venues}}
Bid{{stock?.Bid}}
Ask{{stock?.Ask}}
+
+ \ No newline at end of file diff --git a/angular/solution/stocks/src/app/stock-details/stock-details.ts b/angular/solution/stocks/src/app/stock-details/stock-details.ts new file mode 100644 index 0000000..761007f --- /dev/null +++ b/angular/solution/stocks/src/app/stock-details/stock-details.ts @@ -0,0 +1,70 @@ +import { Component, signal } from "@angular/core"; +import { CommonModule } from "@angular/common"; +import { IOConnectBrowser } from "@interopio/browser"; + +import { IOConnectStatus, Stock } from "../types"; +import { DataService } from "../data.service"; +import { IOConnectService } from "../io-connect.service"; + +@Component({ + selector: "app-stock-details", + imports: [CommonModule], + templateUrl: "./stock-details.html", + styleUrl: "./stock-details.css" +}) +export class StockDetails { + public stock?: Stock; + public ioConnectStatus = signal("disconnected"); + public clientMessage?: string; + private ioConnectSubscription?: IOConnectBrowser.Interop.Subscription; + + constructor( + private readonly dataService: DataService, + private readonly ioConnectService: IOConnectService + ) {} + + public async ngOnInit(): Promise { + this.stock = this.dataService.selectedStock; + + this.ioConnectStatus.set(this.ioConnectService.connectionStatus); + + if (this.ioConnectStatus() === "available") { + // Retrieve the current stock from window context + this.stock = await this.ioConnectService.getMyWindowContext(); + + // // Retrieve the current stock from app instance context + // this.stock = await this.ioConnectService.getMyAppInstanceContext(); + + this.ioConnectService.setSelectedStock(this.stock); + + this.ioConnectSubscription = + await this.ioConnectService.subscribeToLivePrices(); + + // Subscribe to selected client updates + // this.ioConnectService.subscribeToSharedContext().catch(console.error); + + // Subscribe for stock context updates + this.ioConnectService.subscribeForStockContextUpdate(); + } + + this.ioConnectService.onStockSelected().subscribe((stock) => { + this.stock = stock; + }); + + // this.ioConnectService.onClientSelected().subscribe((client) => { + // this.clientMessage = client.portfolio.includes(this.stock!.RIC) + // ? `${client.name} has this stock in their portfolio` + // : `${client.name} does NOT have this stock in their portfolio`; + // }); + + this.ioConnectService.onPriceUpdate().subscribe((newPrices) => { + this.stock!.Ask = newPrices.Ask; + this.stock!.Bid = newPrices.Bid; + }); + } + + public ngOnDestroy(): void { + // Closing the stream subscription. + this.ioConnectSubscription?.close(); + } +} diff --git a/angular/solution/stocks/src/app/stocks/stocks.component.html b/angular/solution/stocks/src/app/stocks/stocks.component.html deleted file mode 100644 index 3498a02..0000000 --- a/angular/solution/stocks/src/app/stocks/stocks.component.html +++ /dev/null @@ -1,35 +0,0 @@ - -
-
-
- Glue42 is {{glueStatus}} -
-
-

Stocks

-
-
- -
-
-
- - - - - - - - - - - - - - - - - -
SymbolDescriptionBidAsk
{{stock.RIC}}{{stock.Description}}{{stock.Bid}}{{stock.Ask}}
-
-
- diff --git a/angular/solution/stocks/src/app/stocks/stocks.component.ts b/angular/solution/stocks/src/app/stocks/stocks.component.ts deleted file mode 100644 index df6e99d..0000000 --- a/angular/solution/stocks/src/app/stocks/stocks.component.ts +++ /dev/null @@ -1,76 +0,0 @@ -import { Component, OnInit } from '@angular/core'; -import { Stock, GlueStatus, Channel } from '../types'; -import { DataService } from '../data.service'; -import { Router } from '@angular/router'; -import { GlueService } from '../glue.service'; - -@Component({ - templateUrl: './stocks.component.html' -}) -export class StocksComponent implements OnInit { - private allStocks: Stock[] = []; - public stocks: Stock[] = []; - public glueStatus: GlueStatus = "disconnected"; - public channels: Channel[] = []; - - constructor( - private readonly data: DataService, - private readonly router: Router, - private readonly glueService: GlueService - ) { } - - public async ngOnInit(): Promise { - - this.glueStatus = this.glueService.glueStatus; - - if (this.glueService.glueStatus === "available") { - // this.glueService.registerClientSelect().catch(console.log); - this.glueService.createPriceStream().catch(console.log); - // this.glueService.subscribeToSharedContext().catch(console.log); - this.glueService.subscribeToChannelContext(); - - this.glueService.onClientSelected() - .subscribe((client) => { - if (client.portfolio) { - this.stocks = this.allStocks.filter((stock) => client.portfolio.includes(stock.RIC)); - return; - } - - this.stocks = this.allStocks; - }); - } - - [this.channels, this.allStocks] = await Promise.all([ - this.glueService.getAllChannels(), - this.data.getStocks() - ]); - - this.stocks = this.allStocks; - - this.data.onStockPrices() - .subscribe((update) => { - this.stocks.forEach((stock) => { - const matchingStock = update.stocks.find((stockUpdate) => stockUpdate.RIC === stock.RIC); - stock.Ask = matchingStock.Ask; - stock.Bid = matchingStock.Bid; - }) - }); - } - - public handleStockClick(stock: Stock): void { - if (this.glueService.glueStatus === "available") { - this.glueService.openStockDetails(stock).catch(console.error); - } else { - this.data.selectedStock = stock; - this.router.navigate(['/details']); - } - } - - public handleJoinChannel({ name }: { name: string }) { - this.glueService.joinChannel(name).catch(console.log); - } - - public handleLeaveChannel() { - this.glueService.leaveChannel().catch(console.log); - } -} diff --git a/angular/solution/stocks/src/app/stocks/stocks.css b/angular/solution/stocks/src/app/stocks/stocks.css new file mode 100644 index 0000000..725fe88 --- /dev/null +++ b/angular/solution/stocks/src/app/stocks/stocks.css @@ -0,0 +1,41 @@ +body { + padding: 16px; + --io-font-size: 14px; + height: 100vh; + display: flex; + flex-direction: column; +} + +header { + display: flex; + align-items: center; + justify-content: space-between; + margin-bottom: 12px; +} + +.header-left { + display: flex; + align-items: center; +} + +.header-left div { + margin-left: 8px; +} + +th { + text-align: left; + padding: 8px 2px; +} + +td { + padding: 2px 4px; +} + +tbody tr:hover { + background-color: var(--list-item-background-hover); +} + +.table-container { + overflow: auto; + flex: 1; +} diff --git a/angular/solution/stocks/src/app/stocks/stocks.html b/angular/solution/stocks/src/app/stocks/stocks.html new file mode 100644 index 0000000..e8baf36 --- /dev/null +++ b/angular/solution/stocks/src/app/stocks/stocks.html @@ -0,0 +1,33 @@ + +
+
+

Stocks

+
{{ + ioConnectStatus() }}
+
+ +
+ +
+ + + + + + + + + + + @for (stock of stocks; track stock.RIC) { + + + + + + + } + +
SymbolDescriptionBidAsk
{{stock.RIC}}{{stock.Description}}{{stock.Bid}}{{stock.Ask}}
+
+ \ No newline at end of file diff --git a/angular/solution/stocks/src/app/stocks/stocks.ts b/angular/solution/stocks/src/app/stocks/stocks.ts new file mode 100644 index 0000000..84b868c --- /dev/null +++ b/angular/solution/stocks/src/app/stocks/stocks.ts @@ -0,0 +1,86 @@ +import { Component, signal } from "@angular/core"; +import { Router } from "@angular/router"; + +import { Client, IOConnectStatus, Stock } from "../types"; +import { DataService } from "../data.service"; +import { IOConnectService } from "../io-connect.service"; +import { CommonModule } from "@angular/common"; + +@Component({ + selector: "app-stocks", + imports: [CommonModule], + templateUrl: "./stocks.html", + styleUrl: "./stocks.css" +}) +export class Stocks { + private allStocks: Stock[] = []; + public stocks: Stock[] = []; + public ioConnectStatus = signal("disconnected"); + + constructor( + private readonly data: DataService, + private readonly router: Router, + private readonly ioConnectService: IOConnectService + ) {} + + public async ngOnInit(): Promise { + this.allStocks = await this.data.getStocks(); + this.stocks = this.allStocks; + + this.ioConnectStatus.set(this.ioConnectService.connectionStatus); + + if (this.ioConnectStatus() === "available") { + // // Registering the Interop method. + // this.ioConnectService.registerClientSelect().catch(console.error); + + // // Subscribe to Shared Context Updates + // this.ioConnectService.subscribeToSharedContext().catch(console.error); + + // // Subscribe to Channel Context Updates + // this.ioConnectService.subscribeToChannelContext(); + + // Creating the Interop stream. + this.ioConnectService.createPriceStream().catch(console.error); + + // Subscribe for workspace context update + this.ioConnectService.setClientFromWorkspace().catch(console.log); + } + + // Subscribing for notifications when the selected client changes. + this.ioConnectService.onClientSelected().subscribe((client) => { + this.stocks = this.allStocks.filter((stock) => + client.portfolio.includes(stock.RIC) + ); + }); + + this.data.onStockPrices().subscribe((update) => { + this.stocks.forEach((stock) => { + const matchingStock = update.stocks.find( + (stockUpdate) => stockUpdate.RIC === stock.RIC + ); + stock.Ask = matchingStock!.Ask; + stock.Bid = matchingStock!.Bid; + }); + }); + } + + public handleStockClick(stock: Stock): void { + const isConnected = this.ioConnectStatus() === "available"; + + if (isConnected) { + // this.ioConnectService.openStockDetails(stock).catch(console.error); + // this.ioConnectService.startStockDetails(stock).catch(console.error); + this.ioConnectService.openStockDetailsInWorkspace(stock); + return; + } + + this.data.selectedStock = stock; + this.router.navigate(["/details"]); + } + + public handleExportPortfolioClick(): void { + this.ioConnectService + .raiseExportPortfolioIntentRequest() + .catch(console.error); + } +} diff --git a/angular/solution/stocks/src/app/types.ts b/angular/solution/stocks/src/app/types.ts index 4badb44..de013a4 100644 --- a/angular/solution/stocks/src/app/types.ts +++ b/angular/solution/stocks/src/app/types.ts @@ -1,5 +1,3 @@ -import { Glue42Web } from '@glue42/web'; - export interface Stock { Ask: number; Bid: number; @@ -39,6 +37,4 @@ export interface Client { notes: string[]; } -export type GlueStatus = "disconnected" | "unavailable" | "available"; - -export type Channel = Glue42Web.Channels.ChannelContext; +export type IOConnectStatus = "disconnected" | "unavailable" | "available"; diff --git a/angular/solution/stocks/src/custom-theme.scss b/angular/solution/stocks/src/custom-theme.scss deleted file mode 100644 index 7e5aa2b..0000000 --- a/angular/solution/stocks/src/custom-theme.scss +++ /dev/null @@ -1,28 +0,0 @@ - -// Custom Theming for Angular Material -// For more information: https://material.angular.io/guide/theming -@import '~@angular/material/theming'; -// Plus imports for other components in your app. - -// Include the common styles for Angular Material. We include this here so that you only -// have to load a single css file for Angular Material in your app. -// Be sure that you only ever include this mixin once! -@include mat-core(); - -// Define the palettes for your theme using the Material Design palettes available in palette.scss -// (imported above). For each palette, you can optionally specify a default, lighter, and darker -// hue. Available color palettes: https://material.io/design/color/ -$stocks-primary: mat-palette($mat-indigo); -$stocks-accent: mat-palette($mat-pink, A200, A100, A400); - -// The warn palette is optional (defaults to red). -$stocks-warn: mat-palette($mat-red); - -// Create the theme object (a Sass map containing all of the palettes). -$stocks-theme: mat-light-theme($stocks-primary, $stocks-accent, $stocks-warn); - -// Include theme styles for core and each component used in your app. -// Alternatively, you can import and @include the theme mixins for each component -// that you are using. -@include angular-material-theme($stocks-theme); - diff --git a/angular/solution/stocks/src/environments/environment.prod.ts b/angular/solution/stocks/src/environments/environment.prod.ts deleted file mode 100644 index 3612073..0000000 --- a/angular/solution/stocks/src/environments/environment.prod.ts +++ /dev/null @@ -1,3 +0,0 @@ -export const environment = { - production: true -}; diff --git a/angular/solution/stocks/src/environments/environment.ts b/angular/solution/stocks/src/environments/environment.ts deleted file mode 100644 index 7b4f817..0000000 --- a/angular/solution/stocks/src/environments/environment.ts +++ /dev/null @@ -1,16 +0,0 @@ -// This file can be replaced during build by using the `fileReplacements` array. -// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`. -// The list of file replacements can be found in `angular.json`. - -export const environment = { - production: false -}; - -/* - * For easier debugging in development mode, you can import the following file - * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`. - * - * This import should be commented out in production mode because it will have a negative impact - * on performance if an error is thrown. - */ -// import 'zone.js/dist/zone-error'; // Included with Angular CLI. diff --git a/angular/solution/stocks/src/favicon.ico b/angular/solution/stocks/src/favicon.ico deleted file mode 100644 index 997406a..0000000 Binary files a/angular/solution/stocks/src/favicon.ico and /dev/null differ diff --git a/angular/solution/stocks/src/index.html b/angular/solution/stocks/src/index.html index 1872f6a..d2ccf88 100644 --- a/angular/solution/stocks/src/index.html +++ b/angular/solution/stocks/src/index.html @@ -1,16 +1,17 @@ - + + - - Stocks - - - - - - + + Stocks + + + + + - + - + + \ No newline at end of file diff --git a/angular/solution/stocks/src/main.ts b/angular/solution/stocks/src/main.ts index a9aa159..8b7c83d 100644 --- a/angular/solution/stocks/src/main.ts +++ b/angular/solution/stocks/src/main.ts @@ -1,17 +1,5 @@ -import { enableProdMode } from '@angular/core'; -import { platformBrowserDynamic } from '@angular/platform-browser-dynamic'; +import { bootstrapApplication } from "@angular/platform-browser"; +import { appConfig } from "./app/app.config"; +import { App } from "./app/app"; -import { AppModule } from './app/app.module'; -import { environment } from './environments/environment'; - -if (environment.production) { - enableProdMode(); -} - -platformBrowserDynamic().bootstrapModule(AppModule) - .then(() => { - if ('serviceWorker' in navigator) { - navigator.serviceWorker.register('./service-worker.js'); - } - }) - .catch(err => console.error(err)); +bootstrapApplication(App, appConfig).catch((err) => console.error(err)); diff --git a/angular/solution/stocks/src/manifest.json b/angular/solution/stocks/src/manifest.json index 94b54ad..bd15e97 100644 --- a/angular/solution/stocks/src/manifest.json +++ b/angular/solution/stocks/src/manifest.json @@ -3,23 +3,23 @@ "name": "io.Connect Browser Stocks Tutorial", "icons": [ { - "src": "./assets/favicon.ico", + "src": "favicon.ico", "sizes": "64x64", "type": "image/x-icon" }, { - "src": "./assets/logo192.png", + "src": "logo192.png", "type": "image/png", "sizes": "192x192" }, { - "src": "./assets/logo512.png", + "src": "logo512.png", "type": "image/png", "sizes": "512x512" } ], - "start_url": "/stocks/", - "scope": "/stocks/", + "start_url": "/", + "scope": "/", "display": "standalone", "theme_color": "#000000", "background_color": "#ffffff" diff --git a/angular/solution/stocks/src/polyfills.ts b/angular/solution/stocks/src/polyfills.ts deleted file mode 100644 index 01e24d6..0000000 --- a/angular/solution/stocks/src/polyfills.ts +++ /dev/null @@ -1,67 +0,0 @@ -/*************************************************************************************************** - * Load `$localize` onto the global scope - used if i18n tags appear in Angular templates. - */ -import '@angular/localize/init'; -/** - * This file includes polyfills needed by Angular and is loaded before the app. - * You can add your own extra polyfills to this file. - * - * This file is divided into 2 sections: - * 1. Browser polyfills. These are applied before loading ZoneJS and are sorted by browsers. - * 2. Application imports. Files imported after ZoneJS that should be loaded before your main - * file. - * - * The current setup is for so-called "evergreen" browsers; the last versions of browsers that - * automatically update themselves. This includes Safari >= 10, Chrome >= 55 (including Opera), - * Edge >= 13 on the desktop, and iOS 10 and Chrome on mobile. - * - * Learn more in https://angular.io/guide/browser-support - */ - -/*************************************************************************************************** - * BROWSER POLYFILLS - */ - -/** IE10 and IE11 requires the following for NgClass support on SVG elements */ -// import 'classlist.js'; // Run `npm install --save classlist.js`. - -/** - * Web Animations `@angular/platform-browser/animations` - * Only required if AnimationBuilder is used within the application and using IE/Edge or Safari. - * Standard animation support in Angular DOES NOT require any polyfills (as of Angular 6.0). - */ -// import 'web-animations-js'; // Run `npm install --save web-animations-js`. - -/** - * By default, zone.js will patch all possible macroTask and DomEvents - * user can disable parts of macroTask/DomEvents patch by setting following flags - * because those flags need to be set before `zone.js` being loaded, and webpack - * will put import in the top of bundle, so user need to create a separate file - * in this directory (for example: zone-flags.ts), and put the following flags - * into that file, and then add the following code before importing zone.js. - * import './zone-flags'; - * - * The flags allowed in zone-flags.ts are listed here. - * - * The following flags will work for all browsers. - * - * (window as any).__Zone_disable_requestAnimationFrame = true; // disable patch requestAnimationFrame - * (window as any).__Zone_disable_on_property = true; // disable patch onProperty such as onclick - * (window as any).__zone_symbol__UNPATCHED_EVENTS = ['scroll', 'mousemove']; // disable patch specified eventNames - * - * in IE/Edge developer tools, the addEventListener will also be wrapped by zone.js - * with the following flag, it will bypass `zone.js` patch for IE/Edge - * - * (window as any).__Zone_enable_cross_context_check = true; - * - */ - -/*************************************************************************************************** - * Zone JS is required by default for Angular itself. - */ -import 'zone.js/dist/zone'; // Included with Angular CLI. - - -/*************************************************************************************************** - * APPLICATION IMPORTS - */ diff --git a/angular/solution/stocks/src/service-worker.js b/angular/solution/stocks/src/service-worker.js deleted file mode 100644 index ae3ab8c..0000000 --- a/angular/solution/stocks/src/service-worker.js +++ /dev/null @@ -1,20 +0,0 @@ -console.log('Service Worker initialized!'); -self.addEventListener('install', () => { - //console.log('??', 'install', event); - self.skipWaiting(); -}); - -self.addEventListener('activate', () => { - //console.log('??', 'activate', event); - return self.clients.claim(); -}); - -self.addEventListener('fetch', function () { - //console.log('??', 'fetch', event); - // event.respondWith(fetch(event.request)); -}); - -self.addEventListener('message', function (event) { - //console.log(event.data); - event.ports[0].postMessage({ test: 'This is my response.' }); -}); diff --git a/angular/solution/stocks/src/styles.css b/angular/solution/stocks/src/styles.css index 7e7239a..f9f52be 100644 --- a/angular/solution/stocks/src/styles.css +++ b/angular/solution/stocks/src/styles.css @@ -1,4 +1,3 @@ -/* You can add global styles to this file, and also import other style files */ - -html, body { height: 100%; } -body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; } +html { + background-color: var(--base-surface-frame-background); +} diff --git a/angular/solution/stocks/src/test.ts b/angular/solution/stocks/src/test.ts deleted file mode 100644 index 50193eb..0000000 --- a/angular/solution/stocks/src/test.ts +++ /dev/null @@ -1,25 +0,0 @@ -// This file is required by karma.conf.js and loads recursively all the .spec and framework files - -import 'zone.js/dist/zone-testing'; -import { getTestBed } from '@angular/core/testing'; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; - -declare const require: { - context(path: string, deep?: boolean, filter?: RegExp): { - keys(): string[]; - (id: string): T; - }; -}; - -// First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting() -); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().map(context); diff --git a/angular/solution/stocks/tsconfig.app.json b/angular/solution/stocks/tsconfig.app.json index f758d98..264f459 100644 --- a/angular/solution/stocks/tsconfig.app.json +++ b/angular/solution/stocks/tsconfig.app.json @@ -1,14 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ { "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./out-tsc/app", "types": [] }, - "files": [ - "src/main.ts", - "src/polyfills.ts" - ], "include": [ - "src/**/*.d.ts" + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" ] } diff --git a/angular/solution/stocks/tsconfig.json b/angular/solution/stocks/tsconfig.json index 8c4ef3b..e4955f2 100644 --- a/angular/solution/stocks/tsconfig.json +++ b/angular/solution/stocks/tsconfig.json @@ -1,23 +1,34 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ { "compileOnSave": false, "compilerOptions": { - "baseUrl": "./", - "outDir": "./dist/out-tsc", - "sourceMap": true, - "declaration": false, - "downlevelIteration": true, + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, "experimentalDecorators": true, - "module": "esnext", - "moduleResolution": "node", "importHelpers": true, - "target": "es2015", - "lib": [ - "es2018", - "dom" - ] + "target": "ES2022", + "module": "preserve" }, "angularCompilerOptions": { - "fullTemplateTypeCheck": true, - "strictInjectionParameters": true - } + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "typeCheckHostBindings": true, + "strictTemplates": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + }, + { + "path": "./tsconfig.spec.json" + } + ] } diff --git a/angular/solution/stocks/tsconfig.spec.json b/angular/solution/stocks/tsconfig.spec.json index 6400fde..04df34c 100644 --- a/angular/solution/stocks/tsconfig.spec.json +++ b/angular/solution/stocks/tsconfig.spec.json @@ -1,18 +1,14 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ { "extends": "./tsconfig.json", "compilerOptions": { "outDir": "./out-tsc/spec", "types": [ - "jasmine", - "node" + "jasmine" ] }, - "files": [ - "src/test.ts", - "src/polyfills.ts" - ], "include": [ - "src/**/*.spec.ts", - "src/**/*.d.ts" + "src/**/*.ts" ] } diff --git a/angular/solution/stocks/tslint.json b/angular/solution/stocks/tslint.json deleted file mode 100644 index d92ff5d..0000000 --- a/angular/solution/stocks/tslint.json +++ /dev/null @@ -1,148 +0,0 @@ -{ - "extends": "tslint:recommended", - "rules": { - "align": { - "options": [ - "parameters", - "statements" - ] - }, - "array-type": false, - "arrow-return-shorthand": true, - "curly": true, - "deprecation": { - "severity": "warning" - }, - "component-class-suffix": true, - "contextual-lifecycle": true, - "directive-class-suffix": true, - "directive-selector": [ - true, - "attribute", - "app", - "camelCase" - ], - "component-selector": [ - true, - "element", - "app", - "kebab-case" - ], - "eofline": true, - "import-blacklist": [ - true, - "rxjs/Rx" - ], - "import-spacing": true, - "indent": { - "options": [ - "spaces" - ] - }, - "max-classes-per-file": false, - "max-line-length": [ - true, - 140 - ], - "member-ordering": [ - true, - { - "order": [ - "static-field", - "instance-field", - "static-method", - "instance-method" - ] - } - ], - "no-console": [ - true, - "debug", - "info", - "time", - "timeEnd", - "trace" - ], - "no-empty": false, - "no-inferrable-types": [ - true, - "ignore-params" - ], - "no-non-null-assertion": true, - "no-redundant-jsdoc": true, - "no-switch-case-fall-through": true, - "no-var-requires": false, - "object-literal-key-quotes": [ - true, - "as-needed" - ], - "quotemark": [ - true, - "single" - ], - "semicolon": { - "options": [ - "always" - ] - }, - "space-before-function-paren": { - "options": { - "anonymous": "never", - "asyncArrow": "always", - "constructor": "never", - "method": "never", - "named": "never" - } - }, - "typedef-whitespace": { - "options": [ - { - "call-signature": "nospace", - "index-signature": "nospace", - "parameter": "nospace", - "property-declaration": "nospace", - "variable-declaration": "nospace" - }, - { - "call-signature": "onespace", - "index-signature": "onespace", - "parameter": "onespace", - "property-declaration": "onespace", - "variable-declaration": "onespace" - } - ] - }, - "variable-name": { - "options": [ - "ban-keywords", - "check-format", - "allow-pascal-case" - ] - }, - "whitespace": { - "options": [ - "check-branch", - "check-decl", - "check-operator", - "check-separator", - "check-type", - "check-typecast" - ] - }, - "no-conflicting-lifecycle": true, - "no-host-metadata-property": true, - "no-input-rename": true, - "no-inputs-metadata-property": true, - "no-output-native": true, - "no-output-on-prefix": true, - "no-output-rename": true, - "no-outputs-metadata-property": true, - "template-banana-in-box": true, - "template-no-negated-async": true, - "use-lifecycle-interface": true, - "use-pipe-transform-interface": true - }, - "rulesDirectory": [ - "codelyzer" - ] -} \ No newline at end of file diff --git a/angular/solution/workspace/asset-manifest.json b/angular/solution/workspace/asset-manifest.json new file mode 100644 index 0000000..bb5525c --- /dev/null +++ b/angular/solution/workspace/asset-manifest.json @@ -0,0 +1,12 @@ +{ + "files": { + "main.css": "./static/css/main.9c658736.css", + "main.js": "./static/js/main.940cea24.js", + "static/js/377.541f86b8.chunk.js": "./static/js/377.541f86b8.chunk.js", + "index.html": "./index.html", + "main.9c658736.css.map": "./static/css/main.9c658736.css.map", + "main.940cea24.js.map": "./static/js/main.940cea24.js.map", + "377.541f86b8.chunk.js.map": "./static/js/377.541f86b8.chunk.js.map" + }, + "entrypoints": ["static/css/main.9c658736.css", "static/js/main.940cea24.js"] +} diff --git a/angular/solution/workspace/index.html b/angular/solution/workspace/index.html new file mode 100644 index 0000000..a501701 --- /dev/null +++ b/angular/solution/workspace/index.html @@ -0,0 +1,18 @@ + + + + + + + + + io.Connect Workspaces + + + + + + +
+ + diff --git a/angular/solution/workspace/manifest.json b/angular/solution/workspace/manifest.json new file mode 100644 index 0000000..4a8a56e --- /dev/null +++ b/angular/solution/workspace/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "io.Connect Workspaces", + "name": "io.Connect Workspaces", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/angular/solution/workspace/package-lock.json b/angular/solution/workspace/package-lock.json new file mode 100644 index 0000000..77651e8 --- /dev/null +++ b/angular/solution/workspace/package-lock.json @@ -0,0 +1,258 @@ +{ + "name": "workspace", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "workspace", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "http-server": "^0.12.3" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/basic-auth": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz", + "integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/ecstatic": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.2.tgz", + "integrity": "sha512-fLf9l1hnwrHI2xn9mEDT7KIi22UDqA2jaCwyCbSUJh9a1V+LEUSL/JO/6TIz/QyuBURWUHrFL5Kg2TtO1bkkog==", + "deprecated": "This package is unmaintained and deprecated. See the GH Issue 259.", + "dev": true, + "dependencies": { + "he": "^1.1.1", + "mime": "^1.6.0", + "minimist": "^1.1.0", + "url-join": "^2.0.5" + }, + "bin": { + "ecstatic": "lib/ecstatic.js" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", + "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-server": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-0.12.3.tgz", + "integrity": "sha512-be0dKG6pni92bRjq0kvExtj/NrrAd28/8fCXkaI/4piTwQMSDSLMhWyW0NI1V+DBI3aa1HMlQu46/HjVLfmugA==", + "dev": true, + "dependencies": { + "basic-auth": "^1.0.3", + "colors": "^1.4.0", + "corser": "^2.0.1", + "ecstatic": "^3.3.2", + "http-proxy": "^1.18.0", + "minimist": "^1.2.5", + "opener": "^1.5.1", + "portfinder": "^1.0.25", + "secure-compare": "3.0.1", + "union": "~0.5.0" + }, + "bin": { + "hs": "bin/http-server", + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "dev": true, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=", + "dev": true + }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/url-join": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz", + "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=", + "dev": true + } + } +} diff --git a/angular/solution/workspace/package.json b/angular/solution/workspace/package.json new file mode 100644 index 0000000..f28ce29 --- /dev/null +++ b/angular/solution/workspace/package.json @@ -0,0 +1,15 @@ +{ + "name": "workspace", + "version": "1.0.0", + "private": true, + "description": "io.Connect Workspaces App", + "scripts": { + "start": "http-server -p 9300" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "http-server": "^0.12.3" + } +} diff --git a/angular/solution/workspace/robots.txt b/angular/solution/workspace/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/angular/solution/workspace/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/angular/solution/workspace/static/css/main.9c658736.css b/angular/solution/workspace/static/css/main.9c658736.css new file mode 100644 index 0000000..cdc0adc --- /dev/null +++ b/angular/solution/workspace/static/css/main.9c658736.css @@ -0,0 +1,2506 @@ +#root { + height: 100%; +} +.App { + text-align: center; +} +.App-logo { + height: 40vmin; + pointer-events: none; +} +@media (prefers-reduced-motion: no-preference) { + .App-logo { + -webkit-animation: App-logo-spin 20s linear infinite; + animation: App-logo-spin 20s linear infinite; + } +} +.App-header { + align-items: center; + background-color: #282c34; + color: #fff; + display: flex; + flex-direction: column; + font-size: calc(10px + 2vmin); + justify-content: center; + min-height: 100vh; +} +.App-link { + color: #61dafb; +} +@-webkit-keyframes App-logo-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} +@keyframes App-logo-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} +:root { + --g42-font-family: "PTSans", "Helvetica Neue", Arial, sans-serif; + --g42-font-size: 12px; + --spacing-1: 1px; + --spacing-2: 2px; + --spacing-4: 4px; + --spacing-6: 6px; + --spacing-8: 8px; + --spacing-9: 9px; + --spacing-10: 10px; + --spacing-12: 12px; + --spacing-14: 14px; + --spacing-16: 16px; + --spacing-24: 24px; + --spacing-32: 32px; + --spacing-40: 40px; + --border-radius-4: 4px; + --border-radius-6: 6px; + --g42-red: 354, 86%, 48%; + --g42-white: 0, 0%, 100%; + --g42-black: 0, 0%, 0%; +} +.dark { + --g42-bg-00: 216, 14%, 7%; + --g42-bg-01: 210, 5%, 16%; + --g42-bg-02: 216, 4%, 22%; + --g42-bg-03: 220, 4%, 28%; + --g42-bg-04: 222, 3%, 35%; + --g42-bg-primary: 210, 5%, 16%; + --g42-border-primary: 222, 4%, 35%; + --g42-border-secondary: 216, 4%, 22%; + --g42-label-primary: 210 4% 97%; + --g42-label-secondary: 210 4% 70%; + --g42-label-tertiary: 210 4% 45%; + --g42-interactive-primary: 216 96% 64%; + --g42-interactive-secondary: 216 57% 49%; + --g42-highlight-neutral: 216 5% 21%; + --g42-highlight-Interactive: 215 79% 40%; + --g42-app-content-bg: 216, 14%, 7%; + --g42-overlay-shadow: 2px 2px 4px 0 rgba(9, 11, 16, 0.35); + --g42-bkd-00: 0 0% 7%; + --g42-warning-xp: 43, 71%, 54%; + --g42-logo-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100.2 121' style='enable-background:new 0 0 100.2 121'%3E%3Cpath fill='%23FFF' d='m59.4 10.6-8.3 8.3c-.5.5-1.4.5-1.9 0l-8.3-8.3c-.5-.5-.5-1.4 0-1.9L49.2.4c.5-.5 1.4-.5 1.9 0l8.3 8.3c.5.5.5 1.4 0 1.9zm-.1 99.8-8.3-8.3c-.5-.5-1.4-.5-1.9 0l-8.3 8.3c-.5.5-.5 1.4 0 1.9l8.3 8.3c.5.5 1.4.5 1.9 0l8.3-8.3c.6-.5.6-1.4 0-1.9zM100.1 60.1c.3 7.3-2.9 14.3-9.3 20.6l-24.7 24.7c-.6.6-1.5.6-2.1 0l-8.1-8.1c-.6-.6-.6-1.5 0-2.1l24.7-24.7.3-.3c3.2-3.3 4.7-6.7 4.4-10.2 0-.4-.1-.8-.2-1.3-.6-3.3-2.8-7-6.8-11l-9.9-9.9c-.3-.3-.7-.5-1.1-.5-.4 0-.8.2-1.3.6L34.5 69.6c-.6.6-1.5.6-2.1 0L27.7 65c-3.3-3.3-3.8-5.1-1.3-7.6 11.1-11.2 22-22.1 33.2-33.2 2.7-2.7 5.1-4.2 7.5-4.3 2.5-.1 4.7 1.2 6.9 3.5l14.3 14.3c7.6 7.6 11.5 15.1 11.8 22.4zM0 60.9c.3 7.3 3.7 14.3 11.2 21.9L26 97.6c2.3 2.3 4.5 3.6 6.9 3.5 2.4-.1 4.8-1.6 7.5-4.3 11.1-11.1 22.1-22 33.2-33.2 2.5-2.5 2-4.3-1.3-7.6l-4.7-4.7c-.6-.6-1.5-.6-2.1 0L34 83c-.5.5-.9.6-1.3.6s-.7-.1-1.1-.5L21.3 72.7c-4-4-5.7-7.2-6.3-10.5-.1-.4-.1-.8-.2-1.3-.3-3.5 1.2-6.9 4.4-10.2l.3-.3 24.7-24.7c.6-.6.6-1.5 0-2.1l-8.1-8.1c-.6-.6-1.5-.6-2.1 0L9.3 40.3C2.9 46.6-.3 53.5 0 60.9z'/%3E%3C/svg%3E"); + --g42-select-indicator: url('data:image/svg+xml;utf8, span { + align-items: center; + justify-content: center; +} +.g42-btn-split > span { + border-left: var(--spacing-1) solid hsl(var(--g42-border-secondary)); + display: flex; + height: 16px; + height: var(--spacing-16); + margin-left: 4px; + margin-left: var(--spacing-4); + transition-duration: 0.24s; + transition-property: border-color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + width: 16px; + width: var(--spacing-16); +} +.g42-btn-split:hover > span { + border-color: Hsl(var(--g42-border-primary)); +} +.g42-btn-link, +.g42-btn-link:hover { + background-color: initial; + border-color: transparent; + color: Hsl(var(--g42-interactive-primary)); +} +.g42-btn-link:hover { + text-decoration: underline; +} +.g42-btn-group { + display: inline-flex; +} +.g42-btn-group .g42-btn, +.g42-btn-group .save-workspace .btn, +.save-workspace .g42-btn-group .btn { + border-radius: 0; +} +.g42-btn-group .g42-btn:not(:last-child), +.g42-btn-group .save-workspace .btn:not(:last-child), +.save-workspace .g42-btn-group .btn:not(:last-child) { + border-right: 0; +} +.g42-btn-group .g42-btn:first-of-type, +.g42-btn-group .save-workspace .btn:first-of-type, +.save-workspace .g42-btn-group .btn:first-of-type { + border-bottom-left-radius: 4px; + border-bottom-left-radius: var(--spacing-4); + border-top-left-radius: 4px; + border-top-left-radius: var(--spacing-4); +} +.g42-btn-group .g42-btn:last-of-type, +.g42-btn-group .save-workspace .btn:last-of-type, +.save-workspace .g42-btn-group .btn:last-of-type { + border-bottom-right-radius: 4px; + border-bottom-right-radius: var(--spacing-4); + border-top-right-radius: 4px; + border-top-right-radius: var(--spacing-4); +} +.g42-btn-icon { + border: 0; +} +.g42-btn-icon, +.g42-btn-icon:hover { + background-color: initial; +} +@font-face { + font-family: PTSans; + font-style: normal; + font-weight: 400; + src: url(data:font/ttf;base64,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APYA+AD6APwA/gEAAQIBBAEGAQgBCgEMAQ4BEAESARQBFgEYARoBHAEeAR8BIQEjAScBKQErATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBlwGZAZsBnQGfAaEBowGlAacBqQGrAa0BrwGxAbMBtQG3AbkBuwG9Ab8BwQHDAcUBxwHJAcsBzQHPAdEB0wHUAdYB2AHaAdwB3gHhAeMB5QHnAekB6wHtAe8B8QHzAfUB9wH5AfsB/QH/AgECAwIFAgcCCQILAg0CDwIRAhMCFQIXAhkCGwIdAl8CawJtAm8CcQJzAnUCdwJ5AnsCfQJ/AoECgwKFAocCiQKLAo0CjwKRApMClQKXApkCmwKdAp8CoQKjAqUCpwKpAqsCrQKvArECswK1ArcCuQADAAAAAQAIAAEADAADACIAHAAWAAEAAwAUAb0BvgACAnoCrAACAnkCqwACAsEAewABAAAAAQAIAAIAMgAWAsACvwB0AHUCzgElASkBKgErASwCzQKnAqgCqQKqAncCeAK7ArwCvQK+As8AAQAWAAUACgAVABYATwBWAQwBDQEQAREBMAFAAY4BpQGmAasBrAIhAiICJAIlAi4AAALuADIAAAAAAQsAAAELAAABMQBuAU8AWgIhABwCIQBMAwUARgMuAHYA2gBaARgAPAEYAAIBXwAoAfkAKADhACoBaAA7ANYAMQFi/9sCIQArAiEARgIhAD4CIQBYAiEAFAIhAE0CIQA8AiEAPQIhAEQCIQA0ANsAWwEAAFIB+QAqAfkAKAH5ACoBtAAlBCgAVwJJAAgCSABVAjsAOAKOAFUCGABVAgUAVQJkADgCoABVASMAaAEj/94CYgBVAgUAVQMXAFUCoQBVAqwAOAIvAFUCrAA4AlMAVQITAC4CKwASAowAVQI4//4DPAAIAmoAGgIuAAgCIQAmATAAVQF8/9sBMAAmAfQAMAGYAAABGAA8AfAAJwIcAE0BwwAxAhoAMQH8ADEBPwAWAhkAMQIjAE0BDABNAQsACQHfAE0BJABWAywATQIjAE0CGAAxAh0ATQIZADEBVABNAaUAJwFTAAsCGwBFAeIACQLfAAgCAwAcAdIADAG/ACoBWgA5AO4AVQFaADcB+QAfAQsAAAEwAE0CIQBXAiEAMgIhABUCIQACAO4AVQHxADkBmwA8AyYAMwGCADAB3gAnAfkAKQFoADoCvABVAaAAPAGpAFUB+QAoAYoAMAGKAEMBDAA8AigARAHuACUBCwBMAR8APAGKADUBjgAsAd4AJwNFADUDUgA1A2wATAG0ACUCSQAIAkkACAJJAAgCSQAIAkkACAJJAAgDTv/qAjsAOAIYAFUCGABVAhgAVQIYAFUBIwABASMAPgEj//EBI//+ApL//wKhAFUCrAA4AqwAOAKsADgCrAA4AqwAOAH5AEoCrAA4AowAVQKMAFUCjABVAowAVQIuAAgCLwBVAlAAFgHwACcB8AAnAfAAJwHwACcB8AAnAfAAJwMcACcBwwAxAfwAMQH8ADEB/AAxAfwAMQEMAAwBDABeAQz//gEM//QCMQA4AiMATQIYADECGAAxAhgAMQIYADECGAAxAfkAKAIYADECGwBFAhsARQIbAEUCGwBFAdIADAIdAE0B0gAMAkkACAHwACcCSQAIAfAAJwJJAAgB8AAnAjsAOAHDADECOwA4AcMAMQI7ADgBwwAxAo4AVQJNADECkv//AhwAMQIYAFUB/AAxAhgAVQH8ADECGABVAfwAMQIYAFUB/AAxAmQAOAIZADECZAA4AhkAMQJkADgCGQAxAqAAVQIj/9gCpQAJAiX//wEj//UBDP/zASMAIgENABMBIwBUAQwAXgEj/94BCwABAmIAVQHfAE0CBQBVASQAVgIFAFUBJABWAgUAVQEkAFYCBQAPASQACgKhAFUCIwBNAqEAVQIjAE0CoQBVAiMATQKsADgCGAAxAqwAOAIYADEDpAA4A1oAMQJTAFUBVABNAlMAVQFUAE0CUwBVAVQANgITAC4BpQAnAhMALgGlACcCEwAuAaUAJwITAC4BpQAnAisAEgFTAAsCKwASAVMACwKMAFUCGwBFAowAVQIbAEUCjABVAhsARQKMAFUCGwBFAowAVQIbAEUCLgAIAiEAJgG/ACoCIQAmAb8AKgIhACYBvwAqAPkAFgIh/94CZAA4AhkAMQITAC4BpQAnAisAEgFTAAsBCwAJAMIAKAGCADwBiwA8AakAPADpADwBOwA8ATEAPAGPADwBgwA8AAL+3gI4AA4DIgBMApgAJAIYAFUC2AASAboAVQJHADgCEwAuASMAaAElACABI//eA57//gPOAFUC7gASAmIAVQIpAAcCkwBVAkkACAImAFUCSABVAboAVQKdAAUCGABVAyb//wIdACwCqQBVAqkAVQJiAFUCcP/+AxcAVQKgAFUCrAA4ApMAVQIvAFUCOwA4AisAEgIpAAcDDAApAmoAGgKvAFUCXQBLA20AVQORAFUCdv//AwEAVQIrAFUCQQAtA30AVQI5ABoB8AAnAhgAMQHzAE0BcQBNAh0ABQH8ADECkwABAbkAJgIiAE0CIgBNAd4ATQH3//sChQBNAhwATQIYADECFwBNAh0ATQHDADEBjgACAdIADAKoACwCAwAcAiQATQHqADEC4ABNAvEATQHxAAEClABNAdAATQHRACcCzwBNAdsAFAH8ADECJP/+AXEATQHYADEBpQAnAQwATQEWAB0BCwAJAt3/+wMCAE0CJP/+Ad4ATQHSAAwCFwBNAmsAAAHxAAECrAA4AhgAMQJW//4B+wAKArIAVQIxAE0CawAAAfEAAQIvAFUCHQBNAboAVQFxAE0B4gAKAYEAAAJBAFUCFwBNAzP//wK1AAECHQAsAbkAJgJnAFUB+gBNAq0AVQIaAE0CmAAAAeH//gKtAAACAAABAsMAVQIiAE0DXQBVAqMATQPXAFUDRABNAysAOAKUADECOwA4AcMAMQIrABIBjgACAi4ACAHkAAoCLgAIAeQACgKIABoCDQAcA0YAEgJ3AAICfwBLAf0AMQJlAEsB8QAxAl0AVQIjAE0DBgABAmkACAMGAAECaQAIASMAaAJYAFUB4QBNAm7//gIE//sCoABVAhwATQKpAFUCLABNAl0ASwHqADEDIQBVApUATQD+AFcCSQAIAfAAJwJJAAgB8AAnA07/6gMcACcCGABVAfwAMQJ/ADUB+wAxAn8ANQH7ADEDJv//ApMAAQIdACwBuQAmAjMANwHbACcCqQBVAiIATQKpAFUCIgBNAqwAOAIYADECrAA4AhgAMQKsADgCGAAxAkEALQHRACcCKQAHAdIADAIpAAcB0gAMAikABwHSAAwCXQBLAeoAMQG6AFUBcQBNAwEAVQKUAE0CagAaAgIAHAIcAEEBuQAxAnL//gH3//sDPAAIAt8ACAK2AFUCKgBNAoAAVQJDAE0CYgBVAd8ATQMXAFUDLABNAi8AVQIdAE0CmwBVAWgAOwKUAHYDNAB2AMIAKADCACgAwgAoAVQAKAFUACgBVAAoAeYAKAHmACgBxABXAvcARwR7AEYBKQAnASkAJwC4/08BigA1AYoAMAGKAEMBigAZAiEACgIhACkCIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAfQASQP/AFUDdQAmAlgALAH5ABQCpgBVAfkADgH5ACgB+f/vAfn/9wNYADcBXv/UAfkAHwH5ACgB+QAkAfkAJQH5ACICwwBVAkMATQAC/p0B0QA8AR8APAG4ADwA6wA8AMIAKAD2ADwBSwA8AbYAPAExADwCSABVAhwATQIFAFUBPwAWAl3//QIl//8CXQBLAeoAMQIpAAcB0gAMAkEALQHRACcCHQAsAbkAJgI7ADgBwwAxAkkACAHwACcCGABVAfwAMQIYAFUB/AAxAhgAVQH8ADECHQAsAbkAJgKsADgCGAAxAqwAOAIYADECrAA4AhgAMQKsADgCGAAxAwEAVQKUAE0CQQAtAdEAJwJBAC0B0QAnAkcAOAHYADECOQAaAdsAFAI5ABoB2wAUA30AVQLPAE0DfQBVAs8ATQKR//4CC//7AqkAVQIiAE0CrAA4AhgAMQMBAFUClABNAhwAQQG5ADEBIwBUAQwAXgIFAFUBnQBNAjsAOAHDADECjgBVAiMAMQKgAFUCIwBNAgUAVQEkAFYCKwASAVMACwI4//4B4gAJAh0ALAGyAB0CHQAsAbIAHQDCACgAwgAoAVQAKAFUACgA2gBaAU8AWgGKADUA6wA8AWAAPAG2ADwBogA8AWAAPAG9ADwBtAA8AcYAPAGuADwCHAAWAkcAFgC8AMwA/gBXALj/QgAAAAAAAAQgAAAEIAAABCAAAAQgAAAFFwAABVMAAAePAAAJ+AAACqwAABACAAAQRgAAEVUAABJ5AAAVxgAAFpQAABekAAAX4gAAGDIAABlSAAAaXAAAG7MAAB2CAAAf8QAAIhQAACNLAAAlXAAAJwAAACuzAAAuDgAALqgAADABAAAwygAAMUkAADIDAAAzPAAANtgAADmgAAA8BwAAPZoAAD8MAAA/9wAAQOAAAEMnAABEMAAARJ4AAEWQAABKBgAASqYAAE55AABR4gAAVAAAAFVdAABXxwAAWjAAAFxiAABdIgAAXkcAAGEVAABpnwAAcAMAAHKQAAB03wAAdVYAAHZKAAB2xwAAd6gAAHfrAAB44wAAe2QAAHyyAAB99QAAf34AAIFaAACCpwAAhE8AAIV8AACGaAAAh4EAAIusAACMnAAAjs0AAJBYAACRkAAAkxIAAJRDAACWQgAAmAwAAJnVAACbkgAAno4AAKTvAACqOQAArokAAK/4AACw6QAAsXMAALJ6AACzrwAAs68AALRGAAC16gAAuAoAALoDAAC9WgAAvdAAAMC6AADCRAAAxKUAAMcpAADIBwAAyEsAAMiJAADM8AAAzXEAAM8TAADP8AAA0BwAANBIAADRMwAA0q4AANOPAADTowAA1GgAANSUAADVogAA1oQAANcIAADXjAAA2CQAANlnAADZnwAA2csAANpbAADanwAA20cAAOEMAADkjQAA5vgAAOcoAADnUAAA54AAAOgAAADoUAAA6HQAAOkYAADpxAAA60oAAOvKAADr9gAA7C4AAOyiAADtNgAA7aYAAO5qAADyXgAA8ooAAPLOAADzKgAA89YAAPQmAAD1NwAA+DIAAPhqAAD4pgAA+PIAAPkuAAD5lgAA+iIAAP0hAAD/HgAA/1oAAP+CAAD/3gABADoAAQCCAAEAzgABAUIAAQHmAAEEjQABBPEAAQUlAAEFPQABBgkAAQZBAAEGwQABB9gAAQtWAAELjgABC8YAAQwuAAEMtgABDOoAAQ43AAEOwwABD2sAAQ+zAAEQUwABEOsAARQvAAEWxQABFvkAARcxAAEXZQABF50AARfJAAEYCQABGDkAARjdAAEY7QABGvMAARtHAAEb1wABHCMAARx7AAEdyAABIDQAASB8AAEgwAABIPgAASEkAAEhaAABIagAASHcAAEiSAABItAAASM8AAEkoQABJh0AASa9AAEnWQABKCUAASn+AAEqPgABKqEAASsVAAErjQABK8EAASvtAAEsPQABLIEAASzFAAEtHQABLVkAAS3lAAEvagABMMoAATEGAAExLgABMV4AATGaAAEx2gABMg4AATKmAAEzYgABM64AATQiAAE14QABOG0AATipAAE4zQABOQUAATlVAAE5iQABOaEAATnZAAE6CQABOjkAATptAAE9RgABP8cAAT/3AAFAIwABQXgAAUPg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AAAAAAAAAAAAAAAAAAAAAALQAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQECAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAQMAigDaAIMAkwDyAPMAjQCXAIgAwwDeAPEAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB+AIAAgQDsAO4AugEEAQUBBgEHAQgBCQD9AP4BCgELAP8BAAEMAQ0BDgEBAQ8BEAERARIBEwEUARUBFgEXARgA+AD5ARkBGgEbARwBHQEeAR8BIAEhASIA+gDXASMBJAElASYBJwEoASkBKgErASwA4gDjAS0BLgEvATABMQEyATMBNAE1ATYAsACxATcBOAE5AToBOwE8AT0BPgE/AUAA+wD8AOQA5QFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4AuwFPAVABUQFSAOYA5wFTAKYBVAFVAVYBVwFYAVkBWgFbANgA4QDbANwA3QDgANkA3wFcAV0BXgCbAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInAigCKQIqAisCLAItAi4CLwIwAjECMgIzAjQCNQI2AjcCOAI5AjoCOwI8Aj0CPgI/AkACQQJCALIAswC2ALcAxAC0ALUAxQCCAMIAhwCrAMYAvgC/ALwCQwJEAkUCRgJHAkgCSQJKAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMAjAJkAJgAmgCZAO8CZQClAJIAnACnAI8AlACVALkCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEAwADBAtIC0wLUB3VuaTAwQTAHdW5pMDBBRAdBbWFjcm9uB2FtYWNyb24GQWJyZXZlBmFicmV2ZQdBb2dvbmVrB2FvZ29uZWsLQ2NpcmN1bWZsZXgLY2NpcmN1bWZsZXgGRGNhcm9uBmRjYXJvbgZEY3JvYXQHRW1hY3JvbgdlbWFjcm9uCkVkb3RhY2NlbnQKZWRvdGFjY2VudAdFb2dvbmVrB2VvZ29uZWsGRWNhcm9uBmVjYXJvbgtHY2lyY3VtZmxleAtnY2lyY3VtZmxleAxHY29tbWFhY2NlbnQMZ2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4BEhiYXIEaGJhcgdJbWFjcm9uB2ltYWNyb24HSW9nb25lawdpb2dvbmVrC0pjaXJjdW1mbGV4C2pjaXJjdW1mbGV4DEtjb21tYWFjY2VudAxrY29tbWFhY2NlbnQGTGFjdXRlBmxhY3V0ZQxMY29tbWFhY2NlbnQMbGNvbW1hYWNjZW50BkxjYXJvbgZsY2Fyb24GTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24HT21hY3JvbgdvbWFjcm9uDU9odW5nYXJ1bWxhdXQNb2h1bmdhcnVtbGF1dAZSYWN1dGUGcmFjdXRlDFJjb21tYWFjY2VudAxyY29tbWFhY2NlbnQGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlC1NjaXJjdW1mbGV4C3NjaXJjdW1mbGV4CFRjZWRpbGxhCHRjZWRpbGxhBlRjYXJvbgZ0Y2Fyb24HVW1hY3Jvbgd1bWFjcm9uBlVicmV2ZQZ1YnJldmUFVXJpbmcFdXJpbmcNVWh1bmdhcnVtbGF1dA11aHVuZ2FydW1sYXV0B1VvZ29uZWsHdW9nb25lawZaYWN1dGUGemFjdXRlClpkb3RhY2NlbnQKemRvdGFjY2VudAVsb25ncwd1bmkwMUY0B3VuaTAxRjUMU2NvbW1hYWNjZW50DHNjb21tYWFjY2VudAxUY29tbWFhY2NlbnQMdGNvbW1hYWNjZW50B3VuaTAyMzcJYWZpaTU3OTI5CWFjdXRlY29tYgd1bmkwMzk0B3VuaTAzQTkJYWZpaTEwMDIzCWFmaWkxMDA1MQlhZmlpMTAwNTIJYWZpaTEwMDUzCWFmaWkxMDA1NAlhZmlpMTAwNTUJYWZpaTEwMDU2CWFmaWkxMDA1NwlhZmlpMTAwNTgJYWZpaTEwMDU5CWFmaWkxMDA2MAlhZmlpMTAwNjEJYWZpaTEwMDYyCWFmaWkxMDE0NQlhZmlpMTAwMTcJYWZpaTEwMDE4CWFmaWkxMDAxOQlhZmlpMTAwMjAJYWZpaTEwMDIxCWFmaWkxMDAyMglhZmlpMTAwMjQJYWZpaTEwMDI1CWFmaWkxMDAyNglhZmlpMTAwMjcJYWZpaTEwMDI4CWFmaWkxMDAyOQlhZmlpMTAwMzAJYWZpaTEwMDMxCWFmaWkxMDAzMglhZmlpMTAwMzMJYWZpaTEwMDM0CWFmaWkxMDAzNQlhZmlpMTAwMzYJYWZpaTEwMDM3CWFmaWkxMDAzOAlhZmlpMTAwMzkJYWZpaTEwMDQwCWFmaWkxMDA0MQlhZmlpMTAwNDIJYWZpaTEwMDQzCWFmaWkxMDA0NAlhZmlpMTAwNDUJYWZpaTEwMDQ2CWFmaWkxMDA0NwlhZmlpMTAwNDgJYWZpaTEwMDQ5CWFmaWkxMDA2NQlhZmlpMTAwNjYJYWZpaTEwMDY3CWFmaWkxMDA2OAlhZmlpMTAwNjkJYWZpaTEwMDcwCWFmaWkxMDA3MglhZmlpMTAwNzMJYWZpaTEwMDc0CWFmaWkxMDA3NQlhZmlpMTAwNzYJYWZpaTEwMDc3CWFmaWkxMDA3OAlhZmlpMTAwNzkJYWZpaTEwMDgwCWFmaWkxMDA4MQlhZmlpMTAwODIJYWZpaTEwMDgzCWFmaWkxMDA4NAlhZmlpMTAwODUJYWZpaTEwMDg2CWFmaWkxMDA4NwlhZmlpMTAwODgJYWZpaTEwMDg5CWFmaWkxMDA5MAlhZmlpMTAwOTEJYWZpaTEwMDkyCWFmaWkxMDA5MwlhZmlpMTAwOTQJYWZpaTEwMDk1CWFmaWkxMDA5NglhZmlpMTAwOTcJYWZpaTEwMDcxCWFmaWkxMDA5OQlhZmlpMTAxMDAJYWZpaTEwMTAxCWFmaWkxMDEwMglhZmlpMTAxMDMJYWZpaTEwMTA0CWFmaWkxMDEwNQlhZmlpMTAxMDYJYWZpaTEwMTA3CWFmaWkxMDEwOAlhZmlpMTAxMDkJYWZpaTEwMTEwCWFmaWkxMDE5MwlhZmlpMTAxNDYJYWZpaTEwMTk0CWFmaWkxMDE0NwlhZmlpMTAxOTUJYWZpaTEwMTQ4CWFmaWkxMDE5Ngd1bmkwNDhBB3VuaTA0OEIHdW5pMDQ4Qwd1bmkwNDhEB3VuaTA0OEUHdW5pMDQ4RglhZmlpMTAwNTAJYWZpaTEwMDk4B3VuaTA0OTIHdW5pMDQ5Mwd1bmkwNDk0B3VuaTA0OTUHdW5pMDQ5Ngd1bmkwNDk3B3VuaTA0OTgHdW5pMDQ5OQd1bmkwNDlBB3VuaTA0OUIHdW5pMDQ5Qwd1bmkwNDlEB3VuaTA0OUUHdW5pMDQ5Rgd1bmkwNEEwB3VuaTA0QTEHdW5pMDRBMgd1bmkwNEEzB3VuaTA0QTQHdW5pMDRBNQd1bmkwNEE2B3VuaTA0QTcHdW5pMDRBOAd1bmkwNEE5B3VuaTA0QUEHdW5pMDRBQgd1bmkwNEFDB3VuaTA0QUQHdW5pMDRBRQd1bmkwNEFGB3VuaTA0QjAHdW5pMDRCMQd1bmkwNEIyB3VuaTA0QjMHdW5pMDRCNAd1bmkwNEI1B3VuaTA0QjYHdW5pMDRCNwd1bmkwNEI4B3VuaTA0QjkHdW5pMDRCQQd1bmkwNEJCB3VuaTA0QkMHdW5pMDRCRAd1bmkwNEJFB3VuaTA0QkYHdW5pMDRDMAd1bmkwNEMzB3VuaTA0QzQHdW5pMDRDNQd1bmkwNEM2B3VuaTA0QzcHdW5pMDRDOAd1bmkwNEM5B3VuaTA0Q0EHdW5pMDRDQgd1bmkwNENDB3VuaTA0Q0QHdW5pMDRDRQd1bmkwNENGB3VuaTA0RDAHdW5pMDREMQd1bmkwNEQyB3VuaTA0RDMHdW5pMDRENAd1bmkwNEQ1B3VuaTA0RDYHdW5pMDRENwd1bmkwNEQ4CWFmaWkxMDg0Ngd1bmkwNERBB3VuaTA0REIHdW5pMDREQwd1bmkwNEREB3VuaTA0REUHdW5pMDRERgd1bmkwNEUwB3VuaTA0RTEHdW5pMDRFMgd1bmkwNEUzB3VuaTA0RTQHdW5pMDRFNQd1bmkwNEU2B3VuaTA0RTcHdW5pMDRFOAd1bmkwNEU5B3VuaTA0RUEHdW5pMDRFQgd1bmkwNEVDB3VuaTA0RUQHdW5pMDRFRQd1bmkwNEVGB3VuaTA0RjAHdW5pMDRGMQd1bmkwNEYyB3VuaTA0RjMHdW5pMDRGNAd1bmkwNEY1B3VuaTA0RjYHdW5pMDRGNwd1bmkwNEY4B3VuaTA0RjkHdW5pMDRGQwd1bmkwNEZEB3VuaTA1MTAHdW5pMDUxMQd1bmkwNTEyB3VuaTA1MTMHdW5pMDUxQwd1bmkwNTFEB3VuaTA1MjQHdW5pMDUyNQd1bmkwNTI2B3VuaTA1MjcHdW5pMUUzMAd1bmkxRTMxB3VuaTFFM0UHdW5pMUUzRgd1bmkxRTU0B3VuaTFFNTUHdW5pMUU5RQd1bmkyMDExB3VuaTIwODEHdW5pMjA4Mgd1bmkyMDgzB3VuaTIwODQERXVybwd1bmkyMEI0B3VuaTIwQjYHdW5pMjBCNwd1bmkyMEI5B3VuaTIwQkEHdW5pMjBCQgd1bmkyMEJDB3VuaTIwQkQHdW5pMjBCRQd1bmkyMEJGB3VuaTIwQzAHdW5pMjBDMQd1bmkyMEMyB3VuaTIwQzMHdW5pMjBDNAd1bmkyMEM1B3VuaTIwQzYHdW5pMjBDNwd1bmkyMEM4B3VuaTIwQzkHdW5pMjBDQQd1bmkyMENCB3VuaTIwQ0MHdW5pMjBDRAd1bmkyMENFB3VuaTIwQ0YJYWZpaTYxMjg5CWFmaWk2MTM1Mgllc3RpbWF0ZWQHdW5pMjIxNQd1bmkyQzY3B3VuaTJDNjgHdW5pRjQwMQd1bmlGNDA2B3VuaUY0MDcHdW5pRjQwOAd1bmlGNDA5B3VuaUY0MEEHdW5pRjQwQgd1bmlGNDBDB3VuaUY0MEQHdW5pRjQwRQd1bmlGNDg2B3VuaUY0ODcHdW5pRjQ4OAd1bmlGNDg5B3VuaUY0OUUHdW5pRjQ5Rgd1bmlGNEM2B3VuaUY0QzcHdW5pRjRDQwd1bmlGNENEB3VuaUY0RDYHdW5pRjRENwt1bmkwNDk4LmFsdAt1bmkwNDk5LmFsdA11bmkwNEFBLmFsdDAyDXVuaTA0QUIuYWx0MDIHdW5pRjUwRQd1bmlGNTBGB3VuaUY1MTAHdW5pRjUxMQd1bmlGNTEyB3VuaUY1MTMHdW5pRjUxNAd1bmlGNTE1B3VuaUY1MTYHdW5pRjUxNwd1bmlGNTE4B3VuaUY1MTkHdW5pRjUxQQd1bmlGNTFCB3VuaUY1MUMHdW5pRjUxRAd1bmlGNTFFB3VuaUY1MUYHdW5pRjUyMAd1bmlGNTIxB3VuaUY1MjIHdW5pRjUyMwd1bmlGNTI0B3VuaUY1MjUHdW5pRjUyNgd1bmlGNTI3B3VuaUY1MjgHdW5pRjUyOQd1bmlGNTJBB3VuaUY1MkIHdW5pRjUyQwd1bmlGNTJEB3VuaUY1MkUHdW5pRjUyRgd1bmlGNTMwB3VuaUY1MzEHdW5pRjUzMgd1bmlGNTMzB3VuaUY1MzQHdW5pRjUzNQd1bmlGNTM2B3VuaUY1MzcHdW5pRjUzOAd1bmlGNTM5DWFmaWkxMDA1NS5hbHQNYWZpaTEwMTAzLmFsdAt1bmkwNDkyLmFsdAt1bmkwNDkzLmFsdAt1bmkwNEFBLmFsdAt1bmkwNEFCLmFsdAd1bmlGNTQwB3VuaUY1NDEHdW5pRjU0Mgd1bmlGNTQzB3VuaUY1NDQHdW5pRjU0NQd1bmlGNTQ2B3VuaUY1NDcHdW5pRjU0OAd1bmlGNTQ5B3VuaUY1NEEHdW5pRjU0Qgd1bmlGNTRDB3VuaUY1NEQHdW5pRjYyQwd1bmlGNjJEB3VuaUY2MkUHdW5pRjYyRgd1bmlGNjM0B3VuaUY2MzUNb25lLm51bWVyYXRvcgd1bmlGNkMzB3VuaUY2QzkHdW5pRjZDQQd1bmlGNkNCB3VuaUY2Q0UHdW5pRjZDRgd1bmlGNkQwB3VuaUY2RDEHdW5pRjZENAdjYXJvbi5sBWwudmFyDGZyYWN0aW9uLmFsdAAAAAAAAA8AugADAAEECQAAAGYt8gADAAEECQABAA4t5AADAAEECQACAA4t1gADAAEECQADADQtogADAAEECQAEAA4t5AADAAEECQAFACQtfgADAAEECQAGABwtYgADAAEECQAHAFYtDAADAAEECQAIABgs9AADAAEECQAJAEQssAADAAEECQAKCQojpgADAAEECQALAC4jeAADAAEECQAMAE4jKgADAAEECQANIu4APAADAAEECQAOADwAAABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAXwB3AGUAYgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEAMAAsACAAUABhAHIAYQBUAHkAcABlACAATAB0AGQALgAgACgAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAC8AcAB1AGIAbABpAGMAKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlAHMAIAAiAFAAVAAgAFMAYQBuAHMAIgAsACAAIgBQAFQAIABTAGUAcgBpAGYAIgAgAGEAbgBkACAAIgBQAGEAcgBhAFQAeQBwAGUAIgAuAA0ACgANAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABjAG8AcABpAGUAZAAgAGIAZQBsAG8AdwAsACAAYQBuAGQAIABpAHMAIABhAGwAcwBvACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoAIABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwADQAKAA0ACgAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ADQAKAFMASQBMACAATwBQAEUATgAgAEYATwBOAFQAIABMAEkAQwBFAE4AUwBFACAAVgBlAHIAcwBpAG8AbgAgADEALgAxACAALQAgADIANgAgAEYAZQBiAHIAdQBhAHIAeQAgADIAMAAwADcADQAKAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQANAAoADQAKAFAAUgBFAEEATQBCAEwARQANAAoAVABoAGUAIABnAG8AYQBsAHMAIABvAGYAIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAgACgATwBGAEwAKQAgAGEAcgBlACAAdABvACAAcwB0AGkAbQB1AGwAYQB0AGUAIAB3AG8AcgBsAGQAdwBpAGQAZQAgAGQAZQB2AGUAbABvAHAAbQBlAG4AdAAgAG8AZgAgAGMAbwBsAGwAYQBiAG8AcgBhAHQAaQB2AGUAIABmAG8AbgB0ACAAcAByAG8AagBlAGMAdABzACwAIAB0AG8AIABzAHUAcABwAG8AcgB0ACAAdABoAGUAIABmAG8AbgB0ACAAYwByAGUAYQB0AGkAbwBuACAAZQBmAGYAbwByAHQAcwAgAG8AZgAgAGEAYwBhAGQAZQBtAGkAYwAgAGEAbgBkACAAbABpAG4AZwB1AGkAcwB0AGkAYwAgAGMAbwBtAG0AdQBuAGkAdABpAGUAcwAsACAAYQBuAGQAIAB0AG8AIABwAHIAbwB2AGkAZABlACAAYQAgAGYAcgBlAGUAIABhAG4AZAAgAG8AcABlAG4AIABmAHIAYQBtAGUAdwBvAHIAawAgAGkAbgAgAHcAaABpAGMAaAAgAGYAbwBuAHQAcwAgAG0AYQB5ACAAYgBlACAAcwBoAGEAcgBlAGQAIABhAG4AZAAgAGkAbQBwAHIAbwB2AGUAZAAgAGkAbgAgAHAAYQByAHQAbgBlAHIAcwBoAGkAcAAgAHcAaQB0AGgAIABvAHQAaABlAHIAcwAuAA0ACgANAAoAVABoAGUAIABPAEYATAAgAGEAbABsAG8AdwBzACAAdABoAGUAIABsAGkAYwBlAG4AcwBlAGQAIABmAG8AbgB0AHMAIAB0AG8AIABiAGUAIAB1AHMAZQBkACwAIABzAHQAdQBkAGkAZQBkACwAIABtAG8AZABpAGYAaQBlAGQAIABhAG4AZAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABmAHIAZQBlAGwAeQAgAGEAcwAgAGwAbwBuAGcAIABhAHMAIAB0AGgAZQB5ACAAYQByAGUAIABuAG8AdAAgAHMAbwBsAGQAIABiAHkAIAB0AGgAZQBtAHMAZQBsAHYAZQBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAsACAAaQBuAGMAbAB1AGQAaQBuAGcAIABhAG4AeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIAB3AG8AcgBrAHMALAAgAGMAYQBuACAAYgBlACAAYgB1AG4AZABsAGUAZAAsACAAZQBtAGIAZQBkAGQAZQBkACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAYQBuAGQALwBvAHIAIABzAG8AbABkACAAdwBpAHQAaAAgAGEAbgB5ACAAcwBvAGYAdAB3AGEAcgBlACAAcAByAG8AdgBpAGQAZQBkACAAdABoAGEAdAAgAGEAbgB5ACAAcgBlAHMAZQByAHYAZQBkACAAbgBhAG0AZQBzACAAYQByAGUAIABuAG8AdAAgAHUAcwBlAGQAIABiAHkAIABkAGUAcgBpAHYAYQB0AGkAdgBlACAAdwBvAHIAawBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAgAGEAbgBkACAAZABlAHIAaQB2AGEAdABpAHYAZQBzACwAIABoAG8AdwBlAHYAZQByACwAIABjAGEAbgBuAG8AdAAgAGIAZQAgAHIAZQBsAGUAYQBzAGUAZAAgAHUAbgBkAGUAcgAgAGEAbgB5ACAAbwB0AGgAZQByACAAdAB5AHAAZQAgAG8AZgAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlACAAcgBlAHEAdQBpAHIAZQBtAGUAbgB0ACAAZgBvAHIAIABmAG8AbgB0AHMAIAB0AG8AIAByAGUAbQBhAGkAbgAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAZABvAGUAcwAgAG4AbwB0ACAAYQBwAHAAbAB5ACAAdABvACAAYQBuAHkAIABkAG8AYwB1AG0AZQBuAHQAIABjAHIAZQBhAHQAZQBkACAAdQBzAGkAbgBnACAAdABoAGUAIABmAG8AbgB0AHMAIABvAHIAIAB0AGgAZQBpAHIAIABkAGUAcgBpAHYAYQB0AGkAdgBlAHMALgANAAoADQAKAEQARQBGAEkATgBJAFQASQBPAE4AUwANAAoAIgBGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAHQAaABlACAAcwBlAHQAIABvAGYAIABmAGkAbABlAHMAIAByAGUAbABlAGEAcwBlAGQAIABiAHkAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIAB1AG4AZABlAHIAIAB0AGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAbgBkACAAYwBsAGUAYQByAGwAeQAgAG0AYQByAGsAZQBkACAAYQBzACAAcwB1AGMAaAAuACAAVABoAGkAcwAgAG0AYQB5ACAAaQBuAGMAbAB1AGQAZQAgAHMAbwB1AHIAYwBlACAAZgBpAGwAZQBzACwAIABiAHUAaQBsAGQAIABzAGMAcgBpAHAAdABzACAAYQBuAGQAIABkAG8AYwB1AG0AZQBuAHQAYQB0AGkAbwBuAC4ADQAKAA0ACgAiAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAbgBhAG0AZQBzACAAcwBwAGUAYwBpAGYAaQBlAGQAIABhAHMAIABzAHUAYwBoACAAYQBmAHQAZQByACAAdABoAGUAIABjAG8AcAB5AHIAaQBnAGgAdAAgAHMAdABhAHQAZQBtAGUAbgB0ACgAcwApAC4ADQAKAA0ACgAiAE8AcgBpAGcAaQBuAGEAbAAgAFYAZQByAHMAaQBvAG4AIgAgAHIAZQBmAGUAcgBzACAAdABvACAAdABoAGUAIABjAG8AbABsAGUAYwB0AGkAbwBuACAAbwBmACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGMAbwBtAHAAbwBuAGUAbgB0AHMAIABhAHMAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABiAHkAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkALgANAAoADQAKACIATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAiACAAcgBlAGYAZQByAHMAIAB0AG8AIABhAG4AeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIABtAGEAZABlACAAYgB5ACAAYQBkAGQAaQBuAGcAIAB0AG8ALAAgAGQAZQBsAGUAdABpAG4AZwAsACAAbwByACAAcwB1AGIAcwB0AGkAdAB1AHQAaQBuAGcAIAAtAC0AIABpAG4AIABwAGEAcgB0ACAAbwByACAAaQBuACAAdwBoAG8AbABlACAALQAtACAAYQBuAHkAIABvAGYAIAB0AGgAZQAgAGMAbwBtAHAAbwBuAGUAbgB0AHMAIABvAGYAIAB0AGgAZQAgAE8AcgBpAGcAaQBuAGEAbAAgAFYAZQByAHMAaQBvAG4ALAAgAGIAeQAgAGMAaABhAG4AZwBpAG4AZwAgAGYAbwByAG0AYQB0AHMAIABvAHIAIABiAHkAIABwAG8AcgB0AGkAbgBnACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAdABvACAAYQAgAG4AZQB3ACAAZQBuAHYAaQByAG8AbgBtAGUAbgB0AC4ADQAKAA0ACgAiAEEAdQB0AGgAbwByACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAZABlAHMAaQBnAG4AZQByACwAIABlAG4AZwBpAG4AZQBlAHIALAAgAHAAcgBvAGcAcgBhAG0AbQBlAHIALAAgAHQAZQBjAGgAbgBpAGMAYQBsACAAdwByAGkAdABlAHIAIABvAHIAIABvAHQAaABlAHIAIABwAGUAcgBzAG8AbgAgAHcAaABvACAAYwBvAG4AdAByAGkAYgB1AHQAZQBkACAAdABvACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlAC4ADQAKAA0ACgBQAEUAUgBNAEkAUwBTAEkATwBOACAAJgAgAEMATwBOAEQASQBUAEkATwBOAFMADQAKAFAAZQByAG0AaQBzAHMAaQBvAG4AIABpAHMAIABoAGUAcgBlAGIAeQAgAGcAcgBhAG4AdABlAGQALAAgAGYAcgBlAGUAIABvAGYAIABjAGgAYQByAGcAZQAsACAAdABvACAAYQBuAHkAIABwAGUAcgBzAG8AbgAgAG8AYgB0AGEAaQBuAGkAbgBnACAAYQAgAGMAbwBwAHkAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAHQAbwAgAHUAcwBlACwAIABzAHQAdQBkAHkALAAgAGMAbwBwAHkALAAgAG0AZQByAGcAZQAsACAAZQBtAGIAZQBkACwAIABtAG8AZABpAGYAeQAsACAAcgBlAGQAaQBzAHQAcgBpAGIAdQB0AGUALAAgAGEAbgBkACAAcwBlAGwAbAAgAG0AbwBkAGkAZgBpAGUAZAAgAGEAbgBkACAAdQBuAG0AbwBkAGkAZgBpAGUAZAAgAGMAbwBwAGkAZQBzACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACwAIABzAHUAYgBqAGUAYwB0ACAAdABvACAAdABoAGUAIABmAG8AbABsAG8AdwBpAG4AZwAgAGMAbwBuAGQAaQB0AGkAbwBuAHMAOgANAAoADQAKADEAKQAgAE4AZQBpAHQAaABlAHIAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABuAG8AcgAgAGEAbgB5ACAAbwBmACAAaQB0AHMAIABpAG4AZABpAHYAaQBkAHUAYQBsACAAYwBvAG0AcABvAG4AZQBuAHQAcwAsACAAaQBuACAATwByAGkAZwBpAG4AYQBsACAAbwByACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgBzACwAIABtAGEAeQAgAGIAZQAgAHMAbwBsAGQAIABiAHkAIABpAHQAcwBlAGwAZgAuAA0ACgANAAoAMgApACAATwByAGkAZwBpAG4AYQBsACAAbwByACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgBzACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAbQBhAHkAIABiAGUAIABiAHUAbgBkAGwAZQBkACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAYQBuAGQALwBvAHIAIABzAG8AbABkACAAdwBpAHQAaAAgAGEAbgB5ACAAcwBvAGYAdAB3AGEAcgBlACwAIABwAHIAbwB2AGkAZABlAGQAIAB0AGgAYQB0ACAAZQBhAGMAaAAgAGMAbwBwAHkAIABjAG8AbgB0AGEAaQBuAHMAIAB0AGgAZQAgAGEAYgBvAHYAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAbgBvAHQAaQBjAGUAIABhAG4AZAAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlAC4AIABUAGgAZQBzAGUAIABjAGEAbgAgAGIAZQAgAGkAbgBjAGwAdQBkAGUAZAAgAGUAaQB0AGgAZQByACAAYQBzACAAcwB0AGEAbgBkAC0AYQBsAG8AbgBlACAAdABlAHgAdAAgAGYAaQBsAGUAcwAsACAAaAB1AG0AYQBuAC0AcgBlAGEAZABhAGIAbABlACAAaABlAGEAZABlAHIAcwAgAG8AcgAgAGkAbgAgAHQAaABlACAAYQBwAHAAcgBvAHAAcgBpAGEAdABlACAAbQBhAGMAaABpAG4AZQAtAHIAZQBhAGQAYQBiAGwAZQAgAG0AZQB0AGEAZABhAHQAYQAgAGYAaQBlAGwAZABzACAAdwBpAHQAaABpAG4AIAB0AGUAeAB0ACAAbwByACAAYgBpAG4AYQByAHkAIABmAGkAbABlAHMAIABhAHMAIABsAG8AbgBnACAAYQBzACAAdABoAG8AcwBlACAAZgBpAGUAbABkAHMAIABjAGEAbgAgAGIAZQAgAGUAYQBzAGkAbAB5ACAAdgBpAGUAdwBlAGQAIABiAHkAIAB0AGgAZQAgAHUAcwBlAHIALgANAAoADQAKADMAKQAgAE4AbwAgAE0AbwBkAGkAZgBpAGUAZAAgAFYAZQByAHMAaQBvAG4AIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABtAGEAeQAgAHUAcwBlACAAdABoAGUAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAoAHMAKQAgAHUAbgBsAGUAcwBzACAAZQB4AHAAbABpAGMAaQB0ACAAdwByAGkAdAB0AGUAbgAgAHAAZQByAG0AaQBzAHMAaQBvAG4AIABpAHMAIABnAHIAYQBuAHQAZQBkACAAYgB5ACAAdABoAGUAIABjAG8AcgByAGUAcwBwAG8AbgBkAGkAbgBnACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAuACAAVABoAGkAcwAgAHIAZQBzAHQAcgBpAGMAdABpAG8AbgAgAG8AbgBsAHkAIABhAHAAcABsAGkAZQBzACAAdABvACAAdABoAGUAIABwAHIAaQBtAGEAcgB5ACAAZgBvAG4AdAAgAG4AYQBtAGUAIABhAHMAIABwAHIAZQBzAGUAbgB0AGUAZAAgAHQAbwAgAHQAaABlACAAdQBzAGUAcgBzAC4ADQAKAA0ACgA0ACkAIABUAGgAZQAgAG4AYQBtAGUAKABzACkAIABvAGYAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIABvAHIAIAB0AGgAZQAgAEEAdQB0AGgAbwByACgAcwApACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAcwBoAGEAbABsACAAbgBvAHQAIABiAGUAIAB1AHMAZQBkACAAdABvACAAcAByAG8AbQBvAHQAZQAsACAAZQBuAGQAbwByAHMAZQAgAG8AcgAgAGEAZAB2AGUAcgB0AGkAcwBlACAAYQBuAHkAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACwAIABlAHgAYwBlAHAAdAAgAHQAbwAgAGEAYwBrAG4AbwB3AGwAZQBkAGcAZQAgAHQAaABlACAAYwBvAG4AdAByAGkAYgB1AHQAaQBvAG4AKABzACkAIABvAGYAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIABhAG4AZAAgAHQAaABlACAAQQB1AHQAaABvAHIAKABzACkAIABvAHIAIAB3AGkAdABoACAAdABoAGUAaQByACAAZQB4AHAAbABpAGMAaQB0ACAAdwByAGkAdAB0AGUAbgANAAoAcABlAHIAbQBpAHMAcwBpAG8AbgAuACAADQAKAA0ACgA1ACkAIABUAGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAG0AbwBkAGkAZgBpAGUAZAAgAG8AcgAgAHUAbgBtAG8AZABpAGYAaQBlAGQALAAgAGkAbgAgAHAAYQByAHQAIABvAHIAIABpAG4AIAB3AGgAbwBsAGUALAAgAG0AdQBzAHQAIABiAGUAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABlAG4AdABpAHIAZQBsAHkAIAB1AG4AZABlAHIAIAB0AGgAaQBzACAAbABpAGMAZQBuAHMAZQAsACAAYQBuAGQAIABtAHUAcwB0ACAAbgBvAHQAIABiAGUAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIAB1AG4AZABlAHIAIABhAG4AeQAgAG8AdABoAGUAcgAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlACAAcgBlAHEAdQBpAHIAZQBtAGUAbgB0ACAAZgBvAHIAIABmAG8AbgB0AHMAIAB0AG8AIAByAGUAbQBhAGkAbgAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAZABvAGUAcwAgAG4AbwB0ACAAYQBwAHAAbAB5ACAAdABvACAAYQBuAHkAIABkAG8AYwB1AG0AZQBuAHQAIABjAHIAZQBhAHQAZQBkACAAdQBzAGkAbgBnACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlAC4ADQAKAA0ACgBUAEUAUgBNAEkATgBBAFQASQBPAE4ADQAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYgBlAGMAbwBtAGUAcwAgAG4AdQBsAGwAIABhAG4AZAAgAHYAbwBpAGQAIABpAGYAIABhAG4AeQAgAG8AZgAgAHQAaABlACAAYQBiAG8AdgBlACAAYwBvAG4AZABpAHQAaQBvAG4AcwAgAGEAcgBlACAAbgBvAHQAIABtAGUAdAAuAA0ACgANAAoARABJAFMAQwBMAEEASQBNAEUAUgANAAoAVABIAEUAIABGAE8ATgBUACAAUwBPAEYAVABXAEEAUgBFACAASQBTACAAUABSAE8AVgBJAEQARQBEACAAIgBBAFMAIABJAFMAIgAsACAAVwBJAFQASABPAFUAVAAgAFcAQQBSAFIAQQBOAFQAWQAgAE8ARgAgAEEATgBZACAASwBJAE4ARAAsACAARQBYAFAAUgBFAFMAUwAgAE8AUgAgAEkATQBQAEwASQBFAEQALAAgAEkATgBDAEwAVQBEAEkATgBHACAAQgBVAFQAIABOAE8AVAAgAEwASQBNAEkAVABFAEQAIABUAE8AIABBAE4AWQAgAFcAQQBSAFIAQQBOAFQASQBFAFMAIABPAEYAIABNAEUAUgBDAEgAQQBOAFQAQQBCAEkATABJAFQAWQAsACAARgBJAFQATgBFAFMAUwAgAEYATwBSACAAQQAgAFAAQQBSAFQASQBDAFUATABBAFIAIABQAFUAUgBQAE8AUwBFACAAQQBOAEQAIABOAE8ATgBJAE4ARgBSAEkATgBHAEUATQBFAE4AVAAgAE8ARgAgAEMATwBQAFkAUgBJAEcASABUACwAIABQAEEAVABFAE4AVAAsACAAVABSAEEARABFAE0AQQBSAEsALAAgAE8AUgAgAE8AVABIAEUAUgAgAFIASQBHAEgAVAAuACAASQBOACAATgBPACAARQBWAEUATgBUACAAUwBIAEEATABMACAAVABIAEUAIABDAE8AUABZAFIASQBHAEgAVAAgAEgATwBMAEQARQBSACAAQgBFACAATABJAEEAQgBMAEUAIABGAE8AUgAgAEEATgBZACAAQwBMAEEASQBNACwAIABEAEEATQBBAEcARQBTACAATwBSACAATwBUAEgARQBSACAATABJAEEAQgBJAEwASQBUAFkALAAgAEkATgBDAEwAVQBEAEkATgBHACAAQQBOAFkAIABHAEUATgBFAFIAQQBMACwAIABTAFAARQBDAEkAQQBMACwAIABJAE4ARABJAFIARQBDAFQALAAgAEkATgBDAEkARABFAE4AVABBAEwALAAgAE8AUgAgAEMATwBOAFMARQBRAFUARQBOAFQASQBBAEwAIABEAEEATQBBAEcARQBTACwAIABXAEgARQBUAEgARQBSACAASQBOACAAQQBOACAAQQBDAFQASQBPAE4AIABPAEYAIABDAE8ATgBUAFIAQQBDAFQALAAgAFQATwBSAFQAIABPAFIAIABPAFQASABFAFIAVwBJAFMARQAsACAAQQBSAEkAUwBJAE4ARwAgAEYAUgBPAE0ALAAgAE8AVQBUACAATwBGACAAVABIAEUAIABVAFMARQAgAE8AUgAgAEkATgBBAEIASQBMAEkAVABZACAAVABPACAAVQBTAEUAIABUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUAIABPAFIAIABGAFIATwBNACAATwBUAEgARQBSACAARABFAEEATABJAE4ARwBTACAASQBOACAAVABIAEUAIABGAE8ATgBUACAAUwBPAEYAVABXAEEAUgBFAC4ADQAKAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBwAGEAcgBhAHQAeQBwAGUALgBjAG8AbQAvAGgAZQBsAHAALwBkAGUAcwBpAGcAbgBlAHIAcwAvAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBwAGEAcgBhAHQAeQBwAGUALgBjAG8AbQBQAFQAIABTAGEAbgBzACAAaQBzACAAYQAgAHQAeQBwAGUAIABmAGEAbQBpAGwAeQAgAG8AZgAgAHUAbgBpAHYAZQByAHMAYQBsACAAdQBzAGUALgAgAEkAdAAgAGMAbwBuAHMAaQBzAHQAcwAgAG8AZgAgADgAIABzAHQAeQBsAGUAcwA6ACAAcgBlAGcAdQBsAGEAcgAgAGEAbgBkACAAYgBvAGwAZAAgAHcAZQBpAGcAaAB0AHMAIAB3AGkAdABoACAAYwBvAHIAcgBlAHMAcABvAG4AZABpAG4AZwAgAGkAdABhAGwAaQBjAHMAIABmAG8AcgBtACAAYQAgAHMAdABhAG4AZABhAHIAZAAgAGMAbwBtAHAAdQB0AGUAcgAgAGYAbwBuAHQAIABmAGEAbQBpAGwAeQA7ACAAdAB3AG8AIABuAGEAcgByAG8AdwAgAHMAdAB5AGwAZQBzACAAKAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACkAIABhAHIAZQAgAGkAbgB0AGUAbgBkAGUAZAAgAGYAbwByACAAZABvAGMAdQBtAGUAbgB0AHMAIAB0AGgAYQB0ACAAcgBlAHEAdQBpAHIAZQAgAHQAaQBnAGgAdAAgAHMAZQB0ADsAIAB0AHcAbwAgAGMAYQBwAHQAaQBvAG4AIABzAHQAeQBsAGUAcwAgACgAcgBlAGcAdQBsAGEAcgAgAGEAbgBkACAAYgBvAGwAZAApACAAYQByAGUAIABmAG8AcgAgAHQAZQB4AHQAcwAgAG8AZgAgAHMAbQBhAGwAbAAgAHAAbwBpAG4AdAAgAHMAaQB6AGUAcwAuACAAVABoAGUAIABkAGUAcwBpAGcAbgAgAGMAbwBtAGIAaQBuAGUAcwAgAHQAcgBhAGQAaQB0AGkAbwBuAGEAbAAgAGMAbwBuAHMAZQByAHYAYQB0AGkAdgBlACAAYQBwAHAAZQBhAHIAYQBuAGMAZQAgAHcAaQB0AGgAIABtAG8AZABlAHIAbgAgAHQAcgBlAG4AZABzACAAbwBmACAAaAB1AG0AYQBuAGkAcwB0AGkAYwAgAHMAYQBuAHMAIABzAGUAcgBpAGYAIABhAG4AZAAgAGMAaABhAHIAYQBjAHQAZQByAGkAegBlAGQAIABiAHkAIABlAG4AaABhAG4AYwBlAGQAIABsAGUAZwBpAGIAaQBsAGkAdAB5AC4AIABUAGgAZQBzAGUAIABmAGUAYQB0AHUAcgBlAHMAIABiAGUAcwBpAGQAZQAgAGMAbwBuAHYAZQBuAHQAaQBvAG4AYQBsACAAdQBzAGUAIABpAG4AIABiAHUAcwBpAG4AZQBzAHMAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4AcwAgAGEAbgBkACAAcAByAGkAbgB0AGUAZAAgAHMAdAB1AGYAZgAgAG0AYQBkAGUAIAB0AGgAZQAgAGYAbwBuAHQAcwAgAHEAdQBpAHQAZQAgAHUAcwBlAGEAYgBsAGUAIABmAG8AcgAgAGQAaQByAGUAYwB0AGkAbwBuACAAYQBuAGQAIABnAHUAaQBkAGUAIABzAGkAZwBuAHMALAAgAHMAYwBoAGUAbQBlAHMALAAgAHMAYwByAGUAZQBuAHMAIABvAGYAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4AIABrAGkAbwBzAGsAcwAgAGEAbgBkACAAbwB0AGgAZQByACAAbwBiAGoAZQBjAHQAcwAgAG8AZgAgAHUAcgBiAGEAbgAgAHYAaQBzAHUAYQBsACAAYwBvAG0AbQB1AG4AaQBjAGEAdABpAG8AbgBzAC4ADQAKAA0ACgBUAGgAZQAgAGYAbwBuAHQAcwAgAG4AZQB4AHQAIAB0AG8AIABzAHQAYQBuAGQAYQByAGQAIABMAGEAdABpAG4AIABhAG4AZAAgAEMAeQByAGkAbABsAGkAYwAgAGMAaABhAHIAYQBjAHQAZQByACAAcwBlAHQAcwAgAGMAbwBuAHQAYQBpAG4AIABzAGkAZwBuAHMAIABvAGYAIAB0AGkAdABsAGUAIABsAGEAbgBnAHUAYQBnAGUAcwAgAG8AZgAgAHQAaABlACAAbgBhAHQAaQBvAG4AYQBsACAAcgBlAHAAdQBiAGwAaQBjAHMAIABvAGYAIABSAHUAcwBzAGkAYQBuACAARgBlAGQAZQByAGEAdABpAG8AbgAgAGEAbgBkACAAcwB1AHAAcABvAHIAdAAgAHQAaABlACAAbQBvAHMAdAAgAG8AZgAgAHQAaABlACAAbABhAG4AZwB1AGEAZwBlAHMAIABvAGYAIABuAGUAaQBnAGgAYgBvAHIAaQBuAGcAIABjAG8AdQBuAHQAcgBpAGUAcwAuACAAVABoAGUAIABmAG8AbgB0AHMAIAB3AGUAcgBlACAAZABlAHYAZQBsAG8AcABlAGQAIABhAG4AZAAgAHIAZQBsAGUAYQBzAGUAZAAgAGIAeQAgAFAAYQByAGEAVAB5AHAAZQAgAGkAbgAgADIAMAAwADkAIAB3AGkAdABoACAAZgBpAG4AYQBuAGMAaQBhAGwAIABzAHUAcABwAG8AcgB0ACAAZgByAG8AbQAgAEYAZQBkAGUAcgBhAGwAIABBAGcAZQBuAGMAeQAgAG8AZgAgAFAAcgBpAG4AdAAgAGEAbgBkACAATQBhAHMAcwAgAEMAbwBtAG0AdQBuAGkAYwBhAHQAaQBvAG4AcwAgAG8AZgAgAFIAdQBzAHMAaQBhAG4AIABGAGUAZABlAHIAYQB0AGkAbwBuAC4AIABEAGUAcwBpAGcAbgAgAC0AIABBAGwAZQB4AGEAbgBkAHIAYQAgAEsAbwByAG8AbABrAG8AdgBhACAAdwBpAHQAaAAgAGEAcwBzAGkAcwB0AGEAbgBjAGUAIABvAGYAIABP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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAA/9IAAAAAAAAAAAAAAAAAAAAA/+kAAAAAAAD/8P/wAAD/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//UAAP/q//X/6f/1AAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAD/6AAAAAAAAAAAAAAAAAAA//X/8AAAAAAAAAAAAAAAEP/yABEAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAD/9AAAAAAAAAAAAAAAAAAAAAAAAP/0//X/6P/wAAD/y//wAAAAAAAAAAD/+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+AAEAAAAAAAAAAAAAAAAAAA//UAAAAAAAD/8AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3AAOAAD/uAAAAAAAAAAAAAAAAAAA//UAAAAHAAb/8//2AAAAAP/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAAAAD/wgAAAAAAAAAAAAAAAAAA//UAAAAGAAD/8f/wAAAAAP/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAA/9IAAAAAAAAAAAAAAAAAAAAA/+gAAP/5AAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAA/9gAAAAAAAAAAAAAAAAAAAAA//AAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7D/8wAA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AAD/8AAAAAAAAAAAAAD/4QAA/8r/sgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+zAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAA/+sAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+r/+gAAAAD/7wAA//UAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/y//wAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//r/+gAAAAD/9AAAAAAAAAAAAAAAAAAA/9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAA/+gAAAAAAAAAAAAA//8AAAAAAAD/8gAA/+kAAAAAAAD/3AAAAAD/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAABQAA//oAAAAAAAAAAAAA/+oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//oAAAAAAAAAAAAAAB4AAAAAAAAAAAAA//kAAAAAAAD/3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/bgAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3AAA/+kAAAAAAAAAAAAA//UAAAAAAAD/2wAA//UAAP/jAAD/6gAA/8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+YAAAAAAAAAAAAA//AAAAAAAAD/8AAA/+MAAAAAAAAAAAAAAAD/xAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBHAADAAUACgALAA0ADwAQABEAGgAk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AC8AHQArAAAAAAAAAAAALAAtABoAKgAAAC0AAAAtAAAALQAAAAAALAAtACwALQAsAC0ALAAtAAAAAAAAAAAAAAAAACwALQAAACoAAAAqAAAAAAAAAAAAAAAAAAAAKgAsAC0AAAAAAAAAAAAAAAAAAAAAACwALQAAAAwAAAAAAAAAAAAGAAAABwAOAAEAAwK0ABUAAAAYAAAAAAAAAAAAGAAaAAAAGwAAABYAFwAWAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAMAAAAAAAAAAAAAAAAACQACAAAAAAADAAQAAwAFAAAABgAAAAcACAAJAAoACwAaAAAAAAAAAAAAAAAAAA8ADAAAAA0ADgAAAAAAAAAAABMAAAAAAAAADwAPAAAAMAAAABAAAAARABIAEwARABQAGgAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAADAAAAAwADAAMAAwADAAAAAwAAAAAAAAAAAAoABAAAAAAAAAAAAAAAAAAAAAAADAANAA0ADQANAAAAAAAAAAAAAAAAAA8ADwAPAA8ADwAAAA8AAAAAAAAAAAARAA8AEQAAAAAAAAAAAAAAAAABAAwAAQAMAAEADAAAAAAAAwAAAAAADQAAAA0AAAANAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJABMAAgAAAAIAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAANAAUAMAAFADAABQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAACgALABQACwAUAAsAFAAAAAAAAAAAAAAAAAAGABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAmACYAAAAlACQAAAAdAAAAAAAeAB8AAAAlAAAAAAAAACUAAAAAAAAAIAAAACEAIgAjACQAIAAlAB8AAAAAAB8AJgAAACYAIAAgAAAAAAAqAAAAKAAAACkALQAAAAAAAAAtAAAAAAAAACoAAAAqACsAKAAsACoALQAAAAAAAAAAAC4AAAAuACoAKgAAACkAAAAoAAAAAAAAAAAAAAAuAC4AAAAtACwAAAAmAC4AIAAqACQALAAfAAAAJgAuACEAKgAeACgAHgAoAAAAAAAlAC0AAAAAACUALQAlAC0AJQAtACUALQAAAAAAHgAoAAAAAAAgACoAIgArACMAKAAkACwAJAAAACUALQAAAAAAHwAAAAAAAAAmAAAAJwApACcAKQAAACUALQAfAAAAAAAAAB8AAAAAAAAAHwAAAAAAHQAAAB0AAAAAACkAAAAAACAAKgAgACoAJQAtAAAAAAAAAC8AAAAAAAAAAAAgACoAIAAqACAAKgAgAAAAJAAsACQALAAkACwAAAAAAB4AKAAAAAAAJQAtAAAAAAAAAAAAJAAsAB8AAAAAAAAACQATAAAAAAAEAA8AAAAXABcAFwAYABgAGQAYABgAGQAAAAAAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAACQALAAgACoAAAAAAAAAAAAdAAAAAAApAAAAKQAAACkAAAAAACAAKgAgACoAIAAqACAAKgAAAAAAIAAqACAAKgAAACkAAAAAAAAAAAAgACoAIAAqAAAAAAAAAAAAIAAqAAAAAAAAAAAAAAAAAAAAAAAiACsAAwAAAAAAAAAAAAAABgAAAAcAEQABAGgABAAAAC8Ipgh8B/IH4AfWB8wHxgXcBSYFEASuAzACzgK4AqICjALOAn4BwAKMAowBtgGgAYoBKALOAs4CzgLOARICjAD8APwA5gKMAowBoAGKAaABigGgAYoBKAKMAOAAygKMAAEALwAlAEQATgBRALEA5QDyARABEQFLAVMBXgFiAWUBaQFtAXMBewF+AX8BggGPAZ0BngGqAa4BsAGyAbQBtQG2AcEBwwHHAcgBygHWAdcB2gHbAd4B3wHuAhQCIgKdAp4ABQFDAB4BTQAeAVQAHgHWAB4CDwAeAAEBiP+mAAUBQwAYAU0AGAFUABgB1gAYAg8AGAAFATz/+QFF//kBW//5Ab//+QHH//kABQFDABcBTQAXAVQAFwHWABcCDwAXABgBbv/6AXf/+gF6//oBff/6AYn/+gGM//oBmv/6Abz/+gG+//oB6P/6Afj/+gH6//oB/P/6Anr/+gJ+//oCgP/6AoL/+gKG//oCiP/6Aor/+gKM//oClP/6AqL/+gKs//oABQFtACgBdAAoAZEAKAHXACgCEAAoAAUBQwAkAU0AJAFUACQB1gAkAg8AJAACAHAAGwJQABsALwAD/+UAEP/VAGL/5QBv/9UBbf/6AW7/6gF0//oBd//qAXr/6gF8//UBff/qAYn/6gGM/+oBkf/6AZX/9QGa/+oBnP/1Abz/6gG+/+oBwv/1AdD/3AHS/9wB1//6Aej/6gH4/+oB+v/qAfz/6gIA//UCAv/1AgT/9QIQ//oCEv/1Ah7/1QIf/9UCIP/VAnT/9QJ6/+oCfv/qAoD/6gKC/+oChv/qAoj/6gKK/+oCjP/qApT/6gKi/+oCrP/qAAMADAAQAEAAEABgABAABQFtAB4BdAAeAZEAHgHXAB4CEAAeAAUBPP+TAUX/kwFb/5MBv/+TAcf/kwAFATz/sAFF/7ABW/+wAb//sAHH/7AAGAFu//UBd//1AXr/9QF9//UBif/1AYz/9QGa//UBvP/1Ab7/9QHo//UB+P/1Afr/9QH8//UCev/1An7/9QKA//UCgv/1Aob/9QKI//UCiv/1Aoz/9QKU//UCov/1Aqz/9QBfAAP/5QAQ/7gAYv/lAG//uAE8/+UBPv/lAUX/5QFH/+oBSf/wAVf/5QFa/+UBW//lAVz/6gFd/+UBbf/qAW7/1QF0/+oBd//VAXr/1QF7/98BfP/PAX3/1QGD/98Bif/VAYz/1QGR/+oBlf/PAZn/5QGa/9UBm//qAZz/zwGg/98BtP/fAbv/5QG8/9UBvf/lAb7/1QG//+UBwP/fAcH/6gHC/88Bw//qAcf/5QHI/98Bz/+8AdD/uAHR/7wB0v+4Adf/6gHh//AB4//wAeX/qQHo/9UB6f/fAev/3wH3/+UB+P/VAfn/5QH6/9UB+//lAfz/1QH//+oCAP/PAgH/6gIC/88CA//qAgT/zwIQ/+oCEf/qAhL/zwIe/7gCH/+4AiD/uAJz/+oCdP/PAnn/5QJ6/9UCe//wAn7/1QKA/9UCgv/VAoX/5QKG/9UCh//lAoj/1QKJ/+UCiv/VAov/5QKM/9UCk//lApT/1QKh/+UCov/VAqv/5QKs/9UAGAFu/78Bd/+/AXr/vwF9/78Bif+/AYz/vwGa/78BvP+/Ab7/vwHo/78B+P+/Afr/vwH8/78Cev+/An7/vwKA/78Cgv+/Aob/vwKI/78Civ+/Aoz/vwKU/78Cov+/Aqz/vwAFATz/5QFF/+UBW//lAb//5QHH/+UALQAPABAAEP/gABEAEABG//UASP/1AEr/9QBS//UAVP/1AFv/8ABv/+AAqf/1AKr/9QCr//UArP/1AK3/9QCy//UAtP/1ALX/9QC2//UAt//1ALj/9QC6//UAyf/1AMv/9QDN//UAz//1ANH/9QDT//UA1f/1ANf/9QDZ//UA2//1AN3/9QDf//UA/f/1AP//9QEB//UBKP/1Ah7/4AIf/+ACIP/gAiMAEAImABACKgAQAq7/9QB6AAP/2AAMABsAD/+aABD/rAAR/5oAJP+9ACb/0AAq/9AAMv/QADT/0AA3ABQAO//fADz/9AA9/+gAQAAbAET/lwBG/4AASP+AAEr/gABQ/5cAUf+XAFL/gABT/5cAVP+AAFX/lwBW/5cAV//DAFj/lwBZ/4AAWv+AAFv/gABc/4AAXf+AAGAAGwBi/9gAb/+sAIL/vQCD/70AhP+9AIX/vQCG/70Ah/+9AIj/igCJ/9AAlP/QAJX/0ACW/9AAl//QAJj/0ACa/9AAn//0AKL/swCj/7MApP+zAKX/swCm/7MAp/+zAKj/lwCp/4AArv+zAK//swCy/4AAs/+zALr/gAC7/7MAvP+zAL3/swC+/7MAwv+9AMP/swDE/70Axf+zAMb/vQDH/5cAyP/QAMn/gADK/9AAzP/QAM//gADR/4AA1/+AANr/0ADc/9AA3v/QAN//gAD3/7MA+f+XAPv/swD8/9AA/v/QAQD/0AEB/4ABA/+zAQX/lwEJ/7MBC/+zAQ3/lwESABQBE//DARX/swEX/7MBGf+zARv/swEd/5cBHv/0AR//6AEh/+gBI//oASf/0AEo/4ABKv+XASsAFAEs/8MCHv+sAh//rAIg/6wCI/+ZAib/mQIq/5oCrv+AArMAFAK2/4AAAQAN/5IAAgBwABYCUAAWAAIAcAAeAlAAHgAEADf/gQES/4EBK/+BArP/gQAiAEb/9ABI//QASv/0AFL/9ABU//QAqf/0AKr/9ACr//QArP/0AK3/9ACy//QAtP/0ALX/9AC2//QAt//0ALj/9AC6//QAyf/0AMv/9ADN//QAz//0ANH/9ADT//QA1f/0ANf/9ADZ//QA2//0AN3/9ADf//QA/f/0AP//9AEB//QBKP/0Aq7/9AAKAAX/+AAK//gAN/+IARL/iAEr/4gCIf/4AiL/+AIk//gCJf/4ArP/iAAEADf/4gES/+IBK//iArP/4gABAe4ABAAAAPIHtgewB7AHqgekB5IHpAeMB4YHfAekB3IHbAdiB1gHbAdSB2wHSAbKBpwGhgdiBjgGLgeqBigGIgYcBf4F+AYiBiIF8geqB7YHkgd8B3wHfAd8B3wHfAdyB2wHbAdsB2wHbAdsB2wGOAdSBhwGIgYiBiIGIgYiBiIGIgd8B3wHfAdyBhwHcgYcB3IGHAdsB2IHWAdYB1gHWAdsB2wHSAXyB0gF8gdIBfIGygbKBjgGLgYuBi4GygVwBWIFYgUMBQIFcAT8BO4E4ATSBEQFDATuBDYE/AT8BWIFYgTuBO4EMAQqBCQEHgQwBCoEGAQwBBgEMAQSBAgEAgQwBBID/AP8BDAEMAQwBCQD/AP8BAIFYgP8BO4EMAUMBAIE/AViA/wE4AQwBXAEJAVwBCQFcAQkBO4EMATSBBIERAQkBQwEAgUMBPwFYgPuBDAD7gQwBPwE/AT8BQIFAgQwBO4EMATuBDAEEgTuBDAE7gQwBO4EMATuBQwEAgUMBAIFDAQCBXAEJAUMBAIE/AdiB1IGIgeSB5IHkgewA+AD1gewB7AD1gekBiIFDAQCBO4EMAUCBDAEMAQwBO4EMATuBDAE7gQwBO4EMATuBDAE7gQwBDAE7gQwBO4EMATuBDAE0gQSB2wGygacAAEA8gADAAUACgALAA8AEAARABoAHQAkACUAJgAnAC4ALwAyADMANAA1ADcAOQA6ADsAPAA9AD4ARABFAEYASQBRAFIAUwBVAF4AYgBvAIIAgwCEAIUAhgCHAIkAkgCUAJUAlgCXAJgAmgCfAKAAqQC0ALUAtgC3ALgAugDAAMIAxADGAMgAyQDKAMsAzADNANAA7ADuAPAA8gD0APwA/gECAQMBBAEFAQYBBwEQARIBHgEfASEBIwErAT0BQwFEAUcBSQFMAU0BVwFZAVoBWwFcAV0BXgFfAWIBYwFlAWYBZwFqAWsBbAFtAW4BcAF1AXcBeAF5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AhMCFQIXAhkCGwIdAl8CawJtAm8CcQJzAnUCdwJ5AnsCfQJ/AoECgwKFAocCiQKLAo0CjwKRApMClQKXApkCmwKdAp8CoQKjAqUCpwKpAqsCrQKvArECswK1ArcCuQAAAAAALwAAAtQJCgcAAgIDAwUFBwcCAwMEBQIDAgMFBQUFBQUFBQUFAgIFBQUECgYFBQYFBQYGAwMFBQcGBgUGBQUFBgYHBgUFAwMDBQQDBAUEBQUDBQUCAgQDBwUFBQUDBAMFBAcEBAQDAgMFAgMFBQUFAgQEBwMFBQMGBAQFBAQCBQUCAwQEBQgICAQGBgYGBgYIBQUFBQUDAwMDBgYGBgYGBgUGBgYGBgUFBQQEBAQEBAcEBQUFBQICAgIFBQUFBQUFBQUFBQUFBAUEBgQGBAYEBQQFBAUEBgUGBQUFBQUFBQUFBgUGBQYFBgUGBQMCAwIDAgMCBQQFAwUDBQMFAwYFBgUGBQYFBgUICAUDBQMFAwUEBQQFBAUEBQMFAwYFBgUGBQYFBgUFBQQFBAUEAwUGBQUEBQMCAgMEBAIDAwQDAAUHBgUHBAUFAwMDCAkHBQUGBgUFBAYFCAUGBgUGBwYGBgUFBQUHBgYFCAgGBwUFCAUEBQQDBQUGBAUFBAUGBQUFBQQEBAYEBQQGBwQGBAQHBAUFAwQEAgMCBwcFBAQFBgQGBQUFBgUGBAUFBAMEAwUFBwYFBAYFBgUGBAYFBgUIBgkIBwYFBAUEBQQFBAYFCAYGBQYFBQUHBgcGAwUEBgUGBQYFBQQHBgIGBAYECAcFBQYFBgUIBgUEBQQGBQYFBgUGBQYFBQQFBAUEBQQFBAQDBwYGBAUEBgUHBwYFBgUFBAcHBQUGAwYHAgICAwMDBAQEBwoDAwIEBAQEBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkIBQUGBQUFBQgDBQUFBQUGBQAEAwQCAgIDBAMFBQUDBQUFBAUEBQQFBAUEBgQFBQUFBQUFBAYFBgUGBQYFBwYFBAUEBQQFBAUECAcIBwYFBgUGBQcGBQQDAgUEBQQGBQYFBQMFAwYEBQQFBAICBAQCBAQCAwQEAwQEBAQFBgICAgAACgsIAAMDAwMFBQgIAgMDBAUCBAIEBQUFBQUFBQUFBQIDBQUFBAsGBgYHBQUGBwMDBgUIBwcFBwYFBQcGCAYFBQMEAwUEAwQFBAUFAwUFAgMFAwgFBQUFAwQDBQUHBQUEAwIDBQMDBQUFBQIFBAgEBQUEBwQEBQQEAwYFAwMEBAUICQkEBgYGBgYGCAYFBQUFAwMDAwcHBwcHBwcFBwcHBwcFBgYEBAQEBAQIBAUFBQUCAgICBQUFBQUFBQUFBQUFBQUFBQYEBgQGBAYEBgQGBAcGBwUFBQUFBQUFBQYFBgUGBQcFBwUDAgMCAwIDAwYFBQMFAwUDBQMHBQcFBwUHBQcFCQgGAwYDBgMFBAUEBQQFBAUDBQMHBQcFBwUHBQcFBQUEBQQFBAIFBgUFBAUDAwIEBAQCAwMEBAAGCAcFBwQGBQMDAwkKCAYFBwYGBgQHBQgFBwcGBwgHBwcFBgUFCAYHBgkJBggGBgkGBAUFBAYFBgQFBQUFBgUFBQUEBAUGBQUFBwcFBgQEBwUFBQQFBAIDAwcIBQUFBQYFBwUFBQcGBgUGBQQEBQQGBQgHBQQGBQcFBgUHBQcFCAcKCAgHBgQFBAUFBgUGBQgGBgUGBQYFCAYIBgMGBQYFBwUHBgYFCAcCBgQGBAgIBQUGBQYFCAYFBAYFBwUHBQcFBwUHBQYEBQUFBQUFBgUEBAgGBgUFBAYFCAcHBgYGBgUICAUFBwQHCAICAgMDAwUFBQgLAwMCBAQEBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUKCQYFBwUFBQUJBAUFBQUFBwYABQMEAgICAwQDBgUFAwYFBgUFBQYEBQQGBAYEBQUFBQUFBQQHBQcFBwUHBQgGBgQGBAYFBgUGBQkHCQcHBgcFBwUIBgUEAwIFBAYEBwUHBQUDBQMGBQUEBQQCAgMEAgQEAgQEBAQEBAUEBQYCAgIAAAsNCAADAwMEBgYJCQIDAwQGAgQCBAYGBgYGBgYGBgYCAwYGBgUMBgYGBwYGBwcDAwcGCQcIBggHBgYHBgkHBgYDBAMGBAMGBgUGBgQGBgMDBQMJBgYGBgQFAwYFCAUFBQQDBAYDAwYGBgYDBQUJBAUGBAgFBQYEBAMGBQMDBAQFCQkKBQYGBgYGBgkGBgYGBgMDAwMHBwgICAgIBggHBwcHBgYHBgYGBgYGCQUGBgYGAwMDAwYGBgYGBgYGBgYGBgYFBgUGBgYGBgYGBQYFBgUHBgcGBgYGBgYGBgYHBgcGBwYHBgcGAwMDAwMDAwMHBQYDBgMGAwUDBwYHBgcGCAYIBgoJBwQHBAcEBgUGBQYFBgUGAwYDBwYHBgcGBwYHBgYGBQYFBgUDBgcGBgUGAwMCBAQFAwMDBAQABgkHBggFBgYDAwMKCggHBgcGBgYFBwYJBgcHBwcJBwgHBgYGBgkHCAcKCgcIBgYKBgYGBQQGBgcFBgYFBgcGBgYGBQQFBwUGBQgIBQcFBQgFBgYEBQUDAwMICAYFBQYHBQgGBwYHBgcFBgYFBAUEBgYJCAYFBwYIBgcFCAYIBgkHCwkJCAYFBgQGBQYFBwUJBgcGBwYHBgkHCQcDBwYHBgcGBwYHBgkHAwYGBgYJCQYGBwYHBgkHBgUGBQcGBwYIBggGCAYGBQYFBgUGBQcFBQQIBwcFBgUHBgkICAYHBgcFCQkGBgcEBwkCAgIEBAQFBQUIDQMDAgQEBAQGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCwoHBgcGBgYGCQQGBgYGBggGAAUDBQMCAwQFAwYGBgQHBgcGBgUGBQYFBgUGBgYGBgYGBgYFCAYIBggGCAYIBwYFBgUGBQYFBgUKCAoIBwYHBggGCAcGBQMDBgUGBQcGBwYGAwYDBgUGBQYFAgIEBAIEBAMEBQUEBQUFBQYGAgMCAAAMDgkAAwMEBAcHCQoDAwMEBgMEAwQHBwcHBwcHBwcHAwMGBgYFDQcHBwgGBgcIAwMHBgkICAcIBwcHCAcKBwcHAwUEBgUDBQYFBgYEBgYDAwUECgYGBgYEBQQGBgkGBgUEAwQGAwQHBwcHAwYFCgUGBgQIBQUGBQUDBwYDAwUFBgoKCwUHBwcHBwcKBwYGBgYDAwMDCAgICAgICAYICAgICAcHBwUFBQUFBQkFBgYGBgMDAwMHBgYGBgYGBgYGBgYGBgYGBwUHBQcFBwUHBQcFCAcIBgYGBgYGBgYGBwYHBgcGCAYIBgMDAwMDAwMDBwUGBAYEBgQGBAgGCAYIBggGCAYLCgcEBwQHBAcFBwUHBQcFBwQHBAgGCAYIBggGCAYHBwUHBQcFAwcHBgcFBwQDAgUFBQMEBAUFAAcKCAYJBQcHAwQDCwwJBwcIBwcHBQcGCQYICAcHCQgICAcHBwcJBwgHCwsICQcHCwcFBgUEBwYIBQYGBgYHBgYGBgUFBggGBwYICQUHBQUIBQYGBAYFAwMDCQkGBgYGBwUIBgcGCAcHBQcGBQQGBQcGCggGBQcGCAYIBQgGCAcKCAwKCgcHBQcFBwYHBggGCggIBwcGBwYJBwkHAwcGBwcIBggHBwYJCAMHBQcFCgkGBggGCAYJCAYFBwYIBggGCAYIBggGBwUHBgcGBwYHBgUECQcHBgYFCAYKCQgHBwcHBQkKBwYIBAgKAgICBAQEBgYFCQ4EBAIFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBgwLBwYIBgYGBgoEBgYGBgYIBwAGAwUDAgMEBQQHBgYEBwYHBgcGBwUGBQcFBwUGBgYGBgYGBQgGCAYIBggGCQcHBQcFBwYHBQcFCwgLCAgGCAYIBgkHBgUDAwYFBwUIBwgGBgQHBAcGBgUGBQICBAQDBAUDBAUFBAUFBQUGBwIDAgAADQ8KAAMDBAQHBwoLAwQEBQcDBQMFBwcHBwcHBwcHBwMDBwcHBg4HCAcJBwcICAMDBwYKCAkHCQcHBwgHCwcHBwQFBAcFBAYHBgcHBAcHAwMGBAsHBwcHBAUEBwYKBwYGBQMFBwMEBwcHBwMGBQoFBgcFCQUGBwUFAwcGAwQFBQYLCwsGBwcHBwcICwcHBwcHAwMDAwkICQkJCQkHCQgICAgHBwgGBgYGBgYKBgcHBwcDAwMDBwcHBwcHBwcHBwcHBwYHBgcGBwYIBgcGBwYHBgkICQcHBwcHBwcHBwgHCAcIBwgHCQcDAwMDAwMDAwcGBgQGBAYEBwQIBwgHCAcJBwkHDAsHBAcEBwQHBQcFBwUHBQcEBwQIBwgHCAcIBwgHBwcGBwYHBgMHCAcHBQcEAwMFBQYDBAQFBQAHCgkHCQYIBwMEAwwMCgcHCAcHCAYJBwsHCAgHCAoICQgHBwcHCgcJCAsMCAoHCAwHBgcGBQcHCQYHBwYGCAcHBwcGBQYJBwcHCQkGCQYGCQYHBwUGBQMDAwoKBwYGBwgGCQcHBwgHCAYHBwYFBgUIBwsJBwYIBwkHCQYJBwkHCwkNCwsJBwYHBQcGBwYIBwsICAcIBwgHCggKCAMIBggHCAcJBwgGCggDBwYHBgsKBwcIBwgHCwkHBgcGCAcIBwkHCQcJBwgGBwYHBgcGCAcGBQoJCAcHBggHCwoJBwgIBwYKCwcHCQUJCwMDAwQEBAYGBgoPBAQCBQUFBQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcNDAgHCQcHBwcLBQcHBwcHCQgABgQGAwMDBAYECAcHBAgHCAcHBggGBwYHBgcGBwcHBwcHBwYJBwkHCQcJBwoJCAYIBggGBwYHBgwJDAkJBwgHCQcKCQcGAwMHBQcGCQcIBwYEBwQHBgcGBwYDAwQEAwQFAwUGBQUGBgYGBwgCAwIAAA4QCwAEBAQFCAgLCwMEBAUHAwUDBQgICAgICAgICAgDBAcHBwYPCAgICQgHCQkDBAkHCwkKCAoIBwgJCAwJBwgEBQQHBgQHCAYHBwQICAQEBwQLCAgICAUGBQgHCgcHBgUDBQcEBAgICAgDBwYLBQcHBQoGBgcGBgQIBwQEBgYHDAwMBggICAgICAwICAgICAMDAwMJCQoKCgoKBwoJCQkJBwgJBwcHBwcHCwYHBwcHBAQEBAgICAgICAgHCAgICAgHCAcIBwgHCAcIBggGCAYJCAkICAcIBwgHCAcJCAkICQgJCAkIAwQDBAMEBAQJBwcEBwQHBAcECQgJCAkICggKCA0MCAUIBQgFBwYHBgcGBwYIBQgFCQgJCAkICQgJCAcIBggGCAYDCAkIBwYIBQQDBQYGAwQEBgUACAsJCAoGCAcDBAQNDgsJCAkICAgGCQgLCAkJCQgLCQoJCAgICAsJCggMDQkKCAgNCAcIBwUIBwkGBwcHBwkHCAcIBgYHCQcIBwsLBwkHBwoHBwgFBwYEBAQKCwgHBwcJBwoICAcKBwkHCAgGBQcFCAcLCggGCQcKCAkHCgcKCAwJDgwLCQgGBwYHBwcHCQcMCQkHCQcICAsICwgDCAcJBwkHCgcIBwsJBAgHCAcMCwgHCQcJBwsJCAYIBwkHCQcKCAoICggIBwgHCAcIBwgHBgUKCQkHCAYJBwwKCggJCAkHCwsICAkFCQsDAwMFBQUHBwYLEAQEAwYGBgYICAgICAgICAgICAgICAgICAgICAgICAgICAgHDgwIBwkHBwcHDAUHBwcHBwoIAAcEBgMDAwUGBAgIBwQICAgHCAcIBwgGCAYIBwgHCAcIBwgGCggKCAoICggKCQgHCAcIBwgHCAcNCg0KCQcJBwoICgkIBgMEBwYIBgkICQgHBAgFCAcIBggGAwMFBQMFBgMFBgYFBgYGBggIAwQDAAAPEQsABAQFBQgIDAwDBAQFCAMFAwUICAgICAgICAgIAwQICAgHEAkJCQoICAkKBAQJCAsKCggKCQgICgkNCQgIBAYFCAYEBwgHCAgFCAgEBAcEDAgICAgFBgUIBwsHBwcFAwUIBAUICAgIBAcGDAYHCAULBgYIBgYECAcEBAYGBw0NDQcJCQkJCQkNCQgICAgEBAQECgoKCgoKCggKCgoKCggICQcHBwcHBwwHCAgICAQEBAQICAgICAgICAgICAgIBwgHCQcJBwkHCQcJBwkHCgkKCAgICAgICAgICQgJCAkICggKCAQEBAQEBAQECQcIBAgECAQIBAoICggKCAoICggODQkFCQUJBQgGCAYIBggGCAUIBQoICggKCAoICggICAcIBwgHBAgJCAgGCAUEAwYGBgQFBQYGAAkMCggLBwkIBAQEDg8LCQgKCQgJBwoIDAgKCgkJCwoKCggJCAgLCQoJDQ4JCwgJDQgHCAcFCAgJBwgIBwcJCAgICAcFBwsHCAcLCwcKBwcLBwgIBQcGBAQECwwIBwcICQcKCAkICggJBwgIBwYHBgkIDAoIBwkICggKBwoICwgNCg8NDAoJBwgGCAcIBwoIDQkKCAkICQgMCQwJBAkHCQgKCAoICQcMCgQJBwkHDQwICAoICggMCQgHCAcKCAoICggKCAoICQcIBwgHCAcJBwcGCwoJCAgHCQgNCwoICgkJBwsMCAgKBQoMAwMDBQUFBwcHCxEEBAMGBgYGCAgICAgICAgICAgICAgICAgICAgICAgICAgICA8NCQgKCAgICA0FCAgICAgLCQAHBAcEAwQFBwUJCAgFCQgJBwgHCQcIBwkHCQcICAgICAgIBwoICggKCAoICwoJBwkHCQcIBwgHDQsNCwoICggKCAsKCAcEBAgGCQcKCAoICAQIBQkHCAcIBwMDBQUDBQYEBQcGBQcHBwYICQMEAwAAEBIMAAQEBQUJCQwNAwQEBggEBgMGCQkJCQkJCQkJCQQECAgIBxEJCQkKCAgKCgUECggNCgsJCwkJCQoJDQoJCQUGBQgHBAgJBwkIBQkIBAQIBQ0ICQkJBQcFCAcLCAcHBgMGCAQFCQkJCQQIBw0GCAgGCwcHCAYGBAkIBAUGBggNDg4HCQkJCQkJDgkICAgIBQUFBQsKCwsLCwsICwoKCgoJCQkICAgICAgNBwgICAgEBAQECQgJCQkJCQgJCAgICAcJBwkICQgJCAkHCQcJBwoJCwkICAgICQgICAoJCgkKCQoICggFBAUEBQQEBAoICAUIBQgFCAUKCAoICggLCQsJDw4JBQkFCQUJBwkHCQcJBwkFCQUKCAoICggKCAoICQkHCQcJBwQJCgkJBwkFBAMGBgcEBQUGBgAJDQsIDAcJCQUFBBAQDAoJCgkJCQcLCA0JCgoKCg0KCwoJCQkJDQoLCQ4PCgwJCQ4JCAkIBggICwcICAgICggJCAkHBgcLCAkICwwICgcHDAcICAYIBwQEBAwMCAgHCAoICwkKCAsJCggJCQcGCAYJCA0LCQcKCAsJCwgLCAsJDgsQDQ0LCQcJBgkICQgKCA0KCggKCAkIDAoMCgUKCAoICgkLCQkIDQsECQgJCA4NCAgKCAoIDQsJBwkICggKCAsJCwkLCQkHCQcJBwkHCQgHBgwKCggJBwoIDQsLCQoJCggNDQkJCwYLDQMDAwUFBQgIBwwSBQUDBgYGBgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgQDgoICwgICAgOBggICAgICwkABwUHBAMEBQcFCQkIBQoICQgJBwkHCQcJBwkICAgICAgICQcLCQsJCwkLCQwKCQcJBwkICQcJBw4MDgwLCAoICwkMCgkHBQQIBwkHCgkKCAgFCQUJBwkHCQcDAwUFAwUGBAYHBwYHBwcHCAkDBAMAABEUDQAFBQUGCQkNDgQFBQYJBAYEBgkJCQkJCQkJCQkEBAkJCQcSCgoKCwkJCgwFBQoJDQsMCgwKCQkLCg4KCgkFBgUJBwUICQgJCQUJCQUFCAUOCQkJCQUHBgkIDQkICAYDBgkFBQkJCQkECAcOBwgJBgwHBwkHBwUJCAUFBwcIDg4PBwoKCgoKCg4KCQkJCQUFBQULCwwMDAwMCQwLCwsLCgoKCAgICAgIDggJCQkJBQUFBQkJCQkJCQkJCQkJCQkICQgKCAoICggKCAoICggLCgsJCQkJCQkJCQkKCQoJCgkMCQwJBQUFBQUFBQUKCAkFCQUJBQkFCwkLCQsJDAkMCRAPCgUKBQoFCQcJBwkHCQcJBgkGCwkLCQsJCwkLCQoJCAkICQgECQoJCQcJBgUDBwcHBAUFBwcACg4LCQwICgkFBQUQEQwKCQsKCgoICwkOCQsLCgoNDAwLCgoJCQ0KDAoODwoNCQoPCggJCAYJCQsICQkICAoJCQkJCAcICwkJCA0NCAsICAwICQkGCAcFBQUMDQkICAkLCAsJCgkLCgsICgkIBggHCgkODAkICgkMCQsIDAkMCQ8MEQ4OCwoICQcKCAkICwkOCwsJCggKCQ0LDQsFCggLCQsJDAkKCA4LBQoICggODgkJCwkLCQ4LCQgKCAsJCwkMCQsJCwkKCAkICQgJCAoICAYNCwsJCQgLCA4NDAkLCgoIDQ4KCQsGCw4DAwMGBgYICAgNFAUFAwcHBwcJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJEQ8KCQwJCQkJDwYJCQkJCQwKAAgFBwQDBAYHBQoJCQUKCQoICQgKCAkICggKCAkJCQkJCQkIDAkMCQsJCwkNCwoICggKCAoICggPDA8MCwkLCQwJDQsJCAUFCQcKCAsJDAkJBQkGCggJBwkHAwMGBgQGBwQGBwcGCAcIBwkKAwUDAAASFQ4ABQUFBgoKDg8EBQUGCQQGBAYKCgoKCgoKCgoKBAUJCQkIEwsKCgsKCQsMBQULCQ4MDAoMCwoKDAoPCwoKBQcFCQcFCQoICgkGCgoFBQgFDgoJCgoGCAYKCQ0JCAgGAwYJBQUKCgoKBAkHDwcJCQYNBwgJBwcFCgkFBQcHCQ8PEAgLCwsLCwsPCgoKCgoFBQUFDAwMDAwMDAkMDAwMDAoKCwkJCQkJCQ4ICQkJCQUFBQUKCgkJCQkJCQkKCgoKCAoICwkLCQsJCggKCAoICwsMCgoJCgkKCQoJCwoLCgsKDAoMCgUFBQUFBQUFCwgJBQkFCQUJBQwKDAoMCgwJDAkRDwsGCwYLBgoICggKCAoICgYKBgwKDAoMCgwKDAoKCggKCAoIBAoLCgoICgYFAwcHCAQGBQcHAAoODAoNCAoKBQUFERIOCwoMCwoKCAwKDwoMDAsLDgwMDAoKCgoPCwwLEBALDgoKEAoJCgkHCQkMCAoKCAkMCgkKCggHCAwJCgkNDgkMCAgMCQkKBwkIBQUFDQ4KCAgKCwkMCQsJDAoLCQoJCAcJBwoKDwwKCAsJDAoMCAwJDQoQDBIPDwwKCAoHCgkKCQwJDwwMCQsJCwoOCw4LBQsICwkMCgwKCwkODAULCQsJDw4KCQwJDAkPDAoICgkMCgwKDAkMCQwJCggKCAoICggLCQgHDgwLCQoICwkPDQwKDAoLCA4OCgoMBgwPAwMDBgYGCQkIDhUFBQMHBwcHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCRIQCwkMCQkJCQ8GCQkJCQkNCgAIBQgEAwQGCAUKCgkGCwoLCQoICggKCAoICwkKCQoJCgkKCAwJDAkMCQwJDgwKCAoICgkKCQoJEAwQDAwJDAoMCQ4MCggFBQkHCggLCgwKCQUKBgoJCggKCAMDBgYEBgcEBggIBggICAgKCwMFAwAAExYOAAUFBgYKCg8PBAUFBwoEBwQHCgoKCgoKCgoKCgQFCgoKCBQLCwsMCgoMDQYGCwoPDA0LDQsKCwwLEAwLCgYHBgoIBQkKCQsKBgoKBQUJBhAKCgoKBggGCgkOCQkJBwUHCgUGCgoKCgUJCA8HCQoHDQgICgcHBQoJBQUHCAkQEBEICwsLCwsLEAsKCgoKBgYGBg0MDQ0NDQ0KDQwMDAwLCwsJCQkJCQkPCQoKCgoFBQUFCwoKCgoKCgoKCgoKCgkKCQsJCwkLCQsJCwkLCQwLDQoKCgoKCgoKCgwKDAoMCg0KDAoGBQYFBgUGBQsJCgYKBgoGCgYMCgwKDAoNCg0KEhALBgsGCwYKCAoICggKCAsGCwYMCgwKDAoMCgwKCwoJCgkKCQUKDAoKCAsGBQQHCAgEBgYIBwALDw0KDggLCgYGBhITDgsLDAsKCwgNCg8KDQ0LDA8NDQ0LCwsLDwwODBESDA8LCxELCQoJBwoKDAgKCgkJDAoKCgoJCAkNCQoJDg4JDQkJDgkKCgcJCAUFBQ4PCgkJCgwJDQoLCg0LDAkLCggHCQcLChANCggMCg0KDQkNCg0KEA0TEA8NCwkKCAsJCgkMChAMDAoMCQsKDwwPDAYLCQwKDAoNCwwJDw0FCwkLCRAPCgoMCgwKDwwKCAsJDQoNCg0KDQoNCgsJCwkLCQsJDAkIBw8NDAoKCAwJEA4NCwwLCwkPEAsKDQcNEAQEBAYGBgkJCQ4WBgYEBwcHBwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoTEQsKDQoKCgoQBwoKCgoKDQsACQUIBAQFBggGCwoKBgwKDAkLCQsJCggLCQsJCgoKCgoKCggNCg0KDQoNCg8NCwkLCQsJCwkLCREOEQ4MCgwKDQoPDQoIBgUKCAsJDAoNCgoGCwYLCQoICggEBAYGBAYHBAcICAcICAkICgsEBQQAABQXDwAFBQYHCwsPEAQGBgcKBQcEBwsLCwsLCwsLCwsEBQoKCgkVDAwLDQsKDA0GBgwKEA0NCw0MCgsNCxEMCwsGCAYKCAYJCwkLCgYLCwUFCgYQCwsLCwcIBwsJDwoJCQcFBwoFBgsLCwsFCggQCAoKBw4ICQoICAULCgUGCAgKERESCQwMDAwMDBELCwsLCwYGBgYNDQ0NDQ0NCg4NDQ0NCwsMCQkJCQkJEAkKCgoKBQUFBQsLCwsLCwsKCwsLCwsJCwkMCQwJDAoLCQsJCwkNDA0LCwoLCgsKCwoMCwwLDAsNCw0LBgUGBQYFBgUMCgoGCgYKBgoGDQsNCw0LDQsNCxMRDAcMBwwHCggKCAoICggLBwsHDQsNCw0LDQsNCwsLCQsJCwkFCwwLCggLBwUECAgJBQYGCAgACxANCw8JDAoGBgYTEw8MCw0MCwwJDQsQCg4ODAwQDQ0NCwsLCw8MDgwREg0QCwsSCwkLCggLCg0JCwsKCg0LCwsLCQgJDgoLCQ8PCg0JCQ8JCgsICQgFBgUPDwsKCQsMCg4LDAoOCwwKCwsJCAoIDAsQDgsJDAoOCw0KDgoOCxEOFBEQDQsJCwgLCgsKDQsRDQ0KDAoMCw8MDwwGDAoMCg0LDgsMCRANBQwJDAkREAsKDQoNChANCgkLCg4LDgsNCw4LDgsLCQsJCwkLCQwJCQcQDQwKCwkNChEPDgsNDAwKEBALCw0HDRAEBAQHBwcKCgkPFwYGBAgICAgLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsKFBIMCg4KCgoKEQcKCgoKCg4MAAkGCQUEBQcJBgwLCgYMCwwJCwkLCQsJCwkMCQsKCwoLCgoJDQsNCw4LDgsQDQsJCwkMCQsJCwkSDxIPDQoNCw0LEA0LCQYFCggLCQ0LDQsKBgsHCwkKCQoJBAQHBwQHCAUHCQgHCQkJCQsMBAUEAAAVGBAABgYGBwsLEBEFBgYHCwUIBQcLCwsLCwsLCwsLBQULCwsJFgwMDA4LCw0OBgYNCxEODgwODQsMDgwRDQwLBggGCwkGCgwJCwsHCwsGBgoGEQsLDAsHCQcLChAKCgkHBQcLBgYLCwsLBQoJEQgKCwgPCQkLCAgGDAoGBggIChISEgkMDAwMDAwSDAsLCwsGBgYGDg4ODg4ODgsODg4ODgwMDAoKCgoKChEJCwsLCwUFBQUMCwsLCwsLCwsLCwsLCgwKDAoMCgwKDAkMCQwJDgwOCwsLCwsLCwsLDQsNCw0LDgsPDAYFBgUGBQYGDQoLBgsGCwYLBg4LDgsOCw4LDgsUEg0HDQcNBwsJCwkLCQsJDAcMBw4LDgsOCw4LDgsMCwkLCQsJBQsNCwsJDAcGBAgICQUHBggIAAwRDgsPCQwLBgYGExQQDQwODAwMCQ4LEQsODg0NEQ4ODgwMDAwQDQ4NEhMNEQwMEwwKCwoICwsOCQsLCwsNCwsLDAkICg4KDAoPEAoOCgoQCgsMCAoJBgYGDxAMCwoLDQoOCw0LDgwNCgwLCQgKCAwLEQ8LCQ0LDgwOCg4LDwwSDhUREQ4MCQwIDAoMCg4LEg0NCw0KDAsQDRANBg0LDQsOCw4MDQoRDgUMCgwKEhELCw0LDQsRDgsJDAoOCw4LDgsOCw4LDAoMCgwKDAoNCgkIEQ4NCwsJDQsREA8MDQwNChERDAwOCA4RBAQEBwcHCgoJEBgGBgQICAgICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCxUTDQsOCwsLCxIHCwsLCwsPDAAKBgkFBAUHCQYMDAsHDQwNCgwKDAoLCQwJDAoLCwsLCwsLCQ4LDgsOCw4LEQ4MCgwKDAoMCgwKExATEA4LDgsOCxEOCwkGBQsJDAkOCw4LCwYMBwwKCwkLCQQEBwcFBwgFBwkJBwkJCgkLDAQFBAAAFhkRAAYGBwcMDBESBQYGCAsFCAUIDAwMDAwMDAwMDAUGCwsLChcNDQ0ODAsNDwYGDQsRDw8MDw0MDA8NEg4MDAcIBwsJBgoMCgwLBwwMBgYLBhEMDAwMBwkHDAsQCwoKCAUICwYHDAwMDAULCRIICwsIDwkJCwkJBgwLBgYJCQsSExMKDQ0NDQ0NEw0MDAwMBgYGBg4PDw8PDw8LDw8PDw8MDA0KCgoKCgoRCgsLCwsGBgYGDAwMDAwMDAsMDAwMDAoMCg0KDQoNCg0KDQoNCg4NDgwMCwwLDAsMCw0MDQwNDA8MDwwGBgYGBgYGBg0LCwYLBgsGCwYPDA8MDwwPDA8MFRMNBw0HDQcMCQwJDAkMCQwHDAcPDA8MDwwPDA8MDAwKDAoMCgUMDQwMCQwHBgQICQkFBwcJCQANEg8MEAoNDAYGBhQVEQ0MDw0MDQoPDBIMDw8NDhEPDw8MDQwMEg4PDRMUDhEMDRQNCgwLCAwLDwoMDAsLDgwMDAwKCQoOCwwKEBELDwsKEAoLDAgKCQYGBhARDAsKDA4LDwwNCw8MDgsMDAoICwgNDBIPDAoOCw8MDwsPCxAMEw8WExIPDQoMCQwLDAsODBIODgsNCw0MEQ0RDQYNCw4LDwwPDA0KEg8GDQoNChMRDAsOCw4LEg8MCgwKDwwPDA8MDwwPDA0KDAoMCgwKDQoKCBEPDgsMCg4LEhAPDA4NDQsREQwMDwgPEgQEBAcHBwsLChEZBwcECQkJCQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsXEw0LDwsLCwsTCAsLCwsLEA0ACgYKBQQFBwoHDQwLBw0MDQoMCg0KDAoNCg0KDAsMCwwLDAoPDA8MDwwPDBEPDQoNCg0KDQoNChQQFBAODA8MDwwRDwwKBgYLCQ0KDgwPDAsGDAcNCwwKDAoEBAcHBQcJBQgKCQgKCgoJDA0EBgQAABcaEQAGBgcIDQ0SEwUGBggMBQgFCA0NDQ0NDQ0NDQ0FBgwMDAoYDQ0NEAwMDg8GBw4MEg8QDRAODA0PDRMODQ0HCQcMCQYLDAoMDAcMDQYGCwcTDQwMDAgKCAwLEQsLCggFCAwGBw0NDQ0GCwkTCQsMCBAKCgwJCQYNCwYHCQkLExQUCg0NDQ0NDRMNDAwMDAYGBgYPDxAQEBAQDBAPDw8PDQ0OCwsLCwsLEgoMDAwMBgYGBg0NDAwMDAwMDAwMDAwLDAsNCw0LDQsNCg0KDQoQDg8MDAwMDAwMDAwODA4MDgwPDRANBgYGBgYGBwYOCwwHDAcMBwwHDw0PDQ8NEAwQDBUUDggOCA4IDAoMCgwKDAoNCA0IDwwPDA8MDwwPDA0NCg0KDQoGDQ4MDAoNCAYECQkKBQcHCQkADRIPDBEKDQwGBwcVFhEODQ8NDQ0KDwwSDBAQDg4SDxAPDQ0NDRIOEA4UFQ4SDQ0VDQsMCwgMDA8KDQ0LDA8NDA0MCgkLEAsNCxERCw8LCxELDA0ICwoGBgYREg0LCwwOCxAMDgwQDQ4LDQwKCAsJDQwTEAwKDgwQDA8LEAwQDRQQFxMTDw0KDQkNCw0LDwwTDw8MDgsODRIOEg4GDgsODA8MEA0OCxIPBg0LDQsTEgwMDwwPDBIPDAoNCxANEA0QDBAMEAwNCw0LDQsNCw4LCggSDw4MDAoODBMREA0PDQ4LEhMNDA8IDxMEBAQICAgLCwoRGgcHBAkJCQkNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0MGBQODBAMDAwMFAgMDAwMDBANAAsHCgUEBggKBw0MDAcODQ4LDQsNCwwKDQoNCwwMDAwMDAwKEAwQDBAMEAwSDw0LDQsNCw0LDQsVERURDwwPDRAMEg8MCgYGDAoNChANDw0MBw0IDQsMCgwKBAQICAUICQUICgoICgoKCgwNBAYEAAAYHBIABgYHCA0NExQFBwcIDAUJBQkNDQ0NDQ0NDQ0NBQYMDAwKGg4ODg8NDA8QBgcPDBMQEA0QDg0NEA4UDw0NBwkHDAoHDA0LDQwIDQ0GBgsHEw0NDQ0ICggNCxEMCwsIBggMBgcNDQ0NBgwKEwkLDAkRCgoMCQkGDQwGBwkKCxQUFQoODg4ODg4UDg0NDQ0GBgYGEBAQEBAQEAwQEBAQEA0NDgwMDAwMDBMLDAwMDAYGBgYNDQ0NDQ0NDA0NDQ0NCw0LDgwODA4MDgsOCw4LDw4QDQ0MDQwNDA0MDw0PDQ8NEA0QDQYGBgYGBgcGDwsMBwwHDAcMBxANEA0QDRANEA0WFQ4IDggOCA0KDQoNCg0KDQgNCBANEA0QDRANEA0NDQsNCw0LBg0PDQ0KDQgGBQkJCgYIBwoJAA4TEA0RCw4NBgcHFhcSDw0QDg0OCxANEw0QEA8PExAQEA0ODQ0SDxAPFRYPEg0NFQ4MDQwJDQwQCw0NCwwPDQ0NDQsKCxAMDQwSEgwQCwsRCwwNCQsKBgcGEhINCwsNDwwQDQ4MEQ0PDA0NCwkMCQ4NFBENCw8MEA0QCxAMEQ0VEBgUExAOCw0KDQwNDBANFA8PDA8MDw0TDxMPBg4MDwwQDRANDwwTDwYODA4MFBMNDA8MDwwTEA0LDgsQDRANEA0QDRANDQsNCw0LDQsPDAsJEhAPDA0KDwwUERENDw4PCxMTDQ0QCRAUBQUFCAgIDAwLEhwHBwQJCQkJDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDBkVDgwQDAwMDBUIDAwMDAwRDgALBwsGBQYICwcODQwIDw0PDA0LDQsNCw4LDgwNDA0MDQwNCxANEA0QDRANEhANCw0LDgsOCw4LFREVERANEA0QDRIQDQoGBgwKDgsPDRANDAcNCA4LDQoNCgUFCAgFCAkGCAsKCAsKCwoNDgUGBAAAGR0TAAcHCAgODhMUBQcHCQ0GCQUJDg4ODg4ODg4ODgUGDA0NCxsPDw4QDQ0PEQcHDw0UEREOEQ8NDhEOFQ8ODggKCA0KBwwOCw0NCA0OBwcMBxQODQ4NCQoIDgwSDQwLCQYJDQcIDg4ODgYMChQKDA0JEgoLDQoKBw4MBwcKCgwVFRYLDw8PDw8PFQ4NDQ0NBwcHBxARERERERENEREREREODg8MDAwMDAwUCw0NDQ0HBwcHDg4NDQ0NDQ0NDg4ODgwODA8MDwwPDA4LDgsOCxAPEA4NDQ0NDQ0NDQ8NDw0PDREOEQ4HBwcHBwcHBw8MDQcNBw0HDQcRDhEOEQ4RDRENFxUPCQ8JDwkNCg0KDQoNCg4IDggRDhEOEQ4RDhEODg4LDgsOCwYODw0NCg4IBwUKCgsGCAgKCgAOFBENEgsPDQcHBxcYEw8OEA8ODwsRDRQOEREPEBQRERAODg4OFA8RDxYXEBMODhYODA0MCQ4NEAsODgwNEA4NDg4LCgwQDQ4MEhMMEQwMEgwNDgkMCgcHBxITDgwMDQ8MEQ0PDREODwwODgsJDAoODRQRDgsPDRENEQwRDRIOFhEZFRQRDgsOCg4MDgwQDRUQEA0PDA8OEw8TDwcPDBANEQ4RDg8MFBEGDwwPDBUUDQ0QDBAMFBAOCw4MEQ4RDhENEQ0RDQ4MDgwODA4MDwwLCRMRDw0OCxANFRIRDhAODwwUFA4OEQkRFQUFBQkJCQwMCxMdBwcFCgoKCg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg0aFg8NEQ0NDQ0VCQ0NDQ0NEg4ADAcLBgUGCAsIDw4NCA8ODwwODA4MDgsOCw8MDQ0NDQ0NDgsRDRENEQ0RDRMRDgwODA8MDgwODBYSFhIQDREOEQ0TEQ4LBwcNCg4LEA4RDg0HDggODA4LDgsFBQkJBQgKBgkLCgkLCwsLDg8FBgUAABoeFAAHBwgJDg4UFQYHBwkNBgkGCQ4ODg4ODg4ODg4GBw0NDQscDw8PEQ4NEBEIBxANFBESDhIPDg4RDxYQDg4ICggNCwcNDgwODAgODgcHDAgWDg0ODgkKCQ4MEw0MCwkGCQ0HCA4ODg4GDQsVCgwNCRILCw0KCgcODQcHCgoMFhYXCw8PDw8PDxYPDg4ODggICAgRERISEhISDRIRERERDg8PDQ0NDQ0NFAwMDAwMBwcHBw8ODQ0NDQ0NDQ4ODg4MDgwPDQ8NDw0PDA8MDwwRDxEODgwODA4NDgwQDhAOEA4RDhEOCAcIBwgHBwcQDA0IDQgNCA0IEQ4RDhEOEg0SDRgWDwkPCQ8JDgoOCg4LDgoOCQ4JEQ4RDhEOEQ4RDg4OCw4LDgsGDhAODgoOCQcFCgoLBggICgoADxURDhMLDw4ICAcYGRQQDhEPDg8LEQ4VDhEREBAUERIRDg8ODhQQEhAWFxAUDg8XDw0NDQoODBELDg4MDREODQ4ODAoMEg0ODRQUDREMDBMMDA4KDAoHBwcTFA4MDA4QDRINEA0SDxANDw4LCg0KDw0VEg4LEA0SDhEMEg0SDhYSGhYVEQ8MDgoODA4NEQ4WEBENEA0QDhQQFBAIEA0QDREOEg4QDRURBw8NDw0WFA4MEQ0RDRURDgsPDBEOEQ4SDRINEg0PDA4MDgwODBANCwoUERANDgsQDRYTEg4RDxAMFBYODhEJERUFBQUJCQkNDQwUHggIBQoKCgoODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4NGxcQDRINDQ0NFgkNDQ0NDRIPAAwHCwYFBgkLCA8ODQgQDhANDgwPDA4LDwwPDQ4MDgwODA4LEg0SDRINEg0UEQ8MDwwPDA8MDwwXExcTEQ4SDhINFBEOCwgHDQsPDBEOEQ4NCA4JDwwOCw4LBQUJCQYJCgYJCwsJDAsMCw4PBQcFAAAbHxQABwcICQ8PFRYGCAgJDgYKBgoPDw8PDw8PDw8PBgcODg4MHRAQDxIODhESCAgQDhUSEg8SEA4PEg8WEA8PCAoIDgsIDQ4MDg4JDg8HBw0IFg8ODg4JCwkPDRQODQwJBgkOBwgPDw8PBg0LFgoNDgoTCwsOCwsHDw0HCAsLDRcXGAwQEBAQEBAXDw4ODg4ICAgIEhISEhISEg4SEhISEg8PEA0NDQ0NDRUMDg4ODgcHBwcPDw4ODg4ODg4PDw8PDQ8NEA0QDRANDwwPDA8MEhASDw4ODg4ODg4OEQ4RDhEOEg8SDwgHCAcIBwgHEA0OCA4IDggOCBIPEg8SDxIOEg4ZFxAJEAkQCQ4LDgsOCw4LDwkPCRIPEg8SDxIPEg8PDwwPDA8MBw8RDg4LDwkHBQoLCwYJCAsKAA8WEg4UDBAOCAgIGRoUEA8SEA8QDBIOFg4SEhARFRISEg8PDw8VEBMQFxkRFQ8PGA8NDg0KDw4SDA8PDQ4RDw4PDgwLDRIODw0UFA0SDQ0TDQ4PCg0LBwgHFBUPDQ0PEQ0SDhAOEw8RDQ8PDAoNChAOFhMPDBEOEw8SDRMOEw8XEhsXFhIPDA8LDw0PDRIOFxERDhANEA8UEBUQCBANEQ4SDxIPEA0WEgcQDRANFxUODhEOEQ4WEg4MDw0SDxIPEg4SDhIODw0PDQ8NDw0QDQwKFRIRDg8MEQ4WFBMPERAQDRUWDw4SChIWBQUFCQkJDQ0MFR8ICAULCwsLDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDhwYEA4SDg4ODhcJDg4ODg4TEAANCAwGBQcJDAgQDg4JEA8QDQ8NDw0PDA8MEA0ODg4ODg4ODBIOEg4SDhIOFRIPDQ8NEA0PDQ8NGBMYExIOEg8SDhUSDwwIBw4LDwwSDxIPDggPCQ8NDgwODAUFCQkGCQsGCgwLCgwMDAwPEAUHBQAAHCAVAAcHCQkPDxYXBggICg4GCgYKDw8PDw8PDw8PDwYHDg4ODB4QEBASDw4REwgIEQ4WExMQExEPDxIPFxEQDwkLCQ4LCA4PDA8OCQ8PCAcNCBYPDg8PCQwJDw4UDg0NCgYKDgcJDw8PDwcODBcLDQ4KFAwMDgsLCA8OBwgLCw0XGBkMEBAQEBAQGBAPDw8PCAgICBITExMTExMOExISEhIQEBEODg4ODg4WDA4ODg4ICAgIEA8ODg4ODg4ODw8PDw0PDRAOEA4QDhAMEAwQDBIQEg8PDg8ODw4PDhEPEQ8RDxMPEw8ICAgICAgIBxENDggOCA4IDggTDxMPEw8TDhMOGhgRCREJEQkPDA8MDwwPDBAJDwkSDxIPEg8SDxIPEA8NDw0PDQcPEQ8PDA8JBwULCwwHCQkLCwAQFhMPFAwQDwgICBobFREPEhAQEAwTDxcPExMRERYTExIQEA8PFRETERkaEhYQEBkQDg4NCg8OEgwPDw0OEg8ODw8MCw0TDg8OFBUOEg0NFA0ODwoNDAgIBxUWDw0NDxEOEw4RDhMQEQ4QDwwKDgsQDhcTDwwRDhMPEw0TDhQPGBMcFxcSEAwQCxAOEA4SDxcSEg4RDhEPFhEWEQgRDREPEw8TEBEOFhMHEA4QDhgWDw4SDhIOFxIPDBANEw8TDxMOEw4TDhANDw0PDQ8NEQ4MChYSEQ4PDBEOFxQTEBIQEQ0W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Dw8ZDhAQEBAICAgIERERERERERAREREREQ4RDhIPEg8SDxEOEQ4RDhQSFBEREBEQERAREBMRExETERURFREJCAkICQgJCBMPEAkQCRAJEAkVERURFREVERURHRsSCxILEgsQDRANEA0QDRELEQsUERQRFBEUERQRERENEQ0RDQgRExEQDRELCAYMDA0HCgkMDAASGRURFw4SEAkJCR0eFxMRFBIREg4VERkRFRUTExkVFRQRERERGBMVEhwdExgREhwSDxEPCxEQFQ4REQ8QFBEREREODA4VEBEPFxcPFA4OFg8QEQsPDQgJCBcYEQ8OEBMPFRETEBUREw8REQ4LDwwSERkVEQ4TEBURFQ8VEBYRGxUeGhkUEg4RDBEPEQ8UEBoUFBATDxMRGBMYEwkTDxMQFREVERMPGRQIEg8SDxoZERAUEBQQGRURDhEPFREVERURFREVERIOEQ4RDhEOEg8OCxgUExARDhMQGhcWERQSEw8ZGRERFQsUGQYGBgsLCw8PDhgkCQkGDAwMDBERERERERERERERERERERERERERERERERERERAgGxMQFRAQEBAbCxAQEBAQFhIADgkOBwYICg4JEhEQChMREw8RDhIOEQ4SDhIPERAREBEQEQ4VERURFREVERgUEg4SDhIPEg8SDxwWHBYUERURFREYFBEOCQgQDRIOFBEVERAJEQsRDxENEQ0GBgsLBwoMBwsODQsODg4NERIGCAYAACAlGAAJCQoLEREZGgcJCQsQBwwHCxEREREREREREREHCBAQEA4iExMSFRERFBYJCRQRGRYWEhYTERIVEhsUEhEKDAoQDQkQEQ4REAoREgkJDwkaEhEREQsNCxEPGBAPDgsICxAJChEREREIEA0aDA8QDBYNDhANDQkSEAkJDQ0PGxscDhMTExMTExsSEREREQkJCQkVFhYWFhYWEBYVFRUVEhITEBAQEBAQGQ4QEBAQCQkJCRISEREREREQEREREREPEQ8TEBMQExASDhIOEg4VExURERAREBEQERAUERQRFBEWEhYSCQkJCQkJCQkUDxEJEQkRCREJFhIWEhYSFhEWER4bEwsTCxMLEQ0RDRENEQ0SCxILFREVERURFREVERIRDhEOEQ4IERQREQ0SCwkGDA0OBwoKDQwAEhoVERcOExEJCQkeHxgUEhUTEhMOFREaERYWFBQZFhYVEhISEhkUFhMcHRQZEhIdEhAREAwREBUOEREPEBURERERDg0PFhASEBgYEBUPDhcPEBIMDw0JCQkXGRIPDxEUEBYRExAWEhQQEhEODA8MEhEaFhEOFBAWERUPFhAXEhwWHxsaFRIOEg0SDxIPFREbFBQQFBATEhkTGRMJEw8UERYRFhITEBoVCBMQExAbGREQFBAUEBoVEQ4SDxYRFhEWERYRFhESDhIPEg8SDxMQDgwZFRQQEQ4UEBsYFhIUExQPGRoSERUMFRoGBgYLCwsQEA4YJQoKBg0NDQ0REREREREREREREREREREREREREREREREREREQIRwTEBYQEBAQGwsQEBAQEBcTAA8JDggGCAsOChMREQoTEhMQEg8SDhEOEg4TEBEQERAREBEOFhEWERYRFhEZFRIOEg4TDxIPEg8dFx0XFREWERYRGRURDgkJEQ0SDhUSFhIRCRILEg8RDhEOBgYLCwcLDQgLDg0LDg4PDhETBggGAAAhJhkACQkKCxISGhsHCQkMEQcMBwwSEhISEhISEhISBwgREREOIxMTExYSERQWCQkUERoWFxIXFBISFRMbFBISCg0KEQ0JEBIPERELERIJCRAKGhISEhELDgsSEBgRDw4LBwsRCQoSEhISCBAOGw0QEQwXDg4RDQ0JEhAJCQ0NEBwcHQ4TExMTExMcExISEhIJCQkJFhYXFxcXFxEXFRUVFRISFBAQEBAQEBoPEREREQkJCQkTEhISEhISERISEhISDxIPExATEBMQEw8TDxMPFhMWEhIREhESERIRFBEUERQRFhIWEgkJCgkJCQkJFBARChEKEQoRChYSFhIWEhcSFxIfHBQLFAsUCxIOEg4SDhIOEgsSCxUSFRIVEhUSFRISEg4SDhIOCBIUERIOEgsJBg0NDggKCg0NABMaFhIYDxMSCQoJHyAZFBIWExITDxYSGxIWFhQVGhYXFhITEhIaFBcUHR4VGRITHRMQEhAMEhEWDhISEBAVEhISEg8NDxYRExAYGRAWDw8YEBESDBAOCQkJGBkSEA8SFBAXEhQRFxMUEBISDwwQDRMSGxcSDxQRFxIWEBcRFxIcFiAcGxYTDxINEhASEBURHBUVERQQFBIaFBoUCRQQFREWEhYSFBAaFgkTEBMQHBoSERURFREbFhIOExAWEhYSFxIXEhcSEw8SDxIPEg8UEA8MGRYUERIPFRAbGBcSFRMUEBoaEhIWDBYbBgYGCwsLEBAPGSYKCgYNDQ0NEhISEhISEhISEhISEhISEhISEhISEhISEhISESIdFBEWERERERwMEREREREXEwAPCQ8IBggLDgoTEhELFBIUEBIPEw8SDxMPExASERIREhESDhcSFxIXEhcSGRYTDxMPExATEBMQHRgdGBYRFhIXEhkWEg8JCREOEw8WEhYSEQoSCxMQEg4SDgYGCwsHCw0IDA4ODA8ODw4SEwYJBgAAIicaAAkJCgsTExocBwoKDBEIDAcMExMTExMTExMTEwcJERERDyQUFBMWEhIVFwkKFRIbFxcTFxQSExYTHBUTEwoNChEOChESDxIRCxITCQkQChwTEhISDA4MEhAZEhAPDAgMEQkKExMTEwgRDhsNEBEMGA4OEQ0NCRMRCQoNDhAcHR4PFBQUFBQUHRMSEhISCQkJCRYXFxcXFxcRFxYWFhYTExQREREREREbDxEREREJCQkJExMSEhISEhESEhISEhASEBQRFBEUERMPEw8TDxYUFhISERIREhESERUSFRIVEhcTFxMJCQkJCQkKCRUQEgoSChIKEgoXExcTFxMXEhcSIB0UDBQMFAwSDhIOEg4SDhMMEwwWEhYSFhIWEhYSExMPEw8TDwgTFRISDhMMCQcNDQ4ICwoODQATGxcSGQ8UEgkKCh8hGhUTFhQTFA8XEhsSFxcVFRsXFxYTExMTGxUXFR4fFRoTFB4TERIRDRIRFg8SEhARFhISEhIPDhAXEhMQGRoRFhAQGBAREw0QDgkJCRkaExAQEhURFxIUERcTFRETEg8NEA0UEhwYEg8VERcSFxAXERgTHRchHBwWEw8TDhMQExAWEhwVFhEVERUTGhUaFQkUEBUSFxIXExURGxYJFBEUER0bEhEWERYRGxYSDxMQFxIXEhcSFxIXEhQQExATEBMQFRAPDRoWFRESDxURHBkYExYUFRAbHBMSFwwWHAcHBwwMDBERDxonCgoGDQ0NDRMTExMTExMTExMTExMTExMTExMTExMTExMTExEjHhQRFxEREREdDBERERERGBQAEAoPCAcICw8KFBISCxUTFRETEBQQEg8TDxQREhESERIREg8XEhcSFxIXEhoWFBAUEBQQExATEB4YHhgWEhcTFxIaFhIPCQkSDhMPFhMXExIKEwwTEBIPEg8HBwwMBwsNCAwPDgwPDw8PEhQGCQYAACMoGgAJCQsMExMbHAgKCgwSCA0HDBMTExMTExMTExMICRISEg8lFBQUFxMSFRgKChUSHBgYFBgVExMXFB0WFBMLDQsSDgoRExATEgsTEwkJEQocExMTEwwPDBMRGhIQEAwJDBIJCxMTExMIEQ4cDhESDRkPDxIODgkTEQkKDg4RHR4fDxQUFBQUFB4UExMTEwoKCgoXGBgYGBgYEhgXFxcXFBQVERERERERHBASEhISCQkJCRQTExMTExMSExMTExMQExAUERQRFBEUEBQQFBAXFRcTExITEhMSExIVExUTFRMYExgTCgkKCQoJCgkVERIKEgoSChIKGBMYExgTGBMYEyEeFQwVDBUMEw8TDxMPEw8TDBMMFxMXExcTFxMXExQTEBMQExAJExUTEw8TDAkHDg4PCAsLDg4AFBwXExkPFBMKCgogIhoVExcUExQPFxMcExgYFRYcGBgXFBQTExsWGBUfIBYbExQfFBETEQ0TEhcPExMREhcTExMTEA4QGBITERoaERcQEBkREhMNEQ8JCgkaGxMREBMWERgTFRIYFBYRFBMPDRENFBMdGBMPFhIYExcRGBIZEx4YIh0cFxQQEw4UERQRFxIdFhYSFREVExsWGxYKFREWEhgTGBMVERwXCRQRFBEeHBMSFhIWEhwXEw8UERgTGBMYExgTGBMUEBMQExATEBURDw0bFxUSEw8WEh0aGBMWFBURHBwUExcNFx0HBwcMDAwRERAbKAoKBg4ODg4TExMTExMTExMTExMTExMTExMTExMTExMTExMSJB8VEhgSEhISHgwSEhISEhkUABAKDwgHCQwPCxQTEgsVExURExAUEBMPFBAUERMSExITEhMPGBMYExgTGBMbFxQQFBAUERQRFBEfGR8ZFxIYExgTGxcTDwoJEg4UEBcTGBMSChMMFBETDxMPBwcMDAgMDggMDw8MEA8QDxMUBwkGAAAkKRsACgoLDBQUHB0ICgoNEggNCA0UFBQUFBQUFBQUCAkSEhIQJhUVFRcTExYYCgoWExwYGRQZFRMUFxQeFhQUCw4LEg8KEhMQExILExQKChELHRQTExMMDwwTERoTERAMCQwSCgsUFBQUCRIPHQ4REg0ZDw8SDg4KFBIKCg4OER4fIBAVFRUVFRUeFRMTExMKCgoKGBgZGRkZGRIZFxcXFxQUFRISEhISEh0QEhISEgoKCgoUFBMTExMTEhMTExMTERMRFRIVEhUSFRAVEBUQFxUYExMSExITEhMSFhMWExYTGBQYFAoKCgoKCgoKFhETCxMLEwsTCxgUGBQYFBkTGRMiHxUMFQwVDBMPEw8TDxMPFAwUDBcTFxMXExcTFxMUFBAUEBQQCRQWExMPFAwKBw4ODwgLCw4OABQdGBMaEBUTCgsKISMbFhQYFRQVEBgTHRMYGBYWHBgZGBQVFBQcFhkWHyAXHBQVIBQSExINExIYEBMTERMXExMTExAOERgTFBIbGxIYEREaERIUDREPCgoKGhwUERETFhIZExYSGRQWEhQTEA0RDhUTHRkTEBYSGRMYERkSGRQfGCMeHRgVEBQOFBEUERcTHhcXEhYSFhQcFhwWChYRFhMYExkUFhIdGAkVEhUSHh0TEhcSFxIdGBMQFBEYExgTGRMZExkTFREUERQRFBEWEhANHBgWEhMQFxIeGhkUFxUWERwdFBMYDRgeBwcHDAwMEhIQGykLCwcODg4OFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEiUgFhIYEhISEh8NEhISEhIZFQARChAIBwkMEAsVExMLFhQWEhQRFRETEBUQFRITEhMSExITEBkTGRMZExkTHBgVERURFREUERQRIBogGhgTGRMZExwYExAKChMPFRAXFBgUEwsUDBQRExATEAcHDAwIDA4IDRAPDRAQEA8TFQcJBwAAJSocAAoKCwwUFB0eCAoKDRMIDQgNFBQUFBQUFBQUFAgJExMTECcWFhUYFBMXGQsLFxMdGRkVGRYUFRgVHxcVFAsOCxMPChIUERQTDBQUCgoSCx4UFBQUDRANFBIbExERDQkNEwoLFBQUFAkSDx4OEhMNGg8QEw8PChQSCgsPDxIfHyAQFhYWFhYWHxUUFBQUCwsLCxgZGRkZGRkTGRgYGBgVFRYSEhISEhIdERMTExMKCgoKFRQUFBQUFBMUFBQUFBEUERYSFhIWEhURFREVERgWGBQUExQTFBMUExcUFxQXFBkUGRQLCgsKCwoLChcSEwsTCxMLEwsZFBkUGRQZFBkUIiAWDRYNFg0UEBQQFBAUEBUNFQ0YFBgUGBQYFBgUFRQRFBEUEQkUFxQUEBUNCgcODxAJDAsPDgAVHhkUGxAWFAsLCyIkHBcUGBYUFhAZFB4UGRkXFx0ZGRgVFRUUHRcZFiAiFxwVFSEVEhQSDhQTGBAUFBITGBQUFBQRDxEZExQSGxwSGBERGxITFA4REAoKChscFBIRFBcSGRQWExoVFxIVFBAOEg4VFB4aFBAXExkUGRIZExoUIBkkHx4YFREVDxUSFRIYEx8XGBMXEhYUHRcdFwsWEhcTGRQZFRYSHhgJFhIWEh8dFBMYExgTHhgUEBUSGRQZFBkUGRQZFBURFBEUERQRFhIQDhwYFxMUEBcTHxsaFRgVFxIdHhUUGQ0YHgcHBw0NDRISERwqCwsHDw8PDxQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBMmIRYTGRMTExMgDRMTExMTGhUAEQsQCQcJDBALFhQTDBYUFhIUERURFBAVERYSFBMUExQTFBAZFBkUGRQZFBwYFREVERYRFRIVEiEbIRsYExkUGRQcGBQQCwoTDxURGBQZFBMLFQ0VEhQQFBAHBw0NCAwPCQ0QDw0QEBEQFBYHCQcAACYsHQAKCgwNFRUdHwgLCw0TCQ4IDRUVFRUVFRUVFRUIChMTExEoFhYWGRQUFxoLCxcUHhoaFRoXFBUZFh8XFRUMDgwTEAsTFREUEwwUFQoKEgsfFRQVFA0QDRQSHBQSEQ0JDRMKDBUVFRUJExAfDxITDhsQEBMPDwoVEwoLDw8SICAhERYWFhYWFiAWFBQUFAsLCwsZGhoaGhoaExoZGRkZFRUXExMTExMTHhETExMTCgoKChUVFBQUFBQTFBQUFBQSFRIWExYTFhMWERYRFhEZFhkVFBMUExQTFBMXFBcUFxQaFRoVCwoLCgsKCwoXEhQLFAsUCxQLGhUaFRoVGhQaFCMhFw0XDRcNFBAUEBQQFBAVDRUNGRQZFBkUGRQZFBUVERURFREJFRcUFBAVDQoHDw8QCQwMDw8AFh4ZFBwRFhQLCwsjJR0XFRkWFRYRGRQfFRoaFxgeGhoZFRYVFR4XGhchIxgdFRYiFhMUEw4VExkRFRUSExkVFBQVEQ8SGhQVExwdExkSEhsSExUOEhAKCwocHRUSEhQYExoUFxMaFRgTFRURDhIPFhQfGhURFxMaFBkSGhMbFSEaJSAfGRYRFQ8VEhUSGRQgGBgTFxMXFR0XHRcLFxIYFBoVGhUXEx4ZChYTFhMgHhQTGBMYEx8ZFREVEhoVGhUaFBoUGhQWEhUSFRIVEhcTEQ4dGRcUFREYEx8cGhUYFhcSHh8VFRkOGR8HBwcNDQ0SEhEdLAsLBw8PDw8VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUTJyIXExoTExMTIQ0TExMTExsWABILEQkHCQ0RDBYVFAwXFRcTFRIWEhURFhEWExQTFBMUExURGhQaFBoUGhQdGRYSFhIWEhYSFhIiGyIbGRQaFRoUHRkVEQsKFBAWERkVGhUUCxUNFhIVEBUQBwcNDQgNDwkNERANEREREBUWBwoHAAAnLR0ACgoMDRUVHiAJCwsOFAkOCA4VFRUVFRUVFRUVCQoUFBQRKhcXFhoVFBgaCwsXFB8aGxYbFxUWGRYgGBYVDA8MFBALExUSFRQMFRUKChMLIBUVFRUNEA0VEx0UEhEOCQ4UCgwVFRUVCRMQHw8TFA4bEBEUDw8KFhMKCw8QEyEhIhEXFxcXFxchFhUVFRULCwsLGhobGxsbGxQbGRkZGRYWFxMTExMTEx8SFBQUFAoKCgoWFRUVFRUVFBUVFRUVEhUSFxMXExcTFhIWEhYSGhcaFRUUFRQVFBUUGBUYFRgVGhUaFQsKCwoLCgsKFxMUCxQLFAsUCxoVGhUaFRsVGxUkIRcNFw0XDRUQFRAVEBUQFg0WDRkVGRUZFRkVGRUWFREVERURChUYFRUQFg0KCA8PEQkMDBAPABYfGhUcERcVCwsLJCYdFxYaFxUXERoVHxUbGxcYHxobGhYWFhYeGBsYIiQZHhYXIxYTFRMOFRQZERUVExMZFRUVFRIQEhsUFRMdHRMaEhIcExQVDhIQCgsKHR4VExIVGBMbFRcUGxYYExYVEQ4TDxcVIBsVERgUGxUaExsUHBUiGiYhIBoWEhYQFhMWExkUIRkZFBgTGBUeGB4YCxcTGBQaFRsWGBMfGgoXExcTIR8VFBkUGRQfGRURFhMbFRsVGxUbFRsVFxIWEhYSFhIYExEOHhoYFBURGBQgHRsWGRcXEx8gFhUaDhogCAgIDQ0NExMSHi0MDAcPDw8PFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFCgjFxQaFBQUFCEOFBQUFBQcFwASCxEJCAoNEQwXFRQMGBUYExYSFxIVERYSFxMVFBUUFRQVERsVGxUbFRsVHhoXEhcSFxIWExYTIxwjHBoUGxUbFR4aFRELChQQFhIaFRoVFAsWDRYTFREVEQgIDQ0JDQ8JDhEQDhEREhEVFwcKBwAAKC4eAAsLDA0WFh8hCQsLDhQJDgkOFhYWFhYWFhYWFgkKFBQUESsXFxcaFRUYGgsMGBUgGxsWGxgVFhoXIRkWFgwPDBQQCxQWEhYUDRUWCwsTDCAWFRYVDhEOFhMdFBMSDgkOFAsMFhYWFgoUECAPExQOHBERFBAQCxYUCwsQEBMhIiMRFxcXFxcXIhcVFRUVCwsLCxobGxsbGxsUGxoaGhoWFhgUFBQUFBQgEhQUFBQLCwsLFhYVFRUVFRQVFhYWFhMWExcUFxQXFBcSFxIXEhoYGhYVFBUUFRQVFBgVGBUYFRoWGxYLCwwLCwsMCxgTFQwVDBUMFQwbFhsWGxYbFRsVJSIYDhgOGA4VERURFREVERYOFg4aFhoWGhYaFhoWFhYSFhIWEgoWGBUVERYOCwgPEBEJDQwQDwAXIBsVHRIXFQsMDCUnHhgWGhcWFxIbFSAWGhoYGSAaGxoWFxYWHxkbGCMlGR8WFyQXFBUUDxYUGhIWFhMUGhUVFRYSEBMbFBYUHR4UGhMTHRMUFg8SEQsLCx0fFhMTFRkUGxUYFBwWGRQWFhIPEw8XFSEcFhIZFBsWGxMbFBwWIhsnISAaFxIWEBYTFhMaFSIZGhQZFBgWHxkfGQsYExkVGxYbFhgUIBoKFxQXFCIgFRQaFBoUIBoWEhcTGhYaFhsVGxUbFRcTFhMWExYTGBQSDx8aGRUWEhkUIR0cFhoXGBMgIBYWGw4aIQgICA4ODhMTEh4uDAwHEBAQEBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQpIxgUGxQUFBQiDhQUFBQUHBcAEwsSCQgKDRIMFxYVDRgWGBQWExcTFhIXEhcUFRQVFBUUFhIbFRsVGxUbFR8aFxMXExcSFxMXEyQdJB0aFRsWGxUfGhYSCwsVEBcSGhYaFhUMFg4XExYRFhEICA4OCQ0QCQ4SEQ4SERIRFhcICgcAACkvHwALCw0OFhYgIQkLCw4VCQ8JDxYWFhYWFhYWFhYJCxUVFRIsGBgXGxYVGRwMDBkVIBwcFxwYFhcbFyIZFxYMEAwVEQsUFhIWFQ0WFgsLFAwhFhYWFg4RDhYUHhUTEg4KDhULDBYWFhYKFBEhEBQVDx0RERUQEAsXFAsMEBAUIiMkEhgYGBgYGCMXFhYWFgwMDAwbHBwcHBwcFRwbGxsbFxcYFBQUFBQUIRIVFRUVCwsLCxcWFhYWFhYVFhYWFhYTFhMYFBgUGBQXEhcSFxIbGBsWFhUWFRYVFhUZFhkWGRYcFhwXDAsMCwwLDAsZFBUMFQwVDBUMHBYcFhwWHBYcFiYjGA4YDhgOFhEWERYRFhEXDhcOGxYbFhsWGxYbFhcWEhYSFhIKFhkWFhEXDgsIEBARCg0NEBAAFyEbFh4SGBYMDAwmKB8ZFxsYFxgSGxYhFhwcGRogHBwbFxcXFyAZHBkkJRogFxgkFxQWFA8WFRsSFhYUFRoWFhYWEhATHBUWFB4fFBsTEx0TFRYPExELCwseIBYUExYZFBwWGRUcFxkUFxYSDxQQGBYiHBYSGRUcFhsUHBUdFiMcKCIhGxcSFxAXFBcUGxYiGhoVGRQZFiAZIBkMGRQaFRwWHBcZFCEbChgUGBQjIRYVGhUaFSEbFhIXExwWHBYcFhwWHBYYExcTFxMXExkUEg8gGxkVFhIaFSIeHBcaGBkUICEXFhsPGyIICAgODg4UFBMfLwwMCBAQEBAWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYVKiQZFRwVFRUVIw4VFRUVFR0YABMMEgoICg4SDRgWFQ0ZFxkUFxMYExYSFxIYFBYVFhUWFRYSHBYcFhwWHBYgGxgTGBMYExcTFxMkHSQdGxUcFhwWIBsWEgwLFREXEhsWHBYVDBcOFxQWEhYSCAgODgkOEAoOEhEOEhITEhYYCAoIAAAqMCAACwsNDhcXICIJDAwPFQkPCQ8XFxcXFxcXFxcXCQsVFRUSLRkZGBsXFhocDAwaFiEcHRcdGRYXGxgjGhcXDRANFREMFBcTFxUNFxcLCxQMIhcXFxcOEg4XFB8VFBMPCw8VCw0XFxcXChURIhAUFQ8dERIVERELFxULDBERFCMkJRIZGRkZGRkkGBcXFxcMDAwMGxwdHR0dHRUdGxsbGxcXGRQUFBQUFCETFRUVFQsLCwsYFxcXFxcXFRcXFxcXFBcUGRQZFBkVGBMYExgTGxkbFxcVFxUXFRcVGhcaFxoXHBccFwwLDAsMCwwLGhQWDBYMFgwWDBwXHBccFx0XHRcnJBkOGQ4ZDhYSFhIWEhYSFw4XDhsXGxcbFxsXGxcXFxMXExcTChcaFxYSFw4LCBAREgoNDREQABgiHBcfExgWDAwMJykgGhccGRcZExwXIhcdHRoaIRwdHBcYFxchGh0ZJSYaIBcYJhgUFxQQFxUcExcXFBUbFxcWFxMRFB0VFxUfIBUbExQeFBUXEBQSCwwLHyAXFBQWGhUdFxkVHRgaFRcXExAUEBgWIh0XExoVHRccFB0WHhckHCkjIhwYExcRFxQXFBsWIxsbFRoVGRchGiEaDBkUGhYcFx0XGRUiHAsZFBkUJCEXFRsVGxUiHBcTGBQdFx0XHRcdFx0XGBQXFBcUFxQZFRMQIBsaFhcTGhUjHx0XGxgaFCEiFxccDxwiCAgIDg4OFBQTIDAMDAgRERERFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFSslGRUcFRUVFSQPFRUVFRUeGAAUDBIKCAoOEg0ZFxYNGRcZFRcUGBQXExgTGRQXFRcVFxUXEx0XHRcdFx0XIBsYFBgUGBQYFBgUJh4mHhwWHRcdFyAbFxMMCxYRGBMbFxwXFgwXDhgUFxIXEggIDg4JDhEKDxISDxMSExIXGAgLCAAAKzEgAAsLDQ4XFyEjCQwMDxYKDwkPFxcXFxcXFxcXFwkLFhYWEy4ZGRgcFxYaHQ0NGhYiHR0YHRoXGBwYJBsYFw0QDRYSDBUXExcWDhcYDAsVDSMYFxcXDxIPFxUgFhQTDwoPFgsNFxcXFwoVEiMRFRYPHhISFhERDBgVCwwRERUkJSYTGRkZGRkZJBkXFxcXDQ0NDRwdHR0dHR0WHRwcHBwYGBkVFRUVFRUiExYWFhYMDAwMGBgXFxcXFxYXFxcXFxQXFBkVGRUZFRgTGBMYExwZHBcXFhcWFxYXFhoXGhcaFx0YHRgNDA0MDQwNCxoVFg0WDRYNFg0dGB0YHRgdFx0XKCUaDxoPGg8XEhcSFxIXEhgPGA8cFxwXHBccFxwXGBcTFxMXEwsXGhcXEhgPCwgRERIKDg0REQAYIh0XHxMZFw0NDSgqIBoYHBkYGRMdFyMXHR0aGyIdHRwYGBgYIhseGiYnGyEYGSYYFRcVEBcWHBMXFxUWHBcXFxcTERQdFhgVICAVHBQUHxQWGBAUEgwMCyAhGBUUFxsVHRcaFh4YGxUYFxMQFREZFyMeFxMaFh0XHRUdFh4XJR0qJCMcGRMYERgVGBUcFyQbGxYaFRoYIRshGw0aFRsWHRcdGBoVIhwLGRUZFSQiFxYbFhsWIxwXExgUHRcdFx0XHRcdFxkUGBQYFBgUGhUTECEcGxYXExsWJCAeGBwZGhUiIxgXHQ8cIwgICA8PDxUVEyExDQ0IERERERcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxYsJhoWHRYWFhYlDxYWFhYWHhkAFAwTCggLDhMNGRcWDhoYGhUYFBkUFxMZExkVFxYXFhcWFxMdFx0XHRcdFyEcGRQZFBkUGBQYFCYfJh8cFh0XHRchHBcTDQwWEhkTHBgdGBYNGA8YFRcTFxMICA8PCQ4RCg8TEg8TExQSFxkICwgAACwyIQAMDA0PGBgiJAoMDA8WChAJEBgYGBgYGBgYGBgKCxYWFhMvGhoZHRgXGx4NDRsXIx4eGR4aFxgdGSQbGRgNEQ0WEgwWGBQYFg4YGAwMFQ0kGBgYGA8TDxgVIBcVFA8KDxYMDRgYGBgKFhIjERUWEB8SExYREQwYFgwNERIVJSUnExoaGhoaGiUZGBgYGA0NDQ0dHh4eHh4eFh4dHR0dGRkaFhYWFhYWIxQWFhYWDAwMDBkYGBgYGBgWGBgYGBgVGBUaFhoWGhYZFBkUGRQdGh0YGBYYFhgWGBYbGBsYGxgeGB4YDQwNDA0MDQwbFRcNFw0XDRcNHhgeGB4YHhgeGCkmGg8aDxoPFxMXExcTFxMYDxgPHRgdGB0YHRgdGBkYFBgUGBQLGBsYFxMYDwwJERETCg4NEhEAGSMdGCATGhcNDQ0pKyEbGB0aGBoTHRgjGB4eGxsjHh4dGRkYGCIbHhsnKBwiGBknGRYYFhAYFh0TGBgVFhwYGBgYFBIVHhcYFiAhFh0UFCAVFhgQFRMMDAwgIhgVFRgbFh4YGhYeGRsWGRgTEBURGRgkHhgTGxYeGB0VHhcfGCYeKyUkHRkUGBIZFRkVHRclHBwWGxYbGCIbIhsNGhUbFx4YHhgbFiMdCxoWGhYlIxgWHBYcFiMdGBMZFR4YHhgeGB4YHhgZFBgVGBUYFRsWExAiHRsXGBMcFiQgHxgcGRsVIyQZGB0QHSQJCQkPDw8VFRQhMg0NCBEREREYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgWLScaFh4WFhYWJg8WFhYWFh8ZABQNEwoJCw8TDRoYFw4bGBsWGBUZFBgTGRQaFhgWGBYYFhgTHhgeGB4YHhgiHRkUGRQaFRkVGRUnICcgHRceGB4YIh0YEw0MFxIZFB0YHhgXDRgPGRUYExgTCQkPDwoPEQoPExIPFBMUExgaCAsIAAAtNCIADAwODxkZIyUKDQ0QFwoQChAZGRkZGRkZGRkZCgwXFxcUMBoaGh0YFxweDQ0bFyQeHxkfGxgZHRolHBkZDhEOFxINFhgUGBcOGBkMDBYNJRkYGBgPEw8YFiEXFRQQCxAXDA4ZGRkZCxYTJBEWFxAgExMXEhIMGRYMDRISFiYmJxQaGhoaGhomGhgYGBgNDQ0NHh4fHx8fHxcfHR0dHRkZGxYWFhYWFiQUFxcXFwwMDAwZGRgYGBgYFxgYGBgYFRgVGhYaFhoWGhQaFBoUHRseGBgXGBcYFxgXHBgcGBwYHhkeGQ0MDQwNDA0MGxYXDRcNFw0XDR4ZHhkeGR8YHxgqJxsPGw8bDxgTGBMYExgTGQ8ZDx0YHRgdGB0YHRgZGRQZFBkUCxkcGBgTGQ8MCRESEwoODhIRABokHhghFBoYDQ0NKiwiGxkeGhkaFB4YJBgfHxscJB4fHRkaGRkjHB8bJykcIxkaKBoWGBYRGBceFBgYFRcdGBgYGBQSFR8XGRYhIhYeFRUgFRcZERUTDA0MISMZFRUYHBYfGBsXHxkcFhkYFBEWERoYJR8YFBwXHxgeFh8XIBknHiwmJR4aFBkSGRYZFh0YJhwdFxwWGxkjHCMcDRsWHBceGB8ZGxYkHgsaFhoWJiQYFx0XHRckHhgUGRUfGB8YHxgfGB8YGhUZFRkVGRUbFhQRIx4cFxgUHBclIR8ZHRobFiQlGRgeEB4lCQkJDw8PFhYUIjQNDQgSEhISGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFy4oGxcfFxcXFycQFxcXFxcgGgAVDRQLCQsPFA4aGBcOGxkbFhkVGhUYFBoUGhYYFxgXGBcYFB8YHxgfGB8YIx4aFRoVGhUaFRoVKCAoIB4YHxkfGCMeGBQNDBcTGhQdGR4ZFw0ZDxoWGBQYFAkJDw8KDxILEBQTEBQUFBMYGggLCAAALjUjAAwMDg8ZGSQlCg0NEBcKEQoQGRkZGRkZGRkZGQoMFxcXFDEbGxoeGRgcHw0NHBgkHx8aHxsYGh4aJhwaGQ4RDhcTDRcZFRkXDxkZDAwWDSUZGRkZEBMQGRYiGBUVEAsQFwwOGRkZGQsXEyUSFhcRIBMUFxISDBkXDA0SEhYnJygUGxsbGxsbJxoZGRkZDQ0NDR4fHx8fHx8XHx4eHh4aGhsXFxcXFxclFRcXFxcMDAwMGhkZGRkZGRcZGRkZGRUZFRsXGxcbFxoVGhUaFR4bHhkZFxkXGRcZFxwZHBkcGR8ZHxkNDA0MDQwNDBwWGA0YDRgNGA0fGR8ZHxkfGR8ZKycbEBsQGxAYExgTGBMYExoQGhAeGR4ZHhkeGR4ZGhkVGRUZFQsZHBkYExoQDAkSEhQLDg4SEgAaJR8ZIRQbGA0NDSstIxwZHhsZGxQfGSUZHx8cHSQfHx4aGhoZJBwgHCgqHSMaGykaFxkXERkXHhQZGRYXHhkZGRkVEhUfGBkXIiMXHhUVIRYXGREWEwwNDCIjGRYVGRwXHxkcFyAaHBcaGRQRFhIbGSYgGRQcFyAZHxYgGCEZKB8tJiUeGhUaEhoWGhYeGCcdHRccFxwZJBwkHA0cFh0YHxkfGhwXJR4MGxcbFyclGRcdFx0XJR4ZFBoWHxkfGR8ZHxkfGRsVGRUZFRkVHBcUESMeHBgZFB0XJiIgGR0bHBYkJRoZHxEeJgkJCRAQEBYWFSM1Dg4IEhISEhkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRcvKRwXHxcXFxcnEBcXFxcXIRsAFQ0UCwkLDxQOGxkYDxwZHBcZFRsVGRQaFRsXGRcZFxkXGRQfGR8ZHxkfGSMeGxUbFRsWGhYaFikhKSEeGB8ZHxkjHhkUDQwYExoVHhkfGRgNGhAaFhkUGRQJCRAQCg8SCxAUExAUFBUUGRsJDAgAAC82IwANDQ4QGhokJgoNDREYCxEKERoaGhoaGhoaGhoKDBgYGBQyHBsbHxkYHSAODh0YJSAgGiAcGRofGycdGhoOEg4YEw0XGRUZGA8ZGg0NFw4mGhkZGRAUEBkXIxgWFRALEBgNDhoaGhoLFxMmEhYYESEUFBgTEw0aFw0NExMWJygpFBwcHBwcHCgbGRkZGQ4ODg4fICAgICAgGCAfHx8fGhocFxcXFxcXJRUYGBgYDQ0NDRoaGRkZGRkYGRkZGRkWGRYcFxwXHBcbFRsVGxUfHB8ZGRgZGBkYGRgdGR0ZHRkgGiAaDg0ODQ4NDg0dFxgOGA4YDhgOIBogGiAaIBkgGSwoHBAcEBwQGRQZFBkUGRQaEBoQHxkfGR8ZHxkfGRoaFRoVGhUMGh0ZGRQaEA0JEhMUCw8OExIAGyYfGSIVGxkODg4sLiMdGh8cGhsVHxkmGSAgHR0lICAfGhsaGiUdIBwpKx4kGhsqGxcZFxEZGB8VGhoWGB4ZGRkZFRMWIBgaFyMjFx8WFiIWGBoRFhQNDQ0iJBoWFhkdFyAZHBggGh0XGhkVERcSGxknIRkVHRggGR8XIBghGiggLicmHxsVGhMaFxoXHhknHh4YHRccGiQdJB0OHBcdGCAZIBocFyYfDBwXHBcoJRkYHhgeGCYfGRUaFiAaIBogGSAZIBkbFhoWGhYaFhwXFREkHx0YGRUdGCcjIRoeGx0XJSYaGR8RHycJCQkQEBAXFxUkNg4OCRMTExMaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoYMCocGCAYGBgYKBAYGBgYGCEbABYNFQsJDBAVDhsZGA8cGhwXGhYbFhkVGxUcFxkYGRgZGBkVIBkgGSAZIBkkHxsWGxYbFhsWGxYqIioiHxkgGiAZJB8ZFQ4NGBMbFR8aIBoYDhoQGxcZFBkUCQkQEAoQEwsRFRQRFRQVFBkbCQwJAAAwNyQADQ0PEBoaJScKDQ0RGAsRChEaGhoaGhoaGhoaCwwYGBgVMxwcGx8aGR0gDg4dGSYgIRshHRkbHxsoHhsaDxIPGBQNGBoWGhgPGhoNDRcOJxoaGhoQFBAaFyMZFhURCxEYDQ8aGhoaCxgUJxMXGBEiFBQYExMNGxgNDhMTFygpKhUcHBwcHBwpGxoaGhoODg4OICAhISEhIRghHx8fHxsbHBgYGBgYGCYWGBgYGA0NDQ0bGhoaGhoaGBoaGhoaFhoWHBgcGBwYGxYbFhsWHxwgGhoYGhgaGBoYHRodGh0aIBohGg4NDg0ODQ4NHRcZDhkOGQ4ZDiAaIBogGiEaIRotKR0QHRAdEBkUGRQZFBkUGxAbEB8aHxofGh8aHxobGhUaFRoVDBodGhkUGxANCRMTFAsPDxMTABsnIBojFRwZDg4OLC8kHRsgHBocFSAaJxohIR0eJiAhIBsbGxslHiEdKiweJRscKxsYGhgSGhggFRoaFxgfGhoaGhYTFiEZGhgjJBggFhYjFxgaEhcUDQ0NIyUaFxYaHhghGh0YIRseGBsaFRIXEhwaJyEaFR4YIRogFyEZIhopIC8oJyAbFhsTGxcbFx8ZKB4fGB0YHRolHiUeDh0XHhkgGiEbHRgmIAwcGBwYKSYaGB8YHxgnIBoVGxchGiEaIRohGiEaHBYbFhsWGxYdGBUSJSAeGRoVHhgoIyEbHxwdFyYnGxogESAnCQkJEBAQFxcWJDcODgkTExMTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGDEqHRghGBgYGCkRGBgYGBgiHAAWDhULCQwQFQ8cGhkPHRodGBsWHBYaFRsWHBgaGBoYGhgaFSEaIRohGiEaJSAcFhwWHBcbFxsXKyMrIyAZIRohGiUgGhUODRkUGxYfGiAaGQ4bEBsXGhUaFQkJEBAKEBMLERUUERUVFhUaHAkMCQAAMTglAA0NDxAbGyYoCw4OERkLEgoRGxsbGxsbGxsbGwsNGRkZFTQdHRwgGhkeIQ4OHhknISIbIh0aGyAcKR4bGw8TDxkUDhgaFhoZEBobDQ0XDigbGhsaERURGhgkGRcWEQwRGQ0PGxsbGwwYFCgTFxkSIhQVGRMTDRsYDQ4TFBcpKisVHR0dHR0dKRwaGhoaDg4ODiAhIiIiIiIZIiAgICAbGx0YGBgYGBgnFhkZGRkNDQ0NGxsaGhoaGhkaGhoaGhcbFx0YHRgdGBwWHBYcFiAdIBoaGRoZGhkaGR4aHhoeGiEbIRsODQ4NDg0ODR4XGQ4ZDhkOGQ4hGyEbIRsiGiIaLiodER0RHREaFRoVGhUaFRsRGxEgGiAaIBogGiAaGxsWGxYbFgwbHhoaFRsRDQoTExULDw8UEwAcJyEaJBYdGg4ODi0wJR4bIB0bHRYhGigbISEeHychIiAbHBsbJh4iHistHyYbHCwcGBoYEhsZIBYbGxcZIBoaGhsWFBchGRsYJCUYIBcXIxcZGxIXFQ0ODSQmGxcXGh4YIhodGSIbHhgbGxYSGBMcGigiGxYeGSIaIRgiGSMbKiEwKSggHBYbFBsYGxggGikfHxkeGB4bJh4mHg4dGB4ZIRohGx4YJyAMHRgdGCknGhkfGR8ZKCAbFhwXIRshGyIaIhoiGhwXGxcbFxsXHhgWEiYgHhkaFh8ZKSQiGx8cHhcnKBsbIRIgKAoKChERERgYFiU4Dw8JExMTExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxkyKx0ZIRkZGRkqERkZGRkZIxwAFw4WDAoMEBUPHRoZEB4bHhgbFxwXGxYcFh0YGhkaGRoZGxYiGiIaIhoiGiYgHBccFx0XHBccFywjLCMgGiEbIhomIBoWDg0ZFBwWIBshGxkOGxEcGBsVGxUKChERCxATDBEVFBEWFRYVGh0JDAkAADI5JgANDQ8RGxsnKQsODhIZCxILEhsbGxsbGxsbGxsLDRkZGRY1HR0dIRsaHyIPDx8aKCIiHCIeGxwhHCkfHBsPEw8ZFA4ZGxcbGRAbGw0NGA8pGxsbGxEVERsYJRoXFhEMERkNDxsbGxsMGRUoExgZEiMVFRkUFA0cGQ0OFBQYKissFh0dHR0dHSodGxsbGw8PDw8hIiIiIiIiGSIhISEhHBweGRkZGRkZKBcZGRkZDQ0NDRwbGxsbGxsZGxsbGxsXGxcdGR0ZHRkdFx0XHRchHSEbGxkbGRsZGxkfGx8bHxsiGyIbDw0PDQ8NDw0fGBoPGg8aDxoPIhsiGyIbIhsiGy8rHhEeER4RGxUbFRsVGxUcERwRIRshGyEbIRshGxwbFhsWGxYMGx8bGxUcEQ0KExQVDBAPFBMAHCghGyQWHRsPDw8uMSYfHCEdHB0WIRsoGyIiHx8oIiIhHB0cHCcfIh4sLiAmHB0tHBkbGRIbGSAWGxsYGSAbGxsbFxQXIhobGSUmGSEXFyQYGRsSGBUNDg0lJxsYFxsfGSIbHhkjHB8ZHBsWEhgTHRspIxsWHxkiGyEYIhojGysiMSopIR0XHBQcGBwYIBoqICAZHxkeGycfJx8PHhgfGiIbIhweGSghDR0ZHRkqKBsZIBkgGSggGxYcGCIbIhsiGyIbIhsdFxwXHBccFx4ZFhImIR8aGxYfGSklIxwgHR8YKCkcGyESISkKCgoREREYGBcmOQ8PCRQUFBQbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsZMyweGSIZGRkZKxIZGRkZGSMdABcOFgwKDBEWDx0bGhAeGx4ZHBcdFxsWHRcdGRsZGxkbGRsWIhsiGyIbIhsmIR0XHRcdGBwYHBgtJC0kIRoiGyIbJiEbFg8NGhUdFyEbIhsaDxwRHBgbFhsWCgoREQsRFAwSFhUSFhYXFhsdCQ0JAAAzOyYADg4QERwcJyoLDg4SGgsSCxIcHBwcHBwcHBwcCw0aGhoWNh4eHSEbGh8iDw8fGigiIx0jHhscIR0qIBwcEBMQGhUOGRwXGxoQGxwODhgPKRwbHBsRFREbGSUaGBcSDBIaDhAcHBwcDBkVKRQYGhIkFRYaFBQOHBkODxQUGCsrLRYeHh4eHh4rHRsbGxsPDw8PIiIjIyMjIxojISEhIRwdHhkZGRkZGSkXGhoaGg4ODg4dHBsbGxsbGhsbGxsbGBwYHhkeGR4ZHRcdFx0XIR4iHBsaGxobGhsaHxsfGx8bIhwjHA8ODw4PDg8OHxgaDxoPGg8aDyIcIhwiHCMbIxswLB4RHhEeERsVGxUbFRsVHBEcESEbIRshGyEbIRscHBccFxwXDRwfGxsVHBEOChQUFgwQEBQUAB0pIhslFx4bDw8PLzImHxwiHhweFyIbKRwjIx8gKCIjIh0dHBwoICMfLS8gJxwdLh0ZGxkTHBoiFhwcGBohHBsbHBcUGCMaHBkmJhkiGBglGBocExgVDg4OJSccGBgbIBkjGx8aIx0gGR0cFxMZFB0bKiMcFh8aIxsiGSMaJBwsIjIrKSIdFxwUHBkcGSEbKyAhGh8ZHxwnHycfDx8ZIBoiHCMcHxkpIg0eGR4ZKykbGiEaIRopIhwWHRgjHCMcIxsjGyMbHRgcGBwYHBgfGRcTJyIgGhwWIBoqJSMcIR4fGCgpHRwiEiIqCgoKERERGRkXJzsPDwkUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGjQtHxojGhoaGiwSGhoaGhokHgAYDxYMCg0RFhAeHBoQHxwfGRwYHRgcFh0XHhkbGhsaGxocFiMbIxsjGyMbJyIdGB0YHhgdGB0YLiUuJSIbIxwjGyciHBYPDhoVHRchHCIcGg8cER0ZHBYcFgoKERELERQMEhYVEhcWFxYcHgoNCQAANDwnAA4OEBEcHCgqCw8PEhoMEwsSHBwcHBwcHBwcHAsNGhoaFzceHh4iHBsgIw8PIBspIyQdJB8cHSIeKyAdHBAUEBoVDxocFxwaERwcDg4ZDyocHBwcEhYSHBkmGxgXEgwSGg4QHBwcHAwaFSoUGRoTJBYWGhQUDh0aDg8UFRksLC4XHh4eHh4eLB4cHBwcDw8PDyIjJCQkJCQaJCIiIiIdHR8aGhoaGhopFxoaGhoODg4OHRwcHBwcHBocHBwcHBgcGB4aHhoeGh4XHhceFyIfIhwcGhwaHBocGiAcIBwgHCMcIx0PDg8ODw4PDiAZGw8bDxsPGw8jHCMcIxwkHCQcMC0fEh8SHxIcFhwWHBYcFh0SHRIiHCIcIhwiHCIcHRwXHBccFw0cIBwcFh0SDgoUFRYMEBAVFAAeKiMcJhceHA8PDzAzJyAdIh4dHhcjHCocIyMgICkjJCIdHh0dKSAkHy4vISgdHi4eGhwaExwaIhccHBkaIhwcHBwXFRgjGx0ZJicaIhgYJRkaHRMZFg4ODiYoHRkYHCAaJBwfGiQdIBodHBcTGRQeHCskHBcgGiQcIxkkGyUcLSMzKyoiHhcdFR0ZHRkiGywhIRogGh8cKCAoIA8fGSAbIxwjHR8ZKiINHhoeGiwpHBohGiEaKiIcFx0ZIxwjHCQcJBwkHB4YHRgdGB0YHxkXEygiIBscFyEaKyYkHSEeIBkpKh0cIxMiKwoKChISEhkZGCc8Dw8KFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBo1Lh8aIxoaGhotEhoaGhoaJR4AGA8XDAoNERcQHhwbER8dHxkdGB4YHBceFx4aHBocGhwaHBckHCQcJBwkHCgiHhgeGB4ZHhkeGS4lLiUiGyMcJBwoIhwXDw4bFR4XIhwjHBsPHRIeGRwXHBcKChISCxEUDBIXFhIXFxgWHB4KDQoAADU9KAAODhASHR0pKwwPDxMbDBMLEx0dHR0dHR0dHR0MDhsbGxc4Hx8eIxwbICQPDyAbKiQkHiQgHB0jHiwhHh0QFBAbFg8aHRgdGxEcHQ4OGQ8rHRwdHBIWEh0aJxsZGBINEhsOEB0dHR0NGhYrFBkbEyUWFxsVFQ4dGg4PFRUZLC0uFx8fHx8fHy0eHBwcHA8PDw8jJCQkJCQkGyQjIyMjHh4fGhoaGhoaKhgbGxsbDg4ODh4dHBwcHBwbHB0dHR0ZHRkfGh8aHxoeGB4YHhgjHyMdHBscGxwbHBsgHCAcIBwkHSQdDw4PDg8ODw4gGRsPGw8bDxsPJB0kHSQdJBwkHDEtIBIgEiASHBYcFhwWHBYdEh0SIx0jHSMdIx0jHR4dGB0YHRgNHSAcHBYdEg4KFBUXDBEQFRUAHisjHCcXHxwPEA8xNCggHSMfHR8XIxwrHSQkICEqJCQjHh4dHSkhJCAuMCEpHR8vHhocGhQdGyMXHR0ZGyIdHBwdGBUZJBsdGicoGiMZGSYZGx0UGRYODw4nKR0ZGRwhGiQcIBslHiEaHh0XFBoUHxwrJR0XIRskHSMaJBslHS4kNCwrIx4YHRUeGh4aIhwsISIbIBogHSkhKSEPIBohGyQdJB0gGiojDR8aHxotKhwbIhsiGysjHRceGSQdJB0kHCQcJBwfGR0ZHRkdGSAaFxQpIyEbHRchGywnJR0iHyAZKiseHSMTIysKCgoSEhIaGhgoPRAQChUVFRUdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0bNi8gGyQbGxsbLRMbGxsbGyUfABkPFwwKDRIXEB8dGxEgHSAaHRkfGR0XHhgfGhwbHBscGx0XJBwkHCQcJBwpIx8ZHxkfGR4ZHhkvJi8mIxwkHSQcKSMdFw8OGxYeGCMdJB0bDx0SHhodFx0XCgoSEgwSFQwTFxYTGBcYFx0fCg0KAAA2PikADg4QEh0dKiwMDw8TGwwTDBMdHR0dHR0dHR0dDA4bGxsYOSAfHyMdHCEkEBAhHCskJR4lIB0eIx8tIR4dEBUQGxYPGx0YHRsRHR4ODhoQLB4dHR0SFxIdGigcGRgTDRMbDhAdHR0dDRsWLBUaGxMmFhcbFRUOHhsOEBUVGi0uLxggICAgICAuHx0dHR0QEBAQJCQlJSUlJRslIyMjIx4eIBsbGxsbGysYGxsbGw4ODg4eHh0dHR0dGx0dHR0dGR0ZIBsgGyAbHxgfGB8YIyAkHR0bHRsdGx0bIR0hHSEdJB4lHhAOEA8QDhAOIRocEBwQHBAcECQeJB4kHiUdJR0yLiASIBIgEh0XHRcdFx0XHhIeEiMdIx0jHSMdIx0eHRgdGB0YDR0hHR0XHhIOChUVFw0REBYVAB8rJB0nGB8dEBAQMjUpIR4kIB4fGCQdLB0lJSEiKyQlJB4fHh4qISUhLzEiKh4fMB8bHRsUHRskGB0dGhsjHR0dHRgVGSUcHhooKRskGRknGhseFBkXDg8OKCoeGhkdIRslHSAbJR4hGx4dGBQaFR8dLCUdGCEbJR0kGiUcJh0vJDUtLCQfGB4VHhoeGiMcLSIjGyEbIR4qISohECAaIhwkHSUeIRorJA4gGyAbLisdGyMbIxssJB0YHholHSUdJR0lHSUdHxkeGR4ZHhkhGhgUKiQhHB0YIhstKCUeIx8hGissHh0kEyQsCgoKEhISGhoYKT4QEAoVFRUVHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dGzcwIBslGxsbGy4TGxsbGxsmHwAZEBgN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Fe8VAnKy8BUBcbQAFRAVAnKwCtCwERCwDdCwDS+0bw1/DQJxsv8NAXG0qg26DQJdsQwK9LLzDAFdQQ0AAwAMABMADAAjAAwAMwAMAEMADABTAAwABnG0AwwTDAJysmUMAXFBEQAmAAwANgAMAEYADABWAAwAZgAMAHYADACGAAwAlgAMAAhytOUM9QwCcUEJAKQADAC0AAwAxAAMANQADAAEckEPAHMADACDAAwAkwAMAKMADACzAAwAwwAMANMADAAHcUEJAKMADACzAAwAwwAMANMADAAEXbLiDAFdsgsGDBESObJbCwFdsnYLAXGyZQsBcbIODQYREjmyWQ4BXUERACkADgA5AA4ASQAOAFkADgBpAA4AeQAOAIkADgCZAA4ACHKwERCxEgr0QQ0AowASALMAEgDDABIA0wASAOMAEgDzABIABl20AxITEgJysmUSAXFBEQAmABIANgASAEYAEgBWABIAZgASAHYAEgCGABIAlgASAAhytOUS9RICcUEJAKQAEgC0ABIAxAASANQAEgAEckEPAHMAEgCDABIAkwASAKMAEgCzABIAwwASANMAEgAHcUEJACMAEgAzABIAQwASAFMAEgAEcbQCEhISAnGyExIDERI5tEkTWRMCXbJlEwFxsqUTAXGyEBEDERI5QREAKQAQADkAEABJABAAWQAQAGkAEAB5ABAAiQAQAJkAEAAIcrSGEJYQAl20JhA2EAJxsg8TEBESObJmDwFdss8YAV1ZALAARViwBS8bsQUVPlmwAEVYsAwvG7EMFT5ZsABFWLACLxuxAg0+WbAARViwEi8bsRINPlmyBgUCERI5sAYvsAHcQQkAwAABANAAAQDgAAEA8AABAARdQQ0AAAABABAAAQAgAAEAMAABAEAAAQBQAAEABnG0gAGQAQJysAYQsAjcsjAIAV2wBhCwCtCyDwEGERI5skYPAV2wARCwFNCwARCwFty2vxbPFt8WA120PxZPFgJdMDE3IxUjETMVNzUzFT8BMw8BHwEjJyMVI80wUFAwPxqDVH4sNIpeih0/4eEB9OIFe3UD1MkhKOLhfwABAAAAAAJ1ArwAFgPisAorWLsAEwAJABQABCuyEBQBcbSAFJAUAl2wFBCwAdCyEBMBcbSAE5ATAl2wExCwBNCwExCwBtyywAYBXbATELAI0LATELAP3LIADwFdsp8P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) + format("truetype"); +} +@font-face { + font-family: PTSans-Bold; + font-style: normal; + font-weight: 800; + src: url(data:font/ttf;base64,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AAgAAgAMAAMAbAB8AmEAAQADAEQAUgE3AAYAAAAEAFQAPAAiAA4AAwACACgAXgABAEAAAAABAAAADQADAAIAFABKAAEARAAAAAEAAAANAAEAAQARAAMAAQAwAAEAEgAAAAEAAAANAAEAAQBSAAMAAQAYAAEAEgAAAAEAAAANAAEAAQBEAAIAAQATABwAAAAEAAAAAQAIAAEAGgABAAgAAgAMAAYCTwACAHwCTwACAFIAAQABADEAAQAAAAEACAABAAYAzwABAAEAVgAEAAAAAQAIAAEAGgABAAgAAgAMAAYCzAACAE8CywACAEwAAQABAEkAAQAAAAEACAACAAwAAwB7AHQAdQABAAMAFAAVABYABAAAAAEACAABAK4AAwBqACwADAADABgAEAAIAIAAAwJWABcAgAADAi4AFwCAAAMAEgAXAAYANgAuACYAHgAWAA4AfgADAlYAFwB/AAMCVgAVAH4AAwIuABcAfwADAi4AFQB+AAMAEgAXAH8AAwASABUABgA6ADAAJgAeABYADgAIAAMCVgATAAgAAwIuABMACAADABIAEwIrAAQCVgATABMCKwAEAi4AEwATAisABAASABMAEwABAAMAEwAUABYAAQAAAAEACAABAAYAvAABAAIBvQG+AAEAAAABAAgAAgASAAYCqQKqAncCeAKrAqwAAQAGAaUBpgGrAawBvQG+AAEAAAABAAgAAgAOAAQBKQEqASsBLAABAAQBDAENARABEQAGAAAAAgBqAAoAAwABABIAAQByAAAAAQAAAA0AAQAlAEUARwBJAEsATgBPAFcAoQCyAM8A0QDhAOMA5gDtAPEA8wD1AREBEwElASwBagF9AYoBkwGYAaABsgHOAeACFgJgAnACywLMAs4AAwABABgAAQASAAAAAQAAAA0AAQABATcAAQEIACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmgCbAJwAnQCeAJ8AoADCAMQAxgDIAMoAzADOANAA0gDUANYA2ADaANwA3gDgAOIA5ADmAOgA6gDsAO4A8ADyAPQA9gD4APoA/AD+AQABAgEEAQYBCAEKAQwBDgEQARIBFAEWARgBGgEcAR4BHwEhASMBJwEpASsBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAGXAZkBmwGdAZ8BoQGjAaUBpwGpAasBrQGvAbEBswG1AbcBuQG7Ab0BvwHBAcMBxQHHAckBywHNAc8B0QHTAdQB1gHYAdoB3AHeAeEB4wHlAecB6QHrAe0B7wHxAfMB9QH3AfkB+wH9Af8CAQIDAgUCBwIJAgsCDQIPAhECEwIVAhcCGQIbAh0CXwJrAm0CbwJxAnMCdQJ3AnkCewJ9An8CgQKDAoUChwKJAosCjQKPApECkwKVApcCmQKbAp0CnwKhAqMCpQKnAqkCqwKtAq8CsQKzArUCtwK5AAMAAAABAAgAAQAMAAMAIgAcABYAAQADABQBvQG+AAICegKsAAICeQKrAAICwQB7AAEAAAABAAgAAgAyABYCwAK/AHQAdQLOASUBKQEqASsBLALNAqcCqAKpAqoCdwJ4ArsCvAK9Ar4CzwABABYABQAKABUAFgBPAFYBDAENARABEQEwAUABjgGlAaYBqwGsAiECIgIkAiUCLgAAAu4AMgAAAAAA/QAAAP0AAAEmAFYBkgBaAjcAEwI3AEUDSAAzAy4AXAD+AFoBRwA8AUcACwF6ACgCDwArAPwAJQFoADYA9gAqAZj/6AI3ACgCNwA/AjcARQI3AE4CNwATAjcARAI3ADQCNwA8AjcAPQI3AC0BDQBdASIATQIPACgCDwArAg8AJwHGABcEIwBJAl0AAAJPADwCLwAmAocAPAIKADwB/AA8AmEAJgKLADwBHQBKAU7/6QJsADwCAgA8AyAAPAKRADwCngAmAjwAPAKeACYCWgA8AhIAGwI4AAsCcwA5Alr/9wNeAAACeQAKAlD//gIbABsBRAA8Aaj/6AFEAB0B9AAUAbwAAAE8ADwB8AAXAhgAOQGxACECGwAhAfwAIQFBAAsCGAAhAiEAOQENADEBDP/wAesAOQEmAD0DJQA5AiEAOQIZACECHAA5AhgAIQFfADkBpgAZAV0ABQIaADQB3f/yAtH/+AINAAgB3v/3AcoAHwFzACsA4wA8AXMAIwIPABwA/QAAASUALAI3AFQCNwAzAjcABQI3//IA4wA8AhIAMQHfADwDQQA3AaQAKgHoAB0CDwAtAWgANgKyAD4BuwA8AbUAPAIPACsBnAAyAZwAOAExADwCOQA0AhEAGgD9AC0BTAA8AZwAKQGjACIB6AAiA3AAJQOHACUDiQAwAcYAFwJdAAACXQAAAl0AAAJdAAACXQAAAl0AAANe/+MCLwAmAgoAPAIKADwCCgA8AgoAPAEd/+oBHQAxAR3/3AEd/9oCnf/6ApEAPAKeACYCngAmAp4AJgKeACYCngAmAg8ANgKeACYCcwA5AnMAOQJzADkCcwA5AlD//gI8ADwCdgAMAfAAFwHwABcB8AAXAfAAFwHwABcB8AAXAxEAFwGxACEB/AAhAfwAIQH8ACEB/AAhAQ3//gENAEYBDf/iAQ3/0wIzACUCIQA5AhkAIQIZACECGQAhAhkAIQIZACECDwArAhgAIQIaADQCGgA0AhoANAIaADQB3v/3AhwAOQHe//cCXQAAAfAAFwJdAAAB8AAXAl0AAAHwABcCLwAmAbEAIQIvACYBsQAhAi8AJgGxACEChwA8An8AIQKd//oCJgAhAgoAPAH8ACECCgA8AfwAIQIKADwB/AAhAgoAPAH8ACECYQAmAhgAIQJhACYCGAAhAmEAJgIYACECiwA8AiH/0wKrAAICLP/6AR3/5wEN/+UBHQAWAQ4ADQEdADkBDQBGAU7/6QEM/+YCbAA8AesAOQICADwBJgA9AgIAPAEmAD0CAgA8ASYAPQINAAMBPwAGApEAPAIhADkCkQA8AiEAOQKRADwCIQA5Ap4AJgIZACECngAmAhkAIQOTACYDSQAhAloAPAFfADkCWgA8AV8AOQJaADwBXwAhAhIAGwGmABkCEgAbAaYAGQISABsBpgAZAhIAGwGmABkCOAALAV0ABQI4AAsBaAAFAnMAOQIaADQCcwA5AhoANAJzADkCGgA0AnMAOQIaADQCcwA5AhoANAJQ//4CGwAbAcoAHwIbABsBygAfAhsAGwHKAB8A+QAMAjf/zAJhACYCGAAhAhIAGwGmABkCOAALAV0ABQEM//AA3wAmAbgAPAHBADwBzQA8AR4APAFWADwBXgA8AcQAPAHLADwAAv7PAkkADAMKADoCuAATAgoAPALkAAsBygA8AkEAJgISABsBHQBKASgAEwFO/+kDp//zA8IAPAL2AAsCbAA8Ajj/9wJ/ADwCXQAAAjoAPAJPADwBygA8ArMAAAIKADwDR//5Ag4AEgKaADwCmgA8AmwAPAJv//MDIAA8AosAPAKeACYCfwA8AjwAPAIvACYCOAALAjj/9wMiABoCeQAKAqoAPAJeAC4DXQA8A48APAKY//wDHgA8AjkAPAI+ABQDgQA8AkQABQHwABcCGQAhAfkAOQF4ADkCOP/+AfwAIQK1//oBsAAWAiEAOQIhADkB6QA5AgP/7wKaADkCGQA5AhkAIQIUADkCHAA5AbEAIQGiAAEB3v/3ArwAHAINAAgCLwA5AfkAIQLyADkDDwA5Ahv/+wK/ADkB6gA5AcsAFwLeADkB9wAKAfwAIQIm//QBeAA5AckAJQGmABkBDQA0AT4AFQEM//AC+v/vAxAAOQIm//QB6QA5Ad7/9wIUADkCiwAAAhv/+wKeACYCGQAhAnX/8wIP//kCyAA8Ak4AOQKLAAACG//7AjwAPAIcADkBygA8AXgAOQH8AAABngAAAkYAPAIWADkDWf/5Atf/+gIOABIBsAAWAnsAPAIPADkCzAA8AksAOQK0AAAB9v/yAs8AAAIc//sCuAA8AjcAOQNTADwCmAA5A8IAPAM2ADkDbAAmAsUAIAIvACYBsQAhAjgACwGiAAECUP/+Aev/+QJQ//4B6//5ApsACgIeAAgDRgALAocAAQKLAC4CIgAhAoUALgIYACACXgA8AiEAOQMaAAAChwAGAxoAAAKHAAYBHQBKAmMAPAH1ADkCi//zAib/7wKLADwCGQA5AqsAPAJAADkCXgAuAfkAIQNOADwCxgA5AQYAQgJdAAAB8AAXAl0AAAHwABcDXv/jAxEAFwIKADwB/AAhAnYAJQH8ACICdgAlAfwAIQNH//kCtf/6Ag4AEgGwABMCJAAiAeQACgKaADwCIQA5ApoAPAIhADkCngAmAhkAIQKeACYCGQAhAp4AJgIZACECPgAUAcsAFwI4//cB3v/3Ajj/9wHe//cCOP/3Ad7/9wJeAC4B+QAhAcoAPAF4ADkDHgA8Ar8AOQJ5AAoCDQAIAg4AKAGwACECev/zAgP/7wNeAAAC0f/4AqwAPAI+ADkClQA8Ak4AOQJsADwB6wA5AyAAPAMlADkCPAA8AhwAOQKgADwBaAA2ApQAbQM0AG0A3wAmAN8AJgDfACYBjAAmAYwAJgGMACYB/QAoAf0AKAHEAEkDKQA1BNAAMwEzAB0BMwAiALj/WwGcACkBnAAyAZwAOAGcABICNwACAjcALQI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcB9ABJBAMAPAO0AB0CWAAsAhoAEgKOADwCDwAUAg8AKwIPAAUCD//7A1kAIwFw/8ICDwAeAg8AKwIPACICDwAoAg8AGwK4ADwCTgA5AAL+fQH1ADwBTAA8AdwAPAELADwA3wAmAScAPAF4ADwB6gA8AV4APAJPADwCGAA5AfwAPAFBAAsCXv/vAiz/+gJeAC4B+QAhAjj/9wHe//cCPgAUAcsAFwIOABIBsAAWAi8AJgGxACECXQAAAfAAFwIKADwB/AAhAgoAPAH8ACECCgA8AfwAIQIOABIBsAAWAp4AJgIZACECngAmAhkAIQKeACYCGQAhAp4AJgIZACEDHgA8Ar8AOQI+ABQBywAXAj4AFAHLABcCQQAmAckAJQJEAAUB9wAKAkQABQH3AAoDgQA8At4AOQOBADwC3gA5Ap3/8wIz/+8CmgA8AiEAOQKeACYCGQAhAx4APAK/ADkCDgAoAbAAIQEdADkBDQBGAfwAPAGYADkCLwAmAbEAIQKHADwCGwAhAosAPAIhADkCAgA8ASYAPQI4AAsBXQAFAlr/9wHd//ICDgASAbUADgIOABIBtQAOAN8AJgDfACYBjAAmAYwAJgD+AFoBkgBaAZwAKQELADwBfwA8AdoAPAHlADwBfwA8AgUAPAHPADwB9wA8Ac4APAIpAAwCUQAMALwAzAEGAEIAuP8WAAAAAAAAA7UAAAO1AAADtQAAA7UAAATYAAAFHAAAB2IAAAsHAAALiwAADrkAAA8NAAAQGAAAEQgAABNXAAAUcgAAFkkAABbRAAAXZAAAF8gAABnxAAAazAAAHEcAAB6hAAAgqQAAIk4AACTqAAAlpgAAKlcAACzDAAAtiwAALgcAAC7TAAAvKwAAMAcAADJDAAA2aAAAOLYAADwXAAA+aAAAQLsAAEHfAABCvAAARigAAEckAABHsAAASUUAAEtCAABL+QAAT8oAAFNcAABWKQAAWAAAAFreAABdbwAAYCEAAGDDAABiYQAAZB0AAGeZAABq8AAAbOoAAG8dAABvywAAcD0AAHCgAAByFAAAclAAAHMUAAB1vQAAd2MAAHk6AAB7WwAAfiIAAH9xAACBdAAAgzMAAIOfAACD8wAAhlwAAId4AACKBQAAi7gAAI5MAACQTwAAkhIAAJMIAACWOgAAl3IAAJkJAACa3AAAnUsAAKBgAACitQAApTYAAKeRAACn8gAAqk0AAKtsAACrbAAArHsAAK5PAACwCwAAtGEAALcRAAC3hwAAu5cAALz3AADAdwAAw4YAAMVKAADFiAAAxZgAAMnwAADKbgAAzNcAAM3wAADOEAAAzjAAAM7xAADQPQAA0PwAANEQAADRzwAA0e8AANOAAADVWQAA1dUAANZNAADWvQAA2OkAANl1AADZ2QAA2kkAANqNAADbFQAA4KgAAOKLAADnPgAA544AAOfWAADoLgAA6JIAAOjuAADpSgAA6aYAAOn+AADsgQAA7MUAAO0lAADtfQAA7eEAAO45AADunQAA76gAAPN0AADz2AAA9DQAAPSoAAD1JAAA9XgAAPaxAAD4iAAA+QAAAPlYAAD5zAAA+gwAAPqUAAD7KAAA/rQAAQKaAAEC9gABA1YAAQOaAAEEDgABBGIAAQSuAAEE+gABBYIAAQdOAAEHigABB94AAQhCAAEIogABCOYAAQlSAAEKRAABDlMAAQ6zAAEPAwABD1sAAQ/PAAEQJwABEg8AARJvAAESxwABEyMAARNvAAET+wABFTkAARc4AAEXvAABGBQAARhYAAEYuAABGQwAARmAAAEZzAABGiAAARowAAEcfwABHMcAAR0TAAEdZwABHb8AASABAAEiagABItoAASMaAAEjRgABI4YAASPyAAEkQgABJJIAASTOAAElFgABJToAASaOAAEovQABKQ0AASlpAAErWAABLh8AAS5vAAEvAAABL0wAAS9wAAEvuAABMBAAATBQAAEwqAABMOwAATE8AAExgAABMgAAATMuAAE07QABNVEAATWlAAE17QABNk0AATapAAE2+QABN2UAATfRAAE4UQABOL0AATrKAAE9nQABPfUAAT59AAE+1QABPx0AAT+NAAE/6QABQD0AAUCJAAFAwQABQQEAAUYcAAFL6QABTEEAAUytAAFN4AABT2cAAU/DAAFQGwABUIcAAVDzAAFRCwABUSMAAVGrAAFSIwABUpsAAVMH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AAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQIAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBAwCKANoAgwCTAPIA8wCNAJcAiADDAN4A8QCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6AQQBBQEGAQcBCAEJAP0A/gEKAQsA/wEAAQwBDQEOAQEBDwEQAREBEgETARQBFQEWARcBGAD4APkBGQEaARsBHAEdAR4BHwEgASEBIgD6ANcBIwEkASUBJgEnASgBKQEqASsBLADiAOMBLQEuAS8BMAExATIBMwE0ATUBNgCwALEBNwE4ATkBOgE7ATwBPQE+AT8BQAD7APwA5ADlAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgC7AU8BUAFRAVIA5gDnAVMApgFUAVUBVgFXAVgBWQFaAVsA2ADhANsA3ADdAOAA2QDfAVwBXQFeAJsBXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB+AH5AfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwI4AjkCOgI7AjwCPQI+Aj8CQAJBAkIAsgCzALYAtwDEALQAtQDFAIIAwgCHAKsAxgC+AL8AvAJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwCMAmQAmACaAJkA7wJlAKUAkgCcAKcAjwCUAJUAuQJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoICgwKEAoUChgKHAogCiQKKAosCjAKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0QDAAMEC0gLTAtQHdW5pMDBBMAd1bmkwMEFEB0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleAZEY2Fyb24GZGNhcm9uBkRjcm9hdAdFbWFjcm9uB2VtYWNyb24KRWRvdGFjY2VudAplZG90YWNjZW50B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4DEdjb21tYWFjY2VudAxnY29tbWFhY2NlbnQLSGNpcmN1bWZsZXgLaGNpcmN1bWZsZXgESGJhcgRoYmFyB0ltYWNyb24HaW1hY3JvbgdJb2dvbmVrB2lvZ29uZWsLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAZMYWN1dGUGbGFjdXRlDExjb21tYWFjY2VudAxsY29tbWFhY2NlbnQGTGNhcm9uBmxjYXJvbgZOYWN1dGUGbmFjdXRlDE5jb21tYWFjY2VudAxuY29tbWFhY2NlbnQGTmNhcm9uBm5jYXJvbgdPbWFjcm9uB29tYWNyb24NT2h1bmdhcnVtbGF1dA1vaHVuZ2FydW1sYXV0BlJhY3V0ZQZyYWN1dGUMUmNvbW1hYWNjZW50DHJjb21tYWFjY2VudAZSY2Fyb24GcmNhcm9uBlNhY3V0ZQZzYWN1dGULU2NpcmN1bWZsZXgLc2NpcmN1bWZsZXgIVGNlZGlsbGEIdGNlZGlsbGEGVGNhcm9uBnRjYXJvbgdVbWFjcm9uB3VtYWNyb24GVWJyZXZlBnVicmV2ZQVVcmluZwV1cmluZw1VaHVuZ2FydW1sYXV0DXVodW5nYXJ1bWxhdXQHVW9nb25lawd1b2dvbmVrBlphY3V0ZQZ6YWN1dGUKWmRvdGFjY2VudAp6ZG90YWNjZW50BWxvbmdzB3VuaTAxRjQHdW5pMDFGNQxTY29tbWFhY2NlbnQMc2NvbW1hYWNjZW50DFRjb21tYWFjY2VudAx0Y29tbWFhY2NlbnQHdW5pMDIzNwlhZmlpNTc5MjkJYWN1dGVjb21iB3VuaTAzOTQHdW5pMDNBOQlhZmlpMTAwMjMJYWZpaTEwMDUxCWFmaWkxMDA1MglhZmlpMTAwNTMJYWZpaTEwMDU0CWFmaWkxMDA1NQlhZmlpMTAwNTYJYWZpaTEwMDU3CWFmaWkxMDA1OAlhZmlpMTAwNTkJYWZpaTEwMDYwCWFmaWkxMDA2MQlhZmlpMTAwNjIJYWZpaTEwMTQ1CWFmaWkxMDAxNwlhZmlpMTAwMTgJYWZpaTEwMDE5CWFmaWkxMDAyMAlhZmlpMTAwMjEJYWZpaTEwMDIyCWFmaWkxMDAyNAlhZmlpMTAwMjUJYWZpaTEwMDI2CWFmaWkxMDAyNwlhZmlpMTAwMjgJYWZpaTEwMDI5CWFmaWkxMDAzMAlhZmlpMTAwMzEJYWZpaTEwMDMyCWFmaWkxMDAzMwlhZmlpMTAwMzQJYWZpaTEwMDM1CWFmaWkxMDAzNglhZmlpMTAwMzcJYWZpaTEwMDM4CWFmaWkxMDAzOQlhZmlpMTAwNDAJYWZpaTEwMDQxCWFmaWkxMDA0MglhZmlpMTAwNDMJYWZpaTEwMDQ0CWFmaWkxMDA0NQlhZmlpMTAwNDYJYWZpaTEwMDQ3CWFmaWkxMDA0OAlhZmlpMTAwNDkJYWZpaTEwMDY1CWFmaWkxMDA2NglhZmlpMTAwNjcJYWZpaTEwMDY4CWFmaWkxMDA2OQlhZmlpMTAwNzAJYWZpaTEwMDcyCWFmaWkxMDA3MwlhZmlpMTAwNzQJYWZpaTEwMDc1CWFmaWkxMDA3NglhZmlpMTAwNzcJYWZpaTEwMDc4CWFmaWkxMDA3OQlhZmlpMTAwODAJYWZpaTEwMDgxCWFmaWkxMDA4MglhZmlpMTAwODMJYWZpaTEwMDg0CWFmaWkxMDA4NQlhZmlpMTAwODYJYWZpaTEwMDg3CWFmaWkxMDA4OAlhZmlpMTAwODkJYWZpaTEwMDkwCWFmaWkxMDA5MQlhZmlpMTAwOTIJYWZpaTEwMDkzCWFmaWkxMDA5NAlhZmlpMTAwOTUJYWZpaTEwMDk2CWFmaWkxMDA5NwlhZmlpMTAwNzEJYWZpaTEwMDk5CWFmaWkxMDEwMAlhZmlpMTAxMDEJYWZpaTEwMTAyCWFmaWkxMDEwMwlhZmlpMTAxMDQJYWZpaTEwMTA1CWFmaWkxMDEwNglhZmlpMTAxMDcJYWZpaTEwMTA4CWFmaWkxMDEwOQlhZmlpMTAxMTAJYWZpaTEwMTkzCWFmaWkxMDE0NglhZmlpMTAxOTQJYWZpaTEwMTQ3CWFmaWkxMDE5NQlhZmlpMTAxNDgJYWZpaTEwMTk2B3VuaTA0OEEHdW5pMDQ4Qgd1bmkwNDhDB3VuaTA0OEQHdW5pMDQ4RQd1bmkwNDhGCWFmaWkxMDA1MAlhZmlpMTAwOTgHdW5pMDQ5Mgd1bmkwNDkzB3VuaTA0OTQHdW5pMDQ5NQd1bmkwNDk2B3VuaTA0OTcHdW5pMDQ5OAd1bmkwNDk5B3VuaTA0OUEHdW5pMDQ5Qgd1bmkwNDlDB3VuaTA0OUQHdW5pMDQ5RQd1bmkwNDlGB3VuaTA0QTAHdW5pMDRBMQd1bmkwNEEyB3VuaTA0QTMHdW5pMDRBNAd1bmkwNEE1B3VuaTA0QTYHdW5pMDRBNwd1bmkwNEE4B3VuaTA0QTkHdW5pMDRBQQd1bmkwNEFCB3VuaTA0QUMHdW5pMDRBRAd1bmkwNEFFB3VuaTA0QUYHdW5pMDRCMAd1bmkwNEIxB3VuaTA0QjIHdW5pMDRCMwd1bmkwNEI0B3VuaTA0QjUHdW5pMDRCNgd1bmkwNEI3B3VuaTA0QjgHdW5pMDRCOQd1bmkwNEJBB3VuaTA0QkIHdW5pMDRCQwd1bmkwNEJEB3VuaTA0QkUHdW5pMDRCRgd1bmkwNEMwB3VuaTA0QzMHdW5pMDRDNAd1bmkwNEM1B3VuaTA0QzYHdW5pMDRDNwd1bmkwNEM4B3VuaTA0QzkHdW5pMDRDQQd1bmkwNENCB3VuaTA0Q0MHdW5pMDRDRAd1bmkwNENFB3VuaTA0Q0YHdW5pMDREMAd1bmkwNEQxB3VuaTA0RDIHdW5pMDREMwd1bmkwNEQ0B3VuaTA0RDUHdW5pMDRENgd1bmkwNEQ3B3VuaTA0RDgJYWZpaTEwODQ2B3VuaTA0REEHdW5pMDREQgd1bmkwNERDB3VuaTA0REQHdW5pMDRERQd1bmkwNERGB3VuaTA0RTAHdW5pMDRFMQd1bmkwNEUyB3VuaTA0RTMHdW5pMDRFNAd1bmkwNEU1B3VuaTA0RTYHdW5pMDRFNwd1bmkwNEU4B3VuaTA0RTkHdW5pMDRFQQd1bmkwNEVCB3VuaTA0RUMHdW5pMDRFRAd1bmkwNEVFB3VuaTA0RUYHdW5pMDRGMAd1bmkwNEYxB3VuaTA0RjIHdW5pMDRGMwd1bmkwNEY0B3VuaTA0RjUHdW5pMDRGNgd1bmkwNEY3B3VuaTA0RjgHdW5pMDRGOQd1bmkwNEZDB3VuaTA0RkQHdW5pMDUxMAd1bmkwNTExB3VuaTA1MTIHdW5pMDUxMwd1bmkwNTFDB3VuaTA1MUQHdW5pMDUyNAd1bmkwNTI1B3VuaTA1MjYHdW5pMDUyNwd1bmkxRTMwB3VuaTFFMzEHdW5pMUUzRQd1bmkxRTNGB3VuaTFFNTQHdW5pMUU1NQd1bmkxRTlFB3VuaTIwMTEHdW5pMjA4MQd1bmkyMDgyB3VuaTIwODMHdW5pMjA4NARFdXJvB3VuaTIwQjQHdW5pMjBCNgd1bmkyMEI3B3VuaTIwQjkHdW5pMjBCQQd1bmkyMEJCB3VuaTIwQkMHdW5pMjBCRAd1bmkyMEJFB3VuaTIwQkYHdW5pMjBDMAd1bmkyMEMxB3VuaTIwQzIHdW5pMjBDMwd1bmkyMEM0B3VuaTIwQzUHdW5pMjBDNgd1bmkyMEM3B3VuaTIwQzgHdW5pMjBDOQd1bmkyMENBB3VuaTIwQ0IHdW5pMjBDQwd1bmkyMENEB3VuaTIwQ0UHdW5pMjBDRglhZmlpNjEyODkJYWZpaTYxMzUyCWVzdGltYXRlZAd1bmkyMjE1B3VuaTJDNjcHdW5pMkM2OAd1bmlGNDAxB3VuaUY0MDYHdW5pRjQwNwd1bmlGNDA4B3VuaUY0MDkHdW5pRjQwQQd1bmlGNDBCB3VuaUY0MEMHdW5pRjQwRAd1bmlGNDBFB3VuaUY0ODYHdW5pRjQ4Nwd1bmlGNDg4B3VuaUY0ODkHdW5pRjQ5RQd1bmlGNDlGB3VuaUY0QzYHdW5pRjRDNwd1bmlGNENDB3VuaUY0Q0QHdW5pRjRENgd1bmlGNEQ3C3VuaTA0OTguYWx0C3VuaTA0OTkuYWx0DXVuaTA0QUEuYWx0MDINdW5pMDRBQi5hbHQwMgd1bmlGNTBFB3VuaUY1MEYHdW5pRjUxMAd1bmlGNTExB3VuaUY1MTIHdW5pRjUxMwd1bmlGNTE0B3VuaUY1MTUHdW5pRjUxNgd1bmlGNTE3B3VuaUY1MTgHdW5pRjUxOQd1bmlGNTFBB3VuaUY1MUIHdW5pRjUxQwd1bmlGNTFEB3VuaUY1MUUHdW5pRjUxRgd1bmlGNTIwB3VuaUY1MjEHdW5pRjUyMgd1bmlGNTIzB3VuaUY1MjQHdW5pRjUyNQd1bmlGNTI2B3VuaUY1MjcHdW5pRjUyOAd1bmlGNTI5B3VuaUY1MkEHdW5pRjUyQgd1bmlGNTJDB3VuaUY1MkQHdW5pRjUyRQd1bmlGNTJGB3VuaUY1MzAHdW5pRjUzMQd1bmlGNTMyB3VuaUY1MzMHdW5pRjUzNAd1bmlGNTM1B3VuaUY1MzYHdW5pRjUzNwd1bmlGNTM4B3VuaUY1MzkNYWZpaTEwMDU1LmFsdA1hZmlpMTAxMDMuYWx0C3VuaTA0OTIuYWx0C3VuaTA0OTMuYWx0C3VuaTA0QUEuYWx0C3VuaTA0QUIuYWx0B3VuaUY1NDAHdW5pRjU0MQd1bmlGNTQyB3VuaUY1NDMHdW5pRjU0NAd1bmlGNTQ1B3VuaUY1NDYHdW5pRjU0Nwd1bmlGNTQ4B3VuaUY1NDkHdW5pRjU0QQd1bmlGNTRCB3VuaUY1NEMHdW5pRjU0RAd1bmlGNjJDB3VuaUY2MkQHdW5pRjYyRQd1bmlGNjJGB3VuaUY2MzQHdW5pRjYzNQ1vbmUubnVtZXJhdG9yB3VuaUY2QzMHdW5pRjZDOQd1bmlGNkNBB3VuaUY2Q0IHdW5pRjZDRQd1bmlGNkNGB3VuaUY2RDAHdW5pRjZEMQd1bmlGNkQ0B2Nhcm9uLmwFbC52YXIMZnJhY3Rpb24uYWx0AAAAAAAADwC6AAMAAQQJAAAAZi4IAAMAAQQJAAEADi36AAMAAQQJAAIACC3yAAMAAQQJAAMAPi20AAMAAQQJAAQAGC2cAAMAAQQJAAUAJC14AAMAAQQJAAYAFi1iAAMAAQQJAAcAVi0MAAMAAQQJAAgAGCz0AAMAAQQJAAkARCywAAMAAQQJAAoJCiOmAAMAAQQJAAsALiN4AAMAAQQJAAwATiMqAAMAAQQJAA0i7gA8AAMAAQQJAA4APAAAAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABfAHcAZQBiAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQAwACwAIABQAGEAcgBhAFQAeQBwAGUAIABMAHQAZAAuACAAKABoAHQAdABwADoALwAvAHcAdwB3AC4AcABhAHIAYQB0AHkAcABlAC4AYwBvAG0ALwBwAHUAYgBsAGkAYwApACwAIAB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAcwAgACIAUABUACAAUwBhAG4AcwAiACwAIAAiAFAAVAAgAFMAZQByAGkAZgAiACAAYQBuAGQAIAAiAFAAYQByAGEAVAB5AHAAZQAiAC4ADQAKAA0ACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEAIABUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGMAbwBwAGkAZQBkACAAYgBlAGwAbwB3ACwAIABhAG4AZAAgAGkAcwAgAGEAbABzAG8AIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAANAAoADQAKAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQANAAoAUwBJAEwAIABPAFAARQBOACAARgBPAE4AVAAgAEwASQBDAEUATgBTAEUAIABWAGUAcgBzAGkAbwBuACAAMQAuADEAIAAtACAAMgA2ACAARgBlAGIAcgB1AGEAcgB5ACAAMgAwADAANwANAAoALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAA0ACgANAAoAUABSAEUAQQBNAEIATABFAA0ACgBUAGgAZQAgAGcAbwBhAGwAcwAgAG8AZgAgAHQAaABlACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACAAKABPAEYATAApACAAYQByAGUAIAB0AG8AIABzAHQAaQBtAHUAbABhAHQAZQAgAHcAbwByAGwAZAB3AGkAZABlACAAZABlAHYAZQBsAG8AcABtAGUAbgB0ACAAbwBmACAAYwBvAGwAbABhAGIAbwByAGEAdABpAHYAZQAgAGYAbwBuAHQAIABwAHIAbwBqAGUAYwB0AHMALAAgAHQAbwAgAHMAdQBwAHAAbwByAHQAIAB0AGgAZQAgAGYAbwBuAHQAIABjAHIAZQBhAHQAaQBvAG4AIABlAGYAZgBvAHIAdABzACAAbwBmACAAYQBjAGEAZABlAG0AaQBjACAAYQBuAGQAIABsAGkAbgBnAHUAaQBzAHQAaQBjACAAYwBvAG0AbQB1AG4AaQB0AGkAZQBzACwAIABhAG4AZAAgAHQAbwAgAHAAcgBvAHYAaQBkAGUAIABhACAAZgByAGUAZQAgAGEAbgBkACAAbwBwAGUAbgAgAGYAcgBhAG0AZQB3AG8AcgBrACAAaQBuACAAdwBoAGkAYwBoACAAZgBvAG4AdABzACAAbQBhAHkAIABiAGUAIABzAGgAYQByAGUAZAAgAGEAbgBkACAAaQBtAHAAcgBvAHYAZQBkACAAaQBuACAAcABhAHIAdABuAGUAcgBzAGgAaQBwACAAdwBpAHQAaAAgAG8AdABoAGUAcgBzAC4ADQAKAA0ACgBUAGgAZQAgAE8ARgBMACAAYQBsAGwAbwB3AHMAIAB0AGgAZQAgAGwAaQBjAGUAbgBzAGUAZAAgAGYAbwBuAHQAcwAgAHQAbwAgAGIAZQAgAHUAcwBlAGQALAAgAHMAdAB1AGQAaQBlAGQALAAgAG0AbwBkAGkAZgBpAGUAZAAgAGEAbgBkACAAcgBlAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGYAcgBlAGUAbAB5ACAAYQBzACAAbABvAG4AZwAgAGEAcwAgAHQAaABlAHkAIABhAHIAZQAgAG4AbwB0ACAAcwBvAGwAZAAgAGIAeQAgAHQAaABlAG0AcwBlAGwAdgBlAHMALgAgAFQAaABlACAAZgBvAG4AdABzACwAIABpAG4AYwBsAHUAZABpAG4AZwAgAGEAbgB5ACAAZABlAHIAaQB2AGEAdABpAHYAZQAgAHcAbwByAGsAcwAsACAAYwBhAG4AIABiAGUAIABiAHUAbgBkAGwAZQBkACwAIABlAG0AYgBlAGQAZABlAGQALAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUAIABwAHIAbwB2AGkAZABlAGQAIAB0AGgAYQB0ACAAYQBuAHkAIAByAGUAcwBlAHIAdgBlAGQAIABuAGEAbQBlAHMAIABhAHIAZQAgAG4AbwB0ACAAdQBzAGUAZAAgAGIAeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIAB3AG8AcgBrAHMALgAgAFQAaABlACAAZgBvAG4AdABzACAAYQBuAGQAIABkAGUAcgBpAHYAYQB0AGkAdgBlAHMALAAgAGgAbwB3AGUAdgBlAHIALAAgAGMAYQBuAG4AbwB0ACAAYgBlACAAcgBlAGwAZQBhAHMAZQBkACAAdQBuAGQAZQByACAAYQBuAHkAIABvAHQAaABlAHIAIAB0AHkAcABlACAAbwBmACAAbABpAGMAZQBuAHMAZQAuACAAVABoAGUAIAByAGUAcQB1AGkAcgBlAG0AZQBuAHQAIABmAG8AcgAgAGYAbwBuAHQAcwAgAHQAbwAgAHIAZQBtAGEAaQBuACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABkAG8AZQBzACAAbgBvAHQAIABhAHAAcABsAHkAIAB0AG8AIABhAG4AeQAgAGQAbwBjAHUAbQBlAG4AdAAgAGMAcgBlAGEAdABlAGQAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAGYAbwBuAHQAcwAgAG8AcgAgAHQAaABlAGkAcgAgAGQAZQByAGkAdgBhAHQAaQB2AGUAcwAuAA0ACgANAAoARABFAEYASQBOAEkAVABJAE8ATgBTAA0ACgAiAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAdABoAGUAIABzAGUAdAAgAG8AZgAgAGYAaQBsAGUAcwAgAHIAZQBsAGUAYQBzAGUAZAAgAGIAeQAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQBuAGQAIABjAGwAZQBhAHIAbAB5ACAAbQBhAHIAawBlAGQAIABhAHMAIABzAHUAYwBoAC4AIABUAGgAaQBzACAAbQBhAHkAIABpAG4AYwBsAHUAZABlACAAcwBvAHUAcgBjAGUAIABmAGkAbABlAHMALAAgAGIAdQBpAGwAZAAgAHMAYwByAGkAcAB0AHMAIABhAG4AZAAgAGQAbwBjAHUAbQBlAG4AdABhAHQAaQBvAG4ALgANAAoADQAKACIAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABuAGEAbQBlAHMAIABzAHAAZQBjAGkAZgBpAGUAZAAgAGEAcwAgAHMAdQBjAGgAIABhAGYAdABlAHIAIAB0AGgAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAcwB0AGEAdABlAG0AZQBuAHQAKABzACkALgANAAoADQAKACIATwByAGkAZwBpAG4AYQBsACAAVgBlAHIAcwBpAG8AbgAiACAAcgBlAGYAZQByAHMAIAB0AG8AIAB0AGgAZQAgAGMAbwBsAGwAZQBjAHQAaQBvAG4AIABvAGYAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAYwBvAG0AcABvAG4AZQBuAHQAcwAgAGEAcwAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGIAeQAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAuAA0ACgANAAoAIgBNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAZABlAHIAaQB2AGEAdABpAHYAZQAgAG0AYQBkAGUAIABiAHkAIABhAGQAZABpAG4AZwAgAHQAbwAsACAAZABlAGwAZQB0AGkAbgBnACwAIABvAHIAIABzAHUAYgBzAHQAaQB0AHUAdABpAG4AZwAgAC0ALQAgAGkAbgAgAHAAYQByAHQAIABvAHIAIABpAG4AIAB3AGgAbwBsAGUAIAAtAC0AIABhAG4AeQAgAG8AZgAgAHQAaABlACAAYwBvAG0AcABvAG4AZQBuAHQAcwAgAG8AZgAgAHQAaABlACAATwByAGkAZwBpAG4AYQBsACAAVgBlAHIAcwBpAG8AbgAsACAAYgB5ACAAYwBoAGEAbgBnAGkAbgBnACAAZgBvAHIAbQBhAHQAcwAgAG8AcgAgAGIAeQAgAHAAbwByAHQAaQBuAGcAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIAB0AG8AIABhACAAbgBlAHcAIABlAG4AdgBpAHIAbwBuAG0AZQBuAHQALgANAAoADQAKACIAQQB1AHQAaABvAHIAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABkAGUAcwBpAGcAbgBlAHIALAAgAGUAbgBnAGkAbgBlAGUAcgAsACAAcAByAG8AZwByAGEAbQBtAGUAcgAsACAAdABlAGMAaABuAGkAYwBhAGwAIAB3AHIAaQB0AGUAcgAgAG8AcgAgAG8AdABoAGUAcgAgAHAAZQByAHMAbwBuACAAdwBoAG8AIABjAG8AbgB0AHIAaQBiAHUAdABlAGQAIAB0AG8AIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgANAAoADQAKAFAARQBSAE0ASQBTAFMASQBPAE4AIAAmACAAQwBPAE4ARABJAFQASQBPAE4AUwANAAoAUABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGgAZQByAGUAYgB5ACAAZwByAGEAbgB0AGUAZAAsACAAZgByAGUAZQAgAG8AZgAgAGMAaABhAHIAZwBlACwAIAB0AG8AIABhAG4AeQAgAHAAZQByAHMAbwBuACAAbwBiAHQAYQBpAG4AaQBuAGcAIABhACAAYwBvAHAAeQAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAsACAAdABvACAAdQBzAGUALAAgAHMAdAB1AGQAeQAsACAAYwBvAHAAeQAsACAAbQBlAHIAZwBlACwAIABlAG0AYgBlAGQALAAgAG0AbwBkAGkAZgB5ACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQAsACAAYQBuAGQAIABzAGUAbABsACAAbQBvAGQAaQBmAGkAZQBkACAAYQBuAGQAIAB1AG4AbQBvAGQAaQBmAGkAZQBkACAAYwBvAHAAaQBlAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAHMAdQBiAGoAZQBjAHQAIAB0AG8AIAB0AGgAZQAgAGYAbwBsAGwAbwB3AGkAbgBnACAAYwBvAG4AZABpAHQAaQBvAG4AcwA6AA0ACgANAAoAMQApACAATgBlAGkAdABoAGUAcgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAG4AbwByACAAYQBuAHkAIABvAGYAIABpAHQAcwAgAGkAbgBkAGkAdgBpAGQAdQBhAGwAIABjAG8AbQBwAG8AbgBlAG4AdABzACwAIABpAG4AIABPAHIAaQBnAGkAbgBhAGwAIABvAHIAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuAHMALAAgAG0AYQB5ACAAYgBlACAAcwBvAGwAZAAgAGIAeQAgAGkAdABzAGUAbABmAC4ADQAKAA0ACgAyACkAIABPAHIAaQBnAGkAbgBhAGwAIABvAHIAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABtAGEAeQAgAGIAZQAgAGIAdQBuAGQAbABlAGQALAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUALAAgAHAAcgBvAHYAaQBkAGUAZAAgAHQAaABhAHQAIABlAGEAYwBoACAAYwBvAHAAeQAgAGMAbwBuAHQAYQBpAG4AcwAgAHQAaABlACAAYQBiAG8AdgBlACAAYwBvAHAAeQByAGkAZwBoAHQAIABuAG8AdABpAGMAZQAgAGEAbgBkACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlAHMAZQAgAGMAYQBuACAAYgBlACAAaQBuAGMAbAB1AGQAZQBkACAAZQBpAHQAaABlAHIAIABhAHMAIABzAHQAYQBuAGQALQBhAGwAbwBuAGUAIAB0AGUAeAB0ACAAZgBpAGwAZQBzACwAIABoAHUAbQBhAG4ALQByAGUAYQBkAGEAYgBsAGUAIABoAGUAYQBkAGUAcgBzACAAbwByACAAaQBuACAAdABoAGUAIABhAHAAcAByAG8AcAByAGkAYQB0AGUAIABtAGEAYwBoAGkAbgBlAC0AcgBlAGEAZABhAGIAbABlACAAbQBlAHQAYQBkAGEAdABhACAAZgBpAGUAbABkAHMAIAB3AGkAdABoAGkAbgAgAHQAZQB4AHQAIABvAHIAIABiAGkAbgBhAHIAeQAgAGYAaQBsAGUAcwAgAGEAcwAgAGwAbwBuAGcAIABhAHMAIAB0AGgAbwBzAGUAIABmAGkAZQBsAGQAcwAgAGMAYQBuACAAYgBlACAAZQBhAHMAaQBsAHkAIAB2AGkAZQB3AGUAZAAgAGIAeQAgAHQAaABlACAAdQBzAGUAcgAuAA0ACgANAAoAMwApACAATgBvACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAG0AYQB5ACAAdQBzAGUAIAB0AGgAZQAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACgAcwApACAAdQBuAGwAZQBzAHMAIABlAHgAcABsAGkAYwBpAHQAIAB3AHIAaQB0AHQAZQBuACAAcABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGcAcgBhAG4AdABlAGQAIABiAHkAIAB0AGgAZQAgAGMAbwByAHIAZQBzAHAAbwBuAGQAaQBuAGcAIABDAG8AcAB5AHIAaQBnAGgAdAAgAEgAbwBsAGQAZQByAC4AIABUAGgAaQBzACAAcgBlAHMAdAByAGkAYwB0AGkAbwBuACAAbwBuAGwAeQAgAGEAcABwAGwAaQBlAHMAIAB0AG8AIAB0AGgAZQAgAHAAcgBpAG0AYQByAHkAIABmAG8AbgB0ACAAbgBhAG0AZQAgAGEAcwAgAHAAcgBlAHMAZQBuAHQAZQBkACAAdABvACAAdABoAGUAIAB1AHMAZQByAHMALgANAAoADQAKADQAKQAgAFQAaABlACAAbgBhAG0AZQAoAHMAKQAgAG8AZgAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAG8AcgAgAHQAaABlACAAQQB1AHQAaABvAHIAKABzACkAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABzAGgAYQBsAGwAIABuAG8AdAAgAGIAZQAgAHUAcwBlAGQAIAB0AG8AIABwAHIAbwBtAG8AdABlACwAIABlAG4AZABvAHIAcwBlACAAbwByACAAYQBkAHYAZQByAHQAaQBzAGUAIABhAG4AeQAgAE0AbwBkAGkAZgBpAGUAZAAgAFYAZQByAHMAaQBvAG4ALAAgAGUAeABjAGUAcAB0ACAAdABvACAAYQBjAGsAbgBvAHcAbABlAGQAZwBlACAAdABoAGUAIABjAG8AbgB0AHIAaQBiAHUAdABpAG8AbgAoAHMAKQAgAG8AZgAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAGEAbgBkACAAdABoAGUAIABBAHUAdABoAG8AcgAoAHMAKQAgAG8AcgAgAHcAaQB0AGgAIAB0AGgAZQBpAHIAIABlAHgAcABsAGkAYwBpAHQAIAB3AHIAaQB0AHQAZQBuAA0ACgBwAGUAcgBtAGkAcwBzAGkAbwBuAC4AIAANAAoADQAKADUAKQAgAFQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAsACAAbQBvAGQAaQBmAGkAZQBkACAAbwByACAAdQBuAG0AbwBkAGkAZgBpAGUAZAAsACAAaQBuACAAcABhAHIAdAAgAG8AcgAgAGkAbgAgAHcAaABvAGwAZQAsACAAbQB1AHMAdAAgAGIAZQAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGUAbgB0AGkAcgBlAGwAeQAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACwAIABhAG4AZAAgAG0AdQBzAHQAIABuAG8AdAAgAGIAZQAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAHUAbgBkAGUAcgAgAGEAbgB5ACAAbwB0AGgAZQByACAAbABpAGMAZQBuAHMAZQAuACAAVABoAGUAIAByAGUAcQB1AGkAcgBlAG0AZQBuAHQAIABmAG8AcgAgAGYAbwBuAHQAcwAgAHQAbwAgAHIAZQBtAGEAaQBuACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABkAG8AZQBzACAAbgBvAHQAIABhAHAAcABsAHkAIAB0AG8AIABhAG4AeQAgAGQAbwBjAHUAbQBlAG4AdAAgAGMAcgBlAGEAdABlAGQAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgANAAoADQAKAFQARQBSAE0ASQBOAEEAVABJAE8ATgANAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABiAGUAYwBvAG0AZQBzACAAbgB1AGwAbAAgAGEAbgBkACAAdgBvAGkAZAAgAGkAZgAgAGEAbgB5ACAAbwBmACAAdABoAGUAIABhAGIAbwB2AGUAIABjAG8AbgBkAGkAdABpAG8AbgBzACAAYQByAGUAIABuAG8AdAAgAG0AZQB0AC4ADQAKAA0ACgBEAEkAUwBDAEwAQQBJAE0ARQBSAA0ACgBUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUAIABJAFMAIABQAFIATwBWAEkARABFAEQAIAAiAEEAUwAgAEkAUwAiACwAIABXAEkAVABIAE8AVQBUACAAVwBBAFIAUgBBAE4AVABZACAATwBGACAAQQBOAFkAIABLAEkATgBEACwAIABFAFgAUABSAEUAUwBTACAATwBSACAASQBNAFAATABJAEUARAAsACAASQBOAEMATABVAEQASQBOAEcAIABCAFUAVAAgAE4ATwBUACAATABJAE0ASQBUAEUARAAgAFQATwAgAEEATgBZACAAVwBBAFIAUgBBAE4AVABJAEUAUwAgAE8ARgAgAE0ARQBSAEMASABBAE4AVABBAEIASQBMAEkAVABZACwAIABGAEkAVABOAEUAUwBTACAARgBPAFIAIABBACAAUABBAFIAVABJAEMAVQBMAEEAUgAgAFAAVQBSAFAATwBTAEUAIABBAE4ARAAgAE4ATwBOAEkATgBGAFIASQBOAEcARQBNAEUATgBUACAATwBGACAAQwBPAFAAWQBSAEkARwBIAFQALAAgAFAAQQBUAEUATgBUACwAIABUAFIAQQBEAEUATQBBAFIASwAsACAATwBSACAATwBUAEgARQBSACAAUgBJAEcASABUAC4AIABJAE4AIABOAE8AIABFAFYARQBOAFQAIABTAEgAQQBMAEwAIABUAEgARQAgAEMATwBQAFkAUgBJAEcASABUACAASABPAEwARABFAFIAIABCAEUAIABMAEkAQQBCAEwARQAgAEYATwBSACAAQQBOAFkAIABDAEwAQQBJAE0ALAAgAEQAQQBNAEEARwBFAFMAIABPAFIAIABPAFQASABFAFIAIABMAEkAQQBCAEkATABJAFQAWQAsACAASQBOAEMATABVAEQASQBOAEcAIABBAE4AWQAgAEcARQBOAEUAUgBBAEwALAAgAFMAUABFAEMASQBBAEwALAAgAEkATgBEAEkAUgBFAEMAVAAsACAASQBOAEMASQBEAEUATgBUAEEATAAsACAATwBSACAAQwBPAE4AUwBFAFEAVQBFAE4AVABJAEEATAAgAEQAQQBNAEEARwBFAFMALAAgAFcASABFAFQASABFAFIAIABJAE4AIABBAE4AIABBAEMAVABJAE8ATgAgAE8ARgAgAEMATwBOAFQAUgBBAEMAVAAsACAAVABPAFIAVAAgAE8AUgAgAE8AVABIAEUAUgBXAEkAUwBFACwAIABBAFIASQBTAEkATgBHACAARgBSAE8ATQAsACAATwBVAFQAIABPAEYAIABUAEgARQAgAFUAUwBFACAATwBSACAASQBOAEEAQgBJAEwASQBUAFkAIABUAE8AIABVAFMARQAgAFQASABFACAARgBPAE4AVAAgAFMATwBGAFQAVwBBAFIARQAgAE8AUgAgAEYAUgBPAE0AIABPAFQASABFAFIAIABEAEUAQQBMAEkATgBHAFMAIABJAE4AIABUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUALgANAAoAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAC8AaABlAGwAcAAvAGQAZQBzAGkAZwBuAGUAcgBzAC8AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAFAAVAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAB5AHAAZQAgAGYAYQBtAGkAbAB5ACAAbwBmACAAdQBuAGkAdgBlAHIAcwBhAGwAIAB1AHMAZQAuACAASQB0ACAAYwBvAG4AcwBpAHMAdABzACAAbwBmACAAOAAgAHMAdAB5AGwAZQBzADoAIAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACAAdwBlAGkAZwBoAHQAcwAgAHcAaQB0AGgAIABjAG8AcgByAGUAcwBwAG8AbgBkAGkAbgBnACAAaQB0AGEAbABpAGMAcwAgAGYAbwByAG0AIABhACAAcwB0AGEAbgBkAGEAcgBkACAAYwBvAG0AcAB1AHQAZQByACAAZgBvAG4AdAAgAGYAYQBtAGkAbAB5ADsAIAB0AHcAbwAgAG4AYQByAHIAbwB3ACAAcwB0AHkAbABlAHMAIAAoAHIAZQBnAHUAbABhAHIAIABhAG4AZAAgAGIAbwBsAGQAKQAgAGEAcgBlACAAaQBuAHQAZQBuAGQAZQBkACAAZgBvAHIAIABkAG8AYwB1AG0AZQBuAHQAcwAgAHQAaABhAHQAIAByAGUAcQB1AGkAcgBlACAAdABpAGcAaAB0ACAAcwBlAHQAOwAgAHQAdwBvACAAYwBhAHAAdABpAG8AbgAgAHMAdAB5AGwAZQBzACAAKAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACkAIABhAHIAZQAgAGYAbwByACAAdABlAHgAdABzACAAbwBmACAAcwBtAGEAbABsACAAcABvAGkAbgB0ACAAcwBpAHoAZQBzAC4AIABUAGgAZQAgAGQAZQBzAGkAZwBuACAAYwBvAG0AYgBpAG4AZQBzACAAdAByAGEAZABpAHQAaQBvAG4AYQBsACAAYwBvAG4AcwBlAHIAdgBhAHQAaQB2AGUAIABhAHAAcABlAGEAcgBhAG4AYwBlACAAdwBpAHQAaAAgAG0AbwBkAGUAcgBuACAAdAByAGUAbgBkAHMAIABvAGYAIABoAHUAbQBhAG4AaQBzAHQAaQBjACAAcwBhAG4AcwAgAHMAZQByAGkAZgAgAGEAbgBkACAAYwBoAGEAcgBhAGMAdABlAHIAaQB6AGUAZAAgAGIAeQAgAGUAbgBoAGEAbgBjAGUAZAAgAGwAZQBnAGkAYgBpAGwAaQB0AHkALgAgAFQAaABlAHMAZQAgAGYAZQBhAHQAdQByAGUAcwAgAGIAZQBzAGkAZABlACAAYwBvAG4AdgBlAG4AdABpAG8AbgBhAGwAIAB1AHMAZQAgAGkAbgAgAGIAdQBzAGkAbgBlAHMAcwAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgBzACAAYQBuAGQAIABwAHIAaQBuAHQAZQBkACAAcwB0AHUAZgBmACAAbQBhAGQAZQAgAHQAaABlACAAZgBvAG4AdABzACAAcQB1AGkAdABlACAAdQBzAGUAYQBiAGwAZQAgAGYAbwByACAAZABpAHIAZQBjAHQAaQBvAG4AIABhAG4AZAAgAGcAdQBpAGQAZQAgAHMAaQBnAG4AcwAsACAAcwBjAGgAZQBtAGUAcwAsACAAcwBjAHIAZQBlAG4AcwAgAG8AZgAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgAgAGsAaQBvAHMAawBzACAAYQBuAGQAIABvAHQAaABlAHIAIABvAGIAagBlAGMAdABzACAAbwBmACAAdQByAGIAYQBuACAAdgBpAHMAdQBhAGwAIABjAG8AbQBtAHUAbgBpAGMAYQB0AGkAbwBuAHMALgANAAoADQAKAFQAaABlACAAZgBvAG4AdABzACAAbgBlAHgAdAAgAHQAbwAgAHMAdABhAG4AZABhAHIAZAAgAEwAYQB0AGkAbgAgAGEAbgBkACAAQwB5AHIAaQBsAGwAaQBjACAAYwBoAGEAcgBhAGMAdABlAHIAIABzAGUAdABzACAAYwBvAG4AdABhAGkAbgAgAHMAaQBnAG4AcwAgAG8AZgAgAHQAaQB0AGwAZQAgAGwAYQBuAGcAdQBhAGcAZQBzACAAbwBmACAAdABoAGUAIABuAGEAdABpAG8AbgBhAGwAIAByAGUAcAB1AGIAbABpAGMAcwAgAG8AZgAgAFIAdQBzAHMAaQBhAG4AIABGAGUAZABlAHIAYQB0AGkAbwBuACAAYQBuAGQAIABzAHUAcABwAG8AcgB0ACAAdABoAGUAIABtAG8AcwB0ACAAbwBmACAAdABoAGUAIABsAGEAbgBnAHUAYQBnAGUAcwAgAG8AZgAgAG4AZQBpAGcAaABiAG8AcgBpAG4AZwAgAGMAbwB1AG4AdAByAGkAZQBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAgAHcAZQByAGUAIABkAGUAdgBlAGwAbwBwAGUAZAAgAGEAbgBkACAAcgBlAGwAZQBhAHMAZQBkACAAYgB5ACAAUABhAHIAYQBUAHkAcABlACAAaQBuACAAMgAwADAAOQAgAHcAaQB0AGgAIABmAGkAbgBhAG4AYwBpAGEAbAAgAHMAdQBwAHAAbwByAHQAIABmAHIAbwBtACAARgBlAGQAZQByAGEAbAAgAEEAZwBlAG4AYwB5ACAAbwBmACAAUAByAGkAbgB0ACAAYQBuAGQAIABNAGEAcwBzACAAQwBvAG0AbQB1AG4AaQBjAGEAdABpAG8AbgBzACAAbwBmACAAUgB1AHMAcwBpAGEAbgAgAEYAZQBkAGUAcgBhAHQAaQBvAG4ALgAgAEQAZQBzAGkAZwBuACAALQAgAEEAbABlAHgAYQBuAGQAcgBhACAASwBvAHIAbwBsAGsAbwB2AGEAIAB3AGkAdABoACAAYQBzAHMAaQBzAHQAYQBuAGMAZQAgAG8AZgAgAE8AbABnAGEAIABVAG0AcABlAGwAZQB2AGEAIABhAG4AZAAgAHMAdQBw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ALEAFACzABQAuwAUALwAFAC9ABQAvgAUAMIANwDDABQAxAA3AMUAFADGADcAxwAUAOUAFAD3ABQA+QAUAPsAFAEDABQBBQAUAQcAFAEJABQBDQAUARUAFAEZABQBGwAUAR0AFAEfACgBIAAUASEAKAEiABQBIwAoASQAFAEqABQBSQA3AU8AFAFeABQBbwAUAX4AFAGpABQBqgAUAcUAFAHGABQB4QA3AeMANwHlAEcB7QAUAe4AFAILABQCDAAUAiH/dAIjACgCJgAoAnsANwABAYj/iAAFATz/ugFF/7oBW/+6Ab//ugHH/7oABQFtAAYBdAAGAZEABgHXAAYCEAAGAAUBQwAeAU0AHgFUAB4B1gAeAg8AHgAFAW0AKAF0ACgBkQAoAdcAKAIQACgABQFDACgBTQAoAVQAKAHWACgCDwAoAAIAcAANAlAADQAqAAP/8wAQ/+oAYv/zAG//6gFu//UBd//1AXr/9QF8//oBff/1AYn/9QGM//UBlf/6AZr/9QGc//oBvP/1Ab7/9QHC//oB0P/tAdL/7QHo//UB+P/1Afr/9QH8//UCAP/6AgL/+gIE//oCEv/6Ah7/6gIf/+oCIP/qAnT/+gJ6//UCfv/1AoD/9QKC//UChv/1Aoj/9QKK//UCjP/1ApT/9QKi//UCrP/1AAMADAAIAEAACABgAAgABQFtAB4BdAAeAZEAHgHXAB4CEAAeAAUBPP+NAUX/jQFb/40Bv/+NAcf/jQAYAW7/+gF3//oBev/6AX3/+gGJ//oBjP/6AZr/+gG8//oBvv/6Aej/+gH4//oB+v/6Afz/+gJ6//oCfv/6AoD/+gKC//oChv/6Aoj/+gKK//oCjP/6ApT/+gKi//oCrP/6AF8AA//zABD/3ABi//MAb//cATz/8gE+//IBRf/yAUf/9QFJ//cBV//yAVr/8gFb//IBXP/1AV3/8gFt//UBbv/qAXT/9QF3/+oBev/qAXv/7wF8/+cBff/qAYP/7wGJ/+oBjP/qAZH/9QGV/+cBmf/yAZr/6gGb//UBnP/nAaD/7wG0/+8Bu//yAbz/6gG9//IBvv/qAb//8gHA/+8Bwf/1AcL/5wHD//UBx//yAcj/7wHP/94B0P/bAdH/3gHS/9sB1//1AeH/9wHj//cB5f/UAej/6gHp/+8B6//vAff/8gH4/+oB+f/yAfr/6gH7//IB/P/qAf//9QIA/+cCAf/1AgL/5wID//UCBP/nAhD/9QIR//UCEv/nAh7/3AIf/9wCIP/cAnP/9QJ0/+cCef/yAnr/6gJ7//cCfv/qAoD/6gKC/+oChf/yAob/6gKH//ICiP/qAon/8gKK/+oCi//yAoz/6gKT//IClP/qAqH/8gKi/+oCq//yAqz/6gAYAW7/3wF3/98Bev/fAX3/3wGJ/98BjP/fAZr/3wG8/98Bvv/fAej/3wH4/98B+v/fAfz/3wJ6/98Cfv/fAoD/3wKC/98Chv/fAoj/3wKK/98CjP/fApT/3wKi/98CrP/fAAUBPP/yAUX/8gFb//IBv//yAcf/8gA8AAX/9gAK//YADP/2ABD/8ABA//YARv/7AEj/+wBK//sAUv/7AFT/+wBX//kAWf/pAFr/7wBb//gAXP/pAGD/9gBv//AAqf/7AKr/+wCr//sArP/7AK3/+wCy//sAtP/7ALX/+wC2//sAt//7ALj/+wC6//sAv//pAMH/6QDJ//sAy//7AM3/+wDP//sA0f/7ANP/+wDV//sA1//7ANn/+wDb//sA3f/7AN//+wD9//sA///7AQH/+wET//kBKP/7ASz/+QIe//ACH//wAiD/8AIh//YCIv/2AiMACgIk//YCJf/2AiYACgKu//sCtv/pAHwAA//YAAUAFAAKABQADAANAA0AEAAP/5EAEP+AABH/kQAk/7IAJv/ZACr/2QAy/9kANP/ZADcAFAA5/98AOv/iADv/0QA8/7oAPf/PAEAADQBE/5cARv+AAEj/gABK/4AAUP+XAFH/lwBS/4AAU/+XAFT/gABV/5cAVv+XAFf/zwBY/5cAWf+AAFr/gABb/4AAXP+AAF3/gABgAA0AYv/YAG//gABwABAAgv+yAIP/sgCE/7IAhf+yAIb/sgCH/7IAiP+JAIn/2QCU/9kAlf/ZAJb/2QCX/9kAmP/ZAJr/2QCf/7oAov++AKT/vgCo/5cAqf+AALL/gACz/74Auv+AALv/vgC8/74Avf++AML/sgDD/74AxP+yAMb/sgDH/5cAyP/ZAMn/gADK/9kAzP/ZAM//gADR/4AA1/+AANr/2QDc/9kA3v/ZAN//gAD3/74A+f+XAPv/vgD8/9kA/v/ZAQD/2QEB/4ABA/++AQX/lwEJ/74BDf+XARIAFAET/88BFf++ARn/vgEb/74BHf+XAR7/ugEf/88BIf/PASP/zwEn/9kBKP+AASr/lwErABQBLP/PAh7/gAIf/4ACIP+AAiEAFAIiABQCI/+NAiQAFAIlABQCJv+NAir/kQJQABACrv+AArMAFAK1/98Ctv+AAAIAcAALAlAACwACAHAAHgJQAB4ABAA3/44BEv+OASv/jgKz/44AIgBG//QASP/0AEr/9ABS//QAVP/0AKn/9ACq//QAq//0AKz/9ACt//QAsv/0ALT/9AC1//QAtv/0ALf/9AC4//QAuv/0AMn/9ADL//QAzf/0AM//9ADR//QA0//0ANX/9ADX//QA2f/0ANv/9ADd//QA3//0AP3/9AD///QBAf/0ASj/9AKu//QACgAF/9cACv/XADf/iAES/4gBK/+IAiH/1wIi/9cCJP/XAiX/1wKz/4gABAA3/+IBEv/iASv/4gKz/+IAAgAN/3wCIf90AAEB9gAEAAAA9greCtAK0ArCCrwKngqMCp4KegpwCmoKYApWCkwKLgpWChwKVgoSCWwI3giQCkwH8gfoCsIH4gfcB74HuAfcB9wHsgeoB6IHnAeiB5YKwgreCowKcApwCnAKcApwCnAKYApWClYKVgpWClYKVgpWB/IKHAfcB9wH3AfcB9wH3AeiB9wHogpwCnAKcApgCmAKYAd8ClYKTAouCi4KLgduCi4KVgpWChIHZAoSB2QKEgdkCWwHqAlsB6gH8gfoB5YH6AeWB+gHlglsB6gG0gbEBsQGQgY4BtIGLgYgBhIGBAViBkIGIAVUBi4GLgbEBsQGIAYgBU4FSAVCBTwFTgU2BTAFTgUwBU4FJgUcBU4FFgUQBRAFTgVOBU4FQgUQBRAGxAUQBiAFTgZCBi4GxAUQBhIFTgbSBUIG0gVCBtIFQgYgBU4GBAUmBG4FQgZCBkIGLgbEBGAFTgRgBU4GLgYuBi4GOAY4BU4GIAVOBiAFTgUWBiAFTgYgBU4GIAVOBiAGQgZCBkIG0gVCBkIGLgpMChwH3AqMCowKjArQBEYEOArQCtAEOAQOB9wGQgYgBU4GOAVOBU4FTgYgBU4GIAVOBiAFTgYgBU4GIAVOBiAFTgVOBiAFTgYgBU4GIAVOBgQFJgpWA/gD5glsCN4HogABAPYAAwAFAAoACwANAA8AEAARABoAJAAlACYAJwAuAC8AMgAzADQANQA3ADkAOgA7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AbcBuQG7Ab0BvwHBAcMBxQHHAckBywHNAc8B0QHTAdQB1gHYAdoB3AHeAeEB4wHlAecB6QHrAe0B7wHxAfMB9QH3AfkB+wH9Af8CAQIDAgUCBwIJAgsCDQIPAhECEwIVAhcCGQIbAh0CXwJrAm0CbwJxAnMCdQJ3AnkCewJ9An8CgQKDAoUChwKJAosCjQKPApECkwKVApcCmQKbAp0CnwKhAqMCpQKnAqkCqwKtAq8CsQKzArUCtwK5AAAAAAAwAAAC1AkLBwACAgMEBQUIBwIDAwMFAgMCBAUFBQUFBQUFBQUCAwUFBQQKBgUFBgUFBgYCAwUFCAYGBQYFBQUGBggGBQUDBAMFBAMEBQQFBQMFBQICBAMIBQUFBQMEAwUEBwUFBQMCAwUCAwUFBQUCBQQIBAUFAwYEBAUEBAMFBQIDBAQFCAgIBAYGBgYGBggFBQUFBQICAgIGBgYGBgYGBQYGBgYGBQUGBAQEBAQEBwQFBQUFAgICAgUFBQUFBQUFBQUFBQUFBQUGBAYEBgQFBAUEBQQGBgYFBQUFBQUFBQUGBQYFBgUGBQYFAgICAgICAwIFBAUDBQMFAwUDBgUGBQYFBgUGBQkIBQMFAwUDBQQFBAUEBQQFAwUDBgUGBQYFBgUGBQUFBQUFBQUCBQYFBQQFAwICBAQEAwMDBAQABQcGBQcEBQUCAgMICQcFBQYGBQUEBgUIBQYGBQYIBgYGBQUFBQgGBgYICAYHBQUIBQQFBQMFBQYEBQUEBQYFBQUFBAQFBgUFBQYHBQYEBAcFBQUDBAQCAgIHBwUEBQUGBQYFBgUGBQYFBQUEAwUEBQUIBwUEBgUGBQYEBgUGBQgGCQcIBgUEBQQFBAUEBgUIBgYFBgUFBQcGBwYCBgUGBQYFBgUGBQgGAgYEBgQIBwUFBgUGBQgGBQQFBQYFBgUGBQYFBgUFBAUFBQUFBQYFBAMHBgYFBQQGBQgHBgUGBQUECAgFBQYDBgcCAgIEBAQFBQQHCwMDAgQEBAQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQkFBQYFBQUFCAMFBQUFBQYFAAUDBAICAwMEAwUFBQMFBQYFBQUFBAUEBQQGBAUFBQUFBQUEBgUGBQYFBgUHBgUEBQQFBAUFBQUIBwgHBgUGBQYFBwYFBAICBQQFBAYFBgUFAwUDBgQFBAUEAgIEBAIEBAIDBAQDBQQFBAUFAgICAAAKDAgAAwMDBAYGCAgDAwMEBQMEAgQGBgYGBgYGBgYGAwMFBQUFCgYGBQYFBQYGAgMGBQgGBwUHBgUGBgYJBgYFAwQDBQQDBQUEBQUDBQUCAwUDCAUFBQUEBAMFBQcGBQUEAgQFAwMGBgYGAgUFCAQFBQQHBAQFBAQDBgYDAwQEBQkJCQUGBgYGBgYJBQUFBQUCAgICBwYHBwcHBwUHBgYGBgYGBwUFBQUFBQgEBQUFBQICAgIFBQUFBQUFBQUFBQUFBQUFBgUGBQYFBQQFBAUEBgYHBQUFBQUFBQUFBgUGBQYFBgUHBQICAgICAgMDBgUFAwUDBQMFAwYFBgUGBQcFBwUJCAYEBgQGBAUEBQQFBAUEBgMGBAYFBgUGBQYFBgUGBQUFBQUFAgYGBQUEBgMDAgQEBQMDBAUFAAYIBwUHBAYFAgIDCQkIBgYGBgUGBAcFCAUGBgYGCAYHBgUFBgYIBgcGCAkHBwUGCAYFBQUEBgUHBAUFBQUGBQUFBQQEBQYGBgUICAUHBAUHBQUFBAUEAgMDBwcFBQUFBgUHBQYFBwYGBQUFBQQFBAYFCQcFBAYFBwYHBQcFBwYJBwoICQcFBAYEBgUGBQYGCAcHBQYFBgUIBggGAgYFBwYGBQcGBgUIBwIGBQYFCQgFBQYFBgUIBwUEBQUGBQYFBwUHBQcFBgUGBQYFBgUGBQUEBwcGBgUEBgUJBwcGBwYGBQgIBQUGBAcIAgICBAQEBQUFCAwDAwIEBAQEBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBQoKBgUHBQUFBQkEBQUFBQUHBgAFAwUDAgMEBQQGBQUDBgUGBQYFBgUFBAUEBgUFBQUFBQUFBAcFBwUHBQcFBwcGBQYFBgUGBQYFCAcIBwcGBgUHBQcHBQQCAgUEBQQGBQYFBQMGAwYFBQQFBAICBAQDBAQDBAUFBAUFBQUGBgICAgAACw4IAAMDAwQGBgkJAwQEBAYDBAMEBgYGBgYGBgYGBgMDBgYGBQwHBwYHBgYHBwMEBwYJBwcGBwcGBwcHCgcHBgQFBAYFAwYGBAYFBAYGAwMGAwgGBgYGBAUDBgUIBgYFBQMEBgMDBgYGBgMGBQkFBgYECAUFBgUFAwYGAwQFBQYKCgoFBwcHBwcHCgYGBgYGAwMDAwcHBwcHBwcGBwcHBwcHBwcGBgYGBgYJBQUFBQUDAwMDBgYGBgYGBgYGBgYGBgYGBgcGBwYHBgYEBgQGBAcHBwYGBQYFBgUGBQcGBwYHBgcGCAYDAwMDAwMEAwcGBgMGAwYDBgQHBgcGBwYHBgcGCgkHBAcEBwQGBQYFBgUGBQYDBwQHBgcGBwYHBgcGBwYFBgUGBQMGBwYGBQcDAwIFBQUDBAQFBQAGCQgGCAUHBgMDBAsLCQcHBwcGBwUIBgoGBwcHBwkHBwcGBgcHCQcIBwkKBwkGBwoGBgYGBQYFCAUGBgYGCAYGBgYEBQYHBgYGCQkGCAUFCAYFBgUFBQMEAwgJBgYGBgcGBwYHBggGBwYGBgUEBgUGBgoIBgUHBggGCAYIBggGCQcLCQoIBgUHBQcGBwYHBgkHBwYHBgcGCQgJCAMHBgcGBwYIBgcGCQgDBwYHBgoJBgUHBgcGCggGBQYGBwYHBgcGBwYHBgcFBwYHBgcGBwYFBAkIBwYGBQcGCggIBgcGBwYJCAYGBwQHCQMCAgUEBQYGBQkOBAQCBQUFBQYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwYLCgcGBwYGBgYJBAYGBgYGCAYABgQFAwIDBAUEBwYGBAcGBwYHBgcFBgUGBQcGBgUGBQYFBgUHBgcGBwYHBgkIBwUHBQcFBgYGBgoICggHBgcGBwYJCAYFAwMGBAYFBwYHBgYDBwMHBQYFBgUDAgQEAwQFAwQFBQQGBQYFBwcCAwIAAAwPCQADAwQFBwcKCgMEBAUGAwQDBQcHBwcHBwcHBwcDAwYGBgUMBwcHCAYGBwcDBAcGCQcIBwgHBgcHBwoIBwYEBQQGBQQGBgUGBgQGBgMDBgQJBgYGBgQFBAYFCQcGBgUDBAYDBAcHBwcDBgYKBQYGBAgFBQYFBQQHBgMEBQUGCwsLBQcHBwcHBwsHBgYGBgMDAwMIBwgICAgIBggHBwcHBwcIBgYGBgYGCQUGBgYGAwMDAwYGBgYGBgYGBgYGBgYGBgYHBgcGBwYHBQcFBwUICAgGBgYGBgYGBgYHBgcGBwYHBggGAwMDAwMDBAMHBgYEBgQGBAYEBwYHBgcGCAYIBgsKBwQHBAcEBgUGBQYFBgUHBAcEBwYHBgcGBwYHBgcGBgYGBgYDBwcGBgUHBAMDBQUGAwQEBQYABwkIBgkGBwYDAwQLDAkHBwcHBwcGCAYKBggIBwgJBwgHBwcHBwoICAcKCwgKBwcKBwYGBgUHBgkFBgYGBggGBgYGBQUGCQcHBgkJBggGBgkGBgcFBQUDBAMJCQcGBgYIBggGCAYJBwgGBwYGBQYFBwYKCQYFCAYJBwgGCQYIBwoIDAoLCQcFBwUHBgcGCAcKCAgHCAYHBgoICggDBwYIBwcGCAcHBgoJAwcGBwYLCQYGCAYIBgoJBgUGBggGCAYIBggGCAYHBgcGBwYHBgcGBgUKCAgHBgUIBgoJCAcIBwcGCQkHBggECAoDAwMFBQUGBgUKDwQEAgUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGDAsHBggGBgYHCgQGBgYGBggHAAYEBgMDBAUGBAcGBgQHBgcGBwYHBgYFBwUHBgYGBgYGBgYFCAYIBggGCAYKCAcGBwYHBQcGBwYKCQoJCAcIBggGCggGBQMDBgUHBQgGBwYGBAcEBwUGBQYFAwMFBQMFBQMFBgYFBgYGBgcHAgMCAAANEAoAAwMEBQcHCwsDBAQFBwMFAwUHBwcHBwcHBwcHBAQHBwcGDggIBwgGBggIBAUIBwoICAcICAcICAgMCAgHBAYEBwYEBgcGBwcFBwcDAwcECwcHBwcFBQUHBgoHBgYFAwUHAwQHBwcHAwcGCwYHBwUJBgYHBQUEBwcDBAUGBwsMDAYICAgICAgLBwYGBgYEBAQECQgICAgICAcICAgICAgHCAYGBgYGBgoGBwcHBwMDAwMHBwcHBwcHBwcHBwcHBgcGCAYIBggGBwYHBgcGCAgJBwYHBgcGBwYHCAcIBwgHCAcJBwQDAwQEAwUDCAcHBAcEBwQHBAgHCAcIBwgHCAcLCwgFCAUIBQcFBwUHBQcFBwUIBQgHCAcIBwgHCAcIBwYHBgcGBAcIBwcFCAUDAwYGBgQEBQYGAAgKCQYKBggHBAMFDA0KCAcICAcIBgkGCwcICAgICggICAcHCAcLCAkICwwJCgcHDAgGBwYFBwcJBgcHBgcJBwcHBwYFBgkHBwYJCgcJBgYKBwcHBQYFAwQDCgoHBgYHCAcIBwgHCQgIBwcHBgUHBQgHCwkHBggHCQcJBwkHCQcLCQ0LDAkHBggFCAcIBwgHCwkIBwgHCAcKCQoJBAgHCAcIBwkHCAYLCQMIBggGCwoGBwgHCAcLCQcGBwcIBwgHCAcIBwgHBwYHBgcGBwYIBgYFCgkIBwcGCAcMCgkHCQgIBwoLBwcIBQkLAwMDBQUGBwcGCxAEBAIFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBw4MCAcJBwcHBwsFBwcHBwcJCAAHBAYDAwQFBgUIBwYFCAcIBwcGBwYHBgcGCAYGBwYHBgcHBggHCAcIBwgHCgkHBgcGCAYIBwgHDAoMCgkHCAcIBwoJBwYEAwYFBwYIBwgHBwQIBQgGBwYHBgMDBQUDBQUDBQYGBQcGBwYHCAIDAgAADhELAAQEBAYICAwLBAUFBQcEBQMGCAgICAgICAgICAQEBwcHBg8ICAgJBwcICQQFCQcLCQkICQgHCAkIDAkICAUGBQcGBAcIBggHBQgIBAQHBAsIBwgIBQYFCAcKBwcHBQMFBwQECAgICAMHBwwGBwcFCgYGBwYGBAgHBAUGBgcMDQ0GCAgICAgIDAgHBwcHBAQEBAkJCQkJCQkHCQkJCQkICAkHBwcHBwcLBgcHBwcEBAQECAgHBwcHBwcICAgICAcIBwgHCAcIBwgGCAYIBgkJCQgHBwcHBwcHBwgICAgICAkICQgEBAQEBAQFBAkHBwQHBAcEBwQJCAkICQgJBwkHDAwIBQgFCAUHBgcGBwYHBggFCAUJCAkICQgJCAkICAgHCAcIBwQICAgHBggFBAMGBgYEBQUGBgAICwoHCgYIBwQEBQ0NCwkICQgICAYJBwwHCQkJCQsJCQkICAgICwkKCAwNCQsICA0IBwgHBQgHCgYICAcHCQgHBwgGBgcKBwgHCgsICgcGCgcHCAUGBgQEBAsLCAcHBwkICQgJBwoICQgICAYFBwYIBwwKBwYJBwoICgcKCAoIDAkNDAwKCAYIBggHCAcJCAwJCQgJCAkICwkLCQQJBwkICQgKCAgHDAoECAcIBwwLBwcJBwkHDAoHBggHCQgJCAkHCQgJCAgGCAcIBwgHCAcGBQsKCQcHBgkHDAoKCAkICQcLCwgICQUJCwMDAwYGBgcHBgsRBAQDBgYGBggICAgICAgICAgICAgICAgICAgICAgICAgICAcODQgICQcHBwgMBQcHBwcHCggABwUHBAMEBQcFCAgHBQkICAcIBwgGBwYIBggHBwcHBwcHBwYJBwkHCQgJBwsKCAYIBggGCAcIBw0KDQoJCAkICQcLCgcGBAQHBggGCQgJCAcECAUIBwcGBwYDAwYGBAYGBAUHBwUHBgcGCAgDBAMAAA8SCwAEBAQGCQkNDAQFBQYIBAUEBgkJCQkJCQkJCQkEBAgICAcQCQkICggICQoEBQkIDAoKCQoJCAgKCQ0JCAgFBgUIBwUHCAYICAUICAQEBwQMCAkICAUGBQgHCwcHBwYDBggEBAkJCQkDCAcNBggIBQoHBwgGBgUJCAQFBgYIDQ4OBwkJCQkJCQ0ICAgICAQEBAQKCgoKCgoKCAoKCgoKCAkJBwcHBwcHDAYICAgIBAQEBAkICQkJCQkICQgICAgHCAcJBwkHCQcIBggGCAYKCgoICAgICAgICAgJCAkICQgKCAoIBAQEBAQEBQQJBwgECAQIBAgFCggKCAoICgkKCQ4NCQUJBQkFCAYIBggGCAYJBQgFCggKCAoICggJCAgIBwgHCAcECQkICAYIBQQDBwcHBAUFBwcACQwKCAsHCQgEBAUODgsJCQoJCQkHCggNCAoKCQkMCgoKCQgICQwJCgkMDQoMCQkNCQcICAYJCAoGCAgHCAoICQgIBgYHCwcICAwMCAsHBwsICAgGBwYEBAQLDAgHBwgKCAoJCQgLCQoICQgHBggGCQgNCwgGCggLCQoICwgKCQ0KDgwNCwgGCAYIBwgHCggNCgoICggJCAwKDAoECQgKCAoICgkJCA0LBAkHCQcNDAgICQgJCA0KCAYIBwoICggKCQoJCgkJBwkHCQcJBwkIBwYMCwkICAYKCA0LCgkKCQkHDAwJCAoFCgwDAwMGBgYICAcMEgUFAwYGBgYJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIDw4JCAoICAgIDQYICAgICAoJAAgFBwQDBAYHBQkICAUJCAkICQcJBwgGCAYJBwgICAgICAgGCgkKCQoJCgkMCwkHCQcJBwkICQgNCw0LCggKCAoJDAsIBgQECAYIBgoICggIBAgFCQcIBggGAwMGBgQGBgQGBwcGCAcIBwgJAwQDAAAQFAwABAQFBgkJDQ0EBQUGCAQGBAcJCQkJCQkJCQkJBAUICAgHEQkJCQoICAoKBAUJCA0KCwkLCQgJCgkOCgkJBQcFCAcFCAkGCQgFCQkEBAgFDAkJCQkFBwUJCAsIBwcGBAYIBAUJCQkJBAgIDQcICAYLBwcIBwcFCQgEBQcHCA4ODgcJCQkJCQkOCQgICAgEBAQECgoLCwsLCwgLCgoKCgkJCggICAgICA0GCAgICAQEBAQJCQkJCQkJCAkJCQkJBwkHCQgJCAkICQYJBgkGCgoKCQgICAgICAgICgkKCQoJCgkKCQQEBAQEBAUECQgIBQgFCAUIBQoJCgkKCQsJCwkPDQkFCQUJBQgHCAcIBwgHCQYJBgoJCgkKCQoJCgkJCQcJBwkHBAkKCQgHCQUEBAcHBwUFBgcHAAkMCwgMBwkIBAQFDw8MCQkKCQkJBwsIDQgKCgkKDQoLCgkJCQkNCgsKDg8LDAkJDgkICQgGCQgLBwkJBwgLCQkJCQYGBwsICQgMDAkLCAcMCAgJBgcHBAUEDA0JBwcJCgkLCQoICwoKCQkJBwYIBwkJDgwIBwoICwkLCAwJCwkNCw8NDgsJBgkGCQgJCAsJDQoKCQoJCgkNCg0KBAoICgkKCQsKCggOCwQJCAkIDg0ICAoICggNCwgHCQgKCQoJCwkLCQsJCQcJBwkHCQcKCAcGDAsKCAgHCggOCwsJCwkJCA0MCQkLBgsNBAQEBgYGCAgHDRQFBQMHBwcHCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCBAPCgkKCAgICA4GCAgICAgLCQAIBQgEBAUGCAYJCQgFCgkKCAkHCQcIBwkGCQgICAgICAgIBwsJCwkLCQsJDAsJBwkHCQcJCAkIDgwODAsJCgkLCQwLCAcEBAgHCQYKCQoJCAUJBQkICAcIBwQEBgYEBgcEBggIBggHCAcJCQMEAwAAERUNAAQEBQcKCg4OBAYGBgkEBgQHCgoKCgoKCgoKCgUFCQkJCBIKCgoLCQkKCwQGCgkOCwsKCwoJCgsKDwsKCgYHBgkIBQgJBwkJBQkJBAQIBQ4JCQkJBggGCQgMCAgIBgQGCQQFCgoKCgQJCA4HCAkGDAgHCQcHBQoJBAYHBwgPDw8ICgoKCgoKDwoJCQkJBAQEBAsLCwsLCwsJCwsLCwsKCgsICAgICAgNBwkJCQkEBAQECgkJCQkJCQkJCQkJCQgJCAoICggKCAoHCgcKBwsLCwkJCQkJCQkJCQoJCgkKCQsJCwkEBAQEBAQGBAoICQUJBQkFCQULCQsJCwkLCQsJEA4KBgoGCgYJCAkICQgJCAoGCgYLCQsJCwkLCQsJCgoICggKCAQKCgkJCAoGBAQHCAgFBgYICAAKDQwJDQgKCQQFBhAQDQoKCwoKCggMCQ4JCwsKCw4LCwsKCgoKDgsMCg4PCw0KCg8KCAkJBgoJDAcJCQgJCwkJCQkHBwgMCAoJDA0JDAgIDAkJCQYICAQFBA0NCQgICQsJCwkLCQwKCwkKCQgGCQcKCQ8MCQcLCQwKDAkMCQwKDgsQDg8MCgcKBwoICggLCQ4LCwkLCQoJDgsOCwQKCQsJCwkMCgoJDgwECggKCA8NCQkLCQsJDgwJBwkICwkLCQsJCwkLCQoICggKCAoICgkIBg0MCwkJBwsJDwwMCgsKCggODgoJCwYLDgQEBAcHBwkJCA4VBQUDBwcHBwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgkREAoJCwkJCQkPBgkJCQkJDAoACQYIBQQFBggGCgkJBQoJCgkKCAoICQcKBwoICQkJCQkJCQcLCQsJCwkLCQ0MCggKCAoICgkKCQ8MDwwLCgsJCwkNDAkHBAQJBwoHCwkLCQkFCgYKCAkHCQcEBAcHBAcHBQcICAcJCAkICQoDBAMAABIWDgAFBQUHCgoPDwUGBgcJBQYEBwoKCgoKCgoKCgoFBQkJCQgTCwoKCwkJCwwFBgsJDgwMCgwLCgoLCxALCwoGCAYJCAYJCQgJCQYJCQQECQUOCQoJCQYIBgkJDAkICAcEBwkFBQoKCgoECgkPCAkJBgwICAkHBwUKCgUGBwgJEBAQCAsLCwsLCxAKCQkJCQUFBQUMDAwMDAwMCQwLCwsLCwoLCQkJCQkJDggJCQkJBAQEBAoJCgoKCgoJCgkJCQkICQgLCQsJCwkKCAoICggLDAwJCQkJCQkJCQkLCQsJCwkMCQwJBQQFBAUEBgQLCQkFCQUJBQkGDAkMCQwJDAoMChAPCwYLBgsGCggKCAoICggKBgoGCwkLCQsJCwkLCQsKCAoICggECgsJCggKBgQECAgIBQYGCAgACw4NCQ0ICgoFBQYREQ4LCgwLCgoIDAkPCQwMCwsODAwMCgoKCg4LDAsPEAwOCgoQCgkKCQcKCQwICQkJCQwJCgkJCAgIDAkKCQ4OCgwJCA0JCQoHCAgEBgQODgoJCAkMCgwKCwkNCwwKCgkIBwkHCgoPDQkICwkNCwwJDQkNCg8LEQ8QDQoICggLCQsJDAoPDAwKDAoLCQ4LDgsFCwkMCgwJDAoLCQ8NBAsJCwkQDgkJCwkLCQ8MCQgKCQwJDAkMCgwKDAoKCAoICggKCAsJCAcODAsJCQgLCRAMDAoMCgsJDg4KCQwGDA8EBAQHBwcJCQgPFgYGAwcHBwcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoJEhELCgwJCQkJDwcJCQkJCQ0KAAkGCQUEBQcJBgoJCQYLCQsJCggKCAkICggLCQkJCQkJCQkIDAoMCgwKDAoODAoICggKCAoJCgkQDRANDAoMCQwKDgwJCAUECQcKCAsJDAkJBQoGCwkJCAkIBAQHBwUHBwUHCQkHCQgJCAoLAwQDAAATFw4ABQUGCAsLEA8FBgYHCgUHBQgLCwsLCwsLCwsLBQYKCgoJFAwLCwwKCgwMBQYMCg8MDQsNCwsLDAsQDAsLBggGCggGCQoICgoGCgoFBQkGDwoLCgoHCAYKCQ4KCQkHBAcKBQYLCwsLBAoJEAgJCgcNCAgKCAgGCwoFBggICREREQkMDAwMDAwRCwoKCgoFBQUFDQwNDQ0NDQoNDAwMDAsLDAkJCQkJCQ8ICgoKCgUFBQULCgsLCwsLCgsKCgoKCQoJDAkMCQwJCwgLCAsIDAwNCgoKCgoKCgoKDAoMCgwKDAoNCgUFBQUFBQYFDAkKBgoGCgYKBgwKDAoMCg0LDQsSEAsHCwcLBwsICwgLCAsICwcLBwwKDAoMCgwKDAoLCwkLCQsJBQsMCgsICwYFBAgJCQUHBwkJAAsPDQoOCQsLBQUGEhIPDAsMDAsLCQ0KEAoMDAwMDwwNDAsLCwsPDA0MERINDwsLEQsJCwoHCwoNCAoKCQoNCgsKCggICQ0KCwoPDwoOCQkOCgoKBwkIBQYFDg8KCQkKDAoNCwwKDgsMCgsKCQcKCAsKEA4KCAwKDgsNCg4KDQsQDRIQEQ4LCAsICwkLCQ0KEAwMCgwKDAoPDA8MBQwKDQoMCg0LDAoQDQUMCQwJEQ8KCgwKDAoQDQoICgkMCgwKDQsNCw0LCwkLCQsJCwkMCgkHDw4MCgoIDAoQDg0LDQsMCQ8PCwoNBw0QBAQECAgICgoJDxcGBgQICAgICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLChQSCwoMCgoKChAHCgoKCgoNCwAKBgkFBAYHCQcLCgoGDAoMCgsJCwkKCAsIDAkKCgoKCgoKCA0LDQsNCw0LDw4LCQsJCwkLCgsKEQ4RDg0LDAoNCw8OCggFBQoICwgMCgwKCgYLBgsJCggKCAQECAgFCAgFBwkJBwoJCgkLCwQFBAAAFBkPAAUFBggLCxEQBQcHCAsFBwUICwsLCwsLCwsLCwUGCwsLCRUMCwsNCgoMDQUHDAoQDQ0LDQwLCwwMEQ0LCwYIBgoJBgoLCQsKBgsLBQUKBhALCwsLBwkGCwoOCgoJBwUHCwUGCwsLCwULChEICgsHDgkJCwgIBgsLBQcICAoSEhIJDAwMDAwMEQsKCgoKBQUFBQ0NDQ0NDQ0LDQwMDAwLCw0KCgoKCgoQCQoKCgoFBQUFCwsLCwsLCwsLCwsLCwoLCgwKDAoMCgsJCwkLCQ0NDQsKCgoKCgoKCgwLDAsMCw0LDgsFBQUFBQUHBQwKCgYKBgoGCwYNCw0LDQsNCw0LEhEMBwwHDAcLCQsJCwkLCQsHCwcMCwwLDAsMCwwLCwsJCwkLCQULDAsLCQsGBQQJCQkGBwcJCQAMEA4KDwkMCwUFBxMTDwwLDAwLCwkOChELDQ0MDBANDQwLCwsLEA0ODBESDRALCxILCgsKBwsKDgkLCwoKDQoLCgsJCQoOCgsKDxALDgoJDwoKCwcJCQUGBQ8PCwoKCw0LDQsNCw4MDQsLCwkHCggMCxEPCwkNCw4MDgoOCw4LEQ0TEBIOCwkLCQsKCwoNCxENDQsNCwwLEA0QDQUMCg0LDQoOCwwKEQ4FDAoMChEQCgoNCg0KEQ4LCQsKDQsNCw0LDQsNCwsJCwoLCgsKDAoJBxAODQsLCQwKEQ4OCw0MDAoQEAsLDQcNEAQEBAgICAoKCRAZBgYECAgICAsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwoVEwwLDQsLCwsRBwsLCwsLDgwACgcKBQQGCAoHCwsKBgwLDAoLCgsJCwkLCQwKCgoKCgoKCwkNCw0LDQsNCxAOCwkLCQwJCwoLChIPEg8NCw0LDQsQDgsJBQUKCAsJDQsNCwoGCwYMCgsJCwkEBAgIBQgIBQgJCggKCQoJCwwEBQQAABUaEAAFBQYIDAwSEQUHBwgLBQgFCQwMDAwMDAwMDAwGBgsLCwoWDQwMDgsLDQ0FBw0LEA0ODA4NCwsNDRINDAwHCQcLCQcKCwkLCwcLCwYGCgYRCwwLCwcJBwsKDwsKCggFCAsFBgwMDAwFCwoSCQoLCA4JCQsJCQYMCwUHCQkKEhMTCg0NDQ0NDRIMCwsLCwUFBQUODQ4ODg4OCw4NDQ0NDAwNCgoKCgoKEAkLCwsLBgYGBgwLDAwMDAwLDAsLCwsKCwoNCg0KDQoMCQwJDAkODQ4MCwsLCwsLCwsNCw0LDQsNCw8LBQYFBQUGBwYNCgsGCwYLBgsHDQsNCw0LDgwODBMSDQcNBw0HCwkLCQsJCwkMBwsIDQsNCw0LDQsNCwwMCgwKDAoFDA0LCwkLBwYFCQkKBgcHCQoADBAPCxAKDAsFBgcUFBANDA0NDAwKDwsSCw0NDQ0QDQ4NDAwLDBENDg0SEw4QDAwTDAoLCggMCw8JCwsKCw4LDAsLCQkKDwsMCw8QCw8KCg8LCwwICgkGBwYQEAwKCgsOCw4MDQsPDA4LDAsKCAsJDAsSDwsJDQsPDA8LDwsPDBIOFBESDwwJDAkMCwwLDgsSDg4LDQsNCxEOEQ4FDQsODA0LDgwNCxIPBQ0KDQoSEAsLDQsNCxIPCwkMCg0LDQsODA4MDgwMCgwKDAoMCg0LCggQDw0LCwkNCxIPDgwODA0KEBEMCw4IDhEFBQUICAgLCwkRGgYGBAkJCQkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLFhQNCw4LCwsLEggLCwsLCw8MAAsHCgYFBggKBwwLCwcNCw0LDAoMCgsJDAkNCgsLCwsLCwsJDgwODA4MDgwQDwwKDAoMCgwLDAsTDxMPDgwOCw4MEA8LCQUGCwkMCQ4LDQsLBgsHDQoLCQsJBQUICAUICQYICgoICwoLCgwNBAUEAAAWGxEABgYGCQwMEhIGBwcIDAYIBQkMDAwMDAwMDAwMBgYMDAwKFw0NDA4LCw4OBgcOCxIODw0PDQwNDQ0TDg0MBwkHCwoHCwwKDAsHDAwFBgsGEQwMDAwHCQgLCg8LCgoIBQgMBgYMDAwMBQwLEgkLDAgPCgoMCQkHDQwGBwkJCxMUFAoNDQ0NDQ0TDAsLCwsGBgYGDw4PDw8PDwwPDQ0NDQ0NDgsLCwsLCxEKCwsLCwUFBQUMDAwMDAwMDAwLCwsLCgwKDQsNCw0LDAoMCgwKDg4PDAsLCwsLCwsLDgwODA4MDgwPDAYFBgUGBQcGDgsLBgsGCwYMBw4MDgwODA8MDwwUEg0HDQcNBwwJDAkMCQwJDQgNCA0LDQsNCw0LDQsNDAoMCgwKBgwODAwJDQgGBQoKCgYICAoKAA0RDwsQCg0MBgcHFRURDg0ODQ0NCg8LEgwPDw4OEg4PDg0MDQ0SDg8NExQPEQ0NFAwLDAsIDQsPCgsLCgsOCwwLDAoJCg8LDAsQEQwPCwoQCwsMCAoJBQcGEREMCgoLDgwPDA4MEA0ODA0MCggLCQ0LExAMCg4MEA0PCxAMDwwTDxUSExAMCQ0JDQsNCw8MEg4ODA4MDQwSDhIOBg0LDgwOCw8NDQsTEAUNCw0LExELCw4LDgsSDwwKDAsPCw8LDwwPDA8MDQoNCg0KDQoNCwoIEQ8ODAwKDgsTDw8NDw0OCxIRDQwPCA8SBQUFCQkJCwsKEhsHBwQJCQkJDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxcVDQwODAwMDBMIDAwMDAwPDQALBwoGBQYICwgNDAsHDQwNCw0KDQoMCgwKDQsLCwsLCwsMCg8MDwwPDA8MEQ8NCg0KDQoMCwwLFBAUEA8MDwsPDBEPDAoGBQsJDAkODA4MCwYNCA0KDAoMCgUFCQkGCQkGCAoLCAsKCwoMDQQFBAAAFxwRAAYGBwkNDRMTBggICQwGCAYJDQ0NDQ0NDQ0NDQYHDAwMChgODg0ODAwODwcIDgwSDw8NDw4MDQ4OFA4ODAcKBwwKBwsMCgwMBwwNBgYLBxMNDAwMCAoIDQsRDAsLCQUJDAYHDQ0NDQUMCxMKCwwIEAoKDAkJBw0MBggJCgsUFRUKDg4ODg4OFA0MDAwMBwcHBw8PDw8PDw8MDw4ODg4ODQ4LCwsLCwsSCgwMDAwGBgYGDA0MDAwMDAwMDQ0NDQsMCw4LDgsOCw0KDQoNCg4PDw0MDAwMDAwMDA4MDgwODA8NEA0HBgcGBwYIBg4LDAcMBwwHDAcPDQ8NDw0PDA8MFRMOCA4IDggMCgwKDAoMCg0IDQgODQ4NDg0ODQ4NDgwLDAsMCwYNDgwMCg0IBgUKCgsHCAgKCwANEhAMEQoNDAcHCBYWEQ4NDw4NDgoPDBMMDw8ODhIPDw8NDQ0NEg4QDhQVDxINDRUNCwwMCQ0MEAoNDQsMDw0MDQwKCgsQDA0MEhIMEQsLEQwMDQkLCgYHBhISDQsLDA8MDwwODBAODwwNDAoJCwoNDBQRDAoPDBAOEAwRDBANFA8WExQQDQoNCg4LDgsPDBMPDw0PDA4NEg8SDwcODA8NDw0QDQ4MExAGDgsOCxQSDAwODA4MExAMCg0LDw0PDQ8MDwwPDA0LDQsNCw0LDgwKCRIRDwwMCg8MFBEQDQ8ODgsSEw0MDwgPEwUFBQkJCQwMChMcBwcECQkJCQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQwYFg4MDwwMDAwUCAwMDAwMEA4ADAgLBgUHCQsIDgwMBw4NDgwNCw0LDAoNCg4LDAwMDAwMDAoPDA8MDwwPDBIRDQsNCw0LDQwNDBURFREPDQ8NDwwSEQwKBwYMCQ0KDgwPDQwHDQgOCwwKDAoFBQkJBgkJBgkLCwkMCwwLDQ4EBgQAABgeEgAGBgcKDg4UFAYICAkNBgkGCg4ODg4ODg4ODg4GBw0NDQsZDw4NEA0MDxAHCA8MExAQDhAODQ0PDhUPDg0ICggMCwgMDQoMDAgMDQYGDAcUDQ0NDAgKCA0LEQ0LCwkFCQ0GBw4ODg4FDQwUCgwNCRELCg0KCgcODQYICgoMFRYWCw8PDw8PDxUNDQ0NDQcHBwcQEBAQEBAQDRAPDw8PDg4PDAwMDAwMEwoMDAwMBgYGBg0NDQ0NDQ0NDQ0NDQ0LDQsPDA8MDwwNCg0KDQoQDxANDQwNDA0MDQwPDA8MDwwQDRANBwYHBgcGCAYPDAwHDAcMBw0IEA0QDRANEA0QDRYUDggOCA4IDQoNCg0KDQoOCA0JDw0PDQ8NDw0PDQ4NCw0LDQsGDg8MDQoNCAYFCwsLBwgICwsADhMRDRILDg0HBwgWFxIPDhAPDg4LEA0UDRAQDw8TEBAQDg0NDhMPEA8VFhATDg4WDgwNDAkODBEKDQ0MDBANDQ0NCgoLEQ0NDBITDREMCxIMDA0JCwoGBwYSEw0MCw0QDRANDw0RDhANDg0LCQwKDg0VEQ0KDw0RDhEMEQ0RDhQQFxQVEQ0KDQoODA4MEA0UEBANDw0ODRMQExAHDwwQDRANEA4PDBQRBg8MDwwVEw0MDwwPDBQRDQoNDBANEA0QDRANEA0OCw4LDgsOCw8MCwkTEQ8NDQoPDBUREA4QDg8MExQODRAJEBQFBQUKCgoMDAsTHgcHBAoKCgoODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4MGRcODRANDQ0NFQkNDQ0NDREOAAwICwYFBwkMCA4NDAgODQ8MDgsOCw0KDQoPDA0MDQwNDA0KEA0QDRANEA0TEQ4LDgsOCw4MDgwWEhYSEA4QDRANExENCgcGDAoNChAMEA0MBw0IDgsNCw0LBQUKCgYKCgYJCwwJDAsMCw0OBQYEAAAZHxMABgYHCg4OFRQGCAgJDQYJBgoODg4ODg4ODg4OBwcNDQ0LGg8PDhANDQ8RBwgQDRQREQ4RDw0OEA8WEA8NCAsIDQsIDA0LDQ0IDQ4HBwwHFQ4NDg0JCwkNDBINDAwJBgkNBgcODg4OBg0MFQsMDQkRCwsNCgoIDg0GCAoKDBYXFwsPDw8PDw8WDg0NDQ0HBwcHEBEREREREQ0REBAQEA8OEAwMDAwMDBQLDQ0NDQcHBwcODg0NDQ0NDQ0NDQ0NDA4MDwwPDA8MDgsOCw4LEBAQDg0NDQ0NDQ0NDw0PDQ8NEQ4RDgcHBwcHBwgHEAwNBw0HDQcNCBEOEQ4RDhENEQ0XFQ8JDwkPCQ0LDQsNCw0LDgkOCRANEA0QDRANEA0PDQwNDA0MBg4PDQ0LDgkHBgsLDAcJCQsLAA8TEQ0TCw4NBwcIFxgTEA4QDw4PCxENFQ0RERAQFBEREA4ODg4UEBEPFhcRFA4OFg8MDQ0JDg0RCw4ODA0RDQ0ODgsKDBENDg0TFA0SDAsSDQ0OCQsLBwgHExQODAwOEA0RDRANEg8QDQ4OCwkNCg8NFRINCxANEg8RDRIOEQ4VERgVFhIOCw4KDwwPDBEOFRAQDhANDw4UEBQQBw8NEA4QDREODw0VEgcPDA8MFhQNDRANEA0VEQ0LDgwRDhEOEQ0RDRENDgsODA4MDgwPDQsJFBIQDQ0LEA0WEhEOEQ8QDBQVDg4RCREVBgYGCgoKDQ0LFB8ICAUKCgoKDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODRoYDw0QDQ0NDRUJDQ0NDQ0RDwANCAwHBgcJDAkPDQ0IDw4PDQ4MDgsNCw4LDwwNDQ0NDQ0NCxENEQ0RDRENFBIOCw4LDgsPDQ8NFhIWEhEOEQ4RDRQSDQsHBw0KDgsQDREODQcOCQ8MDQsNCwYGCgoGCgoHCgwMCg0MDQwODwUHBQAAGiAUAAcHCAoPDxYVBwkJCg4HCQYLDw8PDw8PDw8PDwcIDg4ODBsPDw4QDQ0QEQcJEA0VEREPEQ8NDxAQFhAPDggLCA0MCA0OCw4NCA4OBwcNCBUODg4OCQsJDgwTDQwMCgYKDgcIDw8PDwYODBYLDQ4JEgwLDgsLCA8OBwkLCw0XFxgMDw8PDw8PFg4NDQ0NBwcHBxEREREREREOERAQEBAPDxANDQ0NDQ0UCw0NDQ0HBwcHDg4ODg4ODg4ODg4ODgwODA8NDw0QDQ4LDgsOCxAREQ4NDQ0NDQ0NDRAOEA4QDhEOEQ4HBwcHBwcJBxANDQgNCA0IDggRDhEOEQ4RDhEOGBYPCQ8JDwkNCw0LDQsNCw8JDwkQDhAOEA4QDhAODw4MDgwODAYPEA4NCw8JBwYLDAwHCQkMDAAPFBINEwwPDQcHCRgZFBAPEQ8PDwwSDRUOEREQEBUREREPDg8PFRASEBYYERUPDxcPDQ4NCg4NEQsODg0NEQ4ODg4LCwwSDQ8NExQOEg0MEw0NDgoMCwcIBxQUDg0MDhEOEQ4QDhMPEQ4PDgwKDQsPDhYTDgsRDhMPEg0TDhIPFhEZFRcSDgsPCw8NDw0RDhYREQ4RDhAOFREVEQcPDREOEQ4SDxANFhIHDw0PDRYUDQ0QDRANFREOCw4NEQ4RDhEOEQ4RDg8MDwwPDA8MEA0MChUSEA4OCxANFhMSDxEPEA0VFQ8OEQkRFQYGBgoKCg0NDBUgCAgFCwsLCw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw0bGRAOEQ4ODg4WCg4ODg4OEg8ADQkMBwYICg0JDw4NCBAOEA0PDA8MDgsOCw8NDQ0NDQ0NDgsRDhEOEQ4RDhUSDwwPDA8MDw0PDRcTFxMRDxEOEQ4VEg4LBwcNCw4LEA4RDg0IDwkQDA4LDgsGBgoKBwoLBwoMDQoNDA0MDg8FBwUAABshFAAHBwgLDw8XFgcJCQoOBwoHCw8PDw8PDw8PDw8HCA4ODgwdEBAPEg4OERIICREOFhISDxIQDhAREBcREA8JCwkODAkNDwwPDgkODwcHDQgVDw8PDgkMCQ8NEw4NDAoGCg4HCA8PDw8GDg0WCw0OChMMDA4LCwgPDgcJCwsNGBgYDBAQEBAQEBcPDg4ODggICAgSEhISEhISDhIREREREA8RDQ0NDQ0NFQwODg4OBwcHBw8PDw8PDw8ODw8PDw8NDw0QDRANEA0PDA8MDwwSERIPDg4ODg4ODg4RDhEOEQ4SDxIPCAcIBwgHCQcRDQ4IDggOCA4JEg8SDxIPEg8SDxgXEAkQCRAJDgwODA4MDgwPCRAKEQ8RDxEPEQ8RDxAPDA8MDwwHDxEODgwQCQcGDAwMCAkJDAwAEBUTDhQMEA4ICAkZGhQRDxIQDxAMEw4XDhISEREWEhISDw8QDxYREhAYGRIWDxAYEA0PDgoPDhMMDw8NDhIPDw4PDAsNEw4PDhQVDxMNDBQODg8KDAwHCQcVFQ8NDQ4SDxIPEQ4TEBIPDw8MCg4LEA4XFA4MEQ4TEBMOEw8TDxcSGhYYEw8MEAsQDRANEg8XERIPEQ4QDxUSFRIIEQ4SDxIPEhAQDhcTCBANEA0XFQ4OEQ4RDhcTDgwPDRIPEg8SDxIPEg8QDA8NDw0PDRAODAoWExEODgwRDhcTEhASEBENFhUPDxIKEhYGBgYLCwsODgwWIQgIBQsLCwsPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8OHBoQDxIODg4OFwoODg4ODhMQAA4JDQcGCAoNCRAPDgkQDxAODw0QDA4MDwwQDQ4ODg4ODg4MEg8SDxIPEg8WExAMEAwQDBAOEA4YFBgUEg8SDxIPFhMODAgHDgsPDBIPEg8OCBAJEA0ODA4MBgYLCwcLCwcKDQ0KDg0ODA8QBQgFAAAcIxUABwcICxAQGBcHCQkLDwcKBwsQEBAQEBAQEBAQCAgPDw8NHhEREBIPDhESCAkRDhYSExATEQ8QEhEYEhEPCQwJDgwJDg8MDw4JDxAICA4IFxAPDw8KDAoPDRQPDQ0KBgoPBwgQEBAQBg8NFwwODwoTDAwPDAwJEA8HCQwMDhkZGQ0REREREREYEA8PDw8ICAgIEhITExMTEw8TEhISEhEQEg4ODg4ODhYMDg4ODggICAgQEA8PDw8PDw8PDw8PDQ8NEQ4RDhEOEAwQDBAMEhISDw8ODw4PDg8OEQ8RDxEPEhATEAgICAgICAkIEQ4OCA4IDggPCRIQEhASEBMPEw8aGBEKEQoRCg8MDwwPDA8MEAoQChIPEg8SDxIPEg8RDw0PDQ8NBxARDw8MEAoIBgwNDQgKCg0NABAWEw8VDRAPCAgJGhsVERASERARDRMPFw8TExESFhITEhAQEBAWEhMRGBoTFxAQGRAODw4LEA4TDA8PDg4TDw8PDwwMDRQPEA4VFg8UDg0VDg4PCw0MCAkIFRYPDg0PEg8TDxIPFBESDxAPDQsODBAPGBQPDBIPFBATDhQPExAYExsXGRQQDBAMEQ4RDhMPFxISDxIPERAWEhYSCBEOEg8SDxMQEQ4YFAgRDhEOGBYPDhIOEg4XEw8MDw4TDxMPEw8TDxMPEA0QDRANEA0RDg0LFxQSDw8MEg4YFBMQExERDhYXEA8TChIXBgYGCwsLDg4NFyMJCQUMDAwMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQDh0bEQ8SDw8PDxgKDw8PDw8TEQAOCQ0HBggLDgoRDw4JERARDhANEA0PDBAMEQ4PDg8ODw4PDBMPEw8TDxMPFxQQDRANEA0QDhAOGRUZFRMQEw8TDxcUDwwICA4LEAwSDxIQDggQChENDwwPDAYGCwsHCwwHCw0OCw4NDg0PEQUIBQAAHSQWAAcHCQwQEBgYBwkJCw8HCgcMEBAQEBAQEBAQEAgIDw8PDR8SERATDw8SEwgKEg8XExMRExEPEBMRGRIREAkMCQ8NCQ4QDRAPCRAQCAgOCRcQEBAQCgwKEA4VDw4NCwcLDwcJEBAQEAcPDhgMDg8KFA0NDwwMCREPBwoMDA4aGhoNEhISEhISGRAPDw8PCAgICBMTExMTExMPExMTExMRERIODg4ODg4XDQ8PDw8ICAgIEBAQEBAQEA8QEBAQEA4QDhIOEg4SDhANEA0QDRMTExAPDw8PDw8PDxIQEhASEBMQFBAICAgICAgKCBIODwkPCQ8JDwkTEBMQExATEBMQGxgRChEKEQoPDA8MDwwPDBAKEAoTEBMQExATEBIQERANEA0QDQcQEhAPDBAKCAYNDQ0ICgoNDQARFxQPFQ0RDwgIChscFhIQExIREQ0UDxgPExMSEhcTExMREBAQGBIUEhkbExgRERoRDhAPCxAPFA0QEA4PExAQEBANDA4UDxAPFhcQFA4NFQ8PEAsNDAgJCBYXEA4ODxMQExASDxURExAREA0LDwwRDxkVDw0SDxURFA8VEBQQGRMcGBkVEA0QDBEOEQ4TEBgTExATEBIQFxMXEwgSDxMQExAUERIPGRUIEg4SDhkXDw8SDxIPGBQPDRAOExATEBMQExATEBENEA4QDhAOEg8NCxgUEg8PDRIPGRUUERMREg4XFxEQEwoTGAYGBgsLCw8PDRckCQkFDAwMDBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEA8eGxEQEw8PDw8ZCw8PDw8PFBEADwoOCAYJCw4KERAPCRIQEg8QDhENDw0QDRIODw8PDw8PDw0TEBMQExATEBgUEQ0RDRENEQ8RDxoVGhUTEBMQExAYFA8NCAgPDBANExATEA8JEAoRDg8NDw0GBgsLBwwMCAsODgsPDQ8NEBEFCAUAAB4lFwAICAkMEREZGAgKCgsQCAsHDBEREREREREREREICRAQEA4gEhERExAPEhQIChMPGBQUERQSEBETEhoTEhAKDQoPDQkPEA0QDwkQEQgIDwkYERAQEAsNChEOFhAODgsHCxAICREREREHEA4ZDQ8QCxUNDRAMDAkREAgKDA0PGhsbDhISEhISEhoREBAQEAgICAgUFBQUFBQUEBQTExMTEhETDw8PDw8PGA0PDw8PCAgICBAREBAQEBAQEBEREREOEA4SDxIPEg8RDRENEQ0TExQREA8QDxAPEA8SEBIQEhAUERQRCAgICAgICggTDw8JDwkPCRAKFBEUERQRFBAUEBsZEgsSCxILEA0QDRANEA0RChELExETERMRExETERIQDhAOEA4HERIQEA0RCggHDQ0OCQoLDg4AEhcVEBYOERAICAocHRYTERMSEREOFRAZEBQUExMYFBQTERERERgTFBIaGxQYEREbEQ8QDwsRDxUNEBAPDxQQEBAQDQwOFBARDxYXEBUPDhYPDxELDg0ICggXFxEPDhAUEBQQExAVEhQQERAOCw8MERAaFhANExAVEhUPFhAVERoUHRgaFRENEQwSDxIPFBAZExQQExASERgTGBMIEg8UERQQFBESDxkVCBIPEg8aGBAPEw8TDxkVEA0QDxQQFBAUEBQQFBARDhEOEQ4RDhIPDgsYFRMPEA0TDxoWFREUEhMPGBgREBQLFBkHBwcMDAwPDw4YJQkJBgwMDAwREREREREREREREREREREREREREREREREREREPHxwSEBQQEBAQGgsQEBAQEBUSAA8KDggHCQsPCxEQDwkSERIPEQ4RDhANEQ0SDxAPEA8QDxANFBAUEBQQFBAYFREOEQ4RDhEPEQ8bFhsWFBEUEBQQGBUQDQgIDwwRDRMQFBEPCREKEg4QDRANBwcMDAgMDAgLDg8LEA4PDhESBggGAAAfJhcACAgJDBISGhkICgoMEAgLCA0SEhISEhISEhISCAkQEBAOIRMSERQQEBMUCAoTEBkUFBIUExASExMbFBIRCg0KEA4KDxENERAKEREICA8JGBERERELDQsRDxYQDw4MBwwQCAkSEhISBxAPGg0PEAsVDg4QDQ0JEhAICg0NDxscHA4TExMTExMbERAQEBAICAgIFRQUFBQUFBAUExMTExISFA8PDw8PDxgNEBAQEAgICAgREREREREREBERERERDxEPEw8TDxMPEQ0RDRENFBQVERAQEBAQEBAQExETERMRFBEVEQgICQgICAoIEw8QCRAJEAkQChQRFBEUERQRFBEcGhMLEwsTCxANEA0QDRANEgsSCxMRExETERMRExESEQ4RDhEOCBITERANEgsIBw4ODgkLCw4OABIYFhAXDhIQCAkKHR4YExIUExISDhUQGhAVFRMTGRQUFBIREhIZFBUTGhwVGRISHBIPERAMEhAVDRERDxAVEREREQ0NDxYQERAYGBEWDw4XEBARDA4NCAoIGBgRDw8RFBEUERQQFhIUERIRDgwQDRIRGxcQDRQQFhIVEBYRFhIaFR4aGxYRDRINEg8SDxURGhQUERQRExEYFBgUCBMQFBEUERUSExAaFggTDxMPGxgQEBMQExAaFRANEQ8VERURFBEUERQREg4SDxIPEg8TEA4MGRYUEBANFBAbFhUSFBITDxkYEhEVCxQZBwcHDAwMEBAOGSYKCgYNDQ0NEhISEhISEhISEhISEhISEhISEhISEhISEhISECAdExEUEBAQEBsLEBAQEBAWEgAQCg8IBwkMDwsSERAKExETEBIPEg4QDRENEw8QEBAQEBAQDRQRFBEUERQRGRYSDhIOEg4SEBIQHBccFxURFREUERkWEA0ICBANEQ0UERQREAkSCxMPEA4QDgcHDAwIDA0IDA8PDBAOEA4REgYIBgAAICcYAAgICQ0SEhsaCAoKDBEIDAgNEhISEhISEhISEgkJERERDyITExIUERATFQkLFBAaFRUSFRMREhQTHBQTEQoOChAOChARDhEQChERCAgPCRoRERERCw0LEQ8XEA8ODAcMEQgJEhISEgcRDxsNEBEMFg4OEQ0NChIRCAsNDRAcHR0PExMTExMTHBIRERERCQkJCRUVFRUVFRURFRQUFBQTEhQQEBAQEBAZDhAQEBAICAgIEhEREREREREREREREQ8RDxMQExATEBIOEg4SDhQUFRIREBEQERAREBMRExETERURFhIJCAkICQgLCBQPEAkQCRAJEQoVERURFREVERURHRsTCxMLEwsRDRENEQ0RDRILEgwUERQRFBEUERQRExEOEQ4RDggSExERDRILCAcODg8JCwsODwATGRYRGA8SEQkJCx4fGBQSFBMSEw8WERsRFRUUFBoVFRQSEhISGhQWExwdFRkSEhwTEBEQDBIQFg4RERAQFREREREODQ8WEBIQGBkRFxAOFxAQEgwPDQgKCBgZEhAPERURFREUERcTFRESEQ8MEA0TERsXEQ4UERcTFhAXERYSGxUfGhwXEg4SDRMQExAVERsVFREVERMRGRUZFQkUEBUSFREWEhMQGxcIExATEBwZERAUEBQQGxYRDhEPFREVERURFREVERIOEg8SDxIPExAPDBkXFBERDhQQHBcWEhUTFA8aGhIRFgwVGgcHBw0NDRAQDhonCgoGDQ0NDRISEhISEhISEhISEhISEhISEhISEhISEhISEhAhHhMRFREREREbDBERERERFhMAEAsPCQcJDBALExEQChMSExASDxIOEQ4SDhMQERAREBEQEQ4VERURFREVERkXEg4SDhIPExATEBwXHBcVEhURFREZFxEOCQgQDRIOFBEVERAJEgsTDxEOEQ4HBw0NCA0NCQwPEAwRDxAPEhMGCAYAACEpGQAICAoNExMcGwgLCwwRCAwIDRMTExMTExMTExMJChEREQ8jFBQSFRERFBUJCxQRGhYWExYUERMVFBwVFBILDgsRDwoQEg4SEQsSEgkJEAobEhISEgwODBIQGBEQDwwHDBEIChMTExMHERAbDhARDBcPDhEODgoTEQgLDg4QHR4eDxQUFBQUFBwSEREREQkJCQkWFhYWFhYWERYVFRUVFBMVEBAQEBAQGg4RERERCQkJCRISEhISEhIREhISEhIQEhAUEBQQFBASDhIOEg4VFRYSEREREREREREUEhQSFBIVEhcSCQkJCQkJCwkUEBEKEQoRChELFhIWEhYSFhIWEh4cFAwUDBQMEQ4RDhEOEQ4TDBMMFRIVEhUSFRIVEhQSDxIPEg8IExQSEQ4TDAkHDw8PCQsMDw8AExoXERgPExEJCgsfIBkUExUUExQPFxEcERYWFBUaFRYVExITExoVFxQdHhYaExMeExASEQwTERcOEhIQERYSEhISDg4QFxESERkaEhgQDxgRERIMDw4JCwkZGhIQEBIVEhYSFREYExUSExIPDBEOExIcGBEOFREYExcRGBIXExwWIBsdFxIOEw4UEBQQFhIcFRUSFRIUEhoVGhUJFBEVEhUSFxMUERwXCRQQFBAcGhERFBEUERwXEQ4SEBYSFhIWEhYSFhITDxMQExATEBQRDwwaGBUREQ4VERwYFxMWExQQGhsTEhYMFhsHBwcNDQ0REQ8bKQoKBg4ODg4TExMTExMTExMTExMTExMTExMTExMTExMTExMRIh8UEhYRERERHAwRERERERcTABELEAkHCgwQDBQSEQsUEhQRExATDxEOEg4UEBEREREREREOFhIWEhYSFhIaGBMPEw8TDxMRExEeGB4YFhMWEhYSGhgRDgkJEQ0SDhUSFRIRChMMFBARDhEOBwcNDQgNDgkNEBANEQ8RDxIUBgkGAAAiKhoACQkKDhMTHRwJCwsNEgkMCA4TExMTExMTExMTCQoSEhIPJBUUExYRERQWCQsVERsWFhMWFBITFRQdFhQSCw4LEQ8LERIPEhELEhMJCREKGxMSEhIMDgwSEBkSEA8NCA0SCQoTExMTCBIQHA4REgwXDw8SDg4KExIJCw4OER4fHw8VFRUVFRUdExEREREJCQkJFxYWFhYWFhIWFRUVFRQTFRERERERERsPEREREQkJCQkTExISEhISEhISEhISEBIQFREVERUREw8TDxMPFhYXExERERERERERFBIUEhQSFhMXEwkJCQkJCQsJFRERChEKEQoSCxYTFhMWExYSFhIfHRQMFAwUDBIOEg4SDhIOEwwTDBUSFRIVEhUSFRIUEg8SDxIPCBMUEhIOEwwJCA8PEAoMDA8QABQaGBEZEBMSCQoLICEaFRMWFRMUEBgRHRIXFxUVGxYWFhMTExMbFhcVHR8WGxMUHxQREhENExEYDxMTERIXEhISEg8PEBcSExEZGxIYEQ8ZERETDQ8OCQsJGhoTERASFhIWEhUSGBQWEhMSEA0RDhQSHRkSDxYSGBQYERgSGBMdFyEcHhgTDxMPFBEUERcSHBYWExYSFRMbFhsWCRURFhMWEhcUFREdGAkVERURHRsRERURFREdGBIPExAXExcTFhIWEhYSFA8TEBMQExAVERANGxgWEhIPFRIdGRcUFhQVERsbExIXDBYcCAgIDQ0NEREPHCoKCgYODg4OExMTExMTExMTExMTExMTExMTExMTExMTExMTESMgFBIWEhISEh0NEhISEhIYFAARCxAJCAoNEQwUEhELFRMVERMQFA8SDxMPFRERERERERESDxYSFhIWEhYSGxgUDxQPEw8UERQRHxkfGRcTFxMWEhsYEg8JCREOEw8WEhYTEQoTDBQQEg8SDwgIDQ0JDg4JDRAQDRIQERATFAYJBgAAIysaAAkJCg4UFB0cCQsLDRIJDQkOFBQUFBQUFBQUFAkKEhISECUVFRQWEhIVFwkMFhIcFxcUFxUTExYVHhYVEwsPCxIQCxETDxMSCxMTCQkRCh0TExMTDA8MExEZEhEQDQgNEgkKFBQUFAgTER0PERINGBAPEg4OCxQTCQwODxEfICAQFRUVFRUVHhQSEhISCQkJCRcXFxcXFxcSFxYWFhYVFBYREREREREbDxISEhIJCQkJFBMTExMTExITExMTExETERURFREVERQPFA8UDxYWFxMSEhISEhISEhUTFRMVExcTGBMJCQoJCQkMCRYREgoSChIKEgsXExcTFxMXExcTIB0VDBUMFQwTDxMPEw8TDxQMEw0WExYTFhMWExYTFRMQExATEAkUFRMTDxMMCQgPEBAKDAwQEAAUGxgSGhAUEwkKDCEiGxYUFhUUFRAYEh0SFxcWFhwXFxYUFBMUHBYYFR8gFxwUFB8UERISDRQSGA8TExESFxMTExMPDxEZEhQSGxwTGREQGRISEw0QDwkLCRsbExERExcTFxMWEhkVFxMUExANEg4UEx4ZEg8WEhkVGBIZExgUHhciHR8ZFA8UDxURFREXEx0XFxMXExUTGxcbFwkVEhcTFxMYFBUSHhkJFREVER4bEhIWEhYSHRgSDxMRFxMXExcTFxMXExQQFBEUERQRFRIQDRwZFhISDxYSHhkYFBcVFhEcHRQTGA0XHQgICA4ODhISEBwrCwsGDg4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBIkIRUTFxISEhIeDRISEhISGBUAEgwRCQgKDREMFRMSCxUTFRIUERQQEg8UDxUREhISEhISEg8XExcTFxMXExwZFBAUEBQQFBIUEh8ZHxkXFBcTFxMcGRIPCQkSDhQPFhMXExIKEwwVERIPEg8ICA4OCQ4OCQ0REQ0SEBIQExUHCQYAACQsGwAJCQsOFBQeHQkMDA4TCQ0JDxQUFBQUFBQUFBQKChMTExAmFhUUFxMSFRcKDBYTHRcZFRgWExQXFh8XFRMMDwwSEAsSEw8TEgwTFAkJEgsdFBMTEw0PDRMRGhMREA0IDRMJCxQUFBQIExEeDxITDRkQEBMPDwsUEwkMDw8SICEhEBYWFhYWFh8UExMTEwoKCgoYFxkZGRkZExgXFxcXFRUXEhISEhISHA8SEhISCQkJCRQUExMTExMTExMTExMRExEWEhYSFhIUDxQPFA8XFxgUExITEhMSExIVExUTFRMXFBkUCgkKCgoJDAkWEhMLEwsTCxMLFxQXFBcUGRMZEyEeFg0WDRYNEw8TDxMPEw8UDRQNFxMXExcTFxMXExUTEBMQExAJFBUTEw8UDQkIEBARCgwNEBEAFRwZExsQFBMKCwwiIxsWFBcWFRUQGRMeExgYFhYdFxkXFRQUFB0XGRYfIRgdFBUgFRITEg4UEhkQFBQSEhgTExMTDw8RGRMUEhscExkRERoSEhQOEA8JCwkbHBQSERMXExgTFxMaFRcTFRMQDhIPFRMfGhMQFxMaFRkSGhMZFB8YIx0gGhQPFA8VEhUSGBQeFxcUFxMWFB0XHRcKFhIXFBcTGRUWEh4aCRYSFhIfHBMSFxIXEh4ZExAUERgUGBQZExgTGBMVERQRFBEUERYSEA4dGRcTExAXEh8aGRUYFRYSHR0VExgNGB4ICAgODg4SEhAdLAsLBw8PDw8UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQSJSIWExgTExMTHw0TExMTExkVABIMEQoICw4SDRUTEgwWFBYSFBEVERMQFA8WEhMSExITEhMQGRMZExgTGRMdGRURFREUEBUSFRIgGiAaGBQYFBkTHRkTEAoJEg8UDxcTFxQTCxQNFhETEBMQCAgODgkODwoOEREOExESERQVBwkHAAAlLhwACQkLDxUVHx4JDAwOFAkNCQ8VFRUVFRUVFRUVCgsUFBQRJxYVFRcTEhYYCwwXEx4YGRUZFhQVFxYgFxYUDBAMExAMEhQQFBIMFBQKChILHRQUFBQNDw0UEhsTEhEOCA4UCQsVFRUVCBQSHxASFA0aEBAUDw8LFRQJDA8QEiEhIREWFhYWFhYgFRMTExMLCwsLGBgZGRkZGRQZFxcXFxYVFxISEhISEh0QEhISEgoKCgoVFBQUFBQUFBQUFBQUEhQSFhIWEhYSFRAVEBUQFxgYFBMSExITExMSFhQWFBYUGBQZFQsKCwoLCgwKFxITCxMLEwsTDBgUGBQYFBkUGRQiHxYNFg0WDRQPFA8UDxQPFQ0VDRcUFxQXFBcUFxQWFBEUERQRCRUWFBQPFQ0KCBAREQsNDRERABYdGhMbERUUCwsMIyQcFxUYFhUVERoTHxMYGBcXHhgZFxUVFRUeFxkWHyEZHRUVIRUSExMOFRIaEBQUEhMZFBQUFBAPEhkTFRMbHRQaEhEbExIUDhEPCgwKHB0UEhIUGBQZFBcUGhYYFBUUEQ4TDxYUIBsTEBgUGhYaExsUGhUfGSMeIBoVEBUPFhIWEhkUHxgYFBgUFhQdGB0YCxcTGBQYFBkVFhMfGgkWEhYSIB0TEhcTFxMfGhMQFBIYFBgUGRQZFBkUFREVEhUSFRIWExEOHRoXExMQFxMgGxkVGBYXEh4dFRQZDRgeCAgIDw8PExMRHi4LCwcPDw8PFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVEyYjFhQYFBQUFCAOFBQUFBQaFgATDBIKCAsOEg0VFBIMFhUWExUSFRETEBUQFhITEhMSExITEBkUGRQZFBkUHRoVERURFREVExUTIRshGxkVGBQZFB0aExALChIPFRAXFBgUEwsVDRYSExATEAgIDw8JDw8KDhISDhMRExEUFgcJBwAAJi8dAAoKCw8WFiAfCgwMDhQKDgkQFhYWFhYWFhYWFgoLFBQUESgXFhUZFBMXGQsMGBQeGRkWGRcUFRgXIRgXFAwQDBMRDBMUEBQTDBQVCgoTCx8UFBQUDRANFBIbFBIRDgkOFAoLFhYWFgkUEiAQExQOGhERFBAQDBYUCg0QEBMhIiIRFxcXFxcXIRUUFBQUCwsLCxkZGRkZGRkUGRgYGBgXFhgTExMTExMeEBMTExMKCgoKFRQUFBQUFBQUFBQUFBIUEhcTFxMXExUQFRAVEBkYGRUUExQTFBMUExcUFxQXFBkVGhULCgsKCwoMChgTFAsUCxQLFAwZFBkUGRQZFBkUIyAXDRcNFw0UEBQQFBAUEBYNFQ4YFBgUGBQYFBcUFxQRFBEUEQkWFxQUEBUNCggRERILDQ0REQAWHhoUHBEWFAsLDCQlHRgWGBcWFhEaFCAUGRkYGB4ZGRgWFRUWHhgaFyEjGR4WFiIWExQTDhYTGhAUFBMTGRQUFBQQEBIbFBUTHR4UGhMRHBMTFQ4REAoMCh0eFRMSFBkUGRQYFBsWGRQWFBEOExAWFCEcFBAYFBsWGhMbFRoWIBklHyEbFRAVEBcTFxMZFSAZGRUZFBcVHhkeGQsXExkVGRQaFhcTIBsKFxMXEyEeFBMYExgTIBoUEBUSGRQZFBkUGRQZFBYRFhIWEhYSFxMRDh4aGBQUEBgTIRsaFhkWGBMeHxYUGg4ZHwgICA8PDxMTER8vDAwHEBAQEBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhMnJBcUGRQUFBQhDhQUFBQUGhYAEw0SCggLDhMNFhQTDBcVFxMWEhYRFBAVEBcTFBMUExQTFBAZFBkUGRQZFB4aFhEWERYRFhMWEyIcIhwZFRkUGRQeGhQQCwoTEBUQGRQZFRQLFQ0XEhQRFBEICA8PCg8QCg8SEg8UEhMSFRcHCgcAACcwHQAKCgsQFhYhIAoNDQ8VCg4KEBYWFhYWFhYWFhYKCxUVFRIpGBcWGRQUGBkLDRgUHxoaFhoXFRYYFyIZFxUNEQ0UEQwTFBEVFA0VFQoKEwsgFRUVFA0QDhUTHBQTEg4JDhUKCxYWFhYJFRMgEBMVDhsRERUQEAwWFQoNEBATIiMjEhgYGBgYGCIWFBQUFAsLCwsaGhoaGhoaFRoYGBgYFxYZExMTExMTHxEUFBQUCgoKChYVFRUVFRUVFBUVFRUTFRMYExgTGBMWERYRFhEZGRoVFBQUFBQUFBQYFRgVGBUZFRsWCwoLCwsKDQoYExQLFAsUCxQMGhUaFRoVGhUaFSQhFw0XDRcNFRAVEBUQFRAWDhYOGBUYFRgVGBUYFRcVEhUSFRIKFhgVFRAWDgoJERISCw0OEhIAFx4bFB0SFxULDA0kJh4YFhkYFhcSGxQhFRoaGBgfGRoZFhYWFh8ZGxgiJBofFhYjFhMUFA8WFBsRFRUTFBoVFRQVERATGxQWEx0fFRsTEhwUFBUPEhAKDAoeHxUTExQZFRoVGRUcFxkVFhUSDxQQFxUhHBURGRUcFxsUHBUbFiEaJiAiHBYRFhAXExcTGhUhGRkVGRQYFR8ZHxkLGBQZFRkVGxYYEyEcChgTGBMiHxQUGRQZFCEbFREVExoVGhUaFRoVGhUWEhYTFhMWExgTEg8fGxkUFREZFCIcGxYaFxgTHyAWFRoOGiAJCQkPDw8UFBIgMAwMBxAQEBAWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUKCUXFRoVFRUVIQ4VFRUVFRsXABQNEwoJDA8TDhcUFA0YFhgTFhMWEhURFhEYExQUFBQUFBURGhUaFRoVGhUfGxYSFhIXEhYUFhQjHCMcGhYaFRoVHxsVEQsKFBAWERkVGRUUCxYOFxMVERURCQkPDwoQEAoPEhMPFBIUEhYXBwoHAAAoMR4ACgoMEBcXIiEKDQ0PFQoOChAXFxcXFxcXFxcXCwwVFRUSKhgXFhoVFBgaCw0ZFSAaGxcbGBUWGRgiGRgWDRENFBINFBURFRQNFRULCxQLIBYVFRUOEQ4WEx0VExIPCQ8VCgwXFxcXCRUTIREUFQ4cEhEVEBAMFxUKDRARFCMkJBIYGBgYGBgiFhUVFRULCwsLGxobGxsbGxUbGRkZGRgXGRQUFBQUFB8RFBQUFAsLCwsXFhUVFRUVFRUWFhYWExUTGBQYFBgUFhEWERYRGhobFhUUFRQVFBUUGBUYFRgVGhUbFgsLCwsLCw0LGRQVCxULFQsVDRoWGhYaFhsVGxUlIhgOGA4YDhURFREVERURFw4WDhkWGRYZFhkWGRYYFhIWEhYSChcYFRURFg4LCRISEgsODhISABcfHBUdEhcVCwwNJSYeGRcaGBcXEhwVIhUaGhkZIBobGhcWFhcgGRsYIiQbIBcXJBcUFRQPFxQcERYWExUbFRUVFRERExwVFhQeHxUbExIdFBQWDxIRCw0LHh8WExMVGhUbFRkVHBgaFhcVEg8UERcVIh0VERkVHRccFB0WHBciGyYhIxwWERYRGBQYFBsWIhoaFhoVGBUgGiAaCxgUGhYaFRsXGBQiHAoYFBgUIh8VFBkUGRQiHBURFhMaFhoWGxUbFRsVFxIXExcTFxMYFBIPIBsZFRURGRUiHRsXGhgZFCAgFxUbDhohCQkJEBAQFBQSIDEMDAcQEBAQFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFCkmGBYaFRUVFSIPFRUVFRUcGAAUDRMLCQwPFA4XFRQNGBYYFBcTFxIVERYRGBQVFBUUFRQVERsVGxUbFRsVIBsXEhcSFxIXFBcUJB0kHRsXGxYbFSAbFRELCxQQFhEaFRoVFQsWDhgTFREVEQkJEBAKEBALDxMTDxUTFBIWGAgKBwAAKTMfAAoKDBAXFyIhCg0NEBYKDwoRFxcXFxcXFxcXFwsMFhYWEysZGBcbFRUZGwwOGRUhGxsXGxkWFxoZIxoYFg0RDRUSDRQWERYVDRYWCwsUDCEWFhYWDhEOFhQeFhQTDwkPFgoMFxcXFwkWFCIRFBYPHBISFhERDRcWCg4RERQkJSUTGRkZGRkZIxcVFRUVDAwMDBsbGxsbGxsWGxoaGhoYFxoUFBQUFBQgERUVFRULCwsLFxYWFhYWFhYWFhYWFhQWFBkUGRQZFBcRFxEXERsaGxcVFRUVFRUVFRkWGRYZFhsWHBcMCwwLDAsOCxkUFQwVDBUMFg0bFhsWGxYbFhsWJiIZDhkOGQ4WERYRFhEWERcOFw8aFhoWGhYaFhoWGBYTFhMWEwoXGRYWERcOCwkSEhMMDg4TEwAYIB0VHhMYFgwMDiYnHxkXGhkXGBMcFSIWGxsZGiEbGxoXFxcXIRocGSMlGyEXGCUYFBYVDxcVHBIWFhQVGxYWFhYREhQcFhcUHiAWHRQTHhUVFw8TEQsNCx8gFxQUFhsWGxYaFh0YGxYXFhMPFREYFiMeFhIaFh0YHBUdFh0XIxsnIiQdFxIXEhgUGBQbFiIbGxYaFRkWIRshGwwZFRsXGxYcGBkUIx0LGRQZFCMgFRUaFRoVIhwWEhYUGxYbFhsWGxYbFhgTFxQXFBcUGRQTDyEdGhYWEhoVIx4cGBsYGRQhIRcWHA8bIgkJCRAQEBUVEyEzDQ0IERERERcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxUqJxkWGxYWFhYjDxYWFhYWHRgAFQ4UCwkMDxQOGBYVDRkXGRQXFBgTFhIXERkUFRUVFRUVFhIbFhsWGxYbFiEdGBMYExgTGBUYFSUeJR4bFxsWGxYhHRYSDAsVERcSGxYbFhUMFw4ZFBYSFhIJCRAQChARCxATFBAVExUTFxgICwgAACo0IAALCwwRGBgjIgsODhAWCw8KERgYGBgYGBgYGBgLDBYWFhMsGRkXGxYVGhsMDhoWIhwcGBwZFhgaGSQbGRcOEg4VEw0VFxIXFQ0WFwsLFQwhFxYXFw4SDxYUHhYUExAKEBYLDBgYGBgKFhQjEhUWDx0TEhYREQ0YFgsOERIVJSYmExkZGRkZGSQXFhYWFgwMDAwcHBwcHBwcFhwaGhoaGRgaFRUVFRUVIRIVFRUVCwsLCxgXFhYWFhYWFhYWFhYUFxQZFRkVGRUXEhcSFxIbGxwXFhUWFRYVFhUaFhoWGhYbFxwXDAsMCwwLDgsaFRYMFgwWDBYNHBccFxwXHBYcFiYjGQ4ZDhkOFhIWEhYSFhIYDxgPGhYaFhoWGhYaFhkXExcTFxMKGBoWFhIYDwsJEhMTDA4PExMAGSEdFh8TGBYMDA4nKCAaGBsZGBkTHRYjFhwcGhoiGxwbGBcYGCIbHRkkJhwiGBgmGBUWFRAYFR0SFxcVFRwXFhYXEhIUHRYXFR8hFx4VEx8VFRcQExILDQsgIRcVFBYbFxwWGhYeGRsXGBYTEBURGBYkHxYSGxYeGR0VHhcdGCQcKCMlHhcSGBIZFRkVHBcjGxsXGxYZFyEbIRsMGhUbFxsXHRgZFSQeCxkVGRUkIRYVGhUaFSMdFhIXFBwXHBccFhwWHBYYExgUGBQYFBkVExAiHhsWFhIbFSQeHRgcGRoVIiEYFxwPHCIJCQkREREVFRMiNA0NCBEREREYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgVKygZFxsWFhYWJA8WFhYWFh0ZABUOFAsJDBAVDxkXFQ0ZFxkVGBQYExYSFxIZFRYVFhUWFRYSHBYcFhwWHBYiHhgTGBMYExgVGBUmHyYfHBgcFxwWIh4WEgwLFREXEhsXGxcWDBgPGRQWEhYSCQkREQsREQsQFBQQFhMVExcZCAsIAAArNSAACwsNERgYJCMLDg4QFwsPCxIYGBgYGBgYGBgYDAwXFxcULhoZGBwWFhocDA4bFiIcHRkdGhcYGxolGxkXDhIOFhMOFRcTFxYOFxcMDBUNIxcXFxcPEg8XFR8XFRQQChAXCw0YGBgYChcVJBIVFw8eExMXEhINGBcLDhISFSYnJxQaGhoaGholGBYWFhYMDAwMHRwdHR0dHRcdGxsbGxkZGxUVFRUVFSITFhYWFgwMDAwYFxcXFxcXFxcXFxcXFRcVGhUaFRoVGBMYExgTHBsdGBYWFhYWFhYWGhcaFxoXHBcdGAwMDAwMDA4MGxUWDRYNFg0XDhwXHBccFx0XHRcnJBoPGg8aDxcSFxIXEhcSGA8YDxsXGxcbFxsXGxcZFxQXFBcUCxgaFxcSGA8MChMTFAwPDxMUABkhHhYgFBkXDA0OKCkhGxgbGhkZFB4WJBcdHRsbIhwdGxkYGBgiGx0aJScdIhgZJxkVFxUQGBYeEhcXFRYdFxcWFxMSFR4XGBUgIhceFRQgFhYYEBQSDA4MISIYFRUXHBcdFxsXHxkcFxkXFBAWEhkXJR8XEhsXHxkeFh8XHhglHSkjJh4YExgSGRUZFR0XJBwcFxwXGhciHCIcDBoWHBgcFx0ZGhYkHwsaFRoVJSIWFhsWGxYkHhcSGBUdFx0XHRcdFx0XGRQYFRgVGBUaFRQQIh4bFxcTGxYlHx0ZHBkbFSIjGRcdDxwjCgoKERERFhYTIzUNDQgSEhISGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYFiwpGhccFxcXFyUQFxcXFxceGQAWDhQLCg0QFQ8ZFxYOGhgaFhgVGRQXEhgTGhUWFhYWFhYXEh0XHRcdFx0XIh4ZFBkUGRQZFhkWJyAnIB0YHRcdFyIeFxMMDBYSGBMcFxwXFg0YDxoVFxMXEwoKERELERILEBQVEBYUFhQYGggLCAAALDYhAAsLDRIZGSUkCw4OERcLEAsSGRkZGRkZGRkZGQwNFxcXFC8aGhgcFxYbHQwPGxcjHR4ZHhoXGRwaJhwaGA4TDhYUDhYYExcWDhgYDAwWDSMYGBgXDxMPGBUgFxUUEAoQFwsNGRkZGQoXFSUSFRcQHhMTFxISDRkXCw8SEhUnKCgUGhoaGhobJhgXFxcXDAwMDB0dHh4eHh4XHhwcHBwaGRwWFhYWFhYjExYWFhYMDAwMGRgYGBgYGBcYGBgYGBUYFRoWGhYbFhgTGBMYExwcHRgXFhcWFxYXFhsYGxgbGB0YHhgMDAwMDAwPDBsWFw0XDRcNFw4dGB0YHRgeGB4YKCUaDxoPGg8XExcTFxMXExkPGRAcGBwYHBgcGBsYGhgUGBQYFAsZGxgXExkPDAoTFBQNDw8UFAAaIh8XIRQZFwwNDykqIRsZHBoZGhQeFyUXHR0bGyMdHhwZGBkZIxweGyYoHSMZGScaFhgWERkWHhMYGBYWHRgYFxgTEhUfFxkWISIYHxYUIBYWGBEUEwwODCIjGBYVFx0YHhgcFx8aHRgZGBQRFhIaGCYgFxMcFyAaHhYgGB8ZJR0qJCcfGBMZEhoWGhYdGCUcHRgcGBsYIxwjHAwbFh0YHRgeGRsWJR8MGhYaFiYjFxYcFhwWJR4XExgVHRgdGB4YHhgeGBkUGRUZFRkVGxYUESMfHBcXExwWJiAeGR0aGxYjIxkYHhAdJAoKChERERYWFCQ2Dg4IEhISEhkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYtKhoYHRcXFxcmEBcXFxcXHxoAFg8VDAoNERYPGhgWDhsYGxYZFRkUFxMYExoWFxYXFhcWFxMeGB4YHhgeGCMfGRQZFBkUGhYaFicgJyAdGR0YHhgjHxcTDAwWEhgTHBcdGBcNGQ8aFRcTFxMKChERCxISDBEVFREXFBYUGBoIDAgAAC03IgALCw0SGhomJQsPDxEYCxALEhoaGhoaGhoaGhoMDRgYGBQwGxsZHRcXGx0MDxwXJB4eGh4bGBocGyccGxgPEw8XFA4WGBMYFw4YGQwMFg0kGRgYGBATEBgVIBgWFREKERgLDRoaGhoKGBYlExYYEB8UFBgTEw4aGAsPExMWKCkpFBsbGxsbGycZFxcXFwwMDAweHh4eHh4eGB4cHBwcGxocFhYWFhYWIxMXFxcXDAwMDBkZGBgYGBgYGBgYGBgWGBYbFhsWGxYZExkTGRMdHR4ZFxcXFxcXFxcbGBsYGxgdGR8ZDAwMDAwMDwwcFhcNFw0XDRgOHhkeGR4ZHhgeGCkmGxAbEBsQGBMYExgTGBMaEBoQHBgcGBwYHBgcGBsYFRgVGBULGhsYGBMaEAwKFBQVDQ8QFBUAGiMfFyEVGhgMDQ8qKyIcGh0bGhsVHxcmGB4eHBwkHR4dGhkaGiQcHxsnKR4kGhooGhYYFxEaFx8TGRkWFx4YGBgYExMWIBgZFyEjGCAWFSEWFxkRFRMMDgwiIxkWFhgdGB4YHBggGx0YGhgVERcTGhgnIRgTHRggGh8XIBgfGiYeKyUnIBkTGhMbFhsWHhgmHR0ZHRgbGSQdJB0MHBcdGR0YHxobFyYgDBsWGxYnIxcXHBccFyYfGBMZFh4ZHhkeGB4YHhgaFRoWGhYaFhsXFREkIBwYGBMdFycgHxoeGxwWJCQaGB4QHiUKCgoSEhIXFxQkNw4OCBMTExMaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoXLisbGB0YGBgYJxEYGBgYGB8bABcPFQwKDREWEBsYFw4bGRsXGhYaFRgTGRMbFhcXFxcXFxgTHhgeGB4YHhgkIBoVGhUaFRoWGhYoISghHhkeGR4YJCAYEwwMFxIZEx0YHRkXDRoQGxUYFBgUCgoSEgsSEwwRFRYRFxUXFRkbCAwIAAAuOSMADAwOEhoaJyUMDw8RGAwRCxMaGhoaGhoaGhoaDA0YGBgVMRwbGh4YFxweDQ8dGCUeHxofHBgaHRwoHRsZDxQPFxQPFxkUGRcPGBkMDBcOJRkZGRkQExAZFiEYFhURChEYDA0aGhoaChgWJhMWGBEgFBQYExMOGhgMDxMTFigqKhUcHBwcHBwoGhgYGBgNDQ0NHx4fHx8fHxgfHR0dHRsaHRcXFxcXFyQUFxcXFwwMDAwaGRkZGRkZGBkZGRkZFhkWHBccFxwXGhQaFBoUHh0fGRgXGBcYFxgXHBgcGBwYHhkfGQ0MDQwNDA8MHRcYDhgOGA4YDx4ZHhkeGR8ZHxkqJxwQHBAcEBgTGBMYExgTGhAaER0ZHRkdGR0ZHRkbGRUZFRkVCxocGBgTGhAMChQVFQ0QEBUVABskIBgiFRsYDQ4PKywjHRodHBobFSAYJxgfHx0dJR4fHRoaGholHR8cKCofJRoaKRsXGRcRGhcgFBkZFxgeGBkYGRQTFiAYGhcjJBkgFxUiFxcZERUTDA4MIyQZFxYYHhkfGR0YIRseGRoZFREXExsZJyEYFB0YIRsgFyEZIBonHywmKCEaFBoTGxcbFx8ZJx4eGR4ZHBklHiUeDRwXHhkeGB8bHBcnIQwcFxwXKCQYFx0XHRcnIBgUGRYfGR8ZHxkfGR8ZGhUaFhoWGhYcFxURJSAdGBgUHRgoIR8aHhsdFyUlGhkfER4mCgoKEhISFxcVJTkODggTExMTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFy8sHBkeGBgYGCcRGBgYGBggGwAXDxYMCg4RFxAbGRcPHBkcFxoWGhUYFBoUHBcYFxgXGBcYFB8ZHxkfGR8ZJSAaFRoVGxUbFxsXKSIpIh8aHxkfGSUgGBQNDBcTGhQeGR4ZGA4aEBwWGBQYFAoKEhIMEhMMEhYWEhgVFxUZGwkMCAAALzojAAwMDhMbGycmDA8PEhkMEQwTGxsbGxsbGxsbGw0OGRkZFTIcHBoeGRgdHg0QHRgmHx8bHxwYGx0cKR4cGQ8UDxgVDxcZFBkYDxkaDQwXDiUaGRkZERQQGRYiGRYWEQsRGQwOGxsbGwsZFycUFxkRIBUVGRMTDhsZDBATFBcpKisVHBwcHBwcKRoZGRkZDQ0NDR8fHx8fHx8ZHx0dHR0cGx4XFxcXFxclFBgYGBgNDQ0NGhoZGRkZGRkZGRkZGRYZFhwXHBccFxoUGhQaFB4eHxoZGBkYGRgZGB0ZHRkdGR4aIBoNDQ0NDQ0QDB0XGA4YDhgOGQ8fGh8aHxofGR8ZKygcERwRHBEYFBgUGBQYFBsQGxEdGR0ZHRkdGR0ZHBkWGRYZFgwbHRkYFBsQDAoVFRYNEBAVFgAcJSEZIxYbGA0OECwtJB0bHhwbHBYgGScYHx8dHSYeHx4bGhsbJh4gHCgrHyUbGyobFxkYEhsYIRQaGhcYHxkZGRkUFBYhGRoYIyUZIRcWIxcYGhIVFA0PDCQlGhcWGR8ZHxkeGSEcHxkbGRYSGBMbGSgiGBQeGSIcIRgiGSEbKB8tJykhGhQbFBwXHBcfGSceHxoeGRwaJR4lHg0dGB8aHxkgGxwYKCEMHBccFyklGRgeGB4YJyEYFBoXHxofGh8ZHxkfGRsWGxYbFhsWHBgWEiUhHhkZFB4YKSIgGx8cHRcmJRsZIBEfJwoKChMTExgYFSY6Dg4JExMTExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxgwLRwZHxkZGRkoERkZGRkZIRwAGBAWDQoOEhcQHBkYDxwaHBgbFhsWGBQaFBwXGRgZGBkYGBQfGR8ZHxkfGSUhGxYbFhsVGxcbFyojKiMfGh8aHxklIRkUDQ0YExoUHhkeGhgOGxAcFhgVGBUKChMTDBMTDRIWFxIYFhgWGhwJDAkAADA7JAAMDA4TGxsoJwwQEBIZDBEMFBsbGxsbGxsbGxsNDhkZGRYzHRwbHxkYHR8NEB4ZJiAgGyAdGRseHSkeHBoQFBAYFQ8YGhUaGA8ZGg0MGA4nGhoaGhEUERoXIxkXFhILEhkMDhsbGxsLGRcoFBcZESEVFRkUFA8bGQwQFBQXKisrFh0dHR0dHSkbGRkZGQ0NDQ0gICAgICAgGSAeHh4eHBseGBgYGBgYJhUYGBgYDQ0NDRsaGhoaGhoZGhoaGhoXGhcdGB0YHRgbFRsVGxUfHyAaGRgZGBkYGRgdGR0ZHRkfGiEaDQ0ODQ0NEAweGBkOGQ4ZDhkPIBogGiAaIBogGiwoHREdER0RGRQZFBkUGRQbERsRHhoeGh4aHhoeGhwaFhoWGhYMGx0ZGRQbEQwLFRYWDhARFhYAHCUhGSQWHBkNDhAtLiQeGx8dGxwWIRkoGSAgHh4mHyAfGxsbGyceIR0pLCAmGxwrHBgaGBIbGCEVGhoXGCAZGhkaFRQXIhkbGCQmGSEXFiMYGBoSFhQNDwwkJhoXFxkfGiAaHhkiHB8aGxoWEhgUHBopIxkVHhkiHCEYIxohGykgLicqIhsVGxQcGBwYIBooHx8aHxodGiYfJh8NHRgfGh8ZIRwdGCkiDB0YHRgpJhkYHhgeGCghGRUaFyAaIBogGiAaIBocFhsXGxcbFx0YFhImIR4ZGRUeGCkjIRwgHB4YJicbGiARICcLCwsTExMYGBYnOw8PCRQUFBQbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsYMS4dGh8ZGRkZKRIZGRkZGSEcABgQFw0LDhIYERwaGA8dGh0YGxccFhkVGxUdGBkYGRgZGBkVIBogGiAaIBomIRwWHBYcFhwYHBgrIysjIBsgGiAaJiEZFQ0NGBMbFR8aHxoZDhsRHRcZFRkVCwsTEwwTFA0SFxcSGRYYFhscCQwJAAAxPCUADAwOFBwcKSgMEBATGgwSDBQcHBwcHBwcHBwcDQ4aGhoWNB4dGyAZGR4gDhAeGScgIRwhHhocHx4qHx0aEBUQGRYPGBoVGhkQGhsNDRgOJxsaGhoRFREaFyMaFxYSCxIaDA4cHBwcCxoXKRUYGhIiFhUaFBQPHBoMEBQVGCssLBYeHh4eHh4qGxkZGRkODg4OISAhISEhIRohHx8fHx0cHxgYGBgYGCYVGRkZGQ0NDQ0cGxoaGhoaGhoaGhoaFxoXHhgeGB4YGxUbFRsVIB8hGxkZGRkZGRkZHhoeGh4aIBshGw4NDg0ODRANHhgZDhkOGQ4aECAbIBsgGyEaIRotKR4RHhEeERoVGhUaFRoVHBEcEh8aHxofGh8aHxodGhYaFhoWDBweGhoVHBENCxYWFw4RERYWAB0mIhkkFhwaDg8QLi8lHhwfHhwdFiIZKRohIR4fJyAhHxwbHBwnHyEeKi0hJxwcLBwYGhkSHBkiFRsbGBkhGhoaGhUUFyIaGxklJhoiGBYkGRkbEhYVDRANJSYbGBcaIBohGh8aIx0gGhwaFhIZFB0aKiQaFR8aIx0iGSMaIhwqIS8oKyMbFRwUHRgdGCEbKSAgGyAaHhsnICcgDh4ZIBsgGiEcHhkpIw0eGB4YKiYZGR8ZHxkpIhoVGxghGyEbIRohGiEaHBYcFxwXHBceGRYSJyIfGhoVHxkqIyIcIB0eGCcnHBohEiAoCwsLExMTGRkWKDwPDwkUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGTIuHRogGhoaGioSGhoaGhoiHQAZEBcNCw4SGBEdGhkQHhseGRwXHBYaFRsVHhgZGRkZGRkaFSEaIRohGiEaJyIcFhwWHBYcGRwZLCQsJCEcIRshGiciGhUODRkUGxUgGiAbGQ4cER4XGhUaFQsLExMMFBQNExcYExkXGRcbHQkNCQAAMj4mAA0NDxQcHCopDRAQExoNEgwUHBwcHBwcHBwcHA0PGhoaFzUeHhwgGhkeIQ4RHxooISIdIh4bHB8eKyAeGxAVEBkWEBkbFhsZEBsbDQ0ZDygbGxsbEhURGxgkGhgXEwsTGg0PHBwcHAsbGCoVGBoSIxYWGhUVDxwaDREVFRgsLS0XHh4eHh4eKxwaGhoaDg4ODiEhIiIiIiIaIh8fHx8eHSAZGRkZGRknFhkZGRkNDQ0NHBsbGxsbGxobGxsbGxgbGB4ZHhkeGBwWHBYcFiAgIRwaGRoZGhkaGR4bHhseGyEbIhwODQ4ODg0RDR8ZGg8aDxoPGhAhGyEbIRsiGyIbLioeEh4SHhIbFRsVGxUbFRwRHBIfGx8bHxsfGx8bHhsXGxcbFwwcHhsbFRwRDQsWFhcOERIXFwAdJyMaJRcdGw4PES8wJh8cIB4dHhciGioaISEfHyghIiAdHBwcKCAiHisuISgcHS0dGRsZExwZIxYbGxgaIRsbGxsWFRgjGhwZJicbIxkXJRkZHBMXFQ0QDSYnHBgYGiEbIhsfGiQeIRsdGxcTGRUdGyskGhYgGiQdIxkkGyMcKyEwKSwjHBYcFR4ZHhkhGyogIRsgGx4bKCAoIA4fGSEcIRsiHR4ZKiQNHhkeGSsnGhkgGSAZKiMaFhsYIRshGyIbIhsiGx0XHBgcGBwYHhkXEygjIBoaFiAaKyQiHSEeHxkoKB0bIhIhKQsLCxQUFBkZFyg+Dw8JFRUVFRwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBkzLx4bIRoaGhorEhoaGhoaIx4AGREYDQsPExkSHhsZEB4cHhkcGB0XGhYcFh4ZGhkaGRoZGhYiGyIbIhsiGygjHRcdFx0XHRkdGS0lLSUhHCEbIhsoIxoWDg0ZFBwWIBshGxoPHBEeGBoWGhYLCxQUDRQVDRMYGBMaFxkXHB4JDQkAADM/JgANDQ8VHR0rKg0RERMbDRINFR0dHR0dHR0dHR0ODxsbGxc2Hx4dIRoaHyEPESAaKSIiHSIfGx0gHywgHhsRFhEaFxAZGxYbGhAbHA4OGQ8pHBscGxIWEhsYJRsYFxMMExsNDx0dHR0MGxgqFRkbEiMXFhsVFRAdGw0RFRUZLS4uFx8fHx8fHywdGhoaGg8PDw8iIiIiIiIiGyIgICAgHh0gGRkZGRkZKBYaGhoaDg4ODh0cGxsbGxsbGxsbGxsYHBgfGR8ZHxkdFh0WHRYhISIcGhoaGhoaGhofGx8bHxshHCMcDw4PDg8OEQ4gGRoPGg8aDxsQIhwiHCIcIhsiGy8rHxIfEh8SGxYbFhsWGxYdEh0SIBsgGyAbIBsgGx4bFxsXGxcNHR8bGxYdEg4LFhcYDxESFxcAHigkGiYXHRsPDxEwMScgHSAfHR4XIxorGyIiICApISIgHR0dHSkgIx8rLiIpHR0uHhkbGhMdGiMWHBwZGiIbGxscFhUYJBsdGiYoGyQZFyUaGhwTFxYOEA4nKBwZGBshGyIbIBskHiEbHRwXExoVHhssJRsWIBslHiMaJRwkHSsiMSotJB0WHRUeGR4ZIhwrISEcIRsfHCkhKSEPHxohHCEbIx0fGiskDR8ZHxksKBoaIBogGisjGxYcGSIcIhwiGyIbIhsdFx0YHRgdGB8aFxMpJCAbGxYgGiwlIx0iHiAZKSkdHCISIioLCwsUFBQaGhcpPxAQCRUVFRUdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0aNDAfGyEbGxsbLBMbGxsbGyQeABoRGA4LDxMZEh4bGhAfHB8aHRgdFxsWHRYfGRoaGhoaGhsWIhsiGyIbIhspJB0XHRcdFx4aHhouJS4lIh0iHCIbKSQbFg8OGhUdFiEbIRwaDx0SHxgbFhsWCwsUFA0VFQ4UGBkUGhgaGBweCg0JAAA0QCcADQ0PFR0dLCoNEREUGw0TDRUdHR0dHR0dHR0dDg8bGxsYNx8fHSIbGiAiDxEgGyoiIx4jHxweIR8tIR8cERYRGhcQGhwXHBoRHBwODhoPKhwcHBwSFhIcGSUbGRgTDBMbDQ8dHR0dDBwZKxYZGxMkFxcbFRUQHhwNERUWGS4vLxgfHx8fHx8tHRsbGxsPDw8PIyIjIyMjIxsjISEhIR8eIRoaGhoaGikXGhoaGg4ODg4dHBwcHBwcGxwcHBwcGRwZHxofGh8aHRcdFx0XIiEjHRsaGxobGhsaIBwgHCAcIhwkHQ8ODw4PDhEOIBobDxsPGw8bESIcIhwiHCMcIxwwLB8SHxIfEhwWHBYcFhwWHhIeEyEcIRwhHCEcIRwfHBgcGBwYDR0gHBwWHhIODBcXGA8SEhgYAB4oJBsmGB4cDw8RMTInIB4hHx4fGCQbLBsjIyAgKiIjIR4dHh4qISMgLS8jKh4eLx4aHBoUHhokFhwcGRsjHBwcHBcWGSQbHRonKRwlGRgmGhodFBgWDhEOKCkdGRkbIhwjHCEbJR8iHB4cGBQaFh4cLSYbFiEbJR8kGiUcJB0sIzIrLiUdFx4WHxofGiMcLCIiHCIcIBwpIikiDyAaIh0iHCQeIBosJQ4fGh8aLSkbGiEaIRosJBsWHRkjHCMcIxwjHCMcHhgeGR4ZHhkgGhgUKiUhGxsWIRstJSQeIh8gGioqHhwjEyIrDAwMFRUVGhoYKkAQEAoVFRUVHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dGjUxHxwiGxsbGy0TGxsbGxskHwAaERkODA8UGRIfHBoRIB0gGh4ZHhgbFh0XHxobGhsaGxobFiMcIxwjHCMcKiUeGB4YHhgeGh4aLyYvJiMdIxwjHColGxYPDhoVHRciHCIcGw8eEh8ZGxcbFwwMFRUNFRUOFBkZFBsYGhgdHwoOCgAANUEoAA0NEBUeHi0rDRERFBwNEw0WHh4eHh4eHh4eHg4PHBwcGDggHx4iGxogIg8RIRsqIiQeJCAcHiEgLiIfHREWERsYERocFx0bERwdDg4aECsdHB0cExYTHRkmHBkYFAwUHA0QHh4eHgwcGSwWGhwTJRcXHBYWEB4cDRIWFhovMDAYICAgICAgLh4bGxsbDw8PDyMiJCQkJCQcJCEhISEfHiEaGhoaGhoqFxsbGxsODg4OHh0cHBwcHBwcHR0dHRkdGSAaIBogGh4XHhceFyIiIx0bGxsbGxsbGyAcIBwgHCIdJB0PDg8ODw4RDiEaGxAbEBsQHBEiHSIdIh0kHCQcMS0gEyATIBMcFhwWHBYcFh4THhMhHSEdIR0hHSEdHx0YHRgdGA0eIBwcFh4TDgwXGBgPEhMYGAAfKSUbJxgfHA8PETIzKCEeIiAeHxglGywcIyMhISoiJCIeHh4eKyIkIC0wIyoeHjAfGhwbFB4bJRcdHRobIxwcHB0XFhklHB4bKCodJRoYJxsbHRQYFg4RDigqHRoZHCMdJBwhHCYfIx0eHRgUGxYfHC0nHBciHCYfJRsmHSUeLSMzLC4mHhceFh8aHxojHSwiIx0iHCAdKiIqIg8gGyMdIxwkHyAbLSYOIBogGi4qGxshGyEbLCUcFx0aIx0jHSQcJBwkHB4YHhkeGR4ZIBsYFColIhwcFyIbLiYkHiMfIRoqKx4dJBMjKwwMDBUVFRsbGCtBEBAKFhYWFh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHhs2MiAdIxwcHBwtFBwcHBwcJR8AGxIZDgwQFBoTHxwaESAdIBseGR4YHBceFyAaGxsbGxsbHBckHCQcJBwkHColHhgeGB8YHxsfGzAnMCcjHiMdJBwqJRwXDw4aFh4XIh0iHRsQHhMgGRwXHBcMDBUVDRUWDhQZGhQbGRsYHR8KDgoAADZDKQAODhAWHx8tLA4SEhQcDhMNFh8fHx8fHx8fHx8PEBwcHBk5ISAeIxwbISMPEiEcKyMkHyQhHR8iIS8iIB0SFxIbGBEbHRcdGxEdHQ8OGxArHR0dHRMXEx0aJxwaGRQMFBwOEB8fHx8MHRotFxocEyUYGBwWFhAfHQ4SFhcaMDExGSEhISEhIS8eHBwcHA8PDw8kIyQkJCQkHCQiIiIiIB8iGxsbGxsbKhcbGxsbDw8PDx4dHR0dHR0cHR0dHR0aHRohGyEbIRseFx4XHhcjIyQeHBscGxwbHBshHSEdIR0jHSUeDw8PDw8PEg4hGxwQHBAcEBwRIx0jHSMdJB0kHTEtIRMhEyETHRcdFx0XHRcfEx8TIh0iHSIdIh0iHSAdGR0ZHRkNHyEdHRcfEw4MGBgZDxITGBkAIComHCgZHx0PEBIyNCkhHyIhHyAZJRwtHCQkISIrIyQiHx4fHysiJSEvMSQrHx8wHxsdGxQfGyUXHR0aHCQdHR0dFxcaJhweGykqHSYaGSgbGx4UGRcPEQ4pKh4aGh0jHSQdIhwmICMdHx0ZFBsWHx0uJxwXIhwnICUbJx0mHy4kNCwvJh4XHxcgGyAbJB0tIyMdIx0hHSsjKyMPIRsjHiMdJR8hGy4mDiEbIRsvKhwbIhsiGy0lHBceGiQdJB0kHSQdJB0fGR8aHxofGiEbGRQrJiIcHBciHC8nJR8kICEbKysfHSQTJCwMDAwVFRUbGxgsQxERChYWFhYfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8bNzMgHSMcHBwcLhQcHBwcHCYgABsSGg4MEBQaEyAdGxEhHiEbHxofGRwXHhchGxwbHBscGxwXJB0kHSQdJB0rJh8ZHxkfGR8bHxswKDAoJB4kHSQdKyYcFw8PGxYeFyMdIx0cEB8TIRocGBwYDAwVFQ4WFg4VGhoVHBkbGR4gCg4KAAA3RCkADg4QFh8fLi0OEhIVHQ4UDhYfHx8fHx8fHx8fDxAdHR0ZOiEhHyMdHCIkEBIiHCwkJR8lIR0fIiEvIyEeEhcSHBgRGx0YHhwSHR4PDxsQLB4eHh0TFxMeGigdGhkUDBQdDhAfHx8fDB0aLhcbHRQmGBgdFxcRHx0OEhcXGzAyMhkhISEhISEvHx0dHR0QEBAQJSQlJSUlJR0lIiIiIiEfIxsbGxsbGysYHBwcHA8PDw8fHh4eHh4eHR0eHh4eGh4aIRshGyEbHxgfGB8YIyMlHh0cHRwdHB0cIh0iHSIdJB4mHxAPEA8QDxIPIhscEBwQHBAdEiQeJB4kHiUeJR4yLiETIRMhEx0XHRcdFx0XHxMfFCIeIh4iHiIeIh4hHhkeGR4ZDh8iHR0XHxMPDBgZGRATExkZACArJh0pGSAdEBASMzUqIh8jIR8hGSYdLh0lJSIiLCQlIx8fHx8sIyYhLzIlLB8gMSAbHhwVHxwmGB4eGxwlHh4dHhgXGicdHxwpKx4mGxkoHBweFRkXDxEPKiseGxodJB4lHiMdJyAkHh8eGRUcFyAdLygdGCMdJyAmHCgeJh8vJTUtMCcfGB8XIRshGyUeLiQkHiMdIR4sJCwkECIcJB4kHiYgIRwvJw4hGyEbLysdHCMcIxwuJh0YHhslHiUeJR4lHiUeIBkfGh8aHxohHBkVLCYjHR0YIxwvKCYgJCAiGywsHx4lFCQtDAwMFhYWHBwZLUQREQoXFxcXHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHDg0IR4kHR0dHS8UHR0dHR0mIAAcEhoPDBAVGxMhHRwSIR8hHB8aIBkdGB8YIRsdHB0cHRwdGCUeJR4lHiUeLCYgGSAZIBkgHCAcMSgxKCUfJR4lHiwmHRgQDxwWHxgjHiQeHBAfEyEaHRgd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) + format("truetype"); +} +.form-check-input, +.g42-checkbox, +.g42-radio { + -webkit-appearance: none; + background-color: Hsl(var(--g42-bg-01)); + border: var(--spacing-1) solid hsl(var(--g42-border-primary)); + border-radius: 2px; + border-radius: var(--spacing-2); + height: 14px; + height: var(--spacing-14); + margin: 0; + position: relative; + transition-duration: 0.24s; + transition-property: background-color, border-color, color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + width: 14px; + width: var(--spacing-14); +} +.form-check-input:disabled, +.g42-checkbox:disabled, +.g42-radio:disabled { + background-color: Hsl(var(--g42-border-secondary)); + border-color: Hsl(var(--g42-border-secondary)); +} +.form-check-input:focus, +.g42-checkbox:focus, +.g42-radio:focus { + outline: 1px dashed Hsl(var(--g42-label-tertiary)); + outline-offset: 0; +} +.form-check-input:after, +.g42-checkbox:after, +.g42-radio:after { + align-items: center; + content: "\e91b"; + display: flex; + font-family: io-icons; + font-size: 9px; + font-size: var(--spacing-9); + height: 14px; + height: var(--spacing-14); + justify-content: center; + left: -1px; + left: calc(var(--spacing-1) * -1); + position: absolute; + top: -1px; + top: calc(var(--spacing-1) * -1); + -webkit-transform: scale(0); + transform: scale(0); + transition-duration: 0.24s; + transition-property: + background-color, + -webkit-transform; + transition-property: transform, background-color; + transition-property: + transform, + background-color, + -webkit-transform; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + width: 14px; + width: var(--spacing-14); +} +.form-check-input:hover:not(:disabled):not(:checked):after, +.g42-checkbox:hover:not(:disabled):not(:checked):after, +.g42-radio:hover:not(:disabled):not(:checked):after { + color: Hsl(var(--g42-label-tertiary)); + -webkit-transform: scale(1); + transform: scale(1); +} +.form-check-input:checked, +.g42-checkbox:checked, +.g42-radio:checked { + background-color: Hsl(var(--g42-interactive-primary)); + border-color: Hsl(var(--g42-interactive-primary)); +} +.form-check-input:checked:after, +.g42-checkbox:checked:after, +.g42-radio:checked:after { + color: #fff; + color: Hsl(var(--g42-white)); + -webkit-transform: scale(1); + transform: scale(1); +} +.form-check-input:checked:disabled, +.g42-checkbox:checked:disabled, +.g42-radio:checked:disabled { + background-color: Hsl(var(--g42-border-secondary)); + border-color: Hsl(var(--g42-border-secondary)); +} +.form-check-input:checked:disabled:after, +.g42-checkbox:checked:disabled:after, +.g42-radio:checked:disabled:after { + color: Hsl(var(--g42-label-tertiary)); +} +.form-check-input + label, +.g42-checkbox + label, +.g42-radio + label { + display: inline-flex; +} +.g42-radio, +.g42-radio:after { + border-radius: 50%; +} +.g42-radio:after { + content: ""; + height: 10px; + height: var(--spacing-10); + left: calc(50% - 5px); + left: calc(50% - var(--spacing-10) / 2); + top: calc(50% - 5px); + top: calc(50% - var(--spacing-10) / 2); + width: 10px; + width: var(--spacing-10); +} +.g42-radio:hover:not(:disabled):not(:checked):after { + background-color: Hsl(var(--g42-border-primary)); +} +.g42-radio:checked { + background-color: initial; + border-color: Hsl(var(--g42-interactive-primary)); +} +.g42-radio:checked:after { + background-color: Hsl(var(--g42-interactive-primary)); +} +.g42-radio:checked:disabled:after { + background-color: Hsl(var(---g42-label-secondary)); +} +.g42-input, +input[type="text"] { + background-color: initial; + border: 1px solid hsl(var(--g42-border-primary)); + border-radius: 4px; + border-radius: var(--spacing-4); + color: Hsl(var(--g42-label-primary)); + font-family: + PTSans, + Helvetica Neue, + Arial, + sans-serif; + font-family: var(--g42-font-family); + font-size: 12px; + font-size: var(--g42-font-size); + line-height: 18px; + line-height: calc(var(--spacing-16) + var(--spacing-2)); + padding: 2px 4px; + padding: var(--spacing-2) var(--spacing-4); + transition-duration: 0.24s; + transition-property: border-color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.g42-input::-webkit-search-cancel-button, +input[type="text"]::-webkit-search-cancel-button { + display: none; +} +.g42-input:focus, +.g42-input:focus-visible, +.g42-input:hover, +input:focus-visible[type="text"], +input:focus[type="text"], +input:hover[type="text"] { + border-color: Hsl(var(--g42-interactive-primary)); + outline: 0; +} +.g42-input::-webkit-input-placeholder, +input[type="text"]::-webkit-input-placeholder { + color: Hsl(var(--g42-label-tertiary)); +} +.g42-input::placeholder, +input[type="text"]::placeholder { + color: Hsl(var(--g42-label-tertiary)); +} +.g42-toggle, +.switch { + border-radius: 8px; + border-radius: var(--spacing-8); + cursor: pointer; + display: flex; + line-height: 16px; + line-height: var(--spacing-16); + min-height: 16px; + min-height: var(--spacing-16); + padding: 4px 0 4px 24px; + padding: var(--spacing-4) 0 var(--spacing-4) var(--spacing-24); + position: relative; +} +.g42-toggle:focus span, +.switch:focus span { + outline-color: Hsl(var(--g42-label-tertiary)); +} +.g42-toggle:hover:not(.disabled) .slider:before, +.switch:hover:not(.disabled) .slider:before { + -webkit-transform: translateX(8px); + transform: translateX(8px); + -webkit-transform: translateX(var(--spacing-8)); + transform: translateX(var(--spacing-8)); +} +.g42-toggle input, +.switch input { + display: none; + position: absolute; +} +.g42-toggle input:checked ~ .slider, +.switch input:checked ~ .slider { + background-color: Hsl(var(--g42-interactive-primary)); +} +.g42-toggle input:checked ~ .slider:before, +.switch input:checked ~ .slider:before { + background-color: #fff; + background-color: Hsl(var(--g42-white)); + -webkit-transform: translateX(8px); + transform: translateX(8px); + -webkit-transform: translateX(var(--spacing-8)); + transform: translateX(var(--spacing-8)); +} +.g42-toggle .slider, +.switch .slider { + background-color: Hsl(var(--g42-border-primary)); + border-radius: 8px; + border-radius: var(--spacing-8); + height: 12px; + height: var(--spacing-12); + left: 0; + margin-top: 2px; + margin-top: var(--spacing-2); + outline: 1px dashed transparent; + outline-offset: 0; + width: 20px; + width: calc(var(--spacing-24) - var(--spacing-4)); +} +.g42-toggle .slider, +.g42-toggle .slider:before, +.switch .slider, +.switch .slider:before { + position: absolute; + transition-duration: 0.24s; + transition-property: all; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.g42-toggle .slider:before, +.switch .slider:before { + background-color: Hsl(var(--g42-bg-01)); + border-radius: 50%; + content: ""; + height: 8px; + height: var(--spacing-8); + left: 2px; + left: var(--spacing-2); + top: 2px; + top: var(--spacing-2); + width: 8px; + width: var(--spacing-8); +} +.disabled.switch input:checked ~ .slider, +.g42-toggle.disabled input:checked ~ .slider { + background-color: Hsl(var(--g42-border-secondary)); +} +.disabled.switch input:checked ~ .slider:before, +.g42-toggle.disabled input:checked ~ .slider:before { + background-color: Hsl(var(--g42-label-tertiary)); +} +.disabled.switch .slider, +.g42-toggle.disabled .slider { + background-color: Hsl(var(--g42-border-secondary)); +} +.disabled.switch .slider:before, +.g42-toggle.disabled .slider:before { + background-color: Hsl(var(--g42-label-tertiary)); +} +@font-face { + font-family: io-icons; + font-style: normal; + font-weight: 400; + src: url(data:font/ttf;base64,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) + format("truetype"); +} +[class*=" icon-"], +[class^="icon-"] { + -webkit-font-feature-settings: normal; + font-feature-settings: normal; + speak: never; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-style: normal; + font-variant: normal; + font-weight: 400; + line-height: 1; + text-transform: none; +} +.add-application button.btn:before, +.add-application:before, +.add-workspace .workspace__icon, +.add-workspace h5.btn:before, +.add-workspace:before, +.icon, +.workspace-tab-popup .icon-angle-left, +.workspace-tab-popup:before { + align-items: center; + display: flex; + justify-content: center; +} +.add-application button.btn:before i:before, +.add-application:before i:before, +.add-workspace .workspace__icon i:before, +.add-workspace h5.btn:before i:before, +.add-workspace:before i:before, +.icon i:before, +.workspace-tab-popup .icon-angle-left i:before, +.workspace-tab-popup:before i:before { + font-family: io-icons; +} +.icon-box-8 { + height: 8px; + height: var(--spacing-8); + width: 8px; + width: var(--spacing-8); +} +.icon-box-12 { + height: 12px; + height: var(--spacing-12); + width: 12px; + width: var(--spacing-12); +} +.icon-box-14 { + height: 14px; + height: calc(var(--spacing-16) - var(--spacing-2)); + width: 14px; + width: calc(var(--spacing-16) - var(--spacing-2)); +} +.icon-box-16 { + height: 16px; + height: var(--spacing-16); + width: 16px; + width: var(--spacing-16); +} +.icon-box-24 { + height: 24px; + height: var(--spacing-24); + width: 24px; + width: var(--spacing-24); +} +.add-workspace .workspace__icon:before, +.icon-workspace:before { + content: "\e900"; +} +.icon-unlock:before { + content: "\e901"; +} +.icon-link:before, +.link-icon:before { + content: "\e902"; +} +.icon-trash-can:before { + content: "\e903"; +} +.icon-system-minimize:before { + content: "\e904"; +} +.icon-folder:before { + content: "\e905"; +} +.icon-system-maximize:before { + content: "\e906"; +} +.icon-ellipsis:before { + content: "\e907"; +} +.icon-system-close:before { + content: "\e908"; +} +.icon-star:before { + content: "\e909"; +} +.icon-star-full:before { + content: "\e90a"; +} +.icon-circle-xmark-full:before { + content: "\e90b"; +} +.icon-sliders:before { + content: "\e90c"; +} +.add-application button.btn:before, +.icon-add:before { + content: "\e90d"; +} +.icon-chevron-down:before { + content: "\e90e"; +} +.icon-lock:before { + content: "\e90f"; +} +.icon-application:before { + content: "\e910"; +} +.icon-layout:before { + content: "\e911"; +} +.icon-restore:before { + content: "\e912"; +} +.icon-group:before { + content: "\e913"; +} +.icon-floppy:before { + content: "\e914"; +} +.icon-delete-left:before { + content: "\e915"; +} +.icon-close:before { + content: "\e916"; +} +.icon-circle-xmark:before { + content: "\e917"; +} +.icon-chevron-up:before { + content: "\e918"; +} +.icon-chevron-right:before { + content: "\e919"; +} +.icon-chevron-left:before, +.workspace-tab-popup .icon-angle-left:before { + content: "\e91a"; +} +.icon-check:before { + content: "\e91b"; +} +.icon-feedback:before { + content: "\e91c"; +} +.icon-pop-out:before { + content: "\e924"; +} +.icon-minimize:before { + content: "\e928"; +} +.icon-resize:before { + content: "\e92a"; +} +.icon-bell:before { + content: "\e92e"; +} +.icon-user:before { + content: "\e930"; +} +.icon-sticky-off:before { + content: "\e932"; +} +.icon-sticky-off-hover:before { + content: "\e933"; +} +.icon-sticky-on:before { + content: "\e93b"; +} +.icon-sticky-on-hover:before { + content: "\e943"; +} +.icon-cog:before { + content: "\e949"; +} +.icon-expand:before { + content: "\e91d"; +} +.icon-collapse:before { + content: "\e91e"; +} +.add-application button.btn, +.add-workspace h5.btn, +.g42-list-item, +.list-group-item, +.save-workspace h5 { + align-items: center; + color: Hsl(var(--g42-label-primary)); + display: flex; + font-size: 12px; + font-size: var(--g42-font-size); + line-height: 16px; + line-height: var(--spacing-16); + padding: 4px 0; + padding: var(--spacing-4) 0; + position: relative; + transition-duration: 0.24s; + transition-property: background-color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.add-application button.btn:hover, +.add-workspace h5.btn:hover, +.g42-list-item:hover, +.list-group-item:hover, +.save-workspace h5:hover { + background-color: Hsl(var(--g42-bg-03)); +} +.add-application button.btn:focus, +.add-application button.btn:focus-visible, +.add-workspace h5.btn:focus, +.add-workspace h5.btn:focus-visible, +.g42-list-item:focus, +.g42-list-item:focus-visible, +.list-group-item:focus, +.list-group-item:focus-visible, +.save-workspace h5:focus, +.save-workspace h5:focus-visible { + outline: 1px dashed Hsl(var(--g42-label-tertiary)); + outline-offset: 0; +} +.active.list-group-item, +.add-application button.active.btn, +.add-workspace h5.active.btn, +.g42-list-item.active, +.save-workspace h5.active { + background-color: Hsl(var(--g42-highlight-neutral)); +} +.active.list-group-item:hover, +.add-application button.active.btn:hover, +.add-workspace h5.active.btn:hover, +.g42-list-item.active:hover, +.save-workspace h5.active:hover { + background-color: Hsl(var(--g42-bg-03)); +} +.active.list-group-item .add-application button.btn:before, +.active.list-group-item .add-application:before, +.active.list-group-item .add-workspace .workspace__icon, +.active.list-group-item .add-workspace h5.btn:before, +.active.list-group-item .add-workspace:before, +.active.list-group-item .icon, +.active.list-group-item .workspace-tab-popup .icon-angle-left, +.active.list-group-item .workspace-tab-popup:before, +.add-application .active.list-group-item button.btn:before, +.add-application .add-workspace h5.active.btn button.btn:before, +.add-application .g42-list-item.active button.btn:before, +.add-application .save-workspace h5.active button.btn:before, +.add-application button.active.btn .add-application:before, +.add-application button.active.btn .add-workspace .workspace__icon, +.add-application button.active.btn .add-workspace h5.btn:before, +.add-application button.active.btn .add-workspace:before, +.add-application button.active.btn .icon, +.add-application button.active.btn .workspace-tab-popup .icon-angle-left, +.add-application button.active.btn .workspace-tab-popup:before, +.add-application button.active.btn button.btn:before, +.add-workspace .active.list-group-item .workspace__icon, +.add-workspace .active.list-group-item h5.btn:before, +.add-workspace .add-application button.active.btn .workspace__icon, +.add-workspace .add-application button.active.btn h5.btn:before, +.add-workspace .g42-list-item.active .workspace__icon, +.add-workspace .g42-list-item.active h5.btn:before, +.add-workspace .save-workspace h5.active .workspace__icon, +.add-workspace .save-workspace h5.active h5.btn:before, +.add-workspace h5.active.btn .add-application button.btn:before, +.add-workspace h5.active.btn .add-application:before, +.add-workspace h5.active.btn .add-workspace:before, +.add-workspace h5.active.btn .icon, +.add-workspace h5.active.btn .workspace-tab-popup .icon-angle-left, +.add-workspace h5.active.btn .workspace-tab-popup:before, +.add-workspace h5.active.btn .workspace__icon, +.add-workspace h5.active.btn h5.btn:before, +.g42-list-item.active .add-application button.btn:before, +.g42-list-item.active .add-application:before, +.g42-list-item.active .add-workspace .workspace__icon, +.g42-list-item.active .add-workspace h5.btn:before, +.g42-list-item.active .add-workspace:before, +.g42-list-item.active .icon, +.g42-list-item.active .workspace-tab-popup .icon-angle-left, +.g42-list-item.active .workspace-tab-popup:before, +.save-workspace h5.active .add-application button.btn:before, +.save-workspace h5.active .add-application:before, +.save-workspace h5.active .add-workspace .workspace__icon, +.save-workspace h5.active .add-workspace h5.btn:before, +.save-workspace h5.active .add-workspace:before, +.save-workspace h5.active .icon, +.save-workspace h5.active .workspace-tab-popup .icon-angle-left, +.save-workspace h5.active .workspace-tab-popup:before, +.workspace-tab-popup .active.list-group-item .icon-angle-left, +.workspace-tab-popup .add-application button.active.btn .icon-angle-left, +.workspace-tab-popup .add-workspace h5.active.btn .icon-angle-left, +.workspace-tab-popup .g42-list-item.active .icon-angle-left, +.workspace-tab-popup .save-workspace h5.active .icon-angle-left { + transition-duration: 0.24s; + transition-property: opacity; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.active.list-group-item .icon-clue:before, +.add-application button.active.btn .icon-clue:before, +.add-workspace h5.active.btn .icon-clue:before, +.g42-list-item.active .icon-clue:before, +.save-workspace h5.active .icon-clue:before { + background-color: initial; +} +.active.list-group-item .icon-check, +.add-application button.active.btn .icon-check, +.add-workspace h5.active.btn .icon-check, +.g42-list-item.active .icon-check, +.save-workspace h5.active .icon-check { + opacity: 1; +} +.add-application button.btn .icon-check, +.add-workspace h5.btn .icon-check, +.g42-list-item .icon-check, +.list-group-item .icon-check, +.save-workspace h5 .icon-check { + font-size: 8px; + font-size: var(--spacing-8); + opacity: 0; +} +.add-application button.btn .title, +.add-workspace h5.btn .title, +.g42-list-item .title, +.list-group-item .title, +.save-workspace h5 .title { + flex-grow: 1; + font-size: 12px; + font-size: var(--g42-font-size); + line-height: 16px; + line-height: var(--spacing-16); + margin-left: 4px; + margin-left: var(--spacing-4); +} +.add-application button.btn .description, +.add-workspace h5.btn .description, +.g42-list-item .description, +.list-group-item .description, +.save-workspace h5 .description { + color: Hsl(var(---g42-label-secondary)); + font-size: 12px; + font-size: var(--g42-font-size); + margin-left: 4px; + margin-left: var(--spacing-4); + margin-top: -4px; + margin-top: calc(var(--spacing-4) * -1); + padding-bottom: 6px; + padding-bottom: var(--spacing-6); + padding-left: 24px; + padding-left: var(--spacing-24); +} +.add-application .col h5, +.add-application label, +.add-workspace h3, +.g42-list-header, +.workspace-tab-popup h5 { + color: Hsl(var(--g42-label-secondary)); + display: flex; + font-size: 12px; + font-size: var(--g42-font-size); + padding: 8px 0 2px 8px; + padding: var(--spacing-8) 0 var(--spacing-2) var(--spacing-8); +} +.g42-list-row { + align-items: center; + display: flex; + flex-grow: 1; +} +.g42-context-menu { + background-color: Hsl(var(--g42-bg-primary)); + border: var(--spacing-1) solid hsl(var(--g42-border-secondary)); + border-radius: 4px; + border-radius: var(--border-radius-4); + box-shadow: var(--g42-overlay-shadow); + overflow: hidden; + z-index: 100; +} +.add-application .g42-context-menu button.btn, +.add-workspace .g42-context-menu h5.btn, +.g42-context-menu .add-application button.btn, +.g42-context-menu .add-workspace h5.btn, +.g42-context-menu .g42-list-item, +.g42-context-menu .list-group-item, +.g42-context-menu .save-workspace h5, +.save-workspace .g42-context-menu h5 { + cursor: default; + padding-left: 12px; + padding-left: var(--spacing-12); + padding-right: 12px; + padding-right: var(--spacing-12); +} +.add-application .g42-context-menu button.disabled.btn, +.add-workspace .g42-context-menu h5.disabled.btn, +.g42-context-menu .add-application button.disabled.btn, +.g42-context-menu .add-workspace h5.disabled.btn, +.g42-context-menu .disabled.list-group-item, +.g42-context-menu .g42-list-item.disabled, +.g42-context-menu .save-workspace h5.disabled, +.save-workspace .g42-context-menu h5.disabled { + color: Hsl(var(--g42-label-tertiary)); + pointer-events: none; +} +div.g42-list-item, +div.list-group-item { + flex-direction: column; + padding: 1px 12px; + padding: var(--spacing-1) var(--spacing-12); +} +.add-application button.btn, +button.g42-list-item, +button.list-group-item { + background-color: initial; + border: 0; + width: 100%; +} +.level { + padding-left: 12px; + padding-left: var(--spacing-12); +} +.add-application .level button.btn, +.add-workspace .level h5.btn, +.level .add-application button.btn, +.level .add-workspace h5.btn, +.level .g42-list-item, +.level .list-group-item, +.level .save-workspace h5, +.save-workspace .level h5 { + margin-left: -12px; + margin-left: calc(var(--spacing-12) * -1); + padding-left: 8px; + padding-left: var(--spacing-8); +} +.add-application .col .level h5, +.add-application .level label, +.add-workspace .level h3, +.level .add-application .col h5, +.level .add-application label, +.level .add-workspace h3, +.level .g42-list-header, +.level .workspace-tab-popup h5, +.workspace-tab-popup .level h5 { + padding-left: 0; +} +.loader-wrapper { + align-items: center; + display: flex; + flex-direction: column; + flex-grow: 1; + gap: 1rem; + justify-content: center; +} +.loader-wrapper .loader { + background: + radial-gradient(farthest-side, #999d9e 94%, transparent) top/4px 4px no-repeat, + conic-gradient(transparent 15%, #999d9e); + border-radius: 50%; + height: 2rem; + -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 0); + width: 2rem; +} +.loader-wrapper .loader.active, +.loader-wrapper.active .loader { + -webkit-animation: s3 1.5s linear infinite; + animation: s3 1.5s linear infinite; +} +.loader-wrapper .loader-text { + color: var(--t42-content-color-muted); + margin: 0 auto; + overflow: hidden; + padding: 0 0.833rem; + text-align: center; + text-overflow: ellipsis; +} +@-webkit-keyframes s3 { + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 400; + line-height: 1; +} +p { + line-height: 16px; + line-height: var(--spacing-16); +} +.pt-1 { + padding-top: 1px; + padding-top: var(--spacing-1); +} +.pt-2 { + padding-top: 2px; + padding-top: var(--spacing-2); +} +.pt-4 { + padding-top: 4px; + padding-top: var(--spacing-4); +} +.pt-6 { + padding-top: 6px; + padding-top: var(--spacing-6); +} +.pt-8 { + padding-top: 8px; + padding-top: var(--spacing-8); +} +.pt-12 { + padding-top: 12px; + padding-top: var(--spacing-12); +} +.pt-16 { + padding-top: 16px; + padding-top: var(--spacing-16); +} +.pt-24 { + padding-top: 24px; + padding-top: var(--spacing-24); +} +.pt-32 { + padding-top: 32px; + padding-top: var(--spacing-32); +} +.pt-40 { + padding-top: 40px; + padding-top: var(--spacing-40); +} +.pe-1 { + padding-right: 1px; + padding-right: var(--spacing-1); +} +.pe-2 { + padding-right: 2px; + padding-right: var(--spacing-2); +} +.pe-4 { + padding-right: 4px; + padding-right: var(--spacing-4); +} +.pe-6 { + padding-right: 6px; + padding-right: var(--spacing-6); +} +.pe-8 { + padding-right: 8px; + padding-right: var(--spacing-8); +} +.pe-12 { + padding-right: 12px; + padding-right: var(--spacing-12); +} +.pe-16 { + padding-right: 16px; + padding-right: var(--spacing-16); +} +.pe-24 { + padding-right: 24px; + padding-right: var(--spacing-24); +} +.pe-32 { + padding-right: 32px; + padding-right: var(--spacing-32); +} +.pe-40 { + padding-right: 40px; + padding-right: var(--spacing-40); +} +.pb-1 { + padding-bottom: 1px; + padding-bottom: var(--spacing-1); +} +.pb-2 { + padding-bottom: 2px; + padding-bottom: var(--spacing-2); +} +.pb-4 { + padding-bottom: 4px; + padding-bottom: var(--spacing-4); +} +.pb-6 { + padding-bottom: 6px; + padding-bottom: var(--spacing-6); +} +.pb-8 { + padding-bottom: 8px; + padding-bottom: var(--spacing-8); +} +.pb-12 { + padding-bottom: 12px; + padding-bottom: var(--spacing-12); +} +.pb-16 { + padding-bottom: 16px; + padding-bottom: var(--spacing-16); +} +.pb-24 { + padding-bottom: 24px; + padding-bottom: var(--spacing-24); +} +.pb-32 { + padding-bottom: 32px; + padding-bottom: var(--spacing-32); +} +.pb-40 { + padding-bottom: 40px; + padding-bottom: var(--spacing-40); +} +.ps-1 { + padding-left: 1px; + padding-left: var(--spacing-1); +} +.ps-2 { + padding-left: 2px; + padding-left: var(--spacing-2); +} +.ps-4 { + padding-left: 4px; + padding-left: var(--spacing-4); +} +.ps-6 { + padding-left: 6px; + padding-left: var(--spacing-6); +} +.ps-8 { + padding-left: 8px; + padding-left: var(--spacing-8); +} +.ps-12 { + padding-left: 12px; + padding-left: var(--spacing-12); +} +.ps-16 { + padding-left: 16px; + padding-left: var(--spacing-16); +} +.ps-24 { + padding-left: 24px; + padding-left: var(--spacing-24); +} +.ps-32 { + padding-left: 32px; + padding-left: var(--spacing-32); +} +.ps-40 { + padding-left: 40px; + padding-left: var(--spacing-40); +} +.mt-1 { + margin-top: 1px; + margin-top: var(--spacing-1); +} +.mt-2 { + margin-top: 2px; + margin-top: var(--spacing-2); +} +.mt-4 { + margin-top: 4px; + margin-top: var(--spacing-4); +} +.mt-6 { + margin-top: 6px; + margin-top: var(--spacing-6); +} +.mt-8 { + margin-top: 8px; + margin-top: var(--spacing-8); +} +.mt-12 { + margin-top: 12px; + margin-top: var(--spacing-12); +} +.mt-16 { + margin-top: 16px; + margin-top: var(--spacing-16); +} +.mt-24 { + margin-top: 24px; + margin-top: var(--spacing-24); +} +.mt-32 { + margin-top: 32px; + margin-top: var(--spacing-32); +} +.mt-40 { + margin-top: 40px; + margin-top: var(--spacing-40); +} +.me-1 { + margin-right: 1px; + margin-right: var(--spacing-1); +} +.me-2 { + margin-right: 2px; + margin-right: var(--spacing-2); +} +.me-4 { + margin-right: 4px; + margin-right: var(--spacing-4); +} +.me-6 { + margin-right: 6px; + margin-right: var(--spacing-6); +} +.me-8 { + margin-right: 8px; + margin-right: var(--spacing-8); +} +.me-12 { + margin-right: 12px; + margin-right: var(--spacing-12); +} +.me-16 { + margin-right: 16px; + margin-right: var(--spacing-16); +} +.me-24 { + margin-right: 24px; + margin-right: var(--spacing-24); +} +.me-32 { + margin-right: 32px; + margin-right: var(--spacing-32); +} +.me-40 { + margin-right: 40px; + margin-right: var(--spacing-40); +} +.mb-1 { + margin-bottom: 1px; + margin-bottom: var(--spacing-1); +} +.mb-2 { + margin-bottom: 2px; + margin-bottom: var(--spacing-2); +} +.mb-4 { + margin-bottom: 4px; + margin-bottom: var(--spacing-4); +} +.mb-6 { + margin-bottom: 6px; + margin-bottom: var(--spacing-6); +} +.mb-8 { + margin-bottom: 8px; + margin-bottom: var(--spacing-8); +} +.mb-12 { + margin-bottom: 12px; + margin-bottom: var(--spacing-12); +} +.mb-16 { + margin-bottom: 16px; + margin-bottom: var(--spacing-16); +} +.mb-24 { + margin-bottom: 24px; + margin-bottom: var(--spacing-24); +} +.mb-32 { + margin-bottom: 32px; + margin-bottom: var(--spacing-32); +} +.mb-40 { + margin-bottom: 40px; + margin-bottom: var(--spacing-40); +} +.ms-1 { + margin-left: 1px; + margin-left: var(--spacing-1); +} +.ms-2 { + margin-left: 2px; + margin-left: var(--spacing-2); +} +.ms-4 { + margin-left: 4px; + margin-left: var(--spacing-4); +} +.ms-6 { + margin-left: 6px; + margin-left: var(--spacing-6); +} +.ms-8 { + margin-left: 8px; + margin-left: var(--spacing-8); +} +.ms-12 { + margin-left: 12px; + margin-left: var(--spacing-12); +} +.ms-16 { + margin-left: 16px; + margin-left: var(--spacing-16); +} +.ms-24 { + margin-left: 24px; + margin-left: var(--spacing-24); +} +.ms-32 { + margin-left: 32px; + margin-left: var(--spacing-32); +} +.ms-40 { + margin-left: 40px; + margin-left: var(--spacing-40); +} +.ms-auto { + margin-left: auto; +} +.me-auto { + margin-right: auto; +} +.opacity-1 { + opacity: 1; +} +.opacity-0, +.opacity-1 { + transition-duration: 0.24s; + transition-property: opacity; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.opacity-0 { + opacity: 0; +} +.flex, +.form-check, +.save-workspace { + display: flex; +} +.flex-column, +.save-workspace { + flex-direction: column; +} +.flex-grow { + flex-grow: 1; +} +.flex-shrink { + flex-shrink: 1; +} +.ai-center, +.form-check { + align-items: center; +} +.jc-center { + justify-content: center; +} +.jc-between { + justify-content: space-between; +} +.jc-around { + justify-content: space-around; +} +.jc-evenly { + justify-content: space-evenly; +} +.jc-stretch { + justify-content: stretch; +} +.dark { + --g42-active-subtab: var(--g42-bg-02); +} +.light { + --g42-active-subtab: var(--g42-white); +} +.add-application button.btn:before, +.add-application:before, +.add-button:before, +.add-workspace .workspace__icon, +.add-workspace h5.btn:before, +.add-workspace:before, +.link-icon, +.workspace-tab-popup .icon-angle-left, +.workspace-tab-popup:before { + font-family: io-icons; + font-size: 14px; + font-size: var(--spacing-14); + height: 16px; + height: var(--spacing-16); + margin-right: 4px; + margin-right: var(--spacing-4); + width: 16px; + width: var(--spacing-16); +} +#root { + border: var(--spacing-1) solid hsl(var(--g42-bg-04)); + flex: 1 1; + max-height: -webkit-fill-available; + max-width: -webkit-fill-available; +} +#root, +body { + display: flex; + height: 100vh; + width: 100vw; +} +.form-check-input { + margin-right: 4px; + margin-right: var(--spacing-4); +} +.form-check { + line-height: 16px; + line-height: var(--spacing-16); +} +.switch { + padding: 4px 0 4px 40px; + padding: var(--spacing-4) 0 var(--spacing-4) calc(var(--spacing-32) + var(--spacing-8)); +} +.switch .slider { + left: 16px; + left: var(--spacing-16); +} +.mb-2:has(.switch) { + background-color: Hsl(var(--g42-bg-02)); + border-bottom: var(--spacing-1) solid hsl(var(--g42-border-primary)); + padding-bottom: 4px; + padding-bottom: var(--spacing-4); + padding-top: 4px; + padding-top: var(--spacing-4); +} +.lm_root { + position: relative; +} +.lm_row { + background-color: Hsl(var(--g42-bkd-00)); + display: flex; +} +.lm_content { + position: relative; +} +.lm_dragging, +.lm_dragging * { + cursor: move; + -webkit-user-select: none; + user-select: none; +} +.lm_controls, +.lm_header, +.lm_tab, +.lm_tabs { + align-items: center; + display: flex; +} +.lm_header > * { + flex-shrink: 0; +} +.lm_controls { + margin-top: -8px; + margin-top: calc(var(--spacing-8) * -1); +} +.lm_controls li { + color: Hsl(var(--g42-label-secondary)); + transition-duration: 0.24s; + transition-property: background-color, color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.lm_controls li:hover { + background-color: Hsl(var(--g42-bg-02)); + color: Hsl(var(--g42-label-primary)); +} +.lm_controls li.lm_close:before { + content: "\e908"; +} +.lm_controls li.lm_close:hover { + background-color: #e41126; + background-color: Hsl(var(--g42-red)); + color: #fff; + color: Hsl(var(--g42-white)); +} +.lm_controls:has(.workspace_content) { + margin-top: -2px; + margin-top: calc(var(--spacing-2) * -1); +} +.lm_controls:has(.workspace_content) li:hover { + background-color: Hsl(var(--g42-bg-00)); +} +.lm_controls:has(.workspace_content) li.lm_add_button:hover { + background-color: Hsl(var(--g42-bg-03)); +} +.lm_controls:has(.workspace_content) .lm_maximise:before { + content: "\e92a"; + height: 24px; + height: var(--spacing-24); + width: 24px; + width: var(--spacing-24); +} +.lm_tabs { + flex-shrink: 1; + min-width: 0; +} +.lm_tab { + border-radius: 4px; + border-radius: var(--border-radius-4); + color: Hsl(var(--g42-label-secondary)); + height: 26px; + margin-right: 3px; + margin-right: calc(var(--spacing-2) + 1px); + min-width: 0; + padding: 0 12px; + padding: 0 var(--spacing-12); + position: relative; + transition-duration: 0.24s; + transition-property: background-color, color, box-shadow; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + width: 180px; +} +.lm_tab:hover { + background-color: Hsl(var(--g42-bg-03)); + color: Hsl(var(--g42-label-primary)); +} +.lm_tab:before { + background-color: Hsl(var(--g42-border-primary)); + content: ""; + height: 12px; + height: var(--spacing-12); + left: -2px; + left: calc(var(--spacing-2) * -1); + position: absolute; + width: 1px; +} +.lm_tab:first-of-type:before { + background-color: initial; +} +.lm_tab:last-of-type:after { + background-color: Hsl(var(--g42-bg-03)); + content: ""; + height: 12px; + height: var(--spacing-12); + position: relative; + right: -14px; + right: calc(var(--spacing-14) * -1); + width: 1px; +} +.lm_tab .icon-lock:before { + align-items: center; + content: ""; + content: "\e90f"; + display: flex; + font-family: io-icons; + font-size: 10px; + height: 16px; + height: var(--spacing-16); + justify-content: center; + width: 16px; + width: var(--spacing-16); +} +.lm_title { + cursor: default; + line-height: 16px; + line-height: var(--spacing-16); + -webkit-mask-image: linear-gradient( + to right, + Hsla(var(--g42-bg-00), 1) 0, + Hsla(var(--g42-bg-00), 1) 85%, + Hsla(var(--g42-bg-00), 0) 95%, + Hsla(var(--g42-bg-00), 0) 100% + ); + overflow: hidden; + position: relative; + white-space: nowrap; + width: 100%; +} +.lm_active { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-top-left-radius: 6px; + border-top-left-radius: var(--border-radius-6); + border-top-right-radius: 6px; + border-top-right-radius: var(--border-radius-6); +} +.lm_active, +.lm_active:hover { + background-color: Hsl(var(--g42-bg-04)); + height: 32px; + height: var(--spacing-32); +} +.lm_active + .lm_tab:before, +.lm_active:before, +.lm_active:last-of-type:after { + background-color: initial; +} +.lm_active .icon-ellipsis-vert, +.lm_active .lm_title { + color: Hsl(var(--g42-label-primary)); +} +.lm_active .lm_left, +.lm_active .lm_right { + bottom: 0; + height: 8px; + height: var(--spacing-8); + position: absolute; + transition-duration: 0.24s; + transition-duration: 80ms; + transition-property: box-shadow; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + width: 8px; + width: var(--spacing-8); + z-index: 1; +} +.lm_active .lm_left { + border-bottom-right-radius: 6px; + border-bottom-right-radius: var(--border-radius-6); + box-shadow: 1px 2px 0 1px Hsl(var(--g42-bg-04)); + left: -8px; + opacity: 0; +} +.lm_active .lm_right { + border-bottom-left-radius: 6px; + border-bottom-left-radius: var(--border-radius-6); + box-shadow: -2px 2px 0 1px Hsl(var(--g42-bg-04)); + opacity: 0; + right: -8px; +} +.lm_active .lm_close_tab { + opacity: 1; +} +.lm_close:before, +.lm_maximise:before, +.lm_minimise:before, +.lm_tabdropdown:before { + align-items: center; + content: ""; + display: flex; + font-family: io-icons; + font-size: 16px; + height: 32px; + height: var(--spacing-32); + justify-content: center; + width: 32px; + width: var(--spacing-32); + width: 40px; + width: var(--spacing-40); +} +.lm_maximise:before { + content: "\e906"; +} +.lm_minimise:before { + content: "\e904"; +} +.lm_restore:before { + content: "\e912"; +} +.lm_popout { + margin-left: auto; +} +.lm_popout:before { + align-items: center; + content: ""; + content: "\e924"; + display: flex; + font-family: io-icons; + font-size: 16px; + height: 24px; + height: var(--spacing-24); + justify-content: center; + width: 24px; + width: var(--spacing-24); +} +.lm_pinned { + background-color: Hsl(var(--g42-bg-02)); + border-radius: 6px; + border-radius: var(--border-radius-6); + height: 25px; + margin-right: 6px; + margin-right: var(--spacing-6); + padding: 0 8px; + padding: 0 var(--spacing-8); + width: auto; +} +.lm_pinned.lm_active, +.lm_pinned:hover { + background-color: Hsl(var(--g42-bg-04)); + height: 25px; +} +.lm_pinned:after { + content: none; +} +.lm_pinned .icon-ellipsis-vert { + display: none; +} +.lm_pinned .lm_close_tab { + visibility: hidden; + width: 0; +} +.lm_splitter { + background-color: Hsl(var(--g42-bg-01)); + position: relative; + transition-duration: 0.24s; + transition-property: background; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + z-index: 20; +} +.lm_splitter:hover { + background-color: Hsl(var(--g42-highlight-Interactive)); +} +.lm_splitter.lm_dragging { + background-color: Hsl(var(--g42-interactive-primary)); +} +.lm_splitter.lm_vertical .lm_drag_handle { + cursor: ns-resize; + position: absolute; + width: 100%; +} +.lm_splitter.lm_horizontal { + float: left; + height: 100%; +} +.lm_splitter.lm_horizontal .lm_drag_handle { + cursor: ew-resize; + height: 100%; + position: absolute; +} +.lm_dropTargetIndicator { + background-color: Hsl(var(--g42-interactive-primary)); + opacity: 0.35; + overflow: hidden; + position: absolute; + transition-duration: 0.24s; + transition-property: all; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + z-index: 20; +} +.lm_drop_tab_placeholder { + border-top-left-radius: 4px; + border-top-left-radius: var(--border-radius-4); + border-top-right-radius: 4px; + border-top-right-radius: var(--border-radius-4); + width: 112px; + width: calc(var(--spacing-16) * 7); +} +.lm_inner { + height: 100%; + left: 0; + min-width: 16px; + min-width: var(--spacing-16); + position: relative; + top: 0; + width: 100%; +} +.lm_dragProxy { + cursor: move; + position: absolute; + z-index: 30; +} +.lm_header:where(.header_double) { + background-color: Hsl(var(--g42-bg-01)); + background-image: linear-gradient( + 0deg, + Hsla(var(--g42-bg-00), 1) 0, + Hsla(var(--g42-bg-00), 0) 55% + ); + border-bottom: var(--spacing-4) solid hsl(var(--g42-bg-04)); + font-size: 13px; + font-size: calc(var(--g42-font-size) + var(--spacing-1)); + height: 40px; + padding-left: 4px; + padding-left: var(--spacing-4); + padding-top: 4px; + padding-top: var(--spacing-4); +} +.lm_header:where(.header_double) .lm_active:not(.lm_pinned) .lm_left, +.lm_header:where(.header_double) .lm_active:not(.lm_pinned) .lm_right { + opacity: 1; +} +.lm_header:not(.header_double) { + background-color: Hsl(var(--g42-bg-01)); + height: 26px; + padding-left: 4px; + padding-left: var(--spacing-4); + padding-top: 2px; + padding-top: var(--spacing-2); +} +.lm_header:not(.header_double) .lm_tab { + height: 24px; + height: var(--spacing-24); + max-width: 150px; + padding: 0 8px; + padding: 0 var(--spacing-8); + width: auto; +} +.lm_header:not(.header_double) .lm_tab .lm_title { + padding-right: 12px; + padding-right: var(--spacing-12); +} +.lm_header:not(.header_double) .lm_tab:hover { + background-color: Hsl(var(--g42-bg-01)); +} +.lm_header:not(.header_double) .lm_active { + background-color: Hsl(var(--g42-active-subtab)); +} +.lm_header:not(.header_double) .lm_active .lm_left, +.lm_header:not(.header_double) .lm_active .lm_right { + display: none; +} +.lm_header:not(.header_double) .lm_active:hover { + background-color: Hsl(var(--g42-active-subtab)); +} +.lm_header:not(.header_double) .lm_controls { + margin-top: -2px; + margin-top: calc(var(--spacing-2) * -1); +} +.lm_header:not(.header_double) .lm_controls li:not(.lm_add_button) { + border-radius: 2px; + border-radius: var(--spacing-2); + color: Hsl(var(--g42-label-secondary)); +} +.lm_header:not(.header_double) .lm_close, +.lm_header:not(.header_double) .lm_maximise, +.lm_header:not(.header_double) .lm_minimise, +.lm_header:not(.header_double) .lm_popout, +.lm_header:not(.header_double) .lm_tabdropdown { + margin-right: 2px; + margin-right: var(--spacing-2); +} +.lm_header:not(.header_double) .lm_close:before, +.lm_header:not(.header_double) .lm_maximise:before, +.lm_header:not(.header_double) .lm_minimise:before, +.lm_header:not(.header_double) .lm_popout:before, +.lm_header:not(.header_double) .lm_tabdropdown:before { + height: 20px; + height: calc(var(--spacing-24) - var(--spacing-4)); + width: 20px; + width: calc(var(--spacing-24) - var(--spacing-4)); +} +.lm_header:not(.header_double) .lm_restore:before { + content: "\e928"; +} +.lm_add_button, +.lm_close_tab { + border-radius: 50%; + color: Hsl(var(--g42-label-secondary)); + margin-left: auto; + transition-duration: 0.24s; + transition-property: background-color, color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.lm_add_button:before, +.lm_close_tab:before { + align-items: center; + content: ""; + content: "\e916"; + display: flex; + font-family: io-icons; + font-size: 14px; + height: 16px; + height: var(--spacing-16); + justify-content: center; + width: 16px; + width: var(--spacing-16); +} +.lm_add_button.active, +.lm_add_button:hover, +.lm_close_tab.active, +.lm_close_tab:hover { + background-color: Hsl(var(--g42-bg-02)); + color: Hsl(var(--g42-label-primary)); + opacity: 1; +} +.lm_close_tab { + opacity: 0.6; +} +.lm_add_button { + align-items: center; + display: flex; + height: 20px; + height: calc(var(--spacing-24) - var(--spacing-4)); + justify-content: center; + margin-left: 4px; + margin-left: var(--spacing-4); + width: 20px; + width: calc(var(--spacing-24) - var(--spacing-4)); +} +.lm_add_button:before { + content: "\e90d"; +} +.logo_type { + background-image: var(--g42-logo-icon); + background-position: 50%; + background-repeat: no-repeat; + display: block; + height: 24px; + height: var(--spacing-24); + margin-left: 8px; + margin-left: var(--spacing-8); + margin-right: 8px; + margin-right: var(--spacing-8); + width: 16px; + width: var(--spacing-16); +} +.tab-item-v2 { + align-items: center; + display: flex; + flex: 1 1 auto; + min-width: 0; +} +.icon-ellipsis-vert { + margin-right: 4px; + margin-right: var(--spacing-4); +} +.icon-ellipsis-vert:before { + align-items: center; + content: "\e900"; + display: flex; + font-family: io-icons; + font-size: 16px; + font-size: var(--spacing-16); + height: 16px; + height: var(--spacing-16); + justify-content: center; + width: 16px; + width: var(--spacing-16); +} +.move_area { + flex-grow: 1; + flex-shrink: 1; + height: 100%; + min-width: 12px; + min-width: var(--spacing-12); +} +.popup, +.workspaces-system-popup { + background-color: Hsl(var(--g42-bg-00)); + height: auto; + position: fixed; + -webkit-user-select: none; + user-select: none; + visibility: hidden; + width: auto; + z-index: 100; +} +.renderer-mode-transparent .lm_row { + background-color: initial; +} +.renderer-mode-keycolor .lm_dropTargetIndicator { + opacity: 1; +} +.renderer-mode-keycolor .add-application, +.renderer-mode-keycolor .add-workspace, +.renderer-mode-keycolor .workspace-tab-popup { + border-radius: 0; + box-shadow: none; +} +.loading-animation { + background-color: Hsl(var(--g42-bg-00)); + justify-content: center; +} +.loading-animation, +.loading-animation .wrapper { + align-items: center; + display: flex; + flex-direction: column; +} +.loading-animation .wrapper { + gap: 8px; + gap: var(--spacing-8); +} +.loading-animation .text { + color: Hsl(var(--g42-label-primary)); + font-family: calc(--g42-font-family); + font-size: 13px; + font-weight: 400; + text-transform: none; +} +.loading-animation .inner { + display: none; +} +.loading-animation .mid { + -webkit-animation: s3 1.5s linear infinite; + animation: s3 1.5s linear infinite; + background: + radial-gradient(farthest-side, #999d9e 94%, transparent) top/4px 4px no-repeat, + conic-gradient(transparent 15%, #999d9e); + border-radius: 50%; + height: 2rem; + margin: 0; + -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 0); + position: static; + width: 2rem; +} +.loading-animation .mid .ball { + display: none; +} +@keyframes s3 { + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} +.add-application, +.add-workspace, +.workspace-tab-popup { + background-color: Hsl(var(--g42-bg-primary)); + border: var(--spacing-1) solid hsl(var(--g42-border-primary)); + border-radius: 8px; + border-radius: var(--spacing-8); + box-shadow: 2px 2px 4px Hsl(var(--g42-bg-01)); + box-shadow: var(--spacing-2) var(--spacing-2) var(--spacing-4) Hsl(var(--g42-bg-01)); + display: flex; + flex-direction: column; + overflow: hidden; + position: relative; +} +.add-application:after, +.add-workspace:after, +.workspace-tab-popup:after { + background-color: Hsl(var(--g42-border-secondary)); + border-top-left-radius: 8px; + border-top-left-radius: var(--spacing-8); + border-top-right-radius: 8px; + border-top-right-radius: var(--spacing-8); + content: ""; + display: block; + height: 20px; + height: calc(var(--spacing-16) + var(--spacing-4)); + left: -1px; + left: calc(var(--spacing-1) * -1); + position: absolute; + top: -20px; + top: calc((var(--spacing-16) + var(--spacing-4)) * -1); + width: 20px; + width: calc(var(--spacing-16) + var(--spacing-4)); +} +.add-application:before, +.add-workspace:before, +.workspace-tab-popup:before { + left: 1px; + left: var(--spacing-1); + position: absolute; + top: -16px; + top: calc(var(--spacing-16) * -1); + z-index: 1; +} +.add-application .mb-2, +.add-workspace .mb-2, +.workspace-tab-popup .mb-2 { + margin-bottom: 0; +} +.add-application .list-group-item h5, +.add-workspace .list-group-item h5, +.workspace-tab-popup .list-group-item h5 { + font-size: 12px; + font-size: var(--g42-font-size); + line-height: 16px; + line-height: var(--spacing-16); +} +.add-application .list-group-item .close-icon, +.add-workspace .list-group-item .close-icon, +.workspace-tab-popup .list-group-item .close-icon { + align-items: center; + border-radius: 50%; + display: flex; + font-family: io-icons; + font-size: 14px; + font-size: var(--spacing-14); + height: 16px; + height: var(--spacing-16); + justify-content: center; + margin-left: auto; + position: relative; + width: 16px; + width: var(--spacing-16); +} +.add-application .list-group-item .close-icon:before, +.add-workspace .list-group-item .close-icon:before, +.workspace-tab-popup .list-group-item .close-icon:before { + color: Hsl(var(--g42-label-secondary)); + content: "\e916"; + position: relative; + top: 1px; + top: var(--spacing-1); +} +.add-application .list-group-item .close-icon:hover, +.add-workspace .list-group-item .close-icon:hover, +.workspace-tab-popup .list-group-item .close-icon:hover { + background-color: Hsl(var(--g42-bg-02)); +} +.add-application .list-group-item .close-icon:hover:before, +.add-workspace .list-group-item .close-icon:hover:before, +.workspace-tab-popup .list-group-item .close-icon:hover:before { + color: Hsl(var(--g42-label-secondary)); +} +.add-application .list-group-item:hover, +.add-workspace .list-group-item:hover, +.workspace-tab-popup .list-group-item:hover { + color: Hsl(var(--g42-label-primary)); + text-decoration: none; +} +.workspace-tab-popup .list-group-item { + padding-left: 16px; + padding-left: var(--spacing-16); + padding-right: 16px; + padding-right: var(--spacing-16); +} +.workspace-tab-popup .list-group-item i { + margin-left: auto; + order: 2; +} +.workspace-tab-popup .list-group-item i.icon-cancel:before, +.workspace-tab-popup .list-group-item i.icon-floppy:before, +.workspace-tab-popup .list-group-item i.icon-lock:before { + content: ""; +} +.workspace-tab-popup button.btn-icon { + background-color: initial; + border: 0; + color: Hsl(var(--g42-label-primary)); + margin-top: 8px; + margin-top: var(--spacing-8); + padding: 0; + position: absolute; + right: 12px; + right: var(--spacing-12); + z-index: 1; +} +.workspace-tab-popup h5 + hr { + display: none; +} +.workspaces-system-popup { + background-color: initial; + margin-top: 22px; + margin-top: calc(var(--spacing-24) - var(--spacing-2)); +} +.add-workspace .row:first-child { + display: none; +} +.add-workspace .row:nth-child(2) { + order: 2; +} +.add-workspace .row:nth-child(3) { + order: 1; +} +.add-workspace h3 { + line-height: 16px; + line-height: var(--spacing-16); + padding-bottom: 4px; + padding-bottom: var(--spacing-4); +} +.add-workspace h5.btn { + border-top: var(--spacing-1) solid hsl(var(--g42-border-secondary)); + color: Hsl(var(--g42-label-secondary)); + padding-left: 16px; + padding-left: var(--spacing-16); +} +.add-workspace .workspace { + align-items: center; + display: flex; + flex-grow: 1; + padding: 0 16px; + padding: 0 var(--spacing-16); +} +.add-application .row:first-child { + order: 1; +} +.add-application .row:nth-child(2) { + order: 4; +} +.add-application .row:nth-child(3) { + order: 2; +} +.add-application .row:nth-child(3) .col { + padding: 4px 12px; + padding: var(--spacing-4) var(--spacing-12); +} +.add-application .row:nth-child(4) { + order: 3; +} +.add-application .col h5, +.add-application label { + line-height: 16px; + line-height: var(--spacing-16); + padding-bottom: 6px; + padding-bottom: var(--spacing-6); +} +.add-application .btn-group { + display: flex; +} +.add-application .applications { + max-height: 200px; + overflow: auto; +} +.add-application .applications .list-group-item { + padding-left: 16px; + padding-left: var(--spacing-16); +} +.add-application .input-group input { + width: 100%; +} +.save-workspace .row:first-child .col h5 { + padding-bottom: 8px; + padding-bottom: var(--spacing-8); +} +.save-workspace .row:nth-child(2) { + padding: 4px 16px; + padding: var(--spacing-4) var(--spacing-16); + padding-top: 16px; + padding-top: var(--spacing-16); +} +.save-workspace .row:nth-child(3) { + order: 4; + padding: 0 16px; + padding: 0 var(--spacing-16); +} +.save-workspace .row:nth-child(3) .col:nth-child(2) { + padding: 8px 0 16px; + padding: var(--spacing-8) 0 var(--spacing-16); +} +.save-workspace .row:nth-child(4) { + order: 3; + padding: 0 16px; + padding: 0 var(--spacing-16); +} +.save-workspace .invalid-feedback { + line-height: 16px; + line-height: var(--spacing-16); + padding-bottom: 0; +} +.save-workspace .form-control { + width: 100%; +} +.save-workspace h5 { + background-color: Hsl(var(--g42-bg-02)); + border-bottom: var(--spacing-1) solid hsl(var(--g42-border-primary)); + padding-left: 16px; + padding-left: var(--spacing-16); +} +.save-workspace .form-check { + padding: 4px 0; + padding: var(--spacing-4) 0; +} +.empty-container-background { + align-items: center; + background-color: Hsl(var(--g42-app-content-bg)); + display: flex; + height: 100%; + justify-content: center; +} +.add-button { + background-color: initial; + border: 0; + color: Hsl(var(--g42-label-secondary)); + height: 16px; + height: var(--spacing-16); + padding: 0; + width: 16px; + width: var(--spacing-16); +} +.add-button:before { + align-items: center; + content: "\e90d"; + display: flex; + justify-content: center; +} +.icon-cancel:before { + content: "\e916"; +} +.lock-options-list { + width: 200px; +} +.channels-link { + border-radius: 4px; + border-radius: var(--border-radius-4); + color: Hsl(var(--g42-label-primary)); + flex-shrink: 0; + margin-right: 4px; + margin-right: var(--spacing-4); + overflow: hidden; +} +.link-icon { + font-size: 16px; + font-size: var(--spacing-16); + margin-right: 0; +} +@media only screen and (-webkit-min-device-pixel-ratio: 1.25) { + #root { + border-bottom-width: 2px !important; + border-right-width: 2px !important; + height: 100%; + width: 100%; + } +} +/*# sourceMappingURL=main.9c658736.css.map*/ diff --git a/angular/solution/workspace/static/css/main.9c658736.css.map b/angular/solution/workspace/static/css/main.9c658736.css.map new file mode 100644 index 0000000..c69b58f --- /dev/null +++ b/angular/solution/workspace/static/css/main.9c658736.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.9c658736.css","mappings":"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","sources":["index.css","App.css","../node_modules/@interopio/workspaces-ui-react/dist/styles/workspaces.css"],"sourcesContent":["#root{\r\n height: 100%;\r\n}",".App {\r\n text-align: center;\r\n}\r\n\r\n.App-logo {\r\n height: 40vmin;\r\n pointer-events: none;\r\n}\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n .App-logo {\r\n animation: App-logo-spin infinite 20s linear;\r\n }\r\n}\r\n\r\n.App-header {\r\n background-color: #282c34;\r\n min-height: 100vh;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: calc(10px + 2vmin);\r\n color: white;\r\n}\r\n\r\n.App-link {\r\n color: #61dafb;\r\n}\r\n\r\n@keyframes App-logo-spin {\r\n from {\r\n transform: rotate(0deg);\r\n }\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n",":root {\n --g42-font-family: \"PTSans\", \"Helvetica Neue\", Arial, sans-serif;\n --g42-font-size: 12px;\n --spacing-1: 1px;\n --spacing-2: 2px;\n --spacing-4: 4px;\n --spacing-6: 6px;\n --spacing-8: 8px;\n --spacing-9: 9px;\n --spacing-10: 10px;\n --spacing-12: 12px;\n --spacing-14: 14px;\n --spacing-16: 16px;\n --spacing-24: 24px;\n --spacing-32: 32px;\n --spacing-40: 40px;\n --border-radius-4: 4px;\n --border-radius-6: 6px;\n --g42-red: 354, 86%, 48%;\n --g42-white: 0, 0%, 100%;\n --g42-black: 0, 0%, 0%;\n}\n\n.dark {\n --g42-bg-00: 216, 14%, 7%;\n --g42-bg-01: 210, 5%, 16%;\n --g42-bg-02: 216, 4%, 22%;\n --g42-bg-03: 220, 4%, 28%;\n --g42-bg-04: 222, 3%, 35%;\n --g42-bg-primary: 210, 5%, 16%;\n --g42-border-primary: 222, 4%, 35%;\n --g42-border-secondary: 216, 4%, 22%;\n --g42-label-primary: 210 4% 97%;\n --g42-label-secondary: 210 4% 70%;\n --g42-label-tertiary: 210 4% 45%;\n --g42-interactive-primary: 216 96% 64%;\n --g42-interactive-secondary: 216 57% 49%;\n --g42-highlight-neutral: 216 5% 21%;\n --g42-highlight-Interactive: 215 79% 40%;\n --g42-app-content-bg: 216, 14%, 7%;\n --g42-overlay-shadow: 2px 2px 4px 0 Hsla(223, 26%, 5%, 0.35);\n --g42-bkd-00: 0 0% 7%;\n --g42-warning-xp: 43, 71%, 54%;\n --g42-logo-icon: url(\"data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 x=%270px%27 y=%270px%27 viewBox=%270 0 100.2 121%27 style=%27enable-background:new 0 0 100.2 121;%27%3E%3Cpath fill=%27%23FFFFFF%27 d=%27M59.4,10.6l-8.3,8.3c-0.5,0.5-1.4,0.5-1.9,0l-8.3-8.3c-0.5-0.5-0.5-1.4,0-1.9l8.3-8.3c0.5-0.5,1.4-0.5,1.9,0 l8.3,8.3C59.9,9.2,59.9,10.1,59.4,10.6z M59.3,110.4l-8.3-8.3c-0.5-0.5-1.4-0.5-1.9,0l-8.3,8.3c-0.5,0.5-0.5,1.4,0,1.9l8.3,8.3 c0.5,0.5,1.4,0.5,1.9,0l8.3-8.3C59.9,111.8,59.9,110.9,59.3,110.4z%27/%3E%3Cpath fill=%27%23FFFFFF%27 d=%27M100.1,60.1c0.3,7.3-2.9,14.3-9.3,20.6l-24.7,24.7c-0.6,0.6-1.5,0.6-2.1,0l-8.1-8.1c-0.6-0.6-0.6-1.5,0-2.1 l24.7-24.7c0.1-0.1,0.2-0.2,0.3-0.3c3.2-3.3,4.7-6.7,4.4-10.2c0-0.4-0.1-0.8-0.2-1.3c-0.6-3.3-2.8-7-6.8-11l-9.9-9.9 c-0.3-0.3-0.7-0.5-1.1-0.5c-0.4,0-0.8,0.2-1.3,0.6L34.5,69.6c-0.6,0.6-1.5,0.6-2.1,0L27.7,65c-3.3-3.3-3.8-5.1-1.3-7.6 c11.1-11.2,22-22.1,33.2-33.2c2.7-2.7,5.1-4.2,7.5-4.3c2.5-0.1,4.7,1.2,6.9,3.5l14.3,14.3C95.9,45.3,99.8,52.8,100.1,60.1 L100.1,60.1z M0,60.9c0.3,7.3,3.7,14.3,11.2,21.9l14.8,14.8c2.3,2.3,4.5,3.6,6.9,3.5c2.4-0.1,4.8-1.6,7.5-4.3 c11.1-11.1,22.1-22,33.2-33.2c2.5-2.5,2-4.3-1.3-7.6l-4.7-4.7c-0.6-0.6-1.5-0.6-2.1,0L34,83c-0.5,0.5-0.9,0.6-1.3,0.6 c-0.4,0-0.7-0.1-1.1-0.5L21.3,72.7c-4-4-5.7-7.2-6.3-10.5c-0.1-0.4-0.1-0.8-0.2-1.3c-0.3-3.5,1.2-6.9,4.4-10.2 c0.1-0.1,0.2-0.2,0.3-0.3l24.7-24.7c0.6-0.6,0.6-1.5,0-2.1l-8.1-8.1c-0.6-0.6-1.5-0.6-2.1,0L9.3,40.3C2.9,46.6-0.3,53.5,0,60.9 L0,60.9z%27/%3E%3C/svg%3E%0A\");\n --g42-select-indicator: url(\"data:image/svg+xml;utf8, span {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n margin-left: var(--spacing-4);\n border-left: var(--spacing-1) solid Hsl(var(--g42-border-secondary));\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: border-color;\n}\n\n.g42-btn-split:hover > span {\n border-color: Hsl(var(--g42-border-primary));\n}\n\n.g42-btn-link {\n border-color: transparent;\n color: Hsl(var(--g42-interactive-primary));\n background-color: transparent;\n}\n\n.g42-btn-link:hover {\n border-color: transparent;\n color: Hsl(var(--g42-interactive-primary));\n text-decoration: underline;\n background-color: transparent;\n}\n\n.g42-btn-group {\n display: inline-flex;\n}\n\n.g42-btn-group .g42-btn, .g42-btn-group .save-workspace .btn, .save-workspace .g42-btn-group .btn {\n border-radius: 0;\n}\n\n.g42-btn-group .g42-btn:not(:last-child), .g42-btn-group .save-workspace .btn:not(:last-child), .save-workspace .g42-btn-group .btn:not(:last-child) {\n border-right: 0;\n}\n\n.g42-btn-group .g42-btn:first-of-type, .g42-btn-group .save-workspace .btn:first-of-type, .save-workspace .g42-btn-group .btn:first-of-type {\n border-top-left-radius: var(--spacing-4);\n border-bottom-left-radius: var(--spacing-4);\n}\n\n.g42-btn-group .g42-btn:last-of-type, .g42-btn-group .save-workspace .btn:last-of-type, .save-workspace .g42-btn-group .btn:last-of-type {\n border-top-right-radius: var(--spacing-4);\n border-bottom-right-radius: var(--spacing-4);\n}\n\n.g42-btn-icon {\n border: 0;\n background-color: transparent;\n}\n\n.g42-btn-icon:hover {\n background-color: transparent;\n}\n\n@font-face {\n font-weight: 400;\n font-family: \"PTSans\";\n font-style: normal;\n src: url(data:font/ttf;base64,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APYA+AD6APwA/gEAAQIBBAEGAQgBCgEMAQ4BEAESARQBFgEYARoBHAEeAR8BIQEjAScBKQErATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBlwGZAZsBnQGfAaEBowGlAacBqQGrAa0BrwGxAbMBtQG3AbkBuwG9Ab8BwQHDAcUBxwHJAcsBzQHPAdEB0wHUAdYB2AHaAdwB3gHhAeMB5QHnAekB6wHtAe8B8QHzAfUB9wH5AfsB/QH/AgECAwIFAgcCCQILAg0CDwIRAhMCFQIXAhkCGwIdAl8CawJtAm8CcQJzAnUCdwJ5AnsCfQJ/AoECgwKFAocCiQKLAo0CjwKRApMClQKXApkCmwKdAp8CoQKjAqUCpwKpAqsCrQKvArECswK1ArcCuQADAAAAAQAIAAEADAADACIAHAAWAAEAAwAUAb0BvgACAnoCrAACAnkCqwACAsEAewABAAAAAQAIAAIAMgAWAsACvwB0AHUCzgElASkBKgErASwCzQKnAqgCqQKqAncCeAK7ArwCvQK+As8AAQAWAAUACgAVABYATwBWAQwBDQEQAREBMAFAAY4BpQGmAasBrAIhAiICJAIlAi4AAALuADIAAAAAAQsAAAELAAABMQBuAU8AWgIhABwCIQBMAwUARgMuAHYA2gBaARgAPAEYAAIBXwAoAfkAKADhACoBaAA7ANYAMQFi/9sCIQArAiEARgIhAD4CIQBYAiEAFAIhAE0CIQA8AiEAPQIhAEQCIQA0ANsAWwEAAFIB+QAqAfkAKAH5ACoBtAAlBCgAVwJJAAgCSABVAjsAOAKOAFUCGABVAgUAVQJkADgCoABVASMAaAEj/94CYgBVAgUAVQMXAFUCoQBVAqwAOAIvAFUCrAA4AlMAVQITAC4CKwASAowAVQI4//4DPAAIAmoAGgIuAAgCIQAmATAAVQF8/9sBMAAmAfQAMAGYAAABGAA8AfAAJwIcAE0BwwAxAhoAMQH8ADEBPwAWAhkAMQIjAE0BDABNAQsACQHfAE0BJABWAywATQIjAE0CGAAxAh0ATQIZADEBVABNAaUAJwFTAAsCGwBFAeIACQLfAAgCAwAcAdIADAG/ACoBWgA5AO4AVQFaADcB+QAfAQsAAAEwAE0CIQBXAiEAMgIhABUCIQACAO4AVQHxADkBmwA8AyYAMwGCADAB3gAnAfkAKQFoADoCvABVAaAAPAGpAFUB+QAoAYoAMAGKAEMBDAA8AigARAHuACUBCwBMAR8APAGKADUBjgAsAd4AJwNFADUDUgA1A2wATAG0ACUCSQAIAkkACAJJAAgCSQAIAkkACAJJAAgDTv/qAjsAOAIYAFUCGABVAhgAVQIYAFUBIwABASMAPgEj//EBI//+ApL//wKhAFUCrAA4AqwAOAKsADgCrAA4AqwAOAH5AEoCrAA4AowAVQKMAFUCjABVAowAVQIuAAgCLwBVAlAAFgHwACcB8AAnAfAAJwHwACcB8AAnAfAAJwMcACcBwwAxAfwAMQH8ADEB/AAxAfwAMQEMAAwBDABeAQz//gEM//QCMQA4AiMATQIYADECGAAxAhgAMQIYADECGAAxAfkAKAIYADECGwBFAhsARQIbAEUCGwBFAdIADAIdAE0B0gAMAkkACAHwACcCSQAIAfAAJwJJAAgB8AAnAjsAOAHDADECOwA4AcMAMQI7ADgBwwAxAo4AVQJNADECkv//AhwAMQIYAFUB/AAxAhgAVQH8ADECGABVAfwAMQIYAFUB/AAxAmQAOAIZADECZAA4AhkAMQJkADgCGQAxAqAAVQIj/9gCpQAJAiX//wEj//UBDP/zASMAIgENABMBIwBUAQwAXgEj/94BCwABAmIAVQHfAE0CBQBVASQAVgIFAFUBJABWAgUAVQEkAFYCBQAPASQACgKhAFUCIwBNAqEAVQIjAE0CoQBVAiMATQKsADgCGAAxAqwAOAIYADEDpAA4A1oAMQJTAFUBVABNAlMAVQFUAE0CUwBVAVQANgITAC4BpQAnAhMALgGlACcCEwAuAaUAJwITAC4BpQAnAisAEgFTAAsCKwASAVMACwKMAFUCGwBFAowAVQIbAEUCjABVAhsARQKMAFUCGwBFAowAVQIbAEUCLgAIAiEAJgG/ACoCIQAmAb8AKgIhACYBvwAqAPkAFgIh/94CZAA4AhkAMQITAC4BpQAnAisAEgFTAAsBCwAJAMIAKAGCADwBiwA8AakAPADpADwBOwA8ATEAPAGPADwBgwA8AAL+3gI4AA4DIgBMApgAJAIYAFUC2AASAboAVQJHADgCEwAuASMAaAElACABI//eA57//gPOAFUC7gASAmIAVQIpAAcCkwBVAkkACAImAFUCSABVAboAVQKdAAUCGABVAyb//wIdACwCqQBVAqkAVQJiAFUCcP/+AxcAVQKgAFUCrAA4ApMAVQIvAFUCOwA4AisAEgIpAAcDDAApAmoAGgKvAFUCXQBLA20AVQORAFUCdv//AwEAVQIrAFUCQQAtA30AVQI5ABoB8AAnAhgAMQHzAE0BcQBNAh0ABQH8ADECkwABAbkAJgIiAE0CIgBNAd4ATQH3//sChQBNAhwATQIYADECFwBNAh0ATQHDADEBjgACAdIADAKoACwCAwAcAiQATQHqADEC4ABNAvEATQHxAAEClABNAdAATQHRACcCzwBNAdsAFAH8ADECJP/+AXEATQHYADEBpQAnAQwATQEWAB0BCwAJAt3/+wMCAE0CJP/+Ad4ATQHSAAwCFwBNAmsAAAHxAAECrAA4AhgAMQJW//4B+wAKArIAVQIxAE0CawAAAfEAAQIvAFUCHQBNAboAVQFxAE0B4gAKAYEAAAJBAFUCFwBNAzP//wK1AAECHQAsAbkAJgJnAFUB+gBNAq0AVQIaAE0CmAAAAeH//gKtAAACAAABAsMAVQIiAE0DXQBVAqMATQPXAFUDRABNAysAOAKUADECOwA4AcMAMQIrABIBjgACAi4ACAHkAAoCLgAIAeQACgKIABoCDQAcA0YAEgJ3AAICfwBLAf0AMQJlAEsB8QAxAl0AVQIjAE0DBgABAmkACAMGAAECaQAIASMAaAJYAFUB4QBNAm7//gIE//sCoABVAhwATQKpAFUCLABNAl0ASwHqADEDIQBVApUATQD+AFcCSQAIAfAAJwJJAAgB8AAnA07/6gMcACcCGABVAfwAMQJ/ADUB+wAxAn8ANQH7ADEDJv//ApMAAQIdACwBuQAmAjMANwHbACcCqQBVAiIATQKpAFUCIgBNAqwAOAIYADECrAA4AhgAMQKsADgCGAAxAkEALQHRACcCKQAHAdIADAIpAAcB0gAMAikABwHSAAwCXQBLAeoAMQG6AFUBcQBNAwEAVQKUAE0CagAaAgIAHAIcAEEBuQAxAnL//gH3//sDPAAIAt8ACAK2AFUCKgBNAoAAVQJDAE0CYgBVAd8ATQMXAFUDLABNAi8AVQIdAE0CmwBVAWgAOwKUAHYDNAB2AMIAKADCACgAwgAoAVQAKAFUACgBVAAoAeYAKAHmACgBxABXAvcARwR7AEYBKQAnASkAJwC4/08BigA1AYoAMAGKAEMBigAZAiEACgIhACkCIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAfQASQP/AFUDdQAmAlgALAH5ABQCpgBVAfkADgH5ACgB+f/vAfn/9wNYADcBXv/UAfkAHwH5ACgB+QAkAfkAJQH5ACICwwBVAkMATQAC/p0B0QA8AR8APAG4ADwA6wA8AMIAKAD2ADwBSwA8AbYAPAExADwCSABVAhwATQIFAFUBPwAWAl3//QIl//8CXQBLAeoAMQIpAAcB0gAMAkEALQHRACcCHQAsAbkAJgI7ADgBwwAxAkkACAHwACcCGABVAfwAMQIYAFUB/AAxAhgAVQH8ADECHQAsAbkAJgKsADgCGAAxAqwAOAIYADECrAA4AhgAMQKsADgCGAAxAwEAVQKUAE0CQQAtAdEAJwJBAC0B0QAnAkcAOAHYADECOQAaAdsAFAI5ABoB2wAUA30AVQLPAE0DfQBVAs8ATQKR//4CC//7AqkAVQIiAE0CrAA4AhgAMQMBAFUClABNAhwAQQG5ADEBIwBUAQwAXgIFAFUBnQBNAjsAOAHDADECjgBVAiMAMQKgAFUCIwBNAgUAVQEkAFYCKwASAVMACwI4//4B4gAJAh0ALAGyAB0CHQAsAbIAHQDCACgAwgAoAVQAKAFUACgA2gBaAU8AWgGKADUA6wA8AWAAPAG2ADwBogA8AWAAPAG9ADwBtAA8AcYAPAGuADwCHAAWAkcAFgC8AMwA/gBXALj/QgAAAAAAAAQgAAAEIAAABCAAAAQgAAAFFwAABVMAAAePAAAJ+AAACqwAABACAAAQRgAAEVUAABJ5AAAVxgAAFpQAABekAAAX4gAAGDIAABlSAAAaXAAAG7MAAB2CAAAf8QAAIhQAACNLAAAlXAAAJwAAACuzAAAuDgAALqgAADABAAAwygAAMUkAADIDAAAzPAAANtgAADmgAAA8BwAAPZoAAD8MAAA/9wAAQOAAAEMnAABEMAAARJ4AAEWQAABKBgAASqYAAE55AABR4gAAVAAAAFVdAABXxwAAWjAAAFxiAABdIgAAXkcAAGEVAABpnwAAcAMAAHKQAAB03wAAdVYAAHZKAAB2xwAAd6gAAHfrAAB44wAAe2QAAHyyAAB99QAAf34AAIFaAACCpwAAhE8AAIV8AACGaAAAh4EAAIusAACMnAAAjs0AAJBYAACRkAAAkxIAAJRDAACWQgAAmAwAAJnVAACbkgAAno4AAKTvAACqOQAArokAAK/4AACw6QAAsXMAALJ6AACzrwAAs68AALRGAAC16gAAuAoAALoDAAC9WgAAvdAAAMC6AADCRAAAxKUAAMcpAADIBwAAyEsAAMiJAADM8AAAzXEAAM8TAADP8AAA0BwAANBIAADRMwAA0q4AANOPAADTowAA1GgAANSUAADVogAA1oQAANcIAADXjAAA2CQAANlnAADZnwAA2csAANpbAADanwAA20cAAOEMAADkjQAA5vgAAOcoAADnUAAA54AAAOgAAADoUAAA6HQAAOkYAADpxAAA60oAAOvKAADr9gAA7C4AAOyiAADtNgAA7aYAAO5qAADyXgAA8ooAAPLOAADzKgAA89YAAPQmAAD1NwAA+DIAAPhqAAD4pgAA+PIAAPkuAAD5lgAA+iIAAP0hAAD/HgAA/1oAAP+CAAD/3gABADoAAQCCAAEAzgABAUIAAQHmAAEEjQABBPEAAQUlAAEFPQABBgkAAQZBAAEGwQABB9gAAQtWAAELjgABC8YAAQwuAAEMtgABDOoAAQ43AAEOwwABD2sAAQ+zAAEQUwABEOsAARQvAAEWxQABFvkAARcxAAEXZQABF50AARfJAAEYCQABGDkAARjdAAEY7QABGvMAARtHAAEb1wABHCMAARx7AAEdyAABIDQAASB8AAEgwAABIPgAASEkAAEhaAABIagAASHcAAEiSAABItAAASM8AAEkoQABJh0AASa9AAEnWQABKCUAASn+AAEqPgABKqEAASsVAAErjQABK8EAASvtAAEsPQABLIEAASzFAAEtHQABLVkAAS3lAAEvagABMMoAATEGAAExLgABMV4AATGaAAEx2gABMg4AATKmAAEzYgABM64AATQiAAE14QABOG0AATipAAE4zQABOQUAATlVAAE5iQABOaEAATnZAAE6CQABOjkAATptAAE9RgABP8cAAT/3AAFAIwABQXgAAUPg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AAAAAAAAAAAAAAAAAAAAAALQAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQECAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAQMAigDaAIMAkwDyAPMAjQCXAIgAwwDeAPEAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB+AIAAgQDsAO4AugEEAQUBBgEHAQgBCQD9AP4BCgELAP8BAAEMAQ0BDgEBAQ8BEAERARIBEwEUARUBFgEXARgA+AD5ARkBGgEbARwBHQEeAR8BIAEhASIA+gDXASMBJAElASYBJwEoASkBKgErASwA4gDjAS0BLgEvATABMQEyATMBNAE1ATYAsACxATcBOAE5AToBOwE8AT0BPgE/AUAA+wD8AOQA5QFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4AuwFPAVABUQFSAOYA5wFTAKYBVAFVAVYBVwFYAVkBWgFbANgA4QDbANwA3QDgANkA3wFcAV0BXgCbAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInAigCKQIqAisCLAItAi4CLwIwAjECMgIzAjQCNQI2AjcCOAI5AjoCOwI8Aj0CPgI/AkACQQJCALIAswC2ALcAxAC0ALUAxQCCAMIAhwCrAMYAvgC/ALwCQwJEAkUCRgJHAkgCSQJKAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMAjAJkAJgAmgCZAO8CZQClAJIAnACnAI8AlACVALkCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEAwADBAtIC0wLUB3VuaTAwQTAHdW5pMDBBRAdBbWFjcm9uB2FtYWNyb24GQWJyZXZlBmFicmV2ZQdBb2dvbmVrB2FvZ29uZWsLQ2NpcmN1bWZsZXgLY2NpcmN1bWZsZXgGRGNhcm9uBmRjYXJvbgZEY3JvYXQHRW1hY3JvbgdlbWFjcm9uCkVkb3RhY2NlbnQKZWRvdGFjY2VudAdFb2dvbmVrB2VvZ29uZWsGRWNhcm9uBmVjYXJvbgtHY2lyY3VtZmxleAtnY2lyY3VtZmxleAxHY29tbWFhY2NlbnQMZ2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4BEhiYXIEaGJhcgdJbWFjcm9uB2ltYWNyb24HSW9nb25lawdpb2dvbmVrC0pjaXJjdW1mbGV4C2pjaXJjdW1mbGV4DEtjb21tYWFjY2VudAxrY29tbWFhY2NlbnQGTGFjdXRlBmxhY3V0ZQxMY29tbWFhY2NlbnQMbGNvbW1hYWNjZW50BkxjYXJvbgZsY2Fyb24GTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24HT21hY3JvbgdvbWFjcm9uDU9odW5nYXJ1bWxhdXQNb2h1bmdhcnVtbGF1dAZSYWN1dGUGcmFjdXRlDFJjb21tYWFjY2VudAxyY29tbWFhY2NlbnQGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlC1NjaXJjdW1mbGV4C3NjaXJjdW1mbGV4CFRjZWRpbGxhCHRjZWRpbGxhBlRjYXJvbgZ0Y2Fyb24HVW1hY3Jvbgd1bWFjcm9uBlVicmV2ZQZ1YnJldmUFVXJpbmcFdXJpbmcNVWh1bmdhcnVtbGF1dA11aHVuZ2FydW1sYXV0B1VvZ29uZWsHdW9nb25lawZaYWN1dGUGemFjdXRlClpkb3RhY2NlbnQKemRvdGFjY2VudAVsb25ncwd1bmkwMUY0B3VuaTAxRjUMU2NvbW1hYWNjZW50DHNjb21tYWFjY2VudAxUY29tbWFhY2NlbnQMdGNvbW1hYWNjZW50B3VuaTAyMzcJYWZpaTU3OTI5CWFjdXRlY29tYgd1bmkwMzk0B3VuaTAzQTkJYWZpaTEwMDIzCWFmaWkxMDA1MQlhZmlpMTAwNTIJYWZpaTEwMDUzCWFmaWkxMDA1NAlhZmlpMTAwNTUJYWZpaTEwMDU2CWFmaWkxMDA1NwlhZmlpMTAwNTgJYWZpaTEwMDU5CWFmaWkxMDA2MAlhZmlpMTAwNjEJYWZpaTEwMDYyCWFmaWkxMDE0NQlhZmlpMTAwMTcJYWZpaTEwMDE4CWFmaWkxMDAxOQlhZmlpMTAwMjAJYWZpaTEwMDIxCWFmaWkxMDAyMglhZmlpMTAwMjQJYWZpaTEwMDI1CWFmaWkxMDAyNglhZmlpMTAwMjcJYWZpaTEwMDI4CWFmaWkxMDAyOQlhZmlpMTAwMzAJYWZpaTEwMDMxCWFmaWkxMDAzMglhZmlpMTAwMzMJYWZpaTEwMDM0CWFmaWkxMDAzNQlhZmlpMTAwMzYJYWZpaTEwMDM3CWFmaWkxMDAzOAlhZmlpMTAwMzkJYWZpaTEwMDQwCWFmaWkxMDA0MQlhZmlpMTAwNDIJYWZpaTEwMDQzCWFmaWkxMDA0NAlhZmlpMTAwNDUJYWZpaTEwMDQ2CWFmaWkxMDA0NwlhZmlpMTAwNDgJYWZpaTEwMDQ5CWFmaWkxMDA2NQlhZmlpMTAwNjYJYWZpaTEwMDY3CWFmaWkxMDA2OAlhZmlpMTAwNjkJYWZpaTEwMDcwCWFmaWkxMDA3MglhZmlpMTAwNzMJYWZpaTEwMDc0CWFmaWkxMDA3NQlhZmlpMTAwNzYJYWZpaTEwMDc3CWFmaWkxMDA3OAlhZmlpMTAwNzkJYWZpaTEwMDgwCWFmaWkxMDA4MQlhZmlpMTAwODIJYWZpaTEwMDgzCWFmaWkxMDA4NAlhZmlpMTAwODUJYWZpaTEwMDg2CWFmaWkxMDA4NwlhZmlpMTAwODgJYWZpaTEwMDg5CWFmaWkxMDA5MAlhZmlpMTAwOTEJYWZpaTEwMDkyCWFmaWkxMDA5MwlhZmlpMTAwOTQJYWZpaTEwMDk1CWFmaWkxMDA5NglhZmlpMTAwOTcJYWZpaTEwMDcxCWFmaWkxMDA5OQlhZmlpMTAxMDAJYWZpaTEwMTAxCWFmaWkxMDEwMglhZmlpMTAxMDMJYWZpaTEwMTA0CWFmaWkxMDEwNQlhZmlpMTAxMDYJYWZpaTEwMTA3CWFmaWkxMDEwOAlhZmlpMTAxMDkJYWZpaTEwMTEwCWFmaWkxMDE5MwlhZmlpMTAxNDYJYWZpaTEwMTk0CWFmaWkxMDE0NwlhZmlpMTAxOTUJYWZpaTEwMTQ4CWFmaWkxMDE5Ngd1bmkwNDhBB3VuaTA0OEIHdW5pMDQ4Qwd1bmkwNDhEB3VuaTA0OEUHdW5pMDQ4RglhZmlpMTAwNTAJYWZpaTEwMDk4B3VuaTA0OTIHdW5pMDQ5Mwd1bmkwNDk0B3VuaTA0OTUHdW5pMDQ5Ngd1bmkwNDk3B3VuaTA0OTgHdW5pMDQ5OQd1bmkwNDlBB3VuaTA0OUIHdW5pMDQ5Qwd1bmkwNDlEB3VuaTA0OUUHdW5pMDQ5Rgd1bmkwNEEwB3VuaTA0QTEHdW5pMDRBMgd1bmkwNEEzB3VuaTA0QTQHdW5pMDRBNQd1bmkwNEE2B3VuaTA0QTcHdW5pMDRBOAd1bmkwNEE5B3VuaTA0QUEHdW5pMDRBQgd1bmkwNEFDB3VuaTA0QUQHdW5pMDRBRQd1bmkwNEFGB3VuaTA0QjAHdW5pMDRCMQd1bmkwNEIyB3VuaTA0QjMHdW5pMDRCNAd1bmkwNEI1B3VuaTA0QjYHdW5pMDRCNwd1bmkwNEI4B3VuaTA0QjkHdW5pMDRCQQd1bmkwNEJCB3VuaTA0QkMHdW5pMDRCRAd1bmkwNEJFB3VuaTA0QkYHdW5pMDRDMAd1bmkwNEMzB3VuaTA0QzQHdW5pMDRDNQd1bmkwNEM2B3VuaTA0QzcHdW5pMDRDOAd1bmkwNEM5B3VuaTA0Q0EHdW5pMDRDQgd1bmkwNENDB3VuaTA0Q0QHdW5pMDRDRQd1bmkwNENGB3VuaTA0RDAHdW5pMDREMQd1bmkwNEQyB3VuaTA0RDMHdW5pMDRENAd1bmkwNEQ1B3VuaTA0RDYHdW5pMDRENwd1bmkwNEQ4CWFmaWkxMDg0Ngd1bmkwNERBB3VuaTA0REIHdW5pMDREQwd1bmkwNEREB3VuaTA0REUHdW5pMDRERgd1bmkwNEUwB3VuaTA0RTEHdW5pMDRFMgd1bmkwNEUzB3VuaTA0RTQHdW5pMDRFNQd1bmkwNEU2B3VuaTA0RTcHdW5pMDRFOAd1bmkwNEU5B3VuaTA0RUEHdW5pMDRFQgd1bmkwNEVDB3VuaTA0RUQHdW5pMDRFRQd1bmkwNEVGB3VuaTA0RjAHdW5pMDRGMQd1bmkwNEYyB3VuaTA0RjMHdW5pMDRGNAd1bmkwNEY1B3VuaTA0RjYHdW5pMDRGNwd1bmkwNEY4B3VuaTA0RjkHdW5pMDRGQwd1bmkwNEZEB3VuaTA1MTAHdW5pMDUxMQd1bmkwNTEyB3VuaTA1MTMHdW5pMDUxQwd1bmkwNTFEB3VuaTA1MjQHdW5pMDUyNQd1bmkwNTI2B3VuaTA1MjcHdW5pMUUzMAd1bmkxRTMxB3VuaTFFM0UHdW5pMUUzRgd1bmkxRTU0B3VuaTFFNTUHdW5pMUU5RQd1bmkyMDExB3VuaTIwODEHdW5pMjA4Mgd1bmkyMDgzB3VuaTIwODQERXVybwd1bmkyMEI0B3VuaTIwQjYHdW5pMjBCNwd1bmkyMEI5B3VuaTIwQkEHdW5pMjBCQgd1bmkyMEJDB3VuaTIwQkQHdW5pMjBCRQd1bmkyMEJGB3VuaTIwQzAHdW5pMjBDMQd1bmkyMEMyB3VuaTIwQzMHdW5pMjBDNAd1bmkyMEM1B3VuaTIwQzYHdW5pMjBDNwd1bmkyMEM4B3VuaTIwQzkHdW5pMjBDQQd1bmkyMENCB3VuaTIwQ0MHdW5pMjBDRAd1bmkyMENFB3VuaTIwQ0YJYWZpaTYxMjg5CWFmaWk2MTM1Mgllc3RpbWF0ZWQHdW5pMjIxNQd1bmkyQzY3B3VuaTJDNjgHdW5pRjQwMQd1bmlGNDA2B3VuaUY0MDcHdW5pRjQwOAd1bmlGNDA5B3VuaUY0MEEHdW5pRjQwQgd1bmlGNDBDB3VuaUY0MEQHdW5pRjQwRQd1bmlGNDg2B3VuaUY0ODcHdW5pRjQ4OAd1bmlGNDg5B3VuaUY0OUUHdW5pRjQ5Rgd1bmlGNEM2B3VuaUY0QzcHdW5pRjRDQwd1bmlGNENEB3VuaUY0RDYHdW5pRjRENwt1bmkwNDk4LmFsdAt1bmkwNDk5LmFsdA11bmkwNEFBLmFsdDAyDXVuaTA0QUIuYWx0MDIHdW5pRjUwRQd1bmlGNTBGB3VuaUY1MTAHdW5pRjUxMQd1bmlGNTEyB3VuaUY1MTMHdW5pRjUxNAd1bmlGNTE1B3VuaUY1MTYHdW5pRjUxNwd1bmlGNTE4B3VuaUY1MTkHdW5pRjUxQQd1bmlGNTFCB3VuaUY1MUMHdW5pRjUxRAd1bmlGNTFFB3VuaUY1MUYHdW5pRjUyMAd1bmlGNTIxB3VuaUY1MjIHdW5pRjUyMwd1bmlGNTI0B3VuaUY1MjUHdW5pRjUyNgd1bmlGNTI3B3VuaUY1MjgHdW5pRjUyOQd1bmlGNTJBB3VuaUY1MkIHdW5pRjUyQwd1bmlGNTJEB3VuaUY1MkUHdW5pRjUyRgd1bmlGNTMwB3VuaUY1MzEHdW5pRjUzMgd1bmlGNTMzB3VuaUY1MzQHdW5pRjUzNQd1bmlGNTM2B3VuaUY1MzcHdW5pRjUzOAd1bmlGNTM5DWFmaWkxMDA1NS5hbHQNYWZpaTEwMTAzLmFsdAt1bmkwNDkyLmFsdAt1bmkwNDkzLmFsdAt1bmkwNEFBLmFsdAt1bmkwNEFCLmFsdAd1bmlGNTQwB3VuaUY1NDEHdW5pRjU0Mgd1bmlGNTQzB3VuaUY1NDQHdW5pRjU0NQd1bmlGNTQ2B3VuaUY1NDcHdW5pRjU0OAd1bmlGNTQ5B3VuaUY1NEEHdW5pRjU0Qgd1bmlGNTRDB3VuaUY1NEQHdW5pRjYyQwd1bmlGNjJEB3VuaUY2MkUHdW5pRjYyRgd1bmlGNjM0B3VuaUY2MzUNb25lLm51bWVyYXRvcgd1bmlGNkMzB3VuaUY2QzkHdW5pRjZDQQd1bmlGNkNCB3VuaUY2Q0UHdW5pRjZDRgd1bmlGNkQwB3VuaUY2RDEHdW5pRjZENAdjYXJvbi5sBWwudmFyDGZyYWN0aW9uLmFsdAAAAAAAAA8AugADAAEECQAAAGYt8gADAAEECQABAA4t5AADAAEECQACAA4t1gADAAEECQADADQtogADAAEECQAEAA4t5AADAAEECQAFACQtfgADAAEECQAGABwtYgADAAEECQAHAFYtDAADAAEECQAIABgs9AADAAEECQAJAEQssAADAAEECQAKCQojpgADAAEECQALAC4jeAADAAEECQAMAE4jKgADAAEECQANIu4APAADAAEECQAOADwAAABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAXwB3AGUAYgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEAMAAsACAAUABhAHIAYQBUAHkAcABlACAATAB0AGQALgAgACgAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAC8AcAB1AGIAbABpAGMAKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlAHMAIAAiAFAAVAAgAFMAYQBuAHMAIgAsACAAIgBQAFQAIABTAGUAcgBpAGYAIgAgAGEAbgBkACAAIgBQAGEAcgBhAFQAeQBwAGUAIgAuAA0ACgANAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABjAG8AcABpAGUAZAAgAGIAZQBsAG8AdwAsACAAYQBuAGQAIABpAHMAIABhAGwAcwBvACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoAIABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwADQAKAA0ACgAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ADQAKAFMASQBMACAATwBQAEUATgAgAEYATwBOAFQAIABMAEkAQwBFAE4AUwBFACAAVgBlAHIAcwBpAG8AbgAgADEALgAxACAALQAgADIANgAgAEYAZQBiAHIAdQBhAHIAeQAgADIAMAAwADcADQAKAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQANAAoADQAKAFAAUgBFAEEATQBCAEwARQANAAoAVABoAGUAIABnAG8AYQBsAHMAIABvAGYAIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAgACgATwBGAEwAKQAgAGEAcgBlACAAdABvACAAcwB0AGkAbQB1AGwAYQB0AGUAIAB3AG8AcgBsAGQAdwBpAGQAZQAgAGQAZQB2AGUAbABvAHAAbQBlAG4AdAAgAG8AZgAgAGMAbwBsAGwAYQBiAG8AcgBhAHQAaQB2AGUAIABmAG8AbgB0ACAAcAByAG8AagBlAGMAdABzACwAIAB0AG8AIABzAHUAcABwAG8AcgB0ACAAdABoAGUAIABmAG8AbgB0ACAAYwByAGUAYQB0AGkAbwBuACAAZQBmAGYAbwByAHQAcwAgAG8AZgAgAGEAYwBhAGQAZQBtAGkAYwAgAGEAbgBkACAAbABpAG4AZwB1AGkAcwB0AGkAYwAgAGMAbwBtAG0AdQBuAGkAdABpAGUAcwAsACAAYQBuAGQAIAB0AG8AIABwAHIAbwB2AGkAZABlACAAYQAgAGYAcgBlAGUAIABhAG4AZAAgAG8AcABlAG4AIABmAHIAYQBtAGUAdwBvAHIAawAgAGkAbgAgAHcAaABpAGMAaAAgAGYAbwBuAHQAcwAgAG0AYQB5ACAAYgBlACAAcwBoAGEAcgBlAGQAIABhAG4AZAAgAGkAbQBwAHIAbwB2AGUAZAAgAGkAbgAgAHAAYQByAHQAbgBlAHIAcwBoAGkAcAAgAHcAaQB0AGgAIABvAHQAaABlAHIAcwAuAA0ACgANAAoAVABoAGUAIABPAEYATAAgAGEAbABsAG8AdwBzACAAdABoAGUAIABsAGkAYwBlAG4AcwBlAGQAIABmAG8AbgB0AHMAIAB0AG8AIABiAGUAIAB1AHMAZQBkACwAIABzAHQAdQBkAGkAZQBkACwAIABtAG8AZABpAGYAaQBlAGQAIABhAG4AZAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABmAHIAZQBlAGwAeQAgAGEAcwAgAGwAbwBuAGcAIABhAHMAIAB0AGgAZQB5ACAAYQByAGUAIABuAG8AdAAgAHMAbwBsAGQAIABiAHkAIAB0AGgAZQBtAHMAZQBsAHYAZQBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAsACAAaQBuAGMAbAB1AGQAaQBuAGcAIABhAG4AeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIAB3AG8AcgBrAHMALAAgAGMAYQBuACAAYgBlACAAYgB1AG4AZABsAGUAZAAsACAAZQBtAGIAZQBkAGQAZQBkACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAYQBuAGQALwBvAHIAIABzAG8AbABkACAAdwBpAHQAaAAgAGEAbgB5ACAAcwBvAGYAdAB3AGEAcgBlACAAcAByAG8AdgBpAGQAZQBkACAAdABoAGEAdAAgAGEAbgB5ACAAcgBlAHMAZQByAHYAZQBkACAAbgBhAG0AZQBzACAAYQByAGUAIABuAG8AdAAgAHUAcwBlAGQAIABiAHkAIABkAGUAcgBpAHYAYQB0AGkAdgBlACAAdwBvAHIAawBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAgAGEAbgBkACAAZABlAHIAaQB2AGEAdABpAHYAZQBzACwAIABoAG8AdwBlAHYAZQByACwAIABjAGEAbgBuAG8AdAAgAGIAZQAgAHIAZQBsAGUAYQBzAGUAZAAgAHUAbgBkAGUAcgAgAGEAbgB5ACAAbwB0AGgAZQByACAAdAB5AHAAZQAgAG8AZgAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlACAAcgBlAHEAdQBpAHIAZQBtAGUAbgB0ACAAZgBvAHIAIABmAG8AbgB0AHMAIAB0AG8AIAByAGUAbQBhAGkAbgAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAZABvAGUAcwAgAG4AbwB0ACAAYQBwAHAAbAB5ACAAdABvACAAYQBuAHkAIABkAG8AYwB1AG0AZQBuAHQAIABjAHIAZQBhAHQAZQBkACAAdQBzAGkAbgBnACAAdABoAGUAIABmAG8AbgB0AHMAIABvAHIAIAB0AGgAZQBpAHIAIABkAGUAcgBpAHYAYQB0AGkAdgBlAHMALgANAAoADQAKAEQARQBGAEkATgBJAFQASQBPAE4AUwANAAoAIgBGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAHQAaABlACAAcwBlAHQAIABvAGYAIABmAGkAbABlAHMAIAByAGUAbABlAGEAcwBlAGQAIABiAHkAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIAB1AG4AZABlAHIAIAB0AGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAbgBkACAAYwBsAGUAYQByAGwAeQAgAG0AYQByAGsAZQBkACAAYQBzACAAcwB1AGMAaAAuACAAVABoAGkAcwAgAG0AYQB5ACAAaQBuAGMAbAB1AGQAZQAgAHMAbwB1AHIAYwBlACAAZgBpAGwAZQBzACwAIABiAHUAaQBsAGQAIABzAGMAcgBpAHAAdABzACAAYQBuAGQAIABkAG8AYwB1AG0AZQBuAHQAYQB0AGkAbwBuAC4ADQAKAA0ACgAiAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAbgBhAG0AZQBzACAAcwBwAGUAYwBpAGYAaQBlAGQAIABhAHMAIABzAHUAYwBoACAAYQBmAHQAZQByACAAdABoAGUAIABjAG8AcAB5AHIAaQBnAGgAdAAgAHMAdABhAHQAZQBtAGUAbgB0ACgAcwApAC4ADQAKAA0ACgAiAE8AcgBpAGcAaQBuAGEAbAAgAFYAZQByAHMAaQBvAG4AIgAgAHIAZQBmAGUAcgBzACAAdABvACAAdABoAGUAIABjAG8AbABsAGUAYwB0AGkAbwBuACAAbwBmACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGMAbwBtAHAAbwBuAGUAbgB0AHMAIABhAHMAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABiAHkAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkALgANAAoADQAKACIATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAiACAAcgBlAGYAZQByAHMAIAB0AG8AIABhAG4AeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIABtAGEAZABlACAAYgB5ACAAYQBkAGQAaQBuAGcAIAB0AG8ALAAgAGQAZQBsAGUAdABpAG4AZwAsACAAbwByACAAcwB1AGIAcwB0AGkAdAB1AHQAaQBuAGcAIAAtAC0AIABpAG4AIABwAGEAcgB0ACAAbwByACAAaQBuACAAdwBoAG8AbABlACAALQAtACAAYQBuAHkAIABvAGYAIAB0AGgAZQAgAGMAbwBtAHAAbwBuAGUAbgB0AHMAIABvAGYAIAB0AGgAZQAgAE8AcgBpAGcAaQBuAGEAbAAgAFYAZQByAHMAaQBvAG4ALAAgAGIAeQAgAGMAaABhAG4AZwBpAG4AZwAgAGYAbwByAG0AYQB0AHMAIABvAHIAIABiAHkAIABwAG8AcgB0AGkAbgBnACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAdABvACAAYQAgAG4AZQB3ACAAZQBuAHYAaQByAG8AbgBtAGUAbgB0AC4ADQAKAA0ACgAiAEEAdQB0AGgAbwByACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAZABlAHMAaQBnAG4AZQByACwAIABlAG4AZwBpAG4AZQBlAHIALAAgAHAAcgBvAGcAcgBhAG0AbQBlAHIALAAgAHQAZQBjAGgAbgBpAGMAYQBsACAAdwByAGkAdABlAHIAIABvAHIAIABvAHQAaABlAHIAIABwAGUAcgBzAG8AbgAgAHcAaABvACAAYwBvAG4AdAByAGkAYgB1AHQAZQBkACAAdABvACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlAC4ADQAKAA0ACgBQAEUAUgBNAEkAUwBTAEkATwBOACAAJgAgAEMATwBOAEQASQBUAEkATwBOAFMADQAKAFAAZQByAG0AaQBzAHMAaQBvAG4AIABpAHMAIABoAGUAcgBlAGIAeQAgAGcAcgBhAG4AdABlAGQALAAgAGYAcgBlAGUAIABvAGYAIABjAGgAYQByAGcAZQAsACAAdABvACAAYQBuAHkAIABwAGUAcgBzAG8AbgAgAG8AYgB0AGEAaQBuAGkAbgBnACAAYQAgAGMAbwBwAHkAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAHQAbwAgAHUAcwBlACwAIABzAHQAdQBkAHkALAAgAGMAbwBwAHkALAAgAG0AZQByAGcAZQAsACAAZQBtAGIAZQBkACwAIABtAG8AZABpAGYAeQAsACAAcgBlAGQAaQBzAHQAcgBpAGIAdQB0AGUALAAgAGEAbgBkACAAcwBlAGwAbAAgAG0AbwBkAGkAZgBpAGUAZAAgAGEAbgBkACAAdQBuAG0AbwBkAGkAZgBpAGUAZAAgAGMAbwBwAGkAZQBzACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACwAIABzAHUAYgBqAGUAYwB0ACAAdABvACAAdABoAGUAIABmAG8AbABsAG8AdwBpAG4AZwAgAGMAbwBuAGQAaQB0AGkAbwBuAHMAOgANAAoADQAKADEAKQAgAE4AZQBpAHQAaABlAHIAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABuAG8AcgAgAGEAbgB5ACAAbwBmACAAaQB0AHMAIABpAG4AZABpAHYAaQBkAHUAYQBsACAAYwBvAG0AcABvAG4AZQBuAHQAcwAsACAAaQBuACAATwByAGkAZwBpAG4AYQBsACAAbwByACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgBzACwAIABtAGEAeQAgAGIAZQAgAHMAbwBsAGQAIABiAHkAIABpAHQAcwBlAGwAZgAuAA0ACgANAAoAMgApACAATwByAGkAZwBpAG4AYQBsACAAbwByACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgBzACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAbQBhAHkAIABiAGUAIABiAHUAbgBkAGwAZQBkACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAYQBuAGQALwBvAHIAIABzAG8AbABkACAAdwBpAHQAaAAgAGEAbgB5ACAAcwBvAGYAdAB3AGEAcgBlACwAIABwAHIAbwB2AGkAZABlAGQAIAB0AGgAYQB0ACAAZQBhAGMAaAAgAGMAbwBwAHkAIABjAG8AbgB0AGEAaQBuAHMAIAB0AGgAZQAgAGEAYgBvAHYAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAbgBvAHQAaQBjAGUAIABhAG4AZAAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlAC4AIABUAGgAZQBzAGUAIABjAGEAbgAgAGIAZQAgAGkAbgBjAGwAdQBkAGUAZAAgAGUAaQB0AGgAZQByACAAYQBzACAAcwB0AGEAbgBkAC0AYQBsAG8AbgBlACAAdABlAHgAdAAgAGYAaQBsAGUAcwAsACAAaAB1AG0AYQBuAC0AcgBlAGEAZABhAGIAbABlACAAaABlAGEAZABlAHIAcwAgAG8AcgAgAGkAbgAgAHQAaABlACAAYQBwAHAAcgBvAHAAcgBpAGEAdABlACAAbQBhAGMAaABpAG4AZQAtAHIAZQBhAGQAYQBiAGwAZQAgAG0AZQB0AGEAZABhAHQAYQAgAGYAaQBlAGwAZABzACAAdwBpAHQAaABpAG4AIAB0AGUAeAB0ACAAbwByACAAYgBpAG4AYQByAHkAIABmAGkAbABlAHMAIABhAHMAIABsAG8AbgBnACAAYQBzACAAdABoAG8AcwBlACAAZgBpAGUAbABkAHMAIABjAGEAbgAgAGIAZQAgAGUAYQBzAGkAbAB5ACAAdgBpAGUAdwBlAGQAIABiAHkAIAB0AGgAZQAgAHUAcwBlAHIALgANAAoADQAKADMAKQAgAE4AbwAgAE0AbwBkAGkAZgBpAGUAZAAgAFYAZQByAHMAaQBvAG4AIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABtAGEAeQAgAHUAcwBlACAAdABoAGUAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAoAHMAKQAgAHUAbgBsAGUAcwBzACAAZQB4AHAAbABpAGMAaQB0ACAAdwByAGkAdAB0AGUAbgAgAHAAZQByAG0AaQBzAHMAaQBvAG4AIABpAHMAIABnAHIAYQBuAHQAZQBkACAAYgB5ACAAdABoAGUAIABjAG8AcgByAGUAcwBwAG8AbgBkAGkAbgBnACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAuACAAVABoAGkAcwAgAHIAZQBzAHQAcgBpAGMAdABpAG8AbgAgAG8AbgBsAHkAIABhAHAAcABsAGkAZQBzACAAdABvACAAdABoAGUAIABwAHIAaQBtAGEAcgB5ACAAZgBvAG4AdAAgAG4AYQBtAGUAIABhAHMAIABwAHIAZQBzAGUAbgB0AGUAZAAgAHQAbwAgAHQAaABlACAAdQBzAGUAcgBzAC4ADQAKAA0ACgA0ACkAIABUAGgAZQAgAG4AYQBtAGUAKABzACkAIABvAGYAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIABvAHIAIAB0AGgAZQAgAEEAdQB0AGgAbwByACgAcwApACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAcwBoAGEAbABsACAAbgBvAHQAIABiAGUAIAB1AHMAZQBkACAAdABvACAAcAByAG8AbQBvAHQAZQAsACAAZQBuAGQAbwByAHMAZQAgAG8AcgAgAGEAZAB2AGUAcgB0AGkAcwBlACAAYQBuAHkAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACwAIABlAHgAYwBlAHAAdAAgAHQAbwAgAGEAYwBrAG4AbwB3AGwAZQBkAGcAZQAgAHQAaABlACAAYwBvAG4AdAByAGkAYgB1AHQAaQBvAG4AKABzACkAIABvAGYAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIABhAG4AZAAgAHQAaABlACAAQQB1AHQAaABvAHIAKABzACkAIABvAHIAIAB3AGkAdABoACAAdABoAGUAaQByACAAZQB4AHAAbABpAGMAaQB0ACAAdwByAGkAdAB0AGUAbgANAAoAcABlAHIAbQBpAHMAcwBpAG8AbgAuACAADQAKAA0ACgA1ACkAIABUAGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAG0AbwBkAGkAZgBpAGUAZAAgAG8AcgAgAHUAbgBtAG8AZABpAGYAaQBlAGQALAAgAGkAbgAgAHAAYQByAHQAIABvAHIAIABpAG4AIAB3AGgAbwBsAGUALAAgAG0AdQBzAHQAIABiAGUAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABlAG4AdABpAHIAZQBsAHkAIAB1AG4AZABlAHIAIAB0AGgAaQBzACAAbABpAGMAZQBuAHMAZQAsACAAYQBuAGQAIABtAHUAcwB0ACAAbgBvAHQAIABiAGUAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIAB1AG4AZABlAHIAIABhAG4AeQAgAG8AdABoAGUAcgAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlACAAcgBlAHEAdQBpAHIAZQBtAGUAbgB0ACAAZgBvAHIAIABmAG8AbgB0AHMAIAB0AG8AIAByAGUAbQBhAGkAbgAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAZABvAGUAcwAgAG4AbwB0ACAAYQBwAHAAbAB5ACAAdABvACAAYQBuAHkAIABkAG8AYwB1AG0AZQBuAHQAIABjAHIAZQBhAHQAZQBkACAAdQBzAGkAbgBnACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlAC4ADQAKAA0ACgBUAEUAUgBNAEkATgBBAFQASQBPAE4ADQAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYgBlAGMAbwBtAGUAcwAgAG4AdQBsAGwAIABhAG4AZAAgAHYAbwBpAGQAIABpAGYAIABhAG4AeQAgAG8AZgAgAHQAaABlACAAYQBiAG8AdgBlACAAYwBvAG4AZABpAHQAaQBvAG4AcwAgAGEAcgBlACAAbgBvAHQAIABtAGUAdAAuAA0ACgANAAoARABJAFMAQwBMAEEASQBNAEUAUgANAAoAVABIAEUAIABGAE8ATgBUACAAUwBPAEYAVABXAEEAUgBFACAASQBTACAAUABSAE8AVgBJAEQARQBEACAAIgBBAFMAIABJAFMAIgAsACAAVwBJAFQASABPAFUAVAAgAFcAQQBSAFIAQQBOAFQAWQAgAE8ARgAgAEEATgBZACAASwBJAE4ARAAsACAARQBYAFAAUgBFAFMAUwAgAE8AUgAgAEkATQBQAEwASQBFAEQALAAgAEkATgBDAEwAVQBEAEkATgBHACAAQgBVAFQAIABOAE8AVAAgAEwASQBNAEkAVABFAEQAIABUAE8AIABBAE4AWQAgAFcAQQBSAFIAQQBOAFQASQBFAFMAIABPAEYAIABNAEUAUgBDAEgAQQBOAFQAQQBCAEkATABJAFQAWQAsACAARgBJAFQATgBFAFMAUwAgAEYATwBSACAAQQAgAFAAQQBSAFQASQBDAFUATABBAFIAIABQAFUAUgBQAE8AUwBFACAAQQBOAEQAIABOAE8ATgBJAE4ARgBSAEkATgBHAEUATQBFAE4AVAAgAE8ARgAgAEMATwBQAFkAUgBJAEcASABUACwAIABQAEEAVABFAE4AVAAsACAAVABSAEEARABFAE0AQQBSAEsALAAgAE8AUgAgAE8AVABIAEUAUgAgAFIASQBHAEgAVAAuACAASQBOACAATgBPACAARQBWAEUATgBUACAAUwBIAEEATABMACAAVABIAEUAIABDAE8AUABZAFIASQBHAEgAVAAgAEgATwBMAEQARQBSACAAQgBFACAATABJAEEAQgBMAEUAIABGAE8AUgAgAEEATgBZACAAQwBMAEEASQBNACwAIABEAEEATQBBAEcARQBTACAATwBSACAATwBUAEgARQBSACAATABJAEEAQgBJAEwASQBUAFkALAAgAEkATgBDAEwAVQBEAEkATgBHACAAQQBOAFkAIABHAEUATgBFAFIAQQBMACwAIABTAFAARQBDAEkAQQBMACwAIABJAE4ARABJAFIARQBDAFQALAAgAEkATgBDAEkARABFAE4AVABBAEwALAAgAE8AUgAgAEMATwBOAFMARQBRAFUARQBOAFQASQBBAEwAIABEAEEATQBBAEcARQBTACwAIABXAEgARQBUAEgARQBSACAASQBOACAAQQBOACAAQQBDAFQASQBPAE4AIABPAEYAIABDAE8ATgBUAFIAQQBDAFQALAAgAFQATwBSAFQAIABPAFIAIABPAFQASABFAFIAVwBJAFMARQAsACAAQQBSAEkAUwBJAE4ARwAgAEYAUgBPAE0ALAAgAE8AVQBUACAATwBGACAAVABIAEUAIABVAFMARQAgAE8AUgAgAEkATgBBAEIASQBMAEkAVABZACAAVABPACAAVQBTAEUAIABUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUAIABPAFIAIABGAFIATwBNACAATwBUAEgARQBSACAARABFAEEATABJAE4ARwBTACAASQBOACAAVABIAEUAIABGAE8ATgBUACAAUwBPAEYAVABXAEEAUgBFAC4ADQAKAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBwAGEAcgBhAHQAeQBwAGUALgBjAG8AbQAvAGgAZQBsAHAALwBkAGUAcwBpAGcAbgBlAHIAcwAvAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBwAGEAcgBhAHQAeQBwAGUALgBjAG8AbQBQAFQAIABTAGEAbgBzACAAaQBzACAAYQAgAHQAeQBwAGUAIABmAGEAbQBpAGwAeQAgAG8AZgAgAHUAbgBpAHYAZQByAHMAYQBsACAAdQBzAGUALgAgAEkAdAAgAGMAbwBuAHMAaQBzAHQAcwAgAG8AZgAgADgAIABzAHQAeQBsAGUAcwA6ACAAcgBlAGcAdQBsAGEAcgAgAGEAbgBkACAAYgBvAGwAZAAgAHcAZQBpAGcAaAB0AHMAIAB3AGkAdABoACAAYwBvAHIAcgBlAHMAcABvAG4AZABpAG4AZwAgAGkAdABhAGwAaQBjAHMAIABmAG8AcgBtACAAYQAgAHMAdABhAG4AZABhAHIAZAAgAGMAbwBtAHAAdQB0AGUAcgAgAGYAbwBuAHQAIABmAGEAbQBpAGwAeQA7ACAAdAB3AG8AIABuAGEAcgByAG8AdwAgAHMAdAB5AGwAZQBzACAAKAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACkAIABhAHIAZQAgAGkAbgB0AGUAbgBkAGUAZAAgAGYAbwByACAAZABvAGMAdQBtAGUAbgB0AHMAIAB0AGgAYQB0ACAAcgBlAHEAdQBpAHIAZQAgAHQAaQBnAGgAdAAgAHMAZQB0ADsAIAB0AHcAbwAgAGMAYQBwAHQAaQBvAG4AIABzAHQAeQBsAGUAcwAgACgAcgBlAGcAdQBsAGEAcgAgAGEAbgBkACAAYgBvAGwAZAApACAAYQByAGUAIABmAG8AcgAgAHQAZQB4AHQAcwAgAG8AZgAgAHMAbQBhAGwAbAAgAHAAbwBpAG4AdAAgAHMAaQB6AGUAcwAuACAAVABoAGUAIABkAGUAcwBpAGcAbgAgAGMAbwBtAGIAaQBuAGUAcwAgAHQAcgBhAGQAaQB0AGkAbwBuAGEAbAAgAGMAbwBuAHMAZQByAHYAYQB0AGkAdgBlACAAYQBwAHAAZQBhAHIAYQBuAGMAZQAgAHcAaQB0AGgAIABtAG8AZABlAHIAbgAgAHQAcgBlAG4AZABzACAAbwBmACAAaAB1AG0AYQBuAGkAcwB0AGkAYwAgAHMAYQBuAHMAIABzAGUAcgBpAGYAIABhAG4AZAAgAGMAaABhAHIAYQBjAHQAZQByAGkAegBlAGQAIABiAHkAIABlAG4AaABhAG4AYwBlAGQAIABsAGUAZwBpAGIAaQBsAGkAdAB5AC4AIABUAGgAZQBzAGUAIABmAGUAYQB0AHUAcgBlAHMAIABiAGUAcwBpAGQAZQAgAGMAbwBuAHYAZQBuAHQAaQBvAG4AYQBsACAAdQBzAGUAIABpAG4AIABiAHUAcwBpAG4AZQBzAHMAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4AcwAgAGEAbgBkACAAcAByAGkAbgB0AGUAZAAgAHMAdAB1AGYAZgAgAG0AYQBkAGUAIAB0AGgAZQAgAGYAbwBuAHQAcwAgAHEAdQBpAHQAZQAgAHUAcwBlAGEAYgBsAGUAIABmAG8AcgAgAGQAaQByAGUAYwB0AGkAbwBuACAAYQBuAGQAIABnAHUAaQBkAGUAIABzAGkAZwBuAHMALAAgAHMAYwBoAGUAbQBlAHMALAAgAHMAYwByAGUAZQBuAHMAIABvAGYAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4AIABrAGkAbwBzAGsAcwAgAGEAbgBkACAAbwB0AGgAZQByACAAbwBiAGoAZQBjAHQAcwAgAG8AZgAgAHUAcgBiAGEAbgAgAHYAaQBzAHUAYQBsACAAYwBvAG0AbQB1AG4AaQBjAGEAdABpAG8AbgBzAC4ADQAKAA0ACgBUAGgAZQAgAGYAbwBuAHQAcwAgAG4AZQB4AHQAIAB0AG8AIABzAHQAYQBuAGQAYQByAGQAIABMAGEAdABpAG4AIABhAG4AZAAgAEMAeQByAGkAbABsAGkAYwAgAGMAaABhAHIAYQBjAHQAZQByACAAcwBlAHQAcwAgAGMAbwBuAHQAYQBpAG4AIABzAGkAZwBuAHMAIABvAGYAIAB0AGkAdABsAGUAIABsAGEAbgBnAHUAYQBnAGUAcwAgAG8AZgAgAHQAaABlACAAbgBhAHQAaQBvAG4AYQBsACAAcgBlAHAAdQBiAGwAaQBjAHMAIABvAGYAIABSAHUAcwBzAGkAYQBuACAARgBlAGQAZQByAGEAdABpAG8AbgAgAGEAbgBkACAAcwB1AHAAcABvAHIAdAAgAHQAaABlACAAbQBvAHMAdAAgAG8AZgAgAHQAaABlACAAbABhAG4AZwB1AGEAZwBlAHMAIABvAGYAIABuAGUAaQBnAGgAYgBvAHIAaQBuAGcAIABjAG8AdQBuAHQAcgBpAGUAcwAuACAAVABoAGUAIABmAG8AbgB0AHMAIAB3AGUAcgBlACAAZABlAHYAZQBsAG8AcABlAGQAIABhAG4AZAAgAHIAZQBsAGUAYQBzAGUAZAAgAGIAeQAgAFAAYQByAGEAVAB5AHAAZQAgAGkAbgAgADIAMAAwADkAIAB3AGkAdABoACAAZgBpAG4AYQBuAGMAaQBhAGwAIABzAHUAcABwAG8AcgB0ACAAZgByAG8AbQAgAEYAZQBkAGUAcgBhAGwAIABBAGcAZQBuAGMAeQAgAG8AZgAgAFAAcgBpAG4AdAAgAGEAbgBkACAATQBhAHMAcwAgAEMAbwBtAG0AdQBuAGkAYwBhAHQAaQBvAG4AcwAgAG8AZgAgAFIAdQBzAHMAaQBhAG4AIABGAGUAZABlAHIAYQB0AGkAbwBuAC4AIABEAGUAcwBpAGcAbgAgAC0AIABBAGwAZQB4AGEAbgBkAHIAYQAgAEsAbwByAG8AbABrAG8AdgBhACAAdwBpAHQAaAAgAGEAcwBzAGkAcwB0AGEAbgBjAGUAIABvAGYAIABP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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAA/9IAAAAAAAAAAAAAAAAAAAAA/+kAAAAAAAD/8P/wAAD/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//UAAP/q//X/6f/1AAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAD/6AAAAAAAAAAAAAAAAAAA//X/8AAAAAAAAAAAAAAAEP/yABEAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAD/9AAAAAAAAAAAAAAAAAAAAAAAAP/0//X/6P/wAAD/y//wAAAAAAAAAAD/+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+AAEAAAAAAAAAAAAAAAAAAA//UAAAAAAAD/8AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3AAOAAD/uAAAAAAAAAAAAAAAAAAA//UAAAAHAAb/8//2AAAAAP/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAAAAD/wgAAAAAAAAAAAAAAAAAA//UAAAAGAAD/8f/wAAAAAP/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAA/9IAAAAAAAAAAAAAAAAAAAAA/+gAAP/5AAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAA/9gAAAAAAAAAAAAAAAAAAAAA//AAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7D/8wAA/+H/4v/t/+L/4v/qAAAAAP/yAAAAAP/i/9j/vP+8AAD/4AAAAAAAAP/g//b/4f/j/9r/6f/n/+H/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/sv/Y/4IAQQAA/+L/xv/jAAD/8wAAAAAAAP/o/+oAFAAAACj/sAAA//AAAAAAAAAAAAAAAEb/4v/0//j/+v/x//kAKAA1//YAIwAtADoAHgAvAC0AAAAAAAAAAAAAAAD/sP+RAAD/ggAA/6z/4wAA/7D/8//2AAAAAAAAAAAAAAAA/9T/hv+pAAAAAAAAAAD/3P/Y//L/ov/C/8H/6gAAAAD/1P/MAAD/8gAA/97/6gAAAAD/8AAAAAAAAAAAAAD/rgAA/2n/hv/YAAAAKAAoAAAAJAAA/5sAAAAeAAAAAAAA/zgAAAAAAAD/hv/CAAAAAP+G/+4AAAAkAC8AAP/F/7D/OAAAAAAAAP/w/7wAAP/ZAAAAAP/Y/8X/2AAAAAD/pf+u/5EAQf/E/5n/mv+zAAD/hwAA/+P/4v+4/8IAAAAAADoAAAAAAAAAAAAAAAAAAAAAADr/h//N/73/3P+X/6wAOgAg/5QAAAAAADoAAAAAAAD/u//Y/+P/3f/aAAAAAAAA/9wAAAAAAAAACgAAAAAAAAAA//oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xAAA/2L/2AAAAAAADAAMAAAAAAAA//IAAAAOAAAAAAAA/8UAAP+uAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/xQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/ygAA/8D/kv/xAAAAAAAAAAAAAAAA/7X/6AAAAAAAAAAA/8YAAP+hAAD/xv/T/+gAAAAAAAAAAAAAAAAAAAAAAAD/xgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/1wAA/9gAGwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/pwAY/78AAAAAAAAAAAAA//r/vf/V/83/5//B/9T/9QAA/8T/7gAA//oAAAAAAAD/3//n//P/6P/cAAD/0QAA/5P/kwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAHf+eAAAAAAAAAAAAAP+8//AAHgAeADL/qP/G/23/jwAeAAwAAP+S/5n/wv+T/+f/kv/p/5L/5/+SAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9AAMAAAAAAAAAAAAAAAAABj/2f/l/+D/9P/2/+4AAAAA/9gAAAAAAAwAAAAAAAD/5//p/+n/9P/iAAAAAAAAAAD/4gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4f/hAAAAAAAAAAAAAP/n//j/0P/m/+kAAAAAAAD/zv/s//T/6AAA/+EAAP/sAAD/8AAAAAD/8AAAAAD/2AAAAAD/fgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+bAAAAAAAAAAAAAP/B/8z/8P/tAAAAAAAA/+3/kv/4//gAAP/e/7YAAP/uAAAAAP/v/9z/5QAAAAD/2AAA/7IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/kAAD/9P/l/+v/wv+o/5b/jv/4/+L/6AAA/+L/8P/3AAD/+v/m/93/5//WAAD/2AAA/6z/mgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+ZAAAAAAAAAAAAG/+9/9gAFAAGAAz/iP+m/3L/if/2AAAAAP+S/4D/gP+a/9H/gP/Q/4D/5v+SAAD/4gAg/8H/kwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJP+TAAAAAAAAAAAAAP/G/+IAAAAAAA7/8P/j/87/kgAAAAAAAP/M/6b/4//C/97/3P/n/7z/6f/oAAAAAAAA/8wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAAAAAAAAAAAAAAAAB7/9gAAAAD/9v/S/9L/xgAA/+oAAAAAAAAAAAAAAAAAAP/s/93/6P/cAAD/2gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/bAAAAAAAAAAAAAAAAP/0AAD/iv/N/87/6v/jAAAAAP/0/9r/6gAAAAD/9AAAAAD/6P/wAAAAAAAAAAD/8AAAAAD/6AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4//lAAAAAAAAAAAAAP/lAAD/5f/iAAAAAAAAAAD/1QAAAAD/9AAA/+MAAAAAAAD/8AAAAAAAAAAAAAD/4QAA/8r/sgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+zAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAA/+sAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+r/+gAAAAD/7wAA//UAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/y//wAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//r/+gAAAAD/9AAAAAAAAAAAAAAAAAAA/9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAA/+gAAAAAAAAAAAAA//8AAAAAAAD/8gAA/+kAAAAAAAD/3AAAAAD/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAABQAA//oAAAAAAAAAAAAA/+oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//oAAAAAAAAAAAAAAB4AAAAAAAAAAAAA//kAAAAAAAD/3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/bgAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3AAA/+kAAAAAAAAAAAAA//UAAAAAAAD/2wAA//UAAP/jAAD/6gAA/8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+YAAAAAAAAAAAAA//AAAAAAAAD/8AAA/+MAAAAAAAAAAAAAAAD/xAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBHAADAAUACgALAA0ADwAQABEAGgAk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AC8AHQArAAAAAAAAAAAALAAtABoAKgAAAC0AAAAtAAAALQAAAAAALAAtACwALQAsAC0ALAAtAAAAAAAAAAAAAAAAACwALQAAACoAAAAqAAAAAAAAAAAAAAAAAAAAKgAsAC0AAAAAAAAAAAAAAAAAAAAAACwALQAAAAwAAAAAAAAAAAAGAAAABwAOAAEAAwK0ABUAAAAYAAAAAAAAAAAAGAAaAAAAGwAAABYAFwAWAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAMAAAAAAAAAAAAAAAAACQACAAAAAAADAAQAAwAFAAAABgAAAAcACAAJAAoACwAaAAAAAAAAAAAAAAAAAA8ADAAAAA0ADgAAAAAAAAAAABMAAAAAAAAADwAPAAAAMAAAABAAAAARABIAEwARABQAGgAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAADAAAAAwADAAMAAwADAAAAAwAAAAAAAAAAAAoABAAAAAAAAAAAAAAAAAAAAAAADAANAA0ADQANAAAAAAAAAAAAAAAAAA8ADwAPAA8ADwAAAA8AAAAAAAAAAAARAA8AEQAAAAAAAAAAAAAAAAABAAwAAQAMAAEADAAAAAAAAwAAAAAADQAAAA0AAAANAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJABMAAgAAAAIAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAANAAUAMAAFADAABQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAACgALABQACwAUAAsAFAAAAAAAAAAAAAAAAAAGABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAmACYAAAAlACQAAAAdAAAAAAAeAB8AAAAlAAAAAAAAACUAAAAAAAAAIAAAACEAIgAjACQAIAAlAB8AAAAAAB8AJgAAACYAIAAgAAAAAAAqAAAAKAAAACkALQAAAAAAAAAtAAAAAAAAACoAAAAqACsAKAAsACoALQAAAAAAAAAAAC4AAAAuACoAKgAAACkAAAAoAAAAAAAAAAAAAAAuAC4AAAAtACwAAAAmAC4AIAAqACQALAAfAAAAJgAuACEAKgAeACgAHgAoAAAAAAAlAC0AAAAAACUALQAlAC0AJQAtACUALQAAAAAAHgAoAAAAAAAgACoAIgArACMAKAAkACwAJAAAACUALQAAAAAAHwAAAAAAAAAmAAAAJwApACcAKQAAACUALQAfAAAAAAAAAB8AAAAAAAAAHwAAAAAAHQAAAB0AAAAAACkAAAAAACAAKgAgACoAJQAtAAAAAAAAAC8AAAAAAAAAAAAgACoAIAAqACAAKgAgAAAAJAAsACQALAAkACwAAAAAAB4AKAAAAAAAJQAtAAAAAAAAAAAAJAAsAB8AAAAAAAAACQATAAAAAAAEAA8AAAAXABcAFwAYABgAGQAYABgAGQAAAAAAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAACQALAAgACoAAAAAAAAAAAAdAAAAAAApAAAAKQAAACkAAAAAACAAKgAgACoAIAAqACAAKgAAAAAAIAAqACAAKgAAACkAAAAAAAAAAAAgACoAIAAqAAAAAAAAAAAAIAAqAAAAAAAAAAAAAAAAAAAAAAAiACsAAwAAAAAAAAAAAAAABgAAAAcAEQABAGgABAAAAC8Ipgh8B/IH4AfWB8wHxgXcBSYFEASuAzACzgK4AqICjALOAn4BwAKMAowBtgGgAYoBKALOAs4CzgLOARICjAD8APwA5gKMAowBoAGKAaABigGgAYoBKAKMAOAAygKMAAEALwAlAEQATgBRALEA5QDyARABEQFLAVMBXgFiAWUBaQFtAXMBewF+AX8BggGPAZ0BngGqAa4BsAGyAbQBtQG2AcEBwwHHAcgBygHWAdcB2gHbAd4B3wHuAhQCIgKdAp4ABQFDAB4BTQAeAVQAHgHWAB4CDwAeAAEBiP+mAAUBQwAYAU0AGAFUABgB1gAYAg8AGAAFATz/+QFF//kBW//5Ab//+QHH//kABQFDABcBTQAXAVQAFwHWABcCDwAXABgBbv/6AXf/+gF6//oBff/6AYn/+gGM//oBmv/6Abz/+gG+//oB6P/6Afj/+gH6//oB/P/6Anr/+gJ+//oCgP/6AoL/+gKG//oCiP/6Aor/+gKM//oClP/6AqL/+gKs//oABQFtACgBdAAoAZEAKAHXACgCEAAoAAUBQwAkAU0AJAFUACQB1gAkAg8AJAACAHAAGwJQABsALwAD/+UAEP/VAGL/5QBv/9UBbf/6AW7/6gF0//oBd//qAXr/6gF8//UBff/qAYn/6gGM/+oBkf/6AZX/9QGa/+oBnP/1Abz/6gG+/+oBwv/1AdD/3AHS/9wB1//6Aej/6gH4/+oB+v/qAfz/6gIA//UCAv/1AgT/9QIQ//oCEv/1Ah7/1QIf/9UCIP/VAnT/9QJ6/+oCfv/qAoD/6gKC/+oChv/qAoj/6gKK/+oCjP/qApT/6gKi/+oCrP/qAAMADAAQAEAAEABgABAABQFtAB4BdAAeAZEAHgHXAB4CEAAeAAUBPP+TAUX/kwFb/5MBv/+TAcf/kwAFATz/sAFF/7ABW/+wAb//sAHH/7AAGAFu//UBd//1AXr/9QF9//UBif/1AYz/9QGa//UBvP/1Ab7/9QHo//UB+P/1Afr/9QH8//UCev/1An7/9QKA//UCgv/1Aob/9QKI//UCiv/1Aoz/9QKU//UCov/1Aqz/9QBfAAP/5QAQ/7gAYv/lAG//uAE8/+UBPv/lAUX/5QFH/+oBSf/wAVf/5QFa/+UBW//lAVz/6gFd/+UBbf/qAW7/1QF0/+oBd//VAXr/1QF7/98BfP/PAX3/1QGD/98Bif/VAYz/1QGR/+oBlf/PAZn/5QGa/9UBm//qAZz/zwGg/98BtP/fAbv/5QG8/9UBvf/lAb7/1QG//+UBwP/fAcH/6gHC/88Bw//qAcf/5QHI/98Bz/+8AdD/uAHR/7wB0v+4Adf/6gHh//AB4//wAeX/qQHo/9UB6f/fAev/3wH3/+UB+P/VAfn/5QH6/9UB+//lAfz/1QH//+oCAP/PAgH/6gIC/88CA//qAgT/zwIQ/+oCEf/qAhL/zwIe/7gCH/+4AiD/uAJz/+oCdP/PAnn/5QJ6/9UCe//wAn7/1QKA/9UCgv/VAoX/5QKG/9UCh//lAoj/1QKJ/+UCiv/VAov/5QKM/9UCk//lApT/1QKh/+UCov/VAqv/5QKs/9UAGAFu/78Bd/+/AXr/vwF9/78Bif+/AYz/vwGa/78BvP+/Ab7/vwHo/78B+P+/Afr/vwH8/78Cev+/An7/vwKA/78Cgv+/Aob/vwKI/78Civ+/Aoz/vwKU/78Cov+/Aqz/vwAFATz/5QFF/+UBW//lAb//5QHH/+UALQAPABAAEP/gABEAEABG//UASP/1AEr/9QBS//UAVP/1AFv/8ABv/+AAqf/1AKr/9QCr//UArP/1AK3/9QCy//UAtP/1ALX/9QC2//UAt//1ALj/9QC6//UAyf/1AMv/9QDN//UAz//1ANH/9QDT//UA1f/1ANf/9QDZ//UA2//1AN3/9QDf//UA/f/1AP//9QEB//UBKP/1Ah7/4AIf/+ACIP/gAiMAEAImABACKgAQAq7/9QB6AAP/2AAMABsAD/+aABD/rAAR/5oAJP+9ACb/0AAq/9AAMv/QADT/0AA3ABQAO//fADz/9AA9/+gAQAAbAET/lwBG/4AASP+AAEr/gABQ/5cAUf+XAFL/gABT/5cAVP+AAFX/lwBW/5cAV//DAFj/lwBZ/4AAWv+AAFv/gABc/4AAXf+AAGAAGwBi/9gAb/+sAIL/vQCD/70AhP+9AIX/vQCG/70Ah/+9AIj/igCJ/9AAlP/QAJX/0ACW/9AAl//QAJj/0ACa/9AAn//0AKL/swCj/7MApP+zAKX/swCm/7MAp/+zAKj/lwCp/4AArv+zAK//swCy/4AAs/+zALr/gAC7/7MAvP+zAL3/swC+/7MAwv+9AMP/swDE/70Axf+zAMb/vQDH/5cAyP/QAMn/gADK/9AAzP/QAM//gADR/4AA1/+AANr/0ADc/9AA3v/QAN//gAD3/7MA+f+XAPv/swD8/9AA/v/QAQD/0AEB/4ABA/+zAQX/lwEJ/7MBC/+zAQ3/lwESABQBE//DARX/swEX/7MBGf+zARv/swEd/5cBHv/0AR//6AEh/+gBI//oASf/0AEo/4ABKv+XASsAFAEs/8MCHv+sAh//rAIg/6wCI/+ZAib/mQIq/5oCrv+AArMAFAK2/4AAAQAN/5IAAgBwABYCUAAWAAIAcAAeAlAAHgAEADf/gQES/4EBK/+BArP/gQAiAEb/9ABI//QASv/0AFL/9ABU//QAqf/0AKr/9ACr//QArP/0AK3/9ACy//QAtP/0ALX/9AC2//QAt//0ALj/9AC6//QAyf/0AMv/9ADN//QAz//0ANH/9ADT//QA1f/0ANf/9ADZ//QA2//0AN3/9ADf//QA/f/0AP//9AEB//QBKP/0Aq7/9AAKAAX/+AAK//gAN/+IARL/iAEr/4gCIf/4AiL/+AIk//gCJf/4ArP/iAAEADf/4gES/+IBK//iArP/4gABAe4ABAAAAPIHtgewB7AHqgekB5IHpAeMB4YHfAekB3IHbAdiB1gHbAdSB2wHSAbKBpwGhgdiBjgGLgeqBigGIgYcBf4F+AYiBiIF8geqB7YHkgd8B3wHfAd8B3wHfAdyB2wHbAdsB2wHbAdsB2wGOAdSBhwGIgYiBiIGIgYiBiIGIgd8B3wHfAdyBhwHcgYcB3IGHAdsB2IHWAdYB1gHWAdsB2wHSAXyB0gF8gdIBfIGygbKBjgGLgYuBi4GygVwBWIFYgUMBQIFcAT8BO4E4ATSBEQFDATuBDYE/AT8BWIFYgTuBO4EMAQqBCQEHgQwBCoEGAQwBBgEMAQSBAgEAgQwBBID/AP8BDAEMAQwBCQD/AP8BAIFYgP8BO4EMAUMBAIE/AViA/wE4AQwBXAEJAVwBCQFcAQkBO4EMATSBBIERAQkBQwEAgUMBPwFYgPuBDAD7gQwBPwE/AT8BQIFAgQwBO4EMATuBDAEEgTuBDAE7gQwBO4EMATuBQwEAgUMBAIFDAQCBXAEJAUMBAIE/AdiB1IGIgeSB5IHkgewA+AD1gewB7AD1gekBiIFDAQCBO4EMAUCBDAEMAQwBO4EMATuBDAE7gQwBO4EMATuBDAE7gQwBDAE7gQwBO4EMATuBDAE0gQSB2wGygacAAEA8gADAAUACgALAA8AEAARABoAHQAkACUAJgAnAC4ALwAyADMANAA1ADcAOQA6ADsAPAA9AD4ARABFAEYASQBRAFIAUwBVAF4AYgBvAIIAgwCEAIUAhgCHAIkAkgCUAJUAlgCXAJgAmgCfAKAAqQC0ALUAtgC3ALgAugDAAMIAxADGAMgAyQDKAMsAzADNANAA7ADuAPAA8gD0APwA/gECAQMBBAEFAQYBBwEQARIBHgEfASEBIwErAT0BQwFEAUcBSQFMAU0BVwFZAVoBWwFcAV0BXgFfAWIBYwFlAWYBZwFqAWsBbAFtAW4BcAF1AXcBeAF5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AhMCFQIXAhkCGwIdAl8CawJtAm8CcQJzAnUCdwJ5AnsCfQJ/AoECgwKFAocCiQKLAo0CjwKRApMClQKXApkCmwKdAp8CoQKjAqUCpwKpAqsCrQKvArECswK1ArcCuQAAAAAALwAAAtQJCgcAAgIDAwUFBwcCAwMEBQIDAgMFBQUFBQUFBQUFAgIFBQUECgYFBQYFBQYGAwMFBQcGBgUGBQUFBgYHBgUFAwMDBQQDBAUEBQUDBQUCAgQDBwUFBQUDBAMFBAcEBAQDAgMFAgMFBQUFAgQEBwMFBQMGBAQFBAQCBQUCAwQEBQgICAQGBgYGBgYIBQUFBQUDAwMDBgYGBgYGBgUGBgYGBgUFBQQEBAQEBAcEBQUFBQICAgIFBQUFBQUFBQUFBQUFBAUEBgQGBAYEBQQFBAUEBgUGBQUFBQUFBQUFBgUGBQYFBgUGBQMCAwIDAgMCBQQFAwUDBQMFAwYFBgUGBQYFBgUICAUDBQMFAwUEBQQFBAUEBQMFAwYFBgUGBQYFBgUFBQQFBAUEAwUGBQUEBQMCAgMEBAIDAwQDAAUHBgUHBAUFAwMDCAkHBQUGBgUFBAYFCAUGBgUGBwYGBgUFBQUHBgYFCAgGBwUFCAUEBQQDBQUGBAUFBAUGBQUFBQQEBAYEBQQGBwQGBAQHBAUFAwQEAgMCBwcFBAQFBgQGBQUFBgUGBAUFBAMEAwUFBwYFBAYFBgUGBAYFBgUIBgkIBwYFBAUEBQQFBAYFCAYGBQYFBQUHBgcGAwUEBgUGBQYFBQQHBgIGBAYECAcFBQYFBgUIBgUEBQQGBQYFBgUGBQYFBQQFBAUEBQQFBAQDBwYGBAUEBgUHBwYFBgUFBAcHBQUGAwYHAgICAwMDBAQEBwoDAwIEBAQEBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkIBQUGBQUFBQgDBQUFBQUGBQAEAwQCAgIDBAMFBQUDBQUFBAUEBQQFBAUEBgQFBQUFBQUFBAYFBgUGBQYFBwYFBAUEBQQFBAUECAcIBwYFBgUGBQcGBQQDAgUEBQQGBQYFBQMFAwYEBQQFBAICBAQCBAQCAwQEAwQEBAQFBgICAgAACgsIAAMDAwMFBQgIAgMDBAUCBAIEBQUFBQUFBQUFBQIDBQUFBAsGBgYHBQUGBwMDBgUIBwcFBwYFBQcGCAYFBQMEAwUEAwQFBAUFAwUFAgMFAwgFBQUFAwQDBQUHBQUEAwIDBQMDBQUFBQIFBAgEBQUEBwQEBQQEAwYFAwMEBAUICQkEBgYGBgYGCAYFBQUFAwMDAwcHBwcHBwcFBwcHBwcFBgYEBAQEBAQIBAUFBQUCAgICBQUFBQUFBQUFBQUFBQUFBQYEBgQGBAYEBgQGBAcGBwUFBQUFBQUFBQYFBgUGBQcFBwUDAgMCAwIDAwYFBQMFAwUDBQMHBQcFBwUHBQcFCQgGAwYDBgMFBAUEBQQFBAUDBQMHBQcFBwUHBQcFBQUEBQQFBAIFBgUFBAUDAwIEBAQCAwMEBAAGCAcFBwQGBQMDAwkKCAYFBwYGBgQHBQgFBwcGBwgHBwcFBgUFCAYHBgkJBggGBgkGBAUFBAYFBgQFBQUFBgUFBQUEBAUGBQUFBwcFBgQEBwUFBQQFBAIDAwcIBQUFBQYFBwUFBQcGBgUGBQQEBQQGBQgHBQQGBQcFBgUHBQcFCAcKCAgHBgQFBAUFBgUGBQgGBgUGBQYFCAYIBgMGBQYFBwUHBgYFCAcCBgQGBAgIBQUGBQYFCAYFBAYFBwUHBQcFBwUHBQYEBQUFBQUFBgUEBAgGBgUFBAYFCAcHBgYGBgUICAUFBwQHCAICAgMDAwUFBQgLAwMCBAQEBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUKCQYFBwUFBQUJBAUFBQUFBwYABQMEAgICAwQDBgUFAwYFBgUFBQYEBQQGBAYEBQUFBQUFBQQHBQcFBwUHBQgGBgQGBAYFBgUGBQkHCQcHBgcFBwUIBgUEAwIFBAYEBwUHBQUDBQMGBQUEBQQCAgMEAgQEAgQEBAQEBAUEBQYCAgIAAAsNCAADAwMEBgYJCQIDAwQGAgQCBAYGBgYGBgYGBgYCAwYGBgUMBgYGBwYGBwcDAwcGCQcIBggHBgYHBgkHBgYDBAMGBAMGBgUGBgQGBgMDBQMJBgYGBgQFAwYFCAUFBQQDBAYDAwYGBgYDBQUJBAUGBAgFBQYEBAMGBQMDBAQFCQkKBQYGBgYGBgkGBgYGBgMDAwMHBwgICAgIBggHBwcHBgYHBgYGBgYGCQUGBgYGAwMDAwYGBgYGBgYGBgYGBgYFBgUGBgYGBgYGBQYFBgUHBgcGBgYGBgYGBgYHBgcGBwYHBgcGAwMDAwMDAwMHBQYDBgMGAwUDBwYHBgcGCAYIBgoJBwQHBAcEBgUGBQYFBgUGAwYDBwYHBgcGBwYHBgYGBQYFBgUDBgcGBgUGAwMCBAQFAwMDBAQABgkHBggFBgYDAwMKCggHBgcGBgYFBwYJBgcHBwcJBwgHBgYGBgkHCAcKCgcIBgYKBgYGBQQGBgcFBgYFBgcGBgYGBQQFBwUGBQgIBQcFBQgFBgYEBQUDAwMICAYFBQYHBQgGBwYHBgcFBgYFBAUEBgYJCAYFBwYIBgcFCAYIBgkHCwkJCAYFBgQGBQYFBwUJBgcGBwYHBgkHCQcDBwYHBgcGBwYHBgkHAwYGBgYJCQYGBwYHBgkHBgUGBQcGBwYIBggGCAYGBQYFBgUGBQcFBQQIBwcFBgUHBgkICAYHBgcFCQkGBgcEBwkCAgIEBAQFBQUIDQMDAgQEBAQGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCwoHBgcGBgYGCQQGBgYGBggGAAUDBQMCAwQFAwYGBgQHBgcGBgUGBQYFBgUGBgYGBgYGBgYFCAYIBggGCAYIBwYFBgUGBQYFBgUKCAoIBwYHBggGCAcGBQMDBgUGBQcGBwYGAwYDBgUGBQYFAgIEBAIEBAMEBQUEBQUFBQYGAgMCAAAMDgkAAwMEBAcHCQoDAwMEBgMEAwQHBwcHBwcHBwcHAwMGBgYFDQcHBwgGBgcIAwMHBgkICAcIBwcHCAcKBwcHAwUEBgUDBQYFBgYEBgYDAwUECgYGBgYEBQQGBgkGBgUEAwQGAwQHBwcHAwYFCgUGBgQIBQUGBQUDBwYDAwUFBgoKCwUHBwcHBwcKBwYGBgYDAwMDCAgICAgICAYICAgICAcHBwUFBQUFBQkFBgYGBgMDAwMHBgYGBgYGBgYGBgYGBgYGBwUHBQcFBwUHBQcFCAcIBgYGBgYGBgYGBwYHBgcGCAYIBgMDAwMDAwMDBwUGBAYEBgQGBAgGCAYIBggGCAYLCgcEBwQHBAcFBwUHBQcFBwQHBAgGCAYIBggGCAYHBwUHBQcFAwcHBgcFBwQDAgUFBQMEBAUFAAcKCAYJBQcHAwQDCwwJBwcIBwcHBQcGCQYICAcHCQgICAcHBwcJBwgHCwsICQcHCwcFBgUEBwYIBQYGBgYHBgYGBgUFBggGBwYICQUHBQUIBQYGBAYFAwMDCQkGBgYGBwUIBgcGCAcHBQcGBQQGBQcGCggGBQcGCAYIBQgGCAcKCAwKCgcHBQcFBwYHBggGCggIBwcGBwYJBwkHAwcGBwcIBggHBwYJCAMHBQcFCgkGBggGCAYJCAYFBwYIBggGCAYIBggGBwUHBgcGBwYHBgUECQcHBgYFCAYKCQgHBwcHBQkKBwYIBAgKAgICBAQEBgYFCQ4EBAIFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBgwLBwYIBgYGBgoEBgYGBgYIBwAGAwUDAgMEBQQHBgYEBwYHBgcGBwUGBQcFBwUGBgYGBgYGBQgGCAYIBggGCQcHBQcFBwYHBQcFCwgLCAgGCAYIBgkHBgUDAwYFBwUIBwgGBgQHBAcGBgUGBQICBAQDBAUDBAUFBAUFBQUGBwIDAgAADQ8KAAMDBAQHBwoLAwQEBQcDBQMFBwcHBwcHBwcHBwMDBwcHBg4HCAcJBwcICAMDBwYKCAkHCQcHBwgHCwcHBwQFBAcFBAYHBgcHBAcHAwMGBAsHBwcHBAUEBwYKBwYGBQMFBwMEBwcHBwMGBQoFBgcFCQUGBwUFAwcGAwQFBQYLCwsGBwcHBwcICwcHBwcHAwMDAwkICQkJCQkHCQgICAgHBwgGBgYGBgYKBgcHBwcDAwMDBwcHBwcHBwcHBwcHBwYHBgcGBwYIBgcGBwYHBgkICQcHBwcHBwcHBwgHCAcIBwgHCQcDAwMDAwMDAwcGBgQGBAYEBwQIBwgHCAcJBwkHDAsHBAcEBwQHBQcFBwUHBQcEBwQIBwgHCAcIBwgHBwcGBwYHBgMHCAcHBQcEAwMFBQYDBAQFBQAHCgkHCQYIBwMEAwwMCgcHCAcHCAYJBwsHCAgHCAoICQgHBwcHCgcJCAsMCAoHCAwHBgcGBQcHCQYHBwYGCAcHBwcGBQYJBwcHCQkGCQYGCQYHBwUGBQMDAwoKBwYGBwgGCQcHBwgHCAYHBwYFBgUIBwsJBwYIBwkHCQYJBwkHCwkNCwsJBwYHBQcGBwYIBwsICAcIBwgHCggKCAMIBggHCAcJBwgGCggDBwYHBgsKBwcIBwgHCwkHBgcGCAcIBwkHCQcJBwgGBwYHBgcGCAcGBQoJCAcHBggHCwoJBwgIBwYKCwcHCQUJCwMDAwQEBAYGBgoPBAQCBQUFBQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcNDAgHCQcHBwcLBQcHBwcHCQgABgQGAwMDBAYECAcHBAgHCAcHBggGBwYHBgcGBwcHBwcHBwYJBwkHCQcJBwoJCAYIBggGBwYHBgwJDAkJBwgHCQcKCQcGAwMHBQcGCQcIBwYEBwQHBgcGBwYDAwQEAwQFAwUGBQUGBgYGBwgCAwIAAA4QCwAEBAQFCAgLCwMEBAUHAwUDBQgICAgICAgICAgDBAcHBwYPCAgICQgHCQkDBAkHCwkKCAoIBwgJCAwJBwgEBQQHBgQHCAYHBwQICAQEBwQLCAgICAUGBQgHCgcHBgUDBQcEBAgICAgDBwYLBQcHBQoGBgcGBgQIBwQEBgYHDAwMBggICAgICAwICAgICAMDAwMJCQoKCgoKBwoJCQkJBwgJBwcHBwcHCwYHBwcHBAQEBAgICAgICAgHCAgICAgHCAcIBwgHCAcIBggGCAYJCAkICAcIBwgHCAcJCAkICQgJCAkIAwQDBAMEBAQJBwcEBwQHBAcECQgJCAkICggKCA0MCAUIBQgFBwYHBgcGBwYIBQgFCQgJCAkICQgJCAcIBggGCAYDCAkIBwYIBQQDBQYGAwQEBgUACAsJCAoGCAcDBAQNDgsJCAkICAgGCQgLCAkJCQgLCQoJCAgICAsJCggMDQkKCAgNCAcIBwUIBwkGBwcHBwkHCAcIBgYHCQcIBwsLBwkHBwoHBwgFBwYEBAQKCwgHBwcJBwoICAcKBwkHCAgGBQcFCAcLCggGCQcKCAkHCgcKCAwJDgwLCQgGBwYHBwcHCQcMCQkHCQcICAsICwgDCAcJBwkHCgcIBwsJBAgHCAcMCwgHCQcJBwsJCAYIBwkHCQcKCAoICggIBwgHCAcIBwgHBgUKCQkHCAYJBwwKCggJCAkHCwsICAkFCQsDAwMFBQUHBwYLEAQEAwYGBgYICAgICAgICAgICAgICAgICAgICAgICAgICAgHDgwIBwkHBwcHDAUHBwcHBwoIAAcEBgMDAwUGBAgIBwQICAgHCAcIBwgGCAYIBwgHCAcIBwgGCggKCAoICggKCQgHCAcIBwgHCAcNCg0KCQcJBwoICgkIBgMEBwYIBgkICQgHBAgFCAcIBggGAwMFBQMFBgMFBgYFBgYGBggIAwQDAAAPEQsABAQFBQgIDAwDBAQFCAMFAwUICAgICAgICAgIAwQICAgHEAkJCQoICAkKBAQJCAsKCggKCQgICgkNCQgIBAYFCAYEBwgHCAgFCAgEBAcEDAgICAgFBgUIBwsHBwcFAwUIBAUICAgIBAcGDAYHCAULBgYIBgYECAcEBAYGBw0NDQcJCQkJCQkNCQgICAgEBAQECgoKCgoKCggKCgoKCggICQcHBwcHBwwHCAgICAQEBAQICAgICAgICAgICAgIBwgHCQcJBwkHCQcJBwkHCgkKCAgICAgICAgICQgJCAkICggKCAQEBAQEBAQECQcIBAgECAQIBAoICggKCAoICggODQkFCQUJBQgGCAYIBggGCAUIBQoICggKCAoICggICAcIBwgHBAgJCAgGCAUEAwYGBgQFBQYGAAkMCggLBwkIBAQEDg8LCQgKCQgJBwoIDAgKCgkJCwoKCggJCAgLCQoJDQ4JCwgJDQgHCAcFCAgJBwgIBwcJCAgICAcFBwsHCAcLCwcKBwcLBwgIBQcGBAQECwwIBwcICQcKCAkICggJBwgIBwYHBgkIDAoIBwkICggKBwoICwgNCg8NDAoJBwgGCAcIBwoIDQkKCAkICQgMCQwJBAkHCQgKCAoICQcMCgQJBwkHDQwICAoICggMCQgHCAcKCAoICggKCAoICQcIBwgHCAcJBwcGCwoJCAgHCQgNCwoICgkJBwsMCAgKBQoMAwMDBQUFBwcHCxEEBAMGBgYGCAgICAgICAgICAgICAgICAgICAgICAgICAgICA8NCQgKCAgICA0FCAgICAgLCQAHBAcEAwQFBwUJCAgFCQgJBwgHCQcIBwkHCQcICAgICAgIBwoICggKCAoICwoJBwkHCQcIBwgHDQsNCwoICggKCAsKCAcEBAgGCQcKCAoICAQIBQkHCAcIBwMDBQUDBQYEBQcGBQcHBwYICQMEAwAAEBIMAAQEBQUJCQwNAwQEBggEBgMGCQkJCQkJCQkJCQQECAgIBxEJCQkKCAgKCgUECggNCgsJCwkJCQoJDQoJCQUGBQgHBAgJBwkIBQkIBAQIBQ0ICQkJBQcFCAcLCAcHBgMGCAQFCQkJCQQIBw0GCAgGCwcHCAYGBAkIBAUGBggNDg4HCQkJCQkJDgkICAgIBQUFBQsKCwsLCwsICwoKCgoJCQkICAgICAgNBwgICAgEBAQECQgJCQkJCQgJCAgICAcJBwkICQgJCAkHCQcJBwoJCwkICAgICQgICAoJCgkKCQoICggFBAUEBQQEBAoICAUIBQgFCAUKCAoICggLCQsJDw4JBQkFCQUJBwkHCQcJBwkFCQUKCAoICggKCAoICQkHCQcJBwQJCgkJBwkFBAMGBgcEBQUGBgAJDQsIDAcJCQUFBBAQDAoJCgkJCQcLCA0JCgoKCg0KCwoJCQkJDQoLCQ4PCgwJCQ4JCAkIBggICwcICAgICggJCAkHBgcLCAkICwwICgcHDAcICAYIBwQEBAwMCAgHCAoICwkKCAsJCggJCQcGCAYJCA0LCQcKCAsJCwgLCAsJDgsQDQ0LCQcJBgkICQgKCA0KCggKCAkIDAoMCgUKCAoICgkLCQkIDQsECQgJCA4NCAgKCAoIDQsJBwkICggKCAsJCwkLCQkHCQcJBwkHCQgHBgwKCggJBwoIDQsLCQoJCggNDQkJCwYLDQMDAwUFBQgIBwwSBQUDBgYGBgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgQDgoICwgICAgOBggICAgICwkABwUHBAMEBQcFCQkIBQoICQgJBwkHCQcJBwkICAgICAgICQcLCQsJCwkLCQwKCQcJBwkICQcJBw4MDgwLCAoICwkMCgkHBQQIBwkHCgkKCAgFCQUJBwkHCQcDAwUFAwUGBAYHBwYHBwcHCAkDBAMAABEUDQAFBQUGCQkNDgQFBQYJBAYEBgkJCQkJCQkJCQkEBAkJCQcSCgoKCwkJCgwFBQoJDQsMCgwKCQkLCg4KCgkFBgUJBwUICQgJCQUJCQUFCAUOCQkJCQUHBgkIDQkICAYDBgkFBQkJCQkECAcOBwgJBgwHBwkHBwUJCAUFBwcIDg4PBwoKCgoKCg4KCQkJCQUFBQULCwwMDAwMCQwLCwsLCgoKCAgICAgIDggJCQkJBQUFBQkJCQkJCQkJCQkJCQkICQgKCAoICggKCAoICggLCgsJCQkJCQkJCQkKCQoJCgkMCQwJBQUFBQUFBQUKCAkFCQUJBQkFCwkLCQsJDAkMCRAPCgUKBQoFCQcJBwkHCQcJBgkGCwkLCQsJCwkLCQoJCAkICQgECQoJCQcJBgUDBwcHBAUFBwcACg4LCQwICgkFBQUQEQwKCQsKCgoICwkOCQsLCgoNDAwLCgoJCQ0KDAoODwoNCQoPCggJCAYJCQsICQkICAoJCQkJCAcICwkJCA0NCAsICAwICQkGCAcFBQUMDQkICAkLCAsJCgkLCgsICgkIBggHCgkODAkICgkMCQsIDAkMCQ8MEQ4OCwoICQcKCAkICwkOCwsJCggKCQ0LDQsFCggLCQsJDAkKCA4LBQoICggODgkJCwkLCQ4LCQgKCAsJCwkMCQsJCwkKCAkICQgJCAoICAYNCwsJCQgLCA4NDAkLCgoIDQ4KCQsGCw4DAwMGBgYICAgNFAUFAwcHBwcJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJEQ8KCQwJCQkJDwYJCQkJCQwKAAgFBwQDBAYHBQoJCQUKCQoICQgKCAkICggKCAkJCQkJCQkIDAkMCQsJCwkNCwoICggKCAoICggPDA8MCwkLCQwJDQsJCAUFCQcKCAsJDAkJBQkGCggJBwkHAwMGBgQGBwQGBwcGCAcIBwkKAwUDAAASFQ4ABQUFBgoKDg8EBQUGCQQGBAYKCgoKCgoKCgoKBAUJCQkIEwsKCgsKCQsMBQULCQ4MDAoMCwoKDAoPCwoKBQcFCQcFCQoICgkGCgoFBQgFDgoJCgoGCAYKCQ0JCAgGAwYJBQUKCgoKBAkHDwcJCQYNBwgJBwcFCgkFBQcHCQ8PEAgLCwsLCwsPCgoKCgoFBQUFDAwMDAwMDAkMDAwMDAoKCwkJCQkJCQ4ICQkJCQUFBQUKCgkJCQkJCQkKCgoKCAoICwkLCQsJCggKCAoICwsMCgoJCgkKCQoJCwoLCgsKDAoMCgUFBQUFBQUFCwgJBQkFCQUJBQwKDAoMCgwJDAkRDwsGCwYLBgoICggKCAoICgYKBgwKDAoMCgwKDAoKCggKCAoIBAoLCgoICgYFAwcHCAQGBQcHAAoODAoNCAoKBQUFERIOCwoMCwoKCAwKDwoMDAsLDgwMDAoKCgoPCwwLEBALDgoKEAoJCgkHCQkMCAoKCAkMCgkKCggHCAwJCgkNDgkMCAgMCQkKBwkIBQUFDQ4KCAgKCwkMCQsJDAoLCQoJCAcJBwoKDwwKCAsJDAoMCAwJDQoQDBIPDwwKCAoHCgkKCQwJDwwMCQsJCwoOCw4LBQsICwkMCgwKCwkODAULCQsJDw4KCQwJDAkPDAoICgkMCgwKDAkMCQwJCggKCAoICggLCQgHDgwLCQoICwkPDQwKDAoLCA4OCgoMBgwPAwMDBgYGCQkIDhUFBQMHBwcHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCRIQCwkMCQkJCQ8GCQkJCQkNCgAIBQgEAwQGCAUKCgkGCwoLCQoICggKCAoICwkKCQoJCgkKCAwJDAkMCQwJDgwKCAoICgkKCQoJEAwQDAwJDAoMCQ4MCggFBQkHCggLCgwKCQUKBgoJCggKCAMDBgYEBgcEBggIBggICAgKCwMFAwAAExYOAAUFBgYKCg8PBAUFBwoEBwQHCgoKCgoKCgoKCgQFCgoKCBQLCwsMCgoMDQYGCwoPDA0LDQsKCwwLEAwLCgYHBgoIBQkKCQsKBgoKBQUJBhAKCgoKBggGCgkOCQkJBwUHCgUGCgoKCgUJCA8HCQoHDQgICgcHBQoJBQUHCAkQEBEICwsLCwsLEAsKCgoKBgYGBg0MDQ0NDQ0KDQwMDAwLCwsJCQkJCQkPCQoKCgoFBQUFCwoKCgoKCgoKCgoKCgkKCQsJCwkLCQsJCwkLCQwLDQoKCgoKCgoKCgwKDAoMCg0KDAoGBQYFBgUGBQsJCgYKBgoGCgYMCgwKDAoNCg0KEhALBgsGCwYKCAoICggKCAsGCwYMCgwKDAoMCgwKCwoJCgkKCQUKDAoKCAsGBQQHCAgEBgYIBwALDw0KDggLCgYGBhITDgsLDAsKCwgNCg8KDQ0LDA8NDQ0LCwsLDwwODBESDA8LCxELCQoJBwoKDAgKCgkJDAoKCgoJCAkNCQoJDg4JDQkJDgkKCgcJCAUFBQ4PCgkJCgwJDQoLCg0LDAkLCggHCQcLChANCggMCg0KDQkNCg0KEA0TEA8NCwkKCAsJCgkMChAMDAoMCQsKDwwPDAYLCQwKDAoNCwwJDw0FCwkLCRAPCgoMCgwKDwwKCAsJDQoNCg0KDQoNCgsJCwkLCQsJDAkIBw8NDAoKCAwJEA4NCwwLCwkPEAsKDQcNEAQEBAYGBgkJCQ4WBgYEBwcHBwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoTEQsKDQoKCgoQBwoKCgoKDQsACQUIBAQFBggGCwoKBgwKDAkLCQsJCggLCQsJCgoKCgoKCggNCg0KDQoNCg8NCwkLCQsJCwkLCREOEQ4MCgwKDQoPDQoIBgUKCAsJDAoNCgoGCwYLCQoICggEBAYGBAYHBAcICAcICAkICgsEBQQAABQXDwAFBQYHCwsPEAQGBgcKBQcEBwsLCwsLCwsLCwsEBQoKCgkVDAwLDQsKDA0GBgwKEA0NCw0MCgsNCxEMCwsGCAYKCAYJCwkLCgYLCwUFCgYQCwsLCwcIBwsJDwoJCQcFBwoFBgsLCwsFCggQCAoKBw4ICQoICAULCgUGCAgKERESCQwMDAwMDBELCwsLCwYGBgYNDQ0NDQ0NCg4NDQ0NCwsMCQkJCQkJEAkKCgoKBQUFBQsLCwsLCwsKCwsLCwsJCwkMCQwJDAoLCQsJCwkNDA0LCwoLCgsKCwoMCwwLDAsNCw0LBgUGBQYFBgUMCgoGCgYKBgoGDQsNCw0LDQsNCxMRDAcMBwwHCggKCAoICggLBwsHDQsNCw0LDQsNCwsLCQsJCwkFCwwLCggLBwUECAgJBQYGCAgACxANCw8JDAoGBgYTEw8MCw0MCwwJDQsQCg4ODAwQDQ0NCwsLCw8MDgwREg0QCwsSCwkLCggLCg0JCwsKCg0LCwsLCQgJDgoLCQ8PCg0JCQ8JCgsICQgFBgUPDwsKCQsMCg4LDAoOCwwKCwsJCAoIDAsQDgsJDAoOCw0KDgoOCxEOFBEQDQsJCwgLCgsKDQsRDQ0KDAoMCw8MDwwGDAoMCg0LDgsMCRANBQwJDAkREAsKDQoNChANCgkLCg4LDgsNCw4LDgsLCQsJCwkLCQwJCQcQDQwKCwkNChEPDgsNDAwKEBALCw0HDRAEBAQHBwcKCgkPFwYGBAgICAgLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsKFBIMCg4KCgoKEQcKCgoKCg4MAAkGCQUEBQcJBgwLCgYMCwwJCwkLCQsJCwkMCQsKCwoLCgoJDQsNCw4LDgsQDQsJCwkMCQsJCwkSDxIPDQoNCw0LEA0LCQYFCggLCQ0LDQsKBgsHCwkKCQoJBAQHBwQHCAUHCQgHCQkJCQsMBAUEAAAVGBAABgYGBwsLEBEFBgYHCwUIBQcLCwsLCwsLCwsLBQULCwsJFgwMDA4LCw0OBgYNCxEODgwODQsMDgwRDQwLBggGCwkGCgwJCwsHCwsGBgoGEQsLDAsHCQcLChAKCgkHBQcLBgYLCwsLBQoJEQgKCwgPCQkLCAgGDAoGBggIChISEgkMDAwMDAwSDAsLCwsGBgYGDg4ODg4ODgsODg4ODgwMDAoKCgoKChEJCwsLCwUFBQUMCwsLCwsLCwsLCwsLCgwKDAoMCgwKDAkMCQwJDgwOCwsLCwsLCwsLDQsNCw0LDgsPDAYFBgUGBQYGDQoLBgsGCwYLBg4LDgsOCw4LDgsUEg0HDQcNBwsJCwkLCQsJDAcMBw4LDgsOCw4LDgsMCwkLCQsJBQsNCwsJDAcGBAgICQUHBggIAAwRDgsPCQwLBgYGExQQDQwODAwMCQ4LEQsODg0NEQ4ODgwMDAwQDQ4NEhMNEQwMEwwKCwoICwsOCQsLCwsNCwsLDAkICg4KDAoPEAoOCgoQCgsMCAoJBgYGDxAMCwoLDQoOCw0LDgwNCgwLCQgKCAwLEQ8LCQ0LDgwOCg4LDwwSDhUREQ4MCQwIDAoMCg4LEg0NCw0KDAsQDRANBg0LDQsOCw4MDQoRDgUMCgwKEhELCw0LDQsRDgsJDAoOCw4LDgsOCw4LDAoMCgwKDAoNCgkIEQ4NCwsJDQsREA8MDQwNChERDAwOCA4RBAQEBwcHCgoJEBgGBgQICAgICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCxUTDQsOCwsLCxIHCwsLCwsPDAAKBgkFBAUHCQYMDAsHDQwNCgwKDAoLCQwJDAoLCwsLCwsLCQ4LDgsOCw4LEQ4MCgwKDAoMCgwKExATEA4LDgsOCxEOCwkGBQsJDAkOCw4LCwYMBwwKCwkLCQQEBwcFBwgFBwkJBwkJCgkLDAQFBAAAFhkRAAYGBwcMDBESBQYGCAsFCAUIDAwMDAwMDAwMDAUGCwsLChcNDQ0ODAsNDwYGDQsRDw8MDw0MDA8NEg4MDAcIBwsJBgoMCgwLBwwMBgYLBhEMDAwMBwkHDAsQCwoKCAUICwYHDAwMDAULCRIICwsIDwkJCwkJBgwLBgYJCQsSExMKDQ0NDQ0NEw0MDAwMBgYGBg4PDw8PDw8LDw8PDw8MDA0KCgoKCgoRCgsLCwsGBgYGDAwMDAwMDAsMDAwMDAoMCg0KDQoNCg0KDQoNCg4NDgwMCwwLDAsMCw0MDQwNDA8MDwwGBgYGBgYGBg0LCwYLBgsGCwYPDA8MDwwPDA8MFRMNBw0HDQcMCQwJDAkMCQwHDAcPDA8MDwwPDA8MDAwKDAoMCgUMDQwMCQwHBgQICQkFBwcJCQANEg8MEAoNDAYGBhQVEQ0MDw0MDQoPDBIMDw8NDhEPDw8MDQwMEg4PDRMUDhEMDRQNCgwLCAwLDwoMDAsLDgwMDAwKCQoOCwwKEBELDwsKEAoLDAgKCQYGBhARDAsKDA4LDwwNCw8MDgsMDAoICwgNDBIPDAoOCw8MDwsPCxAMEw8WExIPDQoMCQwLDAsODBIODgsNCw0MEQ0RDQYNCw4LDwwPDA0KEg8GDQoNChMRDAsOCw4LEg8MCgwKDwwPDA8MDwwPDA0KDAoMCgwKDQoKCBEPDgsMCg4LEhAPDA4NDQsREQwMDwgPEgQEBAcHBwsLChEZBwcECQkJCQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsXEw0LDwsLCwsTCAsLCwsLEA0ACgYKBQQFBwoHDQwLBw0MDQoMCg0KDAoNCg0KDAsMCwwLDAoPDA8MDwwPDBEPDQoNCg0KDQoNChQQFBAODA8MDwwRDwwKBgYLCQ0KDgwPDAsGDAcNCwwKDAoEBAcHBQcJBQgKCQgKCgoJDA0EBgQAABcaEQAGBgcIDQ0SEwUGBggMBQgFCA0NDQ0NDQ0NDQ0FBgwMDAoYDQ0NEAwMDg8GBw4MEg8QDRAODA0PDRMODQ0HCQcMCQYLDAoMDAcMDQYGCwcTDQwMDAgKCAwLEQsLCggFCAwGBw0NDQ0GCwkTCQsMCBAKCgwJCQYNCwYHCQkLExQUCg0NDQ0NDRMNDAwMDAYGBgYPDxAQEBAQDBAPDw8PDQ0OCwsLCwsLEgoMDAwMBgYGBg0NDAwMDAwMDAwMDAwLDAsNCw0LDQsNCg0KDQoQDg8MDAwMDAwMDAwODA4MDgwPDRANBgYGBgYGBwYOCwwHDAcMBwwHDw0PDQ8NEAwQDBUUDggOCA4IDAoMCgwKDAoNCA0IDwwPDA8MDwwPDA0NCg0KDQoGDQ4MDAoNCAYECQkKBQcHCQkADRIPDBEKDQwGBwcVFhEODQ8NDQ0KDwwSDBAQDg4SDxAPDQ0NDRIOEA4UFQ4SDQ0VDQsMCwgMDA8KDQ0LDA8NDA0MCgkLEAsNCxERCw8LCxELDA0ICwoGBgYREg0LCwwOCxAMDgwQDQ4LDQwKCAsJDQwTEAwKDgwQDA8LEAwQDRQQFxMTDw0KDQkNCw0LDwwTDw8MDgsODRIOEg4GDgsODA8MEA0OCxIPBg0LDQsTEgwMDwwPDBIPDAoNCxANEA0QDBAMEAwNCw0LDQsNCw4LCggSDw4MDAoODBMREA0PDQ4LEhMNDA8IDxMEBAQICAgLCwoRGgcHBAkJCQkNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0MGBQODBAMDAwMFAgMDAwMDBANAAsHCgUEBggKBw0MDAcODQ4LDQsNCwwKDQoNCwwMDAwMDAwKEAwQDBAMEAwSDw0LDQsNCw0LDQsVERURDwwPDRAMEg8MCgYGDAoNChANDw0MBw0IDQsMCgwKBAQICAUICQUICgoICgoKCgwNBAYEAAAYHBIABgYHCA0NExQFBwcIDAUJBQkNDQ0NDQ0NDQ0NBQYMDAwKGg4ODg8NDA8QBgcPDBMQEA0QDg0NEA4UDw0NBwkHDAoHDA0LDQwIDQ0GBgsHEw0NDQ0ICggNCxEMCwsIBggMBgcNDQ0NBgwKEwkLDAkRCgoMCQkGDQwGBwkKCxQUFQoODg4ODg4UDg0NDQ0GBgYGEBAQEBAQEAwQEBAQEA0NDgwMDAwMDBMLDAwMDAYGBgYNDQ0NDQ0NDA0NDQ0NCw0LDgwODA4MDgsOCw4LDw4QDQ0MDQwNDA0MDw0PDQ8NEA0QDQYGBgYGBgcGDwsMBwwHDAcMBxANEA0QDRANEA0WFQ4IDggOCA0KDQoNCg0KDQgNCBANEA0QDRANEA0NDQsNCw0LBg0PDQ0KDQgGBQkJCgYIBwoJAA4TEA0RCw4NBgcHFhcSDw0QDg0OCxANEw0QEA8PExAQEA0ODQ0SDxAPFRYPEg0NFQ4MDQwJDQwQCw0NCwwPDQ0NDQsKCxAMDQwSEgwQCwsRCwwNCQsKBgcGEhINCwsNDwwQDQ4MEQ0PDA0NCwkMCQ4NFBENCw8MEA0QCxAMEQ0VEBgUExAOCw0KDQwNDBANFA8PDA8MDw0TDxMPBg4MDwwQDRANDwwTDwYODA4MFBMNDA8MDwwTEA0LDgsQDRANEA0QDRANDQsNCw0LDQsPDAsJEhAPDA0KDwwUERENDw4PCxMTDQ0QCRAUBQUFCAgIDAwLEhwHBwQJCQkJDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDBkVDgwQDAwMDBUIDAwMDAwRDgALBwsGBQYICwcODQwIDw0PDA0LDQsNCw4LDgwNDA0MDQwNCxANEA0QDRANEhANCw0LDgsOCw4LFREVERANEA0QDRIQDQoGBgwKDgsPDRANDAcNCA4LDQoNCgUFCAgFCAkGCAsKCAsKCwoNDgUGBAAAGR0TAAcHCAgODhMUBQcHCQ0GCQUJDg4ODg4ODg4ODgUGDA0NCxsPDw4QDQ0PEQcHDw0UEREOEQ8NDhEOFQ8ODggKCA0KBwwOCw0NCA0OBwcMBxQODQ4NCQoIDgwSDQwLCQYJDQcIDg4ODgYMChQKDA0JEgoLDQoKBw4MBwcKCgwVFRYLDw8PDw8PFQ4NDQ0NBwcHBxARERERERENEREREREODg8MDAwMDAwUCw0NDQ0HBwcHDg4NDQ0NDQ0NDg4ODgwODA8MDwwPDA4LDgsOCxAPEA4NDQ0NDQ0NDQ8NDw0PDREOEQ4HBwcHBwcHBw8MDQcNBw0HDQcRDhEOEQ4RDRENFxUPCQ8JDwkNCg0KDQoNCg4IDggRDhEOEQ4RDhEODg4LDgsOCwYODw0NCg4IBwUKCgsGCAgKCgAOFBENEgsPDQcHBxcYEw8OEA8ODwsRDRQOEREPEBQRERAODg4OFA8RDxYXEBMODhYODA0MCQ4NEAsODgwNEA4NDg4LCgwQDQ4MEhMMEQwMEgwNDgkMCgcHBxITDgwMDQ8MEQ0PDREODwwODgsJDAoODRQRDgsPDRENEQwRDRIOFhEZFRQRDgsOCg4MDgwQDRUQEA0PDA8OEw8TDwcPDBANEQ4RDg8MFBEGDwwPDBUUDQ0QDBAMFBAOCw4MEQ4RDhENEQ0RDQ4MDgwODA4MDwwLCRMRDw0OCxANFRIRDhAODwwUFA4OEQkRFQUFBQkJCQwMCxMdBwcFCgoKCg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg0aFg8NEQ0NDQ0VCQ0NDQ0NEg4ADAcLBgUGCAsIDw4NCA8ODwwODA4MDgsOCw8MDQ0NDQ0NDgsRDRENEQ0RDRMRDgwODA8MDgwODBYSFhIQDREOEQ0TEQ4LBwcNCg4LEA4RDg0HDggODA4LDgsFBQkJBQgKBgkLCgkLCwsLDg8FBgUAABoeFAAHBwgJDg4UFQYHBwkNBgkGCQ4ODg4ODg4ODg4GBw0NDQscDw8PEQ4NEBEIBxANFBESDhIPDg4RDxYQDg4ICggNCwcNDgwODAgODgcHDAgWDg0ODgkKCQ4MEw0MCwkGCQ0HCA4ODg4GDQsVCgwNCRILCw0KCgcODQcHCgoMFhYXCw8PDw8PDxYPDg4ODggICAgRERISEhISDRIRERERDg8PDQ0NDQ0NFAwMDAwMBwcHBw8ODQ0NDQ0NDQ4ODg4MDgwPDQ8NDw0PDA8MDwwRDxEODgwODA4NDgwQDhAOEA4RDhEOCAcIBwgHBwcQDA0IDQgNCA0IEQ4RDhEOEg0SDRgWDwkPCQ8JDgoOCg4LDgoOCQ4JEQ4RDhEOEQ4RDg4OCw4LDgsGDhAODgoOCQcFCgoLBggICgoADxURDhMLDw4ICAcYGRQQDhEPDg8LEQ4VDhEREBAUERIRDg8ODhQQEhAWFxAUDg8XDw0NDQoODBELDg4MDREODQ4ODAoMEg0ODRQUDREMDBMMDA4KDAoHBwcTFA4MDA4QDRINEA0SDxANDw4LCg0KDw0VEg4LEA0SDhEMEg0SDhYSGhYVEQ8MDgoODA4NEQ4WEBENEA0QDhQQFBAIEA0QDREOEg4QDRURBw8NDw0WFA4MEQ0RDRURDgsPDBEOEQ4SDRINEg0PDA4MDgwODBANCwoUERANDgsQDRYTEg4RDxAMFBYODhEJERUFBQUJCQkNDQwUHggIBQoKCgoODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4NGxcQDRINDQ0NFgkNDQ0NDRIPAAwHCwYFBgkLCA8ODQgQDhANDgwPDA4LDwwPDQ4MDgwODA4LEg0SDRINEg0UEQ8MDwwPDA8MDwwXExcTEQ4SDhINFBEOCwgHDQsPDBEOEQ4NCA4JDwwOCw4LBQUJCQYJCgYJCwsJDAsMCw4PBQcFAAAbHxQABwcICQ8PFRYGCAgJDgYKBgoPDw8PDw8PDw8PBgcODg4MHRAQDxIODhESCAgQDhUSEg8SEA4PEg8WEA8PCAoIDgsIDQ4MDg4JDg8HBw0IFg8ODg4JCwkPDRQODQwJBgkOBwgPDw8PBg0LFgoNDgoTCwsOCwsHDw0HCAsLDRcXGAwQEBAQEBAXDw4ODg4ICAgIEhISEhISEg4SEhISEg8PEA0NDQ0NDRUMDg4ODgcHBwcPDw4ODg4ODg4PDw8PDQ8NEA0QDRANDwwPDA8MEhASDw4ODg4ODg4OEQ4RDhEOEg8SDwgHCAcIBwgHEA0OCA4IDggOCBIPEg8SDxIOEg4ZFxAJEAkQCQ4LDgsOCw4LDwkPCRIPEg8SDxIPEg8PDwwPDA8MBw8RDg4LDwkHBQoLCwYJCAsKAA8WEg4UDBAOCAgIGRoUEA8SEA8QDBIOFg4SEhARFRISEg8PDw8VEBMQFxkRFQ8PGA8NDg0KDw4SDA8PDQ4RDw4PDgwLDRIODw0UFA0SDQ0TDQ4PCg0LBwgHFBUPDQ0PEQ0SDhAOEw8RDQ8PDAoNChAOFhMPDBEOEw8SDRMOEw8XEhsXFhIPDA8LDw0PDRIOFxERDhANEA8UEBUQCBANEQ4SDxIPEA0WEgcQDRANFxUODhEOEQ4WEg4MDw0SDxIPEg4SDhIODw0PDQ8NDw0QDQwKFRIRDg8MEQ4WFBMPERAQDRUWDw4SChIWBQUFCQkJDQ0MFR8ICAULCwsLDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDhwYEA4SDg4ODhcJDg4ODg4TEAANCAwGBQcJDAgQDg4JEA8QDQ8NDw0PDA8MEA0ODg4ODg4ODBIOEg4SDhIOFRIPDQ8NEA0PDQ8NGBMYExIOEg8SDhUSDwwIBw4LDwwSDxIPDggPCQ8NDgwODAUFCQkGCQsGCgwLCgwMDAwPEAUHBQAAHCAVAAcHCQkPDxYXBggICg4GCgYKDw8PDw8PDw8PDwYHDg4ODB4QEBASDw4REwgIEQ4WExMQExEPDxIPFxEQDwkLCQ4LCA4PDA8OCQ8PCAcNCBYPDg8PCQwJDw4UDg0NCgYKDgcJDw8PDwcODBcLDQ4KFAwMDgsLCA8OBwgLCw0XGBkMEBAQEBAQGBAPDw8PCAgICBITExMTExMOExISEhIQEBEODg4ODg4WDA4ODg4ICAgIEA8ODg4ODg4ODw8PDw0PDRAOEA4QDhAMEAwQDBIQEg8PDg8ODw4PDhEPEQ8RDxMPEw8ICAgICAgIBxENDggOCA4IDggTDxMPEw8TDhMOGhgRCREJEQkPDA8MDwwPDBAJDwkSDxIPEg8SDxIPEA8NDw0PDQcPEQ8PDA8JBwULCwwHCQkLCwAQFhMPFAwQDwgICBobFREPEhAQEAwTDxcPExMRERYTExIQEA8PFRETERkaEhYQEBkQDg4NCg8OEgwPDw0OEg8ODw8MCw0TDg8OFBUOEg0NFA0ODwoNDAgIBxUWDw0NDxEOEw4RDhMQEQ4QDwwKDgsQDhcTDwwRDhMPEw0TDhQPGBMcFxcSEAwQCxAOEA4SDxcSEg4RDhEPFhEWEQgRDREPEw8TEBEOFhMHEA4QDhgWDw4SDhIOFxIPDBANEw8TDxMOEw4TDhANDw0PDQ8NEQ4MChYSEQ4PDBEOFxQTEBIQEQ0W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Dw8ZDhAQEBAICAgIERERERERERAREREREQ4RDhIPEg8SDxEOEQ4RDhQSFBEREBEQERAREBMRExETERURFREJCAkICQgJCBMPEAkQCRAJEAkVERURFREVERURHRsSCxILEgsQDRANEA0QDRELEQsUERQRFBEUERQRERENEQ0RDQgRExEQDRELCAYMDA0HCgkMDAASGRURFw4SEAkJCR0eFxMRFBIREg4VERkRFRUTExkVFRQRERERGBMVEhwdExgREhwSDxEPCxEQFQ4REQ8QFBEREREODA4VEBEPFxcPFA4OFg8QEQsPDQgJCBcYEQ8OEBMPFRETEBUREw8REQ4LDwwSERkVEQ4TEBURFQ8VEBYRGxUeGhkUEg4RDBEPEQ8UEBoUFBATDxMRGBMYEwkTDxMQFREVERMPGRQIEg8SDxoZERAUEBQQGRURDhEPFREVERURFREVERIOEQ4RDhEOEg8OCxgUExARDhMQGhcWERQSEw8ZGRERFQsUGQYGBgsLCw8PDhgkCQkGDAwMDBERERERERERERERERERERERERERERERERERERAgGxMQFRAQEBAbCxAQEBAQFhIADgkOBwYICg4JEhEQChMREw8RDhIOEQ4SDhIPERAREBEQEQ4VERURFREVERgUEg4SDhIPEg8SDxwWHBYUERURFREYFBEOCQgQDRIOFBEVERAJEQsRDxENEQ0GBgsLBwoMBwsODQsODg4NERIGCAYAACAlGAAJCQoLEREZGgcJCQsQBwwHCxEREREREREREREHCBAQEA4iExMSFRERFBYJCRQRGRYWEhYTERIVEhsUEhEKDAoQDQkQEQ4REAoREgkJDwkaEhEREQsNCxEPGBAPDgsICxAJChEREREIEA0aDA8QDBYNDhANDQkSEAkJDQ0PGxscDhMTExMTExsSEREREQkJCQkVFhYWFhYWEBYVFRUVEhITEBAQEBAQGQ4QEBAQCQkJCRISEREREREQEREREREPEQ8TEBMQExASDhIOEg4VExURERAREBEQERAUERQRFBEWEhYSCQkJCQkJCQkUDxEJEQkRCREJFhIWEhYSFhEWER4bEwsTCxMLEQ0RDRENEQ0SCxILFREVERURFREVERIRDhEOEQ4IERQREQ0SCwkGDA0OBwoKDQwAEhoVERcOExEJCQkeHxgUEhUTEhMOFREaERYWFBQZFhYVEhISEhkUFhMcHRQZEhIdEhAREAwREBUOEREPEBURERERDg0PFhASEBgYEBUPDhcPEBIMDw0JCQkXGRIPDxEUEBYRExAWEhQQEhEODA8MEhEaFhEOFBAWERUPFhAXEhwWHxsaFRIOEg0SDxIPFREbFBQQFBATEhkTGRMJEw8UERYRFhITEBoVCBMQExAbGREQFBAUEBoVEQ4SDxYRFhEWERYRFhESDhIPEg8SDxMQDgwZFRQQEQ4UEBsYFhIUExQPGRoSERUMFRoGBgYLCwsQEA4YJQoKBg0NDQ0REREREREREREREREREREREREREREREREREREQIRwTEBYQEBAQGwsQEBAQEBcTAA8JDggGCAsOChMREQoTEhMQEg8SDhEOEg4TEBEQERAREBEOFhEWERYRFhEZFRIOEg4TDxIPEg8dFx0XFREWERYRGRURDgkJEQ0SDhUSFhIRCRILEg8RDhEOBgYLCwcLDQgLDg0LDg4PDhETBggGAAAhJhkACQkKCxISGhsHCQkMEQcMBwwSEhISEhISEhISBwgREREOIxMTExYSERQWCQkUERoWFxIXFBISFRMbFBISCg0KEQ0JEBIPERELERIJCRAKGhISEhELDgsSEBgRDw4LBwsRCQoSEhISCBAOGw0QEQwXDg4RDQ0JEhAJCQ0NEBwcHQ4TExMTExMcExISEhIJCQkJFhYXFxcXFxEXFRUVFRISFBAQEBAQEBoPEREREQkJCQkTEhISEhISERISEhISDxIPExATEBMQEw8TDxMPFhMWEhIREhESERIRFBEUERQRFhIWEgkJCgkJCQkJFBARChEKEQoRChYSFhIWEhcSFxIfHBQLFAsUCxIOEg4SDhIOEgsSCxUSFRIVEhUSFRISEg4SDhIOCBIUERIOEgsJBg0NDggKCg0NABMaFhIYDxMSCQoJHyAZFBIWExITDxYSGxIWFhQVGhYXFhITEhIaFBcUHR4VGRITHRMQEhAMEhEWDhISEBAVEhISEg8NDxYRExAYGRAWDw8YEBESDBAOCQkJGBkSEA8SFBAXEhQRFxMUEBISDwwQDRMSGxcSDxQRFxIWEBcRFxIcFiAcGxYTDxINEhASEBURHBUVERQQFBIaFBoUCRQQFREWEhYSFBAaFgkTEBMQHBoSERURFREbFhIOExAWEhYSFxIXEhcSEw8SDxIPEg8UEA8MGRYUERIPFRAbGBcSFRMUEBoaEhIWDBYbBgYGCwsLEBAPGSYKCgYNDQ0NEhISEhISEhISEhISEhISEhISEhISEhISEhISESIdFBEWERERERwMEREREREXEwAPCQ8IBggLDgoTEhELFBIUEBIPEw8SDxMPExASERIREhESDhcSFxIXEhcSGRYTDxMPExATEBMQHRgdGBYRFhIXEhkWEg8JCREOEw8WEhYSEQoSCxMQEg4SDgYGCwsHCw0IDA4ODA8ODw4SEwYJBgAAIicaAAkJCgsTExocBwoKDBEIDAcMExMTExMTExMTEwcJERERDyQUFBMWEhIVFwkKFRIbFxcTFxQSExYTHBUTEwoNChEOChESDxIRCxITCQkQChwTEhISDA4MEhAZEhAPDAgMEQkKExMTEwgRDhsNEBEMGA4OEQ0NCRMRCQoNDhAcHR4PFBQUFBQUHRMSEhISCQkJCRYXFxcXFxcRFxYWFhYTExQREREREREbDxEREREJCQkJExMSEhISEhESEhISEhASEBQRFBEUERMPEw8TDxYUFhISERIREhESERUSFRIVEhcTFxMJCQkJCQkKCRUQEgoSChIKEgoXExcTFxMXEhcSIB0UDBQMFAwSDhIOEg4SDhMMEwwWEhYSFhIWEhYSExMPEw8TDwgTFRISDhMMCQcNDQ4ICwoODQATGxcSGQ8UEgkKCh8hGhUTFhQTFA8XEhsSFxcVFRsXFxYTExMTGxUXFR4fFRoTFB4TERIRDRIRFg8SEhARFhISEhIPDhAXEhMQGRoRFhAQGBAREw0QDgkJCRkaExAQEhURFxIUERcTFRETEg8NEA0UEhwYEg8VERcSFxAXERgTHRchHBwWEw8TDhMQExAWEhwVFhEVERUTGhUaFQkUEBUSFxIXExURGxYJFBEUER0bEhEWERYRGxYSDxMQFxIXEhcSFxIXEhQQExATEBMQFRAPDRoWFRESDxURHBkYExYUFRAbHBMSFwwWHAcHBwwMDBERDxonCgoGDQ0NDRMTExMTExMTExMTExMTExMTExMTExMTExMTExEjHhQRFxEREREdDBERERERGBQAEAoPCAcICw8KFBISCxUTFRETEBQQEg8TDxQREhESERIREg8XEhcSFxIXEhoWFBAUEBQQExATEB4YHhgWEhcTFxIaFhIPCQkSDhMPFhMXExIKEwwTEBIPEg8HBwwMBwsNCAwPDgwPDw8PEhQGCQYAACMoGgAJCQsMExMbHAgKCgwSCA0HDBMTExMTExMTExMICRISEg8lFBQUFxMSFRgKChUSHBgYFBgVExMXFB0WFBMLDQsSDgoRExATEgsTEwkJEQocExMTEwwPDBMRGhIQEAwJDBIJCxMTExMIEQ4cDhESDRkPDxIODgkTEQkKDg4RHR4fDxQUFBQUFB4UExMTEwoKCgoXGBgYGBgYEhgXFxcXFBQVERERERERHBASEhISCQkJCRQTExMTExMSExMTExMQExAUERQRFBEUEBQQFBAXFRcTExITEhMSExIVExUTFRMYExgTCgkKCQoJCgkVERIKEgoSChIKGBMYExgTGBMYEyEeFQwVDBUMEw8TDxMPEw8TDBMMFxMXExcTFxMXExQTEBMQExAJExUTEw8TDAkHDg4PCAsLDg4AFBwXExkPFBMKCgogIhoVExcUExQPFxMcExgYFRYcGBgXFBQTExsWGBUfIBYbExQfFBETEQ0TEhcPExMREhcTExMTEA4QGBITERoaERcQEBkREhMNEQ8JCgkaGxMREBMWERgTFRIYFBYRFBMPDRENFBMdGBMPFhIYExcRGBIZEx4YIh0cFxQQEw4UERQRFxIdFhYSFREVExsWGxYKFREWEhgTGBMVERwXCRQRFBEeHBMSFhIWEhwXEw8UERgTGBMYExgTGBMUEBMQExATEBURDw0bFxUSEw8WEh0aGBMWFBURHBwUExcNFx0HBwcMDAwRERAbKAoKBg4ODg4TExMTExMTExMTExMTExMTExMTExMTExMTExMSJB8VEhgSEhISHgwSEhISEhkUABAKDwgHCQwPCxQTEgsVExURExAUEBMPFBAUERMSExITEhMPGBMYExgTGBMbFxQQFBAUERQRFBEfGR8ZFxIYExgTGxcTDwoJEg4UEBcTGBMSChMMFBETDxMPBwcMDAgMDggMDw8MEA8QDxMUBwkGAAAkKRsACgoLDBQUHB0ICgoNEggNCA0UFBQUFBQUFBQUCAkSEhIQJhUVFRcTExYYCgoWExwYGRQZFRMUFxQeFhQUCw4LEg8KEhMQExILExQKChELHRQTExMMDwwTERoTERAMCQwSCgsUFBQUCRIPHQ4REg0ZDw8SDg4KFBIKCg4OER4fIBAVFRUVFRUeFRMTExMKCgoKGBgZGRkZGRIZFxcXFxQUFRISEhISEh0QEhISEgoKCgoUFBMTExMTEhMTExMTERMRFRIVEhUSFRAVEBUQFxUYExMSExITEhMSFhMWExYTGBQYFAoKCgoKCgoKFhETCxMLEwsTCxgUGBQYFBkTGRMiHxUMFQwVDBMPEw8TDxMPFAwUDBcTFxMXExcTFxMUFBAUEBQQCRQWExMPFAwKBw4ODwgLCw4OABQdGBMaEBUTCgsKISMbFhQYFRQVEBgTHRMYGBYWHBgZGBQVFBQcFhkWHyAXHBQVIBQSExINExIYEBMTERMXExMTExAOERgTFBIbGxIYEREaERIUDREPCgoKGhwUERETFhIZExYSGRQWEhQTEA0RDhUTHRkTEBYSGRMYERkSGRQfGCMeHRgVEBQOFBEUERcTHhcXEhYSFhQcFhwWChYRFhMYExkUFhIdGAkVEhUSHh0TEhcSFxIdGBMQFBEYExgTGRMZExkTFREUERQRFBEWEhANHBgWEhMQFxIeGhkUFxUWERwdFBMYDRgeBwcHDAwMEhIQGykLCwcODg4OFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEiUgFhIYEhISEh8NEhISEhIZFQARChAIBwkMEAsVExMLFhQWEhQRFRETEBUQFRITEhMSExITEBkTGRMZExkTHBgVERURFREUERQRIBogGhgTGRMZExwYExAKChMPFRAXFBgUEwsUDBQRExATEAcHDAwIDA4IDRAPDRAQEA8TFQcJBwAAJSocAAoKCwwUFB0eCAoKDRMIDQgNFBQUFBQUFBQUFAgJExMTECcWFhUYFBMXGQsLFxMdGRkVGRYUFRgVHxcVFAsOCxMPChIUERQTDBQUCgoSCx4UFBQUDRANFBIbExERDQkNEwoLFBQUFAkSDx4OEhMNGg8QEw8PChQSCgsPDxIfHyAQFhYWFhYWHxUUFBQUCwsLCxgZGRkZGRkTGRgYGBgVFRYSEhISEhIdERMTExMKCgoKFRQUFBQUFBMUFBQUFBEUERYSFhIWEhURFREVERgWGBQUExQTFBMUExcUFxQXFBkUGRQLCgsKCwoLChcSEwsTCxMLEwsZFBkUGRQZFBkUIiAWDRYNFg0UEBQQFBAUEBUNFQ0YFBgUGBQYFBgUFRQRFBEUEQkUFxQUEBUNCgcODxAJDAsPDgAVHhkUGxAWFAsLCyIkHBcUGBYUFhAZFB4UGRkXFx0ZGRgVFRUUHRcZFiAiFxwVFSEVEhQSDhQTGBAUFBITGBQUFBQRDxEZExQSGxwSGBERGxITFA4REAoKChscFBIRFBcSGRQWExoVFxIVFBAOEg4VFB4aFBAXExkUGRIZExoUIBkkHx4YFREVDxUSFRIYEx8XGBMXEhYUHRcdFwsWEhcTGRQZFRYSHhgJFhIWEh8dFBMYExgTHhgUEBUSGRQZFBkUGRQZFBURFBEUERQRFhIQDhwYFxMUEBcTHxsaFRgVFxIdHhUUGQ0YHgcHBw0NDRISERwqCwsHDw8PDxQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBMmIRYTGRMTExMgDRMTExMTGhUAEQsQCQcJDBALFhQTDBYUFhIUERURFBAVERYSFBMUExQTFBAZFBkUGRQZFBwYFREVERYRFRIVEiEbIRsYExkUGRQcGBQQCwoTDxURGBQZFBMLFQ0VEhQQFBAHBw0NCAwPCQ0QDw0QEBEQFBYHCQcAACYsHQAKCgwNFRUdHwgLCw0TCQ4IDRUVFRUVFRUVFRUIChMTExEoFhYWGRQUFxoLCxcUHhoaFRoXFBUZFh8XFRUMDgwTEAsTFREUEwwUFQoKEgsfFRQVFA0QDRQSHBQSEQ0JDRMKDBUVFRUJExAfDxITDhsQEBMPDwoVEwoLDw8SICAhERYWFhYWFiAWFBQUFAsLCwsZGhoaGhoaExoZGRkZFRUXExMTExMTHhETExMTCgoKChUVFBQUFBQTFBQUFBQSFRIWExYTFhMWERYRFhEZFhkVFBMUExQTFBMXFBcUFxQaFRoVCwoLCgsKCwoXEhQLFAsUCxQLGhUaFRoVGhQaFCMhFw0XDRcNFBAUEBQQFBAVDRUNGRQZFBkUGRQZFBUVERURFREJFRcUFBAVDQoHDw8QCQwMDw8AFh4ZFBwRFhQLCwsjJR0XFRkWFRYRGRQfFRoaFxgeGhoZFRYVFR4XGhchIxgdFRYiFhMUEw4VExkRFRUSExkVFBQVEQ8SGhQVExwdExkSEhsSExUOEhAKCwocHRUSEhQYExoUFxMaFRgTFRURDhIPFhQfGhURFxMaFBkSGhMbFSEaJSAfGRYRFQ8VEhUSGRQgGBgTFxMXFR0XHRcLFxIYFBoVGhUXEx4ZChYTFhMgHhQTGBMYEx8ZFREVEhoVGhUaFBoUGhQWEhUSFRIVEhcTEQ4dGRcUFREYEx8cGhUYFhcSHh8VFRkOGR8HBwcNDQ0SEhEdLAsLBw8PDw8VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUTJyIXExoTExMTIQ0TExMTExsWABILEQkHCQ0RDBYVFAwXFRcTFRIWEhURFhEWExQTFBMUExURGhQaFBoUGhQdGRYSFhIWEhYSFhIiGyIbGRQaFRoUHRkVEQsKFBAWERkVGhUUCxUNFhIVEBUQBwcNDQgNDwkNERANEREREBUWBwoHAAAnLR0ACgoMDRUVHiAJCwsOFAkOCA4VFRUVFRUVFRUVCQoUFBQRKhcXFhoVFBgaCwsXFB8aGxYbFxUWGRYgGBYVDA8MFBALExUSFRQMFRUKChMLIBUVFRUNEA0VEx0UEhEOCQ4UCgwVFRUVCRMQHw8TFA4bEBEUDw8KFhMKCw8QEyEhIhEXFxcXFxchFhUVFRULCwsLGhobGxsbGxQbGRkZGRYWFxMTExMTEx8SFBQUFAoKCgoWFRUVFRUVFBUVFRUVEhUSFxMXExcTFhIWEhYSGhcaFRUUFRQVFBUUGBUYFRgVGhUaFQsKCwoLCgsKFxMUCxQLFAsUCxoVGhUaFRsVGxUkIRcNFw0XDRUQFRAVEBUQFg0WDRkVGRUZFRkVGRUWFREVERURChUYFRUQFg0KCA8PEQkMDBAPABYfGhUcERcVCwsLJCYdFxYaFxUXERoVHxUbGxcYHxobGhYWFhYeGBsYIiQZHhYXIxYTFRMOFRQZERUVExMZFRUVFRIQEhsUFRMdHRMaEhIcExQVDhIQCgsKHR4VExIVGBMbFRcUGxYYExYVEQ4TDxcVIBsVERgUGxUaExsUHBUiGiYhIBoWEhYQFhMWExkUIRkZFBgTGBUeGB4YCxcTGBQaFRsWGBMfGgoXExcTIR8VFBkUGRQfGRURFhMbFRsVGxUbFRsVFxIWEhYSFhIYExEOHhoYFBURGBQgHRsWGRcXEx8gFhUaDhogCAgIDQ0NExMSHi0MDAcPDw8PFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFCgjFxQaFBQUFCEOFBQUFBQcFwASCxEJCAoNEQwXFRQMGBUYExYSFxIVERYSFxMVFBUUFRQVERsVGxUbFRsVHhoXEhcSFxIWExYTIxwjHBoUGxUbFR4aFRELChQQFhIaFRoVFAsWDRYTFREVEQgIDQ0JDQ8JDhEQDhEREhEVFwcKBwAAKC4eAAsLDA0WFh8hCQsLDhQJDgkOFhYWFhYWFhYWFgkKFBQUESsXFxcaFRUYGgsMGBUgGxsWGxgVFhoXIRkWFgwPDBQQCxQWEhYUDRUWCwsTDCAWFRYVDhEOFhMdFBMSDgkOFAsMFhYWFgoUECAPExQOHBERFBAQCxYUCwsQEBMhIiMRFxcXFxcXIhcVFRUVCwsLCxobGxsbGxsUGxoaGhoWFhgUFBQUFBQgEhQUFBQLCwsLFhYVFRUVFRQVFhYWFhMWExcUFxQXFBcSFxIXEhoYGhYVFBUUFRQVFBgVGBUYFRoWGxYLCwwLCwsMCxgTFQwVDBUMFQwbFhsWGxYbFRsVJSIYDhgOGA4VERURFREVERYOFg4aFhoWGhYaFhoWFhYSFhIWEgoWGBUVERYOCwgPEBEJDQwQDwAXIBsVHRIXFQsMDCUnHhgWGhcWFxIbFSAWGhoYGSAaGxoWFxYWHxkbGCMlGR8WFyQXFBUUDxYUGhIWFhMUGhUVFRYSEBMbFBYUHR4UGhMTHRMUFg8SEQsLCx0fFhMTFRkUGxUYFBwWGRQWFhIPEw8XFSEcFhIZFBsWGxMbFBwWIhsnISAaFxIWEBYTFhMaFSIZGhQZFBgWHxkfGQsYExkVGxYbFhgUIBoKFxQXFCIgFRQaFBoUIBoWEhcTGhYaFhsVGxUbFRcTFhMWExYTGBQSDx8aGRUWEhkUIR0cFhoXGBMgIBYWGw4aIQgICA4ODhMTEh4uDAwHEBAQEBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQpIxgUGxQUFBQiDhQUFBQUHBcAEwsSCQgKDRIMFxYVDRgWGBQWExcTFhIXEhcUFRQVFBUUFhIbFRsVGxUbFR8aFxMXExcSFxMXEyQdJB0aFRsWGxUfGhYSCwsVEBcSGhYaFhUMFg4XExYRFhEICA4OCQ0QCQ4SEQ4SERIRFhcICgcAACkvHwALCw0OFhYgIQkLCw4VCQ8JDxYWFhYWFhYWFhYJCxUVFRIsGBgXGxYVGRwMDBkVIBwcFxwYFhcbFyIZFxYMEAwVEQsUFhIWFQ0WFgsLFAwhFhYWFg4RDhYUHhUTEg4KDhULDBYWFhYKFBEhEBQVDx0RERUQEAsXFAsMEBAUIiMkEhgYGBgYGCMXFhYWFgwMDAwbHBwcHBwcFRwbGxsbFxcYFBQUFBQUIRIVFRUVCwsLCxcWFhYWFhYVFhYWFhYTFhMYFBgUGBQXEhcSFxIbGBsWFhUWFRYVFhUZFhkWGRYcFhwXDAsMCwwLDAsZFBUMFQwVDBUMHBYcFhwWHBYcFiYjGA4YDhgOFhEWERYRFhEXDhcOGxYbFhsWGxYbFhcWEhYSFhIKFhkWFhEXDgsIEBARCg0NEBAAFyEbFh4SGBYMDAwmKB8ZFxsYFxgSGxYhFhwcGRogHBwbFxcXFyAZHBkkJRogFxgkFxQWFA8WFRsSFhYUFRoWFhYWEhATHBUWFB4fFBsTEx0TFRYPExELCwseIBYUExYZFBwWGRUcFxkUFxYSDxQQGBYiHBYSGRUcFhsUHBUdFiMcKCIhGxcSFxAXFBcUGxYiGhoVGRQZFiAZIBkMGRQaFRwWHBcZFCEbChgUGBQjIRYVGhUaFSEbFhIXExwWHBYcFhwWHBYYExcTFxMXExkUEg8gGxkVFhIaFSIeHBcaGBkUICEXFhsPGyIICAgODg4UFBMfLwwMCBAQEBAWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYVKiQZFRwVFRUVIw4VFRUVFR0YABMMEgoICg4SDRgWFQ0ZFxkUFxMYExYSFxIYFBYVFhUWFRYSHBYcFhwWHBYgGxgTGBMYExcTFxMkHSQdGxUcFhwWIBsWEgwLFREXEhsWHBYVDBcOFxQWEhYSCAgODgkOEAoOEhEOEhITEhYYCAoIAAAqMCAACwsNDhcXICIJDAwPFQkPCQ8XFxcXFxcXFxcXCQsVFRUSLRkZGBsXFhocDAwaFiEcHRcdGRYXGxgjGhcXDRANFREMFBcTFxUNFxcLCxQMIhcXFxcOEg4XFB8VFBMPCw8VCw0XFxcXChURIhAUFQ8dERIVERELFxULDBERFCMkJRIZGRkZGRkkGBcXFxcMDAwMGxwdHR0dHRUdGxsbGxcXGRQUFBQUFCETFRUVFQsLCwsYFxcXFxcXFRcXFxcXFBcUGRQZFBkVGBMYExgTGxkbFxcVFxUXFRcVGhcaFxoXHBccFwwLDAsMCwwLGhQWDBYMFgwWDBwXHBccFx0XHRcnJBkOGQ4ZDhYSFhIWEhYSFw4XDhsXGxcbFxsXGxcXFxMXExcTChcaFxYSFw4LCBAREgoNDREQABgiHBcfExgWDAwMJykgGhccGRcZExwXIhcdHRoaIRwdHBcYFxchGh0ZJSYaIBcYJhgUFxQQFxUcExcXFBUbFxcWFxMRFB0VFxUfIBUbExQeFBUXEBQSCwwLHyAXFBQWGhUdFxkVHRgaFRcXExAUEBgWIh0XExoVHRccFB0WHhckHCkjIhwYExcRFxQXFBsWIxsbFRoVGRchGiEaDBkUGhYcFx0XGRUiHAsZFBkUJCEXFRsVGxUiHBcTGBQdFx0XHRcdFx0XGBQXFBcUFxQZFRMQIBsaFhcTGhUjHx0XGxgaFCEiFxccDxwiCAgIDg4OFBQTIDAMDAgRERERFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFSslGRUcFRUVFSQPFRUVFRUeGAAUDBIKCAoOEg0ZFxYNGRcZFRcUGBQXExgTGRQXFRcVFxUXEx0XHRcdFx0XIBsYFBgUGBQYFBgUJh4mHhwWHRcdFyAbFxMMCxYRGBMbFxwXFgwXDhgUFxIXEggIDg4JDhEKDxISDxMSExIXGAgLCAAAKzEgAAsLDQ4XFyEjCQwMDxYKDwkPFxcXFxcXFxcXFwkLFhYWEy4ZGRgcFxYaHQ0NGhYiHR0YHRoXGBwYJBsYFw0QDRYSDBUXExcWDhcYDAsVDSMYFxcXDxIPFxUgFhQTDwoPFgsNFxcXFwoVEiMRFRYPHhISFhERDBgVCwwRERUkJSYTGRkZGRkZJBkXFxcXDQ0NDRwdHR0dHR0WHRwcHBwYGBkVFRUVFRUiExYWFhYMDAwMGBgXFxcXFxYXFxcXFxQXFBkVGRUZFRgTGBMYExwZHBcXFhcWFxYXFhoXGhcaFx0YHRgNDA0MDQwNCxoVFg0WDRYNFg0dGB0YHRgdFx0XKCUaDxoPGg8XEhcSFxIXEhgPGA8cFxwXHBccFxwXGBcTFxMXEwsXGhcXEhgPCwgRERIKDg0REQAYIh0XHxMZFw0NDSgqIBoYHBkYGRMdFyMXHR0aGyIdHRwYGBgYIhseGiYnGyEYGSYYFRcVEBcWHBMXFxUWHBcXFxcTERQdFhgVICAVHBQUHxQWGBAUEgwMCyAhGBUUFxsVHRcaFh4YGxUYFxMQFREZFyMeFxMaFh0XHRUdFh4XJR0qJCMcGRMYERgVGBUcFyQbGxYaFRoYIRshGw0aFRsWHRcdGBoVIhwLGRUZFSQiFxYbFhsWIxwXExgUHRcdFx0XHRcdFxkUGBQYFBgUGhUTECEcGxYXExsWJCAeGBwZGhUiIxgXHQ8cIwgICA8PDxUVEyExDQ0IERERERcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxYsJhoWHRYWFhYlDxYWFhYWHhkAFAwTCggLDhMNGRcWDhoYGhUYFBkUFxMZExkVFxYXFhcWFxMdFx0XHRcdFyEcGRQZFBkUGBQYFCYfJh8cFh0XHRchHBcTDQwWEhkTHBgdGBYNGA8YFRcTFxMICA8PCQ4RCg8TEg8TExQSFxkICwgAACwyIQAMDA0PGBgiJAoMDA8WChAJEBgYGBgYGBgYGBgKCxYWFhMvGhoZHRgXGx4NDRsXIx4eGR4aFxgdGSQbGRgNEQ0WEgwWGBQYFg4YGAwMFQ0kGBgYGA8TDxgVIBcVFA8KDxYMDRgYGBgKFhIjERUWEB8SExYREQwYFgwNERIVJSUnExoaGhoaGiUZGBgYGA0NDQ0dHh4eHh4eFh4dHR0dGRkaFhYWFhYWIxQWFhYWDAwMDBkYGBgYGBgWGBgYGBgVGBUaFhoWGhYZFBkUGRQdGh0YGBYYFhgWGBYbGBsYGxgeGB4YDQwNDA0MDQwbFRcNFw0XDRcNHhgeGB4YHhgeGCkmGg8aDxoPFxMXExcTFxMYDxgPHRgdGB0YHRgdGBkYFBgUGBQLGBsYFxMYDwwJERETCg4NEhEAGSMdGCATGhcNDQ0pKyEbGB0aGBoTHRgjGB4eGxsjHh4dGRkYGCIbHhsnKBwiGBknGRYYFhAYFh0TGBgVFhwYGBgYFBIVHhcYFiAhFh0UFCAVFhgQFRMMDAwgIhgVFRgbFh4YGhYeGRsWGRgTEBURGRgkHhgTGxYeGB0VHhcfGCYeKyUkHRkUGBIZFRkVHRclHBwWGxYbGCIbIhsNGhUbFx4YHhgbFiMdCxoWGhYlIxgWHBYcFiMdGBMZFR4YHhgeGB4YHhgZFBgVGBUYFRsWExAiHRsXGBMcFiQgHxgcGRsVIyQZGB0QHSQJCQkPDw8VFRQhMg0NCBEREREYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgWLScaFh4WFhYWJg8WFhYWFh8ZABQNEwoJCw8TDRoYFw4bGBsWGBUZFBgTGRQaFhgWGBYYFhgTHhgeGB4YHhgiHRkUGRQaFRkVGRUnICcgHRceGB4YIh0YEw0MFxIZFB0YHhgXDRgPGRUYExgTCQkPDwoPEQoPExIPFBMUExgaCAsIAAAtNCIADAwODxkZIyUKDQ0QFwoQChAZGRkZGRkZGRkZCgwXFxcUMBoaGh0YFxweDQ0bFyQeHxkfGxgZHRolHBkZDhEOFxINFhgUGBcOGBkMDBYNJRkYGBgPEw8YFiEXFRQQCxAXDA4ZGRkZCxYTJBEWFxAgExMXEhIMGRYMDRISFiYmJxQaGhoaGhomGhgYGBgNDQ0NHh4fHx8fHxcfHR0dHRkZGxYWFhYWFiQUFxcXFwwMDAwZGRgYGBgYFxgYGBgYFRgVGhYaFhoWGhQaFBoUHRseGBgXGBcYFxgXHBgcGBwYHhkeGQ0MDQwNDA0MGxYXDRcNFw0XDR4ZHhkeGR8YHxgqJxsPGw8bDxgTGBMYExgTGQ8ZDx0YHRgdGB0YHRgZGRQZFBkUCxkcGBgTGQ8MCRESEwoODhIRABokHhghFBoYDQ0NKiwiGxkeGhkaFB4YJBgfHxscJB4fHRkaGRkjHB8bJykcIxkaKBoWGBYRGBceFBgYFRcdGBgYGBQSFR8XGRYhIhYeFRUgFRcZERUTDA0MISMZFRUYHBYfGBsXHxkcFhkYFBEWERoYJR8YFBwXHxgeFh8XIBknHiwmJR4aFBkSGRYZFh0YJhwdFxwWGxkjHCMcDRsWHBceGB8ZGxYkHgsaFhoWJiQYFx0XHRckHhgUGRUfGB8YHxgfGB8YGhUZFRkVGRUbFhQRIx4cFxgUHBclIR8ZHRobFiQlGRgeEB4lCQkJDw8PFhYUIjQNDQgSEhISGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFy4oGxcfFxcXFycQFxcXFxcgGgAVDRQLCQsPFA4aGBcOGxkbFhkVGhUYFBoUGhYYFxgXGBcYFB8YHxgfGB8YIx4aFRoVGhUaFRoVKCAoIB4YHxkfGCMeGBQNDBcTGhQdGR4ZFw0ZDxoWGBQYFAkJDw8KDxILEBQTEBQUFBMYGggLCAAALjUjAAwMDg8ZGSQlCg0NEBcKEQoQGRkZGRkZGRkZGQoMFxcXFDEbGxoeGRgcHw0NHBgkHx8aHxsYGh4aJhwaGQ4RDhcTDRcZFRkXDxkZDAwWDSUZGRkZEBMQGRYiGBUVEAsQFwwOGRkZGQsXEyUSFhcRIBMUFxISDBkXDA0SEhYnJygUGxsbGxsbJxoZGRkZDQ0NDR4fHx8fHx8XHx4eHh4aGhsXFxcXFxclFRcXFxcMDAwMGhkZGRkZGRcZGRkZGRUZFRsXGxcbFxoVGhUaFR4bHhkZFxkXGRcZFxwZHBkcGR8ZHxkNDA0MDQwNDBwWGA0YDRgNGA0fGR8ZHxkfGR8ZKycbEBsQGxAYExgTGBMYExoQGhAeGR4ZHhkeGR4ZGhkVGRUZFQsZHBkYExoQDAkSEhQLDg4SEgAaJR8ZIRQbGA0NDSstIxwZHhsZGxQfGSUZHx8cHSQfHx4aGhoZJBwgHCgqHSMaGykaFxkXERkXHhQZGRYXHhkZGRkVEhUfGBkXIiMXHhUVIRYXGREWEwwNDCIjGRYVGRwXHxkcFyAaHBcaGRQRFhIbGSYgGRQcFyAZHxYgGCEZKB8tJiUeGhUaEhoWGhYeGCcdHRccFxwZJBwkHA0cFh0YHxkfGhwXJR4MGxcbFyclGRcdFx0XJR4ZFBoWHxkfGR8ZHxkfGRsVGRUZFRkVHBcUESMeHBgZFB0XJiIgGR0bHBYkJRoZHxEeJgkJCRAQEBYWFSM1Dg4IEhISEhkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRcvKRwXHxcXFxcnEBcXFxcXIRsAFQ0UCwkLDxQOGxkYDxwZHBcZFRsVGRQaFRsXGRcZFxkXGRQfGR8ZHxkfGSMeGxUbFRsWGhYaFikhKSEeGB8ZHxkjHhkUDQwYExoVHhkfGRgNGhAaFhkUGRQJCRAQCg8SCxAUExAUFBUUGRsJDAgAAC82IwANDQ4QGhokJgoNDREYCxEKERoaGhoaGhoaGhoKDBgYGBQyHBsbHxkYHSAODh0YJSAgGiAcGRofGycdGhoOEg4YEw0XGRUZGA8ZGg0NFw4mGhkZGRAUEBkXIxgWFRALEBgNDhoaGhoLFxMmEhYYESEUFBgTEw0aFw0NExMWJygpFBwcHBwcHCgbGRkZGQ4ODg4fICAgICAgGCAfHx8fGhocFxcXFxcXJRUYGBgYDQ0NDRoaGRkZGRkYGRkZGRkWGRYcFxwXHBcbFRsVGxUfHB8ZGRgZGBkYGRgdGR0ZHRkgGiAaDg0ODQ4NDg0dFxgOGA4YDhgOIBogGiAaIBkgGSwoHBAcEBwQGRQZFBkUGRQaEBoQHxkfGR8ZHxkfGRoaFRoVGhUMGh0ZGRQaEA0JEhMUCw8OExIAGyYfGSIVGxkODg4sLiMdGh8cGhsVHxkmGSAgHR0lICAfGhsaGiUdIBwpKx4kGhsqGxcZFxEZGB8VGhoWGB4ZGRkZFRMWIBgaFyMjFx8WFiIWGBoRFhQNDQ0iJBoWFhkdFyAZHBggGh0XGhkVERcSGxknIRkVHRggGR8XIBghGiggLicmHxsVGhMaFxoXHhknHh4YHRccGiQdJB0OHBcdGCAZIBocFyYfDBwXHBcoJRkYHhgeGCYfGRUaFiAaIBogGSAZIBkbFhoWGhYaFhwXFREkHx0YGRUdGCcjIRoeGx0XJSYaGR8RHycJCQkQEBAXFxUkNg4OCRMTExMaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoYMCocGCAYGBgYKBAYGBgYGCEbABYNFQsJDBAVDhsZGA8cGhwXGhYbFhkVGxUcFxkYGRgZGBkVIBkgGSAZIBkkHxsWGxYbFhsWGxYqIioiHxkgGiAZJB8ZFQ4NGBMbFR8aIBoYDhoQGxcZFBkUCQkQEAoQEwsRFRQRFRQVFBkbCQwJAAAwNyQADQ0PEBoaJScKDQ0RGAsRChEaGhoaGhoaGhoaCwwYGBgVMxwcGx8aGR0gDg4dGSYgIRshHRkbHxsoHhsaDxIPGBQNGBoWGhgPGhoNDRcOJxoaGhoQFBAaFyMZFhURCxEYDQ8aGhoaCxgUJxMXGBEiFBQYExMNGxgNDhMTFygpKhUcHBwcHBwpGxoaGhoODg4OICAhISEhIRghHx8fHxsbHBgYGBgYGCYWGBgYGA0NDQ0bGhoaGhoaGBoaGhoaFhoWHBgcGBwYGxYbFhsWHxwgGhoYGhgaGBoYHRodGh0aIBohGg4NDg0ODQ4NHRcZDhkOGQ4ZDiAaIBogGiEaIRotKR0QHRAdEBkUGRQZFBkUGxAbEB8aHxofGh8aHxobGhUaFRoVDBodGhkUGxANCRMTFAsPDxMTABsnIBojFRwZDg4OLC8kHRsgHBocFSAaJxohIR0eJiAhIBsbGxslHiEdKiweJRscKxsYGhgSGhggFRoaFxgfGhoaGhYTFiEZGhgjJBggFhYjFxgaEhcUDQ0NIyUaFxYaHhghGh0YIRseGBsaFRIXEhwaJyEaFR4YIRogFyEZIhopIC8oJyAbFhsTGxcbFx8ZKB4fGB0YHRolHiUeDh0XHhkgGiEbHRgmIAwcGBwYKSYaGB8YHxgnIBoVGxchGiEaIRohGiEaHBYbFhsWGxYdGBUSJSAeGRoVHhgoIyEbHxwdFyYnGxogESAnCQkJEBAQFxcWJDcODgkTExMTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGDEqHRghGBgYGCkRGBgYGBgiHAAWDhULCQwQFQ8cGhkPHRodGBsWHBYaFRsWHBgaGBoYGhgaFSEaIRohGiEaJSAcFhwWHBcbFxsXKyMrIyAZIRohGiUgGhUODRkUGxYfGiAaGQ4bEBsXGhUaFQkJEBAKEBMLERUUERUVFhUaHAkMCQAAMTglAA0NDxAbGyYoCw4OERkLEgoRGxsbGxsbGxsbGwsNGRkZFTQdHRwgGhkeIQ4OHhknISIbIh0aGyAcKR4bGw8TDxkUDhgaFhoZEBobDQ0XDigbGhsaERURGhgkGRcWEQwRGQ0PGxsbGwwYFCgTFxkSIhQVGRMTDRsYDQ4TFBcpKisVHR0dHR0dKRwaGhoaDg4ODiAhIiIiIiIZIiAgICAbGx0YGBgYGBgnFhkZGRkNDQ0NGxsaGhoaGhkaGhoaGhcbFx0YHRgdGBwWHBYcFiAdIBoaGRoZGhkaGR4aHhoeGiEbIRsODQ4NDg0ODR4XGQ4ZDhkOGQ4hGyEbIRsiGiIaLiodER0RHREaFRoVGhUaFRsRGxEgGiAaIBogGiAaGxsWGxYbFgwbHhoaFRsRDQoTExULDw8UEwAcJyEaJBYdGg4ODi0wJR4bIB0bHRYhGigbISEeHychIiAbHBsbJh4iHistHyYbHCwcGBoYEhsZIBYbGxcZIBoaGhsWFBchGRsYJCUYIBcXIxcZGxIXFQ0ODSQmGxcXGh4YIhodGSIbHhgbGxYSGBMcGigiGxYeGSIaIRgiGSMbKiEwKSggHBYbFBsYGxggGikfHxkeGB4bJh4mHg4dGB4ZIRohGx4YJyAMHRgdGCknGhkfGR8ZKCAbFhwXIRshGyIaIhoiGhwXGxcbFxsXHhgWEiYgHhkaFh8ZKSQiGx8cHhcnKBsbIRIgKAoKChERERgYFiU4Dw8JExMTExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxkyKx0ZIRkZGRkqERkZGRkZIxwAFw4WDAoMEBUPHRoZEB4bHhgbFxwXGxYcFh0YGhkaGRoZGxYiGiIaIhoiGiYgHBccFx0XHBccFywjLCMgGiEbIhomIBoWDg0ZFBwWIBshGxkOGxEcGBsVGxUKChERCxATDBEVFBEWFRYVGh0JDAkAADI5JgANDQ8RGxsnKQsODhIZCxILEhsbGxsbGxsbGxsLDRkZGRY1HR0dIRsaHyIPDx8aKCIiHCIeGxwhHCkfHBsPEw8ZFA4ZGxcbGRAbGw0NGA8pGxsbGxEVERsYJRoXFhEMERkNDxsbGxsMGRUoExgZEiMVFRkUFA0cGQ0OFBQYKissFh0dHR0dHSodGxsbGw8PDw8hIiIiIiIiGSIhISEhHBweGRkZGRkZKBcZGRkZDQ0NDRwbGxsbGxsZGxsbGxsXGxcdGR0ZHRkdFx0XHRchHSEbGxkbGRsZGxkfGx8bHxsiGyIbDw0PDQ8NDw0fGBoPGg8aDxoPIhsiGyIbIhsiGy8rHhEeER4RGxUbFRsVGxUcERwRIRshGyEbIRshGxwbFhsWGxYMGx8bGxUcEQ0KExQVDBAPFBMAHCghGyQWHRsPDw8uMSYfHCEdHB0WIRsoGyIiHx8oIiIhHB0cHCcfIh4sLiAmHB0tHBkbGRIbGSAWGxsYGSAbGxsbFxQXIhobGSUmGSEXFyQYGRsSGBUNDg0lJxsYFxsfGSIbHhkjHB8ZHBsWEhgTHRspIxsWHxkiGyEYIhojGysiMSopIR0XHBQcGBwYIBoqICAZHxkeGycfJx8PHhgfGiIbIhweGSghDR0ZHRkqKBsZIBkgGSggGxYcGCIbIhsiGyIbIhsdFxwXHBccFx4ZFhImIR8aGxYfGSklIxwgHR8YKCkcGyESISkKCgoREREYGBcmOQ8PCRQUFBQbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsZMyweGSIZGRkZKxIZGRkZGSMdABcOFgwKDBEWDx0bGhAeGx4ZHBcdFxsWHRcdGRsZGxkbGRsWIhsiGyIbIhsmIR0XHRcdGBwYHBgtJC0kIRoiGyIbJiEbFg8NGhUdFyEbIhsaDxwRHBgbFhsWCgoREQsRFAwSFhUSFhYXFhsdCQ0JAAAzOyYADg4QERwcJyoLDg4SGgsSCxIcHBwcHBwcHBwcCw0aGhoWNh4eHSEbGh8iDw8fGigiIx0jHhscIR0qIBwcEBMQGhUOGRwXGxoQGxwODhgPKRwbHBsRFREbGSUaGBcSDBIaDhAcHBwcDBkVKRQYGhIkFRYaFBQOHBkODxQUGCsrLRYeHh4eHh4rHRsbGxsPDw8PIiIjIyMjIxojISEhIRwdHhkZGRkZGSkXGhoaGg4ODg4dHBsbGxsbGhsbGxsbGBwYHhkeGR4ZHRcdFx0XIR4iHBsaGxobGhsaHxsfGx8bIhwjHA8ODw4PDg8OHxgaDxoPGg8aDyIcIhwiHCMbIxswLB4RHhEeERsVGxUbFRsVHBEcESEbIRshGyEbIRscHBccFxwXDRwfGxsVHBEOChQUFgwQEBQUAB0pIhslFx4bDw8PLzImHxwiHhweFyIbKRwjIx8gKCIjIh0dHBwoICMfLS8gJxwdLh0ZGxkTHBoiFhwcGBohHBsbHBcUGCMaHBkmJhkiGBglGBocExgVDg4OJSccGBgbIBkjGx8aIx0gGR0cFxMZFB0bKiMcFh8aIxsiGSMaJBwsIjIrKSIdFxwUHBkcGSEbKyAhGh8ZHxwnHycfDx8ZIBoiHCMcHxkpIg0eGR4ZKykbGiEaIRopIhwWHRgjHCMcIxsjGyMbHRgcGBwYHBgfGRcTJyIgGhwWIBoqJSMcIR4fGCgpHRwiEiIqCgoKERERGRkXJzsPDwkUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGjQtHxojGhoaGiwSGhoaGhokHgAYDxYMCg0RFhAeHBoQHxwfGRwYHRgcFh0XHhkbGhsaGxocFiMbIxsjGyMbJyIdGB0YHhgdGB0YLiUuJSIbIxwjGyciHBYPDhoVHRchHCIcGg8cER0ZHBYcFgoKERELERQMEhYVEhcWFxYcHgoNCQAANDwnAA4OEBEcHCgqCw8PEhoMEwsSHBwcHBwcHBwcHAsNGhoaFzceHh4iHBsgIw8PIBspIyQdJB8cHSIeKyAdHBAUEBoVDxocFxwaERwcDg4ZDyocHBwcEhYSHBkmGxgXEgwSGg4QHBwcHAwaFSoUGRoTJBYWGhQUDh0aDg8UFRksLC4XHh4eHh4eLB4cHBwcDw8PDyIjJCQkJCQaJCIiIiIdHR8aGhoaGhopFxoaGhoODg4OHRwcHBwcHBocHBwcHBgcGB4aHhoeGh4XHhceFyIfIhwcGhwaHBocGiAcIBwgHCMcIx0PDg8ODw4PDiAZGw8bDxsPGw8jHCMcIxwkHCQcMC0fEh8SHxIcFhwWHBYcFh0SHRIiHCIcIhwiHCIcHRwXHBccFw0cIBwcFh0SDgoUFRYMEBAVFAAeKiMcJhceHA8PDzAzJyAdIh4dHhcjHCocIyMgICkjJCIdHh0dKSAkHy4vISgdHi4eGhwaExwaIhccHBkaIhwcHBwXFRgjGx0ZJicaIhgYJRkaHRMZFg4ODiYoHRkYHCAaJBwfGiQdIBodHBcTGRQeHCskHBcgGiQcIxkkGyUcLSMzKyoiHhcdFR0ZHRkiGywhIRogGh8cKCAoIA8fGSAbIxwjHR8ZKiINHhoeGiwpHBohGiEaKiIcFx0ZIxwjHCQcJBwkHB4YHRgdGB0YHxkXEygiIBscFyEaKyYkHSEeIBkpKh0cIxMiKwoKChISEhkZGCc8Dw8KFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBo1Lh8aIxoaGhotEhoaGhoaJR4AGA8XDAoNERcQHhwbER8dHxkdGB4YHBceFx4aHBocGhwaHBckHCQcJBwkHCgiHhgeGB4ZHhkeGS4lLiUiGyMcJBwoIhwXDw4bFR4XIhwjHBsPHRIeGRwXHBcKChISCxEUDBIXFhIXFxgWHB4KDQoAADU9KAAODhASHR0pKwwPDxMbDBMLEx0dHR0dHR0dHR0MDhsbGxc4Hx8eIxwbICQPDyAbKiQkHiQgHB0jHiwhHh0QFBAbFg8aHRgdGxEcHQ4OGQ8rHRwdHBIWEh0aJxsZGBINEhsOEB0dHR0NGhYrFBkbEyUWFxsVFQ4dGg4PFRUZLC0uFx8fHx8fHy0eHBwcHA8PDw8jJCQkJCQkGyQjIyMjHh4fGhoaGhoaKhgbGxsbDg4ODh4dHBwcHBwbHB0dHR0ZHRkfGh8aHxoeGB4YHhgjHyMdHBscGxwbHBsgHCAcIBwkHSQdDw4PDg8ODw4gGRsPGw8bDxsPJB0kHSQdJBwkHDEtIBIgEiASHBYcFhwWHBYdEh0SIx0jHSMdIx0jHR4dGB0YHRgNHSAcHBYdEg4KFBUXDBEQFRUAHisjHCcXHxwPEA8xNCggHSMfHR8XIxwrHSQkICEqJCQjHh4dHSkhJCAuMCEpHR8vHhocGhQdGyMXHR0ZGyIdHBwdGBUZJBsdGicoGiMZGSYZGx0UGRYODw4nKR0ZGRwhGiQcIBslHiEaHh0XFBoUHxwrJR0XIRskHSMaJBslHS4kNCwrIx4YHRUeGh4aIhwsISIbIBogHSkhKSEPIBohGyQdJB0gGiojDR8aHxotKhwbIhsiGysjHRceGSQdJB0kHCQcJBwfGR0ZHRkdGSAaFxQpIyEbHRchGywnJR0iHyAZKiseHSMTIysKCgoSEhIaGhgoPRAQChUVFRUdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0bNi8gGyQbGxsbLRMbGxsbGyUfABkPFwwKDRIXEB8dGxEgHSAaHRkfGR0XHhgfGhwbHBscGx0XJBwkHCQcJBwpIx8ZHxkfGR4ZHhkvJi8mIxwkHSQcKSMdFw8OGxYeGCMdJB0bDx0SHhodFx0XCgoSEgwSFQwTFxYTGBcYFx0fCg0KAAA2PikADg4QEh0dKiwMDw8TGwwTDBMdHR0dHR0dHR0dDA4bGxsYOSAfHyMdHCEkEBAhHCskJR4lIB0eIx8tIR4dEBUQGxYPGx0YHRsRHR4ODhoQLB4dHR0SFxIdGigcGRgTDRMbDhAdHR0dDRsWLBUaGxMmFhcbFRUOHhsOEBUVGi0uLxggICAgICAuHx0dHR0QEBAQJCQlJSUlJRslIyMjIx4eIBsbGxsbGysYGxsbGw4ODg4eHh0dHR0dGx0dHR0dGR0ZIBsgGyAbHxgfGB8YIyAkHR0bHRsdGx0bIR0hHSEdJB4lHhAOEA8QDhAOIRocEBwQHBAcECQeJB4kHiUdJR0yLiASIBIgEh0XHRcdFx0XHhIeEiMdIx0jHSMdIx0eHRgdGB0YDR0hHR0XHhIOChUVFw0REBYVAB8rJB0nGB8dEBAQMjUpIR4kIB4fGCQdLB0lJSEiKyQlJB4fHh4qISUhLzEiKh4fMB8bHRsUHRskGB0dGhsjHR0dHRgVGSUcHhooKRskGRknGhseFBkXDg8OKCoeGhkdIRslHSAbJR4hGx4dGBQaFR8dLCUdGCEbJR0kGiUcJh0vJDUtLCQfGB4VHhoeGiMcLSIjGyEbIR4qISohECAaIhwkHSUeIRorJA4gGyAbLisdGyMbIxssJB0YHholHSUdJR0lHSUdHxkeGR4ZHhkhGhgUKiQhHB0YIhstKCUeIx8hGissHh0kEyQsCgoKEhISGhoYKT4QEAoVFRUVHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dGzcwIBslGxsbGy4TGxsbGxsmHwAZEBgN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Fe8VAnKy8BUBcbQAFRAVAnKwCtCwERCwDdCwDS+0bw1/DQJxsv8NAXG0qg26DQJdsQwK9LLzDAFdQQ0AAwAMABMADAAjAAwAMwAMAEMADABTAAwABnG0AwwTDAJysmUMAXFBEQAmAAwANgAMAEYADABWAAwAZgAMAHYADACGAAwAlgAMAAhytOUM9QwCcUEJAKQADAC0AAwAxAAMANQADAAEckEPAHMADACDAAwAkwAMAKMADACzAAwAwwAMANMADAAHcUEJAKMADACzAAwAwwAMANMADAAEXbLiDAFdsgsGDBESObJbCwFdsnYLAXGyZQsBcbIODQYREjmyWQ4BXUERACkADgA5AA4ASQAOAFkADgBpAA4AeQAOAIkADgCZAA4ACHKwERCxEgr0QQ0AowASALMAEgDDABIA0wASAOMAEgDzABIABl20AxITEgJysmUSAXFBEQAmABIANgASAEYAEgBWABIAZgASAHYAEgCGABIAlgASAAhytOUS9RICcUEJAKQAEgC0ABIAxAASANQAEgAEckEPAHMAEgCDABIAkwASAKMAEgCzABIAwwASANMAEgAHcUEJACMAEgAzABIAQwASAFMAEgAEcbQCEhISAnGyExIDERI5tEkTWRMCXbJlEwFxsqUTAXGyEBEDERI5QREAKQAQADkAEABJABAAWQAQAGkAEAB5ABAAiQAQAJkAEAAIcrSGEJYQAl20JhA2EAJxsg8TEBESObJmDwFdss8YAV1ZALAARViwBS8bsQUVPlmwAEVYsAwvG7EMFT5ZsABFWLACLxuxAg0+WbAARViwEi8bsRINPlmyBgUCERI5sAYvsAHcQQkAwAABANAAAQDgAAEA8AABAARdQQ0AAAABABAAAQAgAAEAMAABAEAAAQBQAAEABnG0gAGQAQJysAYQsAjcsjAIAV2wBhCwCtCyDwEGERI5skYPAV2wARCwFNCwARCwFty2vxbPFt8WA120PxZPFgJdMDE3IxUjETMVNzUzFT8BMw8BHwEjJyMVI80wUFAwPxqDVH4sNIpeih0/4eEB9OIFe3UD1MkhKOLhfwABAAAAAAJ1ArwAFgPisAorWLsAEwAJABQABCuyEBQBcbSAFJAUAl2wFBCwAdCyEBMBcbSAE5ATAl2wExCwBNCwExCwBtyywAYBXbATELAI0LATELAP3LIADwFdsp8P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) format(\"truetype\");\n}\n\n@font-face {\n font-weight: 800;\n font-family: \"PTSans-Bold\";\n font-style: normal;\n src: url(data:font/ttf;base64,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AAgAAgAMAAMAbAB8AmEAAQADAEQAUgE3AAYAAAAEAFQAPAAiAA4AAwACACgAXgABAEAAAAABAAAADQADAAIAFABKAAEARAAAAAEAAAANAAEAAQARAAMAAQAwAAEAEgAAAAEAAAANAAEAAQBSAAMAAQAYAAEAEgAAAAEAAAANAAEAAQBEAAIAAQATABwAAAAEAAAAAQAIAAEAGgABAAgAAgAMAAYCTwACAHwCTwACAFIAAQABADEAAQAAAAEACAABAAYAzwABAAEAVgAEAAAAAQAIAAEAGgABAAgAAgAMAAYCzAACAE8CywACAEwAAQABAEkAAQAAAAEACAACAAwAAwB7AHQAdQABAAMAFAAVABYABAAAAAEACAABAK4AAwBqACwADAADABgAEAAIAIAAAwJWABcAgAADAi4AFwCAAAMAEgAXAAYANgAuACYAHgAWAA4AfgADAlYAFwB/AAMCVgAVAH4AAwIuABcAfwADAi4AFQB+AAMAEgAXAH8AAwASABUABgA6ADAAJgAeABYADgAIAAMCVgATAAgAAwIuABMACAADABIAEwIrAAQCVgATABMCKwAEAi4AEwATAisABAASABMAEwABAAMAEwAUABYAAQAAAAEACAABAAYAvAABAAIBvQG+AAEAAAABAAgAAgASAAYCqQKqAncCeAKrAqwAAQAGAaUBpgGrAawBvQG+AAEAAAABAAgAAgAOAAQBKQEqASsBLAABAAQBDAENARABEQAGAAAAAgBqAAoAAwABABIAAQByAAAAAQAAAA0AAQAlAEUARwBJAEsATgBPAFcAoQCyAM8A0QDhAOMA5gDtAPEA8wD1AREBEwElASwBagF9AYoBkwGYAaABsgHOAeACFgJgAnACywLMAs4AAwABABgAAQASAAAAAQAAAA0AAQABATcAAQEIACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmgCbAJwAnQCeAJ8AoADCAMQAxgDIAMoAzADOANAA0gDUANYA2ADaANwA3gDgAOIA5ADmAOgA6gDsAO4A8ADyAPQA9gD4APoA/AD+AQABAgEEAQYBCAEKAQwBDgEQARIBFAEWARgBGgEcAR4BHwEhASMBJwEpASsBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAGXAZkBmwGdAZ8BoQGjAaUBpwGpAasBrQGvAbEBswG1AbcBuQG7Ab0BvwHBAcMBxQHHAckBywHNAc8B0QHTAdQB1gHYAdoB3AHeAeEB4wHlAecB6QHrAe0B7wHxAfMB9QH3AfkB+wH9Af8CAQIDAgUCBwIJAgsCDQIPAhECEwIVAhcCGQIbAh0CXwJrAm0CbwJxAnMCdQJ3AnkCewJ9An8CgQKDAoUChwKJAosCjQKPApECkwKVApcCmQKbAp0CnwKhAqMCpQKnAqkCqwKtAq8CsQKzArUCtwK5AAMAAAABAAgAAQAMAAMAIgAcABYAAQADABQBvQG+AAICegKsAAICeQKrAAICwQB7AAEAAAABAAgAAgAyABYCwAK/AHQAdQLOASUBKQEqASsBLALNAqcCqAKpAqoCdwJ4ArsCvAK9Ar4CzwABABYABQAKABUAFgBPAFYBDAENARABEQEwAUABjgGlAaYBqwGsAiECIgIkAiUCLgAAAu4AMgAAAAAA/QAAAP0AAAEmAFYBkgBaAjcAEwI3AEUDSAAzAy4AXAD+AFoBRwA8AUcACwF6ACgCDwArAPwAJQFoADYA9gAqAZj/6AI3ACgCNwA/AjcARQI3AE4CNwATAjcARAI3ADQCNwA8AjcAPQI3AC0BDQBdASIATQIPACgCDwArAg8AJwHGABcEIwBJAl0AAAJPADwCLwAmAocAPAIKADwB/AA8AmEAJgKLADwBHQBKAU7/6QJsADwCAgA8AyAAPAKRADwCngAmAjwAPAKeACYCWgA8AhIAGwI4AAsCcwA5Alr/9wNeAAACeQAKAlD//gIbABsBRAA8Aaj/6AFEAB0B9AAUAbwAAAE8ADwB8AAXAhgAOQGxACECGwAhAfwAIQFBAAsCGAAhAiEAOQENADEBDP/wAesAOQEmAD0DJQA5AiEAOQIZACECHAA5AhgAIQFfADkBpgAZAV0ABQIaADQB3f/yAtH/+AINAAgB3v/3AcoAHwFzACsA4wA8AXMAIwIPABwA/QAAASUALAI3AFQCNwAzAjcABQI3//IA4wA8AhIAMQHfADwDQQA3AaQAKgHoAB0CDwAtAWgANgKyAD4BuwA8AbUAPAIPACsBnAAyAZwAOAExADwCOQA0AhEAGgD9AC0BTAA8AZwAKQGjACIB6AAiA3AAJQOHACUDiQAwAcYAFwJdAAACXQAAAl0AAAJdAAACXQAAAl0AAANe/+MCLwAmAgoAPAIKADwCCgA8AgoAPAEd/+oBHQAxAR3/3AEd/9oCnf/6ApEAPAKeACYCngAmAp4AJgKeACYCngAmAg8ANgKeACYCcwA5AnMAOQJzADkCcwA5AlD//gI8ADwCdgAMAfAAFwHwABcB8AAXAfAAFwHwABcB8AAXAxEAFwGxACEB/AAhAfwAIQH8ACEB/AAhAQ3//gENAEYBDf/iAQ3/0wIzACUCIQA5AhkAIQIZACECGQAhAhkAIQIZACECDwArAhgAIQIaADQCGgA0AhoANAIaADQB3v/3AhwAOQHe//cCXQAAAfAAFwJdAAAB8AAXAl0AAAHwABcCLwAmAbEAIQIvACYBsQAhAi8AJgGxACEChwA8An8AIQKd//oCJgAhAgoAPAH8ACECCgA8AfwAIQIKADwB/AAhAgoAPAH8ACECYQAmAhgAIQJhACYCGAAhAmEAJgIYACECiwA8AiH/0wKrAAICLP/6AR3/5wEN/+UBHQAWAQ4ADQEdADkBDQBGAU7/6QEM/+YCbAA8AesAOQICADwBJgA9AgIAPAEmAD0CAgA8ASYAPQINAAMBPwAGApEAPAIhADkCkQA8AiEAOQKRADwCIQA5Ap4AJgIZACECngAmAhkAIQOTACYDSQAhAloAPAFfADkCWgA8AV8AOQJaADwBXwAhAhIAGwGmABkCEgAbAaYAGQISABsBpgAZAhIAGwGmABkCOAALAV0ABQI4AAsBaAAFAnMAOQIaADQCcwA5AhoANAJzADkCGgA0AnMAOQIaADQCcwA5AhoANAJQ//4CGwAbAcoAHwIbABsBygAfAhsAGwHKAB8A+QAMAjf/zAJhACYCGAAhAhIAGwGmABkCOAALAV0ABQEM//AA3wAmAbgAPAHBADwBzQA8AR4APAFWADwBXgA8AcQAPAHLADwAAv7PAkkADAMKADoCuAATAgoAPALkAAsBygA8AkEAJgISABsBHQBKASgAEwFO/+kDp//zA8IAPAL2AAsCbAA8Ajj/9wJ/ADwCXQAAAjoAPAJPADwBygA8ArMAAAIKADwDR//5Ag4AEgKaADwCmgA8AmwAPAJv//MDIAA8AosAPAKeACYCfwA8AjwAPAIvACYCOAALAjj/9wMiABoCeQAKAqoAPAJeAC4DXQA8A48APAKY//wDHgA8AjkAPAI+ABQDgQA8AkQABQHwABcCGQAhAfkAOQF4ADkCOP/+AfwAIQK1//oBsAAWAiEAOQIhADkB6QA5AgP/7wKaADkCGQA5AhkAIQIUADkCHAA5AbEAIQGiAAEB3v/3ArwAHAINAAgCLwA5AfkAIQLyADkDDwA5Ahv/+wK/ADkB6gA5AcsAFwLeADkB9wAKAfwAIQIm//QBeAA5AckAJQGmABkBDQA0AT4AFQEM//AC+v/vAxAAOQIm//QB6QA5Ad7/9wIUADkCiwAAAhv/+wKeACYCGQAhAnX/8wIP//kCyAA8Ak4AOQKLAAACG//7AjwAPAIcADkBygA8AXgAOQH8AAABngAAAkYAPAIWADkDWf/5Atf/+gIOABIBsAAWAnsAPAIPADkCzAA8AksAOQK0AAAB9v/yAs8AAAIc//sCuAA8AjcAOQNTADwCmAA5A8IAPAM2ADkDbAAmAsUAIAIvACYBsQAhAjgACwGiAAECUP/+Aev/+QJQ//4B6//5ApsACgIeAAgDRgALAocAAQKLAC4CIgAhAoUALgIYACACXgA8AiEAOQMaAAAChwAGAxoAAAKHAAYBHQBKAmMAPAH1ADkCi//zAib/7wKLADwCGQA5AqsAPAJAADkCXgAuAfkAIQNOADwCxgA5AQYAQgJdAAAB8AAXAl0AAAHwABcDXv/jAxEAFwIKADwB/AAhAnYAJQH8ACICdgAlAfwAIQNH//kCtf/6Ag4AEgGwABMCJAAiAeQACgKaADwCIQA5ApoAPAIhADkCngAmAhkAIQKeACYCGQAhAp4AJgIZACECPgAUAcsAFwI4//cB3v/3Ajj/9wHe//cCOP/3Ad7/9wJeAC4B+QAhAcoAPAF4ADkDHgA8Ar8AOQJ5AAoCDQAIAg4AKAGwACECev/zAgP/7wNeAAAC0f/4AqwAPAI+ADkClQA8Ak4AOQJsADwB6wA5AyAAPAMlADkCPAA8AhwAOQKgADwBaAA2ApQAbQM0AG0A3wAmAN8AJgDfACYBjAAmAYwAJgGMACYB/QAoAf0AKAHEAEkDKQA1BNAAMwEzAB0BMwAiALj/WwGcACkBnAAyAZwAOAGcABICNwACAjcALQI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcB9ABJBAMAPAO0AB0CWAAsAhoAEgKOADwCDwAUAg8AKwIPAAUCD//7A1kAIwFw/8ICDwAeAg8AKwIPACICDwAoAg8AGwK4ADwCTgA5AAL+fQH1ADwBTAA8AdwAPAELADwA3wAmAScAPAF4ADwB6gA8AV4APAJPADwCGAA5AfwAPAFBAAsCXv/vAiz/+gJeAC4B+QAhAjj/9wHe//cCPgAUAcsAFwIOABIBsAAWAi8AJgGxACECXQAAAfAAFwIKADwB/AAhAgoAPAH8ACECCgA8AfwAIQIOABIBsAAWAp4AJgIZACECngAmAhkAIQKeACYCGQAhAp4AJgIZACEDHgA8Ar8AOQI+ABQBywAXAj4AFAHLABcCQQAmAckAJQJEAAUB9wAKAkQABQH3AAoDgQA8At4AOQOBADwC3gA5Ap3/8wIz/+8CmgA8AiEAOQKeACYCGQAhAx4APAK/ADkCDgAoAbAAIQEdADkBDQBGAfwAPAGYADkCLwAmAbEAIQKHADwCGwAhAosAPAIhADkCAgA8ASYAPQI4AAsBXQAFAlr/9wHd//ICDgASAbUADgIOABIBtQAOAN8AJgDfACYBjAAmAYwAJgD+AFoBkgBaAZwAKQELADwBfwA8AdoAPAHlADwBfwA8AgUAPAHPADwB9wA8Ac4APAIpAAwCUQAMALwAzAEGAEIAuP8WAAAAAAAAA7UAAAO1AAADtQAAA7UAAATYAAAFHAAAB2IAAAsHAAALiwAADrkAAA8NAAAQGAAAEQgAABNXAAAUcgAAFkkAABbRAAAXZAAAF8gAABnxAAAazAAAHEcAAB6hAAAgqQAAIk4AACTqAAAlpgAAKlcAACzDAAAtiwAALgcAAC7TAAAvKwAAMAcAADJDAAA2aAAAOLYAADwXAAA+aAAAQLsAAEHfAABCvAAARigAAEckAABHsAAASUUAAEtCAABL+QAAT8oAAFNcAABWKQAAWAAAAFreAABdbwAAYCEAAGDDAABiYQAAZB0AAGeZAABq8AAAbOoAAG8dAABvywAAcD0AAHCgAAByFAAAclAAAHMUAAB1vQAAd2MAAHk6AAB7WwAAfiIAAH9xAACBdAAAgzMAAIOfAACD8wAAhlwAAId4AACKBQAAi7gAAI5MAACQTwAAkhIAAJMIAACWOgAAl3IAAJkJAACa3AAAnUsAAKBgAACitQAApTYAAKeRAACn8gAAqk0AAKtsAACrbAAArHsAAK5PAACwCwAAtGEAALcRAAC3hwAAu5cAALz3AADAdwAAw4YAAMVKAADFiAAAxZgAAMnwAADKbgAAzNcAAM3wAADOEAAAzjAAAM7xAADQPQAA0PwAANEQAADRzwAA0e8AANOAAADVWQAA1dUAANZNAADWvQAA2OkAANl1AADZ2QAA2kkAANqNAADbFQAA4KgAAOKLAADnPgAA544AAOfWAADoLgAA6JIAAOjuAADpSgAA6aYAAOn+AADsgQAA7MUAAO0lAADtfQAA7eEAAO45AADunQAA76gAAPN0AADz2AAA9DQAAPSoAAD1JAAA9XgAAPaxAAD4iAAA+QAAAPlYAAD5zAAA+gwAAPqUAAD7KAAA/rQAAQKaAAEC9gABA1YAAQOaAAEEDgABBGIAAQSuAAEE+gABBYIAAQdOAAEHigABB94AAQhCAAEIogABCOYAAQlSAAEKRAABDlMAAQ6zAAEPAwABD1sAAQ/PAAEQJwABEg8AARJvAAESxwABEyMAARNvAAET+wABFTkAARc4AAEXvAABGBQAARhYAAEYuAABGQwAARmAAAEZzAABGiAAARowAAEcfwABHMcAAR0TAAEdZwABHb8AASABAAEiagABItoAASMaAAEjRgABI4YAASPyAAEkQgABJJIAASTOAAElFgABJToAASaOAAEovQABKQ0AASlpAAErWAABLh8AAS5vAAEvAAABL0wAAS9wAAEvuAABMBAAATBQAAEwqAABMOwAATE8AAExgAABMgAAATMuAAE07QABNVEAATWlAAE17QABNk0AATapAAE2+QABN2UAATfRAAE4UQABOL0AATrKAAE9nQABPfUAAT59AAE+1QABPx0AAT+NAAE/6QABQD0AAUCJAAFAwQABQQEAAUYcAAFL6QABTEEAAUytAAFN4AABT2cAAU/DAAFQGwABUIcAAVDzAAFRCwABUSMAAVGrAAFSIwABUpsAAVMHAAFURAABVcEAAVZNAAFWqQABVv0AAVdRAAFXrQABV/kAAVhhAAFZ2QABW9YAAVxOAAFcugABXQoAAV1aAAFdsgABXfoAAV9oAAFfeAABYQMAAWJ3AAFj+AABZNkAAWf3AAFqAgABa6gAAWyZAAFsrQABbhgAAXEPAAFyRAABcrgAAXR1AAF0xQABd2kAAXd5AAF3iQABeR0AAXktAAF7uAABfZUAAX8UAAF/aAABf6gAAYEbAAGBKwABgwMAAYMTAAGDygABhcIAAYXSAAGINQABi0MAAY2LAAGNzwABjd8AAY9GAAGPVgABj2YAAY92AAGQTgABkF4AAZBuAAGQfgABkwMAAZZ7AAGWiwABl3AAAZhrAAGZpAABmvEAAZzNAAGfDQABoPoAAaM5AAGmEgABqI8AAaifAAGr5wABrzAAAa/dAAGxugABscoAAbYmAAG5gAABuxUAAbtVAAG93AABv08AAcGbAAHCswABwsMAAcOfAAHDrwABw78AAcSeAAHErgAByh8AAcovAAHK+QABzLEAAc4EAAHPQQAB0ZUAAdRaAAHWxwAB2PsAAdyXAAHfzgAB4GYAAeIwAAHikAAB5OUAAeT1AAHlYQAB5v8AAedTAAHqhAAB7YcAAe7xAAHvVQAB760AAfEyAAHzTAAB9coAAfh1AAH72QAB/ZcAAf9HAAIDBwACBj8AAgZPAAIJBgACC3wAAg2RAAIOWgACDxQAAg/gAAIQxwACEnsAAhQrAAIWuAACGwMAAh7MAAIjfAACJakAAigkAAIpxQACK2kAAizqAAIvigACMXAAAjObAAIzqwACNOcAAjX3AAI3EwACOMEAAjrPAAI+iQACQgQAAkTJAAJGxgACR6sAAki7AAJIywACSmUAAky8AAJOiwACUfMAAlTqAAJV7wACVrQAAlf+AAJaEAACW1MAAl0FAAJeWwACXmsAAmFBAAJkiwACaDIAAmxGAAJsVgACbjAAAnAcAAJxsAACc0kAAnSdAAJ2NwACd1cAAniqAAJ55AACe8YAAn+iAAKB8gACggIAAoJyAAKC5gACg3oAAoQGAAKEFgAChCYAAoSOAAKEzgAChswAAol4AAKJ9AACipQAAor4AAKL1AACjDwAAozsAAKO4AACkU4AApGKAAKR3gACkjIAApK6AAKTFgACk7IAApPCAAKT0gAClDIAApTCAAKVLgACleIAApYqAAKWdgAClwIAApd2AAKX6gACmEIAApjqAAKZfgACmoMAAptpAAKb9QACnJUAAqBYAAKjfwACpcsAAqhWAAKqBwACq+0AAq9aAAKxuwACss4AArPIAAK1kQACtaEAArX1AAK2SQACtpkAArbtAAK3NQACt4kAArkhAAK5MQACuZEAArnYAAK64wACu8AAArwgAAK8XAACvJAAAr1EAAK+HAACv+gAAsBPAALA1wACwXsAAsJlAALDbQACxG0AAsU0AALG5QACyWkAAspNAALNAAACz5wAAtGBAALRkQAC0aEAAtGxAALRwQAC0dEAAtHhAALR8QAC0gEAAtIRAALSIQAC0jEAAtJBAALSUQAC0mEAAtJxAALSgQAC0pEAAtKhAALSsQAC0sEAAtLRAALS4QAC0vEAAtMBAALWYwAC2doAAtw2AALeYwAC4EYAAuDHAALilgAC4wUAAuMZAALkFgAC5ysAAuklAALpdQAC6uoAAuwgAALtOgAC7ooAAu/AAALxxAAC8dgAAvL7AALzCwAC9AoAAvQaAAL0KgAC9ZQAAvmeAAL7dwAC+4cAAvvDAAL8EwAC/E8AAvyjAAL+OgAC/koAAv/MAAMB5wADAk8AAwKjAAMDCwADA3sAAwOLAAMDmwADA6sAAwO7AAMD/wADBFsAAwSfAAME6wADBhMAAwebAAMIjwADCeMAAwpTAAMKwwADCy8AAwubAAMMBwADDEsAAwyrAAMM7wADDcsAAw8jAAMPfwADD9MAAxAzAAMQvwADETcAAxGLAAMSAwADEo8AAxLXAAMTPwADE7MAAxP/AAMUTwADFJcAAxTbAAMVHwADFscAAxhQAAMclgADIAgAAyBsAAMg5AADIUwAAyGQAAMh6AADIoAAAyLQAAMi4AADIvAAAyPLAAMj2wADI+sAAyRLAAMkqwADJQsAAyVTAAMlowADJgcAAyZLAAMmswADJwMAAydnAAMndwADKWYAAynWAAMqGgADKyAAAyv9AAMsNQADLH0AAyzRAAMtHQADLbQAAy65AAMvawADMFIAAzEbAAMxzgADMsoAAzM5AAM06QADNsEAAzhVAAM6IgADOowAAzsfAAM8FwACAAAAAAAA/7UAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAtAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQIAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBAwCKANoAgwCTAPIA8wCNAJcAiADDAN4A8QCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6AQQBBQEGAQcBCAEJAP0A/gEKAQsA/wEAAQwBDQEOAQEBDwEQAREBEgETARQBFQEWARcBGAD4APkBGQEaARsBHAEdAR4BHwEgASEBIgD6ANcBIwEkASUBJgEnASgBKQEqASsBLADiAOMBLQEuAS8BMAExATIBMwE0ATUBNgCwALEBNwE4ATkBOgE7ATwBPQE+AT8BQAD7APwA5ADlAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgC7AU8BUAFRAVIA5gDnAVMApgFUAVUBVgFXAVgBWQFaAVsA2ADhANsA3ADdAOAA2QDfAVwBXQFeAJsBXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB+AH5AfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwI4AjkCOgI7AjwCPQI+Aj8CQAJBAkIAsgCzALYAtwDEALQAtQDFAIIAwgCHAKsAxgC+AL8AvAJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwCMAmQAmACaAJkA7wJlAKUAkgCcAKcAjwCUAJUAuQJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoICgwKEAoUChgKHAogCiQKKAosCjAKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0QDAAMEC0gLTAtQHdW5pMDBBMAd1bmkwMEFEB0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleAZEY2Fyb24GZGNhcm9uBkRjcm9hdAdFbWFjcm9uB2VtYWNyb24KRWRvdGFjY2VudAplZG90YWNjZW50B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4DEdjb21tYWFjY2VudAxnY29tbWFhY2NlbnQLSGNpcmN1bWZsZXgLaGNpcmN1bWZsZXgESGJhcgRoYmFyB0ltYWNyb24HaW1hY3JvbgdJb2dvbmVrB2lvZ29uZWsLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAZMYWN1dGUGbGFjdXRlDExjb21tYWFjY2VudAxsY29tbWFhY2NlbnQGTGNhcm9uBmxjYXJvbgZOYWN1dGUGbmFjdXRlDE5jb21tYWFjY2VudAxuY29tbWFhY2NlbnQGTmNhcm9uBm5jYXJvbgdPbWFjcm9uB29tYWNyb24NT2h1bmdhcnVtbGF1dA1vaHVuZ2FydW1sYXV0BlJhY3V0ZQZyYWN1dGUMUmNvbW1hYWNjZW50DHJjb21tYWFjY2VudAZSY2Fyb24GcmNhcm9uBlNhY3V0ZQZzYWN1dGULU2NpcmN1bWZsZXgLc2NpcmN1bWZsZXgIVGNlZGlsbGEIdGNlZGlsbGEGVGNhcm9uBnRjYXJvbgdVbWFjcm9uB3VtYWNyb24GVWJyZXZlBnVicmV2ZQVVcmluZwV1cmluZw1VaHVuZ2FydW1sYXV0DXVodW5nYXJ1bWxhdXQHVW9nb25lawd1b2dvbmVrBlphY3V0ZQZ6YWN1dGUKWmRvdGFjY2VudAp6ZG90YWNjZW50BWxvbmdzB3VuaTAxRjQHdW5pMDFGNQxTY29tbWFhY2NlbnQMc2NvbW1hYWNjZW50DFRjb21tYWFjY2VudAx0Y29tbWFhY2NlbnQHdW5pMDIzNwlhZmlpNTc5MjkJYWN1dGVjb21iB3VuaTAzOTQHdW5pMDNBOQlhZmlpMTAwMjMJYWZpaTEwMDUxCWFmaWkxMDA1MglhZmlpMTAwNTMJYWZpaTEwMDU0CWFmaWkxMDA1NQlhZmlpMTAwNTYJYWZpaTEwMDU3CWFmaWkxMDA1OAlhZmlpMTAwNTkJYWZpaTEwMDYwCWFmaWkxMDA2MQlhZmlpMTAwNjIJYWZpaTEwMTQ1CWFmaWkxMDAxNwlhZmlpMTAwMTgJYWZpaTEwMDE5CWFmaWkxMDAyMAlhZmlpMTAwMjEJYWZpaTEwMDIyCWFmaWkxMDAyNAlhZmlpMTAwMjUJYWZpaTEwMDI2CWFmaWkxMDAyNwlhZmlpMTAwMjgJYWZpaTEwMDI5CWFmaWkxMDAzMAlhZmlpMTAwMzEJYWZpaTEwMDMyCWFmaWkxMDAzMwlhZmlpMTAwMzQJYWZpaTEwMDM1CWFmaWkxMDAzNglhZmlpMTAwMzcJYWZpaTEwMDM4CWFmaWkxMDAzOQlhZmlpMTAwNDAJYWZpaTEwMDQxCWFmaWkxMDA0MglhZmlpMTAwNDMJYWZpaTEwMDQ0CWFmaWkxMDA0NQlhZmlpMTAwNDYJYWZpaTEwMDQ3CWFmaWkxMDA0OAlhZmlpMTAwNDkJYWZpaTEwMDY1CWFmaWkxMDA2NglhZmlpMTAwNjcJYWZpaTEwMDY4CWFmaWkxMDA2OQlhZmlpMTAwNzAJYWZpaTEwMDcyCWFmaWkxMDA3MwlhZmlpMTAwNzQJYWZpaTEwMDc1CWFmaWkxMDA3NglhZmlpMTAwNzcJYWZpaTEwMDc4CWFmaWkxMDA3OQlhZmlpMTAwODAJYWZpaTEwMDgxCWFmaWkxMDA4MglhZmlpMTAwODMJYWZpaTEwMDg0CWFmaWkxMDA4NQlhZmlpMTAwODYJYWZpaTEwMDg3CWFmaWkxMDA4OAlhZmlpMTAwODkJYWZpaTEwMDkwCWFmaWkxMDA5MQlhZmlpMTAwOTIJYWZpaTEwMDkzCWFmaWkxMDA5NAlhZmlpMTAwOTUJYWZpaTEwMDk2CWFmaWkxMDA5NwlhZmlpMTAwNzEJYWZpaTEwMDk5CWFmaWkxMDEwMAlhZmlpMTAxMDEJYWZpaTEwMTAyCWFmaWkxMDEwMwlhZmlpMTAxMDQJYWZpaTEwMTA1CWFmaWkxMDEwNglhZmlpMTAxMDcJYWZpaTEwMTA4CWFmaWkxMDEwOQlhZmlpMTAxMTAJYWZpaTEwMTkzCWFmaWkxMDE0NglhZmlpMTAxOTQJYWZpaTEwMTQ3CWFmaWkxMDE5NQlhZmlpMTAxNDgJYWZpaTEwMTk2B3VuaTA0OEEHdW5pMDQ4Qgd1bmkwNDhDB3VuaTA0OEQHdW5pMDQ4RQd1bmkwNDhGCWFmaWkxMDA1MAlhZmlpMTAwOTgHdW5pMDQ5Mgd1bmkwNDkzB3VuaTA0OTQHdW5pMDQ5NQd1bmkwNDk2B3VuaTA0OTcHdW5pMDQ5OAd1bmkwNDk5B3VuaTA0OUEHdW5pMDQ5Qgd1bmkwNDlDB3VuaTA0OUQHdW5pMDQ5RQd1bmkwNDlGB3VuaTA0QTAHdW5pMDRBMQd1bmkwNEEyB3VuaTA0QTMHdW5pMDRBNAd1bmkwNEE1B3VuaTA0QTYHdW5pMDRBNwd1bmkwNEE4B3VuaTA0QTkHdW5pMDRBQQd1bmkwNEFCB3VuaTA0QUMHdW5pMDRBRAd1bmkwNEFFB3VuaTA0QUYHdW5pMDRCMAd1bmkwNEIxB3VuaTA0QjIHdW5pMDRCMwd1bmkwNEI0B3VuaTA0QjUHdW5pMDRCNgd1bmkwNEI3B3VuaTA0QjgHdW5pMDRCOQd1bmkwNEJBB3VuaTA0QkIHdW5pMDRCQwd1bmkwNEJEB3VuaTA0QkUHdW5pMDRCRgd1bmkwNEMwB3VuaTA0QzMHdW5pMDRDNAd1bmkwNEM1B3VuaTA0QzYHdW5pMDRDNwd1bmkwNEM4B3VuaTA0QzkHdW5pMDRDQQd1bmkwNENCB3VuaTA0Q0MHdW5pMDRDRAd1bmkwNENFB3VuaTA0Q0YHdW5pMDREMAd1bmkwNEQxB3VuaTA0RDIHdW5pMDREMwd1bmkwNEQ0B3VuaTA0RDUHdW5pMDRENgd1bmkwNEQ3B3VuaTA0RDgJYWZpaTEwODQ2B3VuaTA0REEHdW5pMDREQgd1bmkwNERDB3VuaTA0REQHdW5pMDRERQd1bmkwNERGB3VuaTA0RTAHdW5pMDRFMQd1bmkwNEUyB3VuaTA0RTMHdW5pMDRFNAd1bmkwNEU1B3VuaTA0RTYHdW5pMDRFNwd1bmkwNEU4B3VuaTA0RTkHdW5pMDRFQQd1bmkwNEVCB3VuaTA0RUMHdW5pMDRFRAd1bmkwNEVFB3VuaTA0RUYHdW5pMDRGMAd1bmkwNEYxB3VuaTA0RjIHdW5pMDRGMwd1bmkwNEY0B3VuaTA0RjUHdW5pMDRGNgd1bmkwNEY3B3VuaTA0RjgHdW5pMDRGOQd1bmkwNEZDB3VuaTA0RkQHdW5pMDUxMAd1bmkwNTExB3VuaTA1MTIHdW5pMDUxMwd1bmkwNTFDB3VuaTA1MUQHdW5pMDUyNAd1bmkwNTI1B3VuaTA1MjYHdW5pMDUyNwd1bmkxRTMwB3VuaTFFMzEHdW5pMUUzRQd1bmkxRTNGB3VuaTFFNTQHdW5pMUU1NQd1bmkxRTlFB3VuaTIwMTEHdW5pMjA4MQd1bmkyMDgyB3VuaTIwODMHdW5pMjA4NARFdXJvB3VuaTIwQjQHdW5pMjBCNgd1bmkyMEI3B3VuaTIwQjkHdW5pMjBCQQd1bmkyMEJCB3VuaTIwQkMHdW5pMjBCRAd1bmkyMEJFB3VuaTIwQkYHdW5pMjBDMAd1bmkyMEMxB3VuaTIwQzIHdW5pMjBDMwd1bmkyMEM0B3VuaTIwQzUHdW5pMjBDNgd1bmkyMEM3B3VuaTIwQzgHdW5pMjBDOQd1bmkyMENBB3VuaTIwQ0IHdW5pMjBDQwd1bmkyMENEB3VuaTIwQ0UHdW5pMjBDRglhZmlpNjEyODkJYWZpaTYxMzUyCWVzdGltYXRlZAd1bmkyMjE1B3VuaTJDNjcHdW5pMkM2OAd1bmlGNDAxB3VuaUY0MDYHdW5pRjQwNwd1bmlGNDA4B3VuaUY0MDkHdW5pRjQwQQd1bmlGNDBCB3VuaUY0MEMHdW5pRjQwRAd1bmlGNDBFB3VuaUY0ODYHdW5pRjQ4Nwd1bmlGNDg4B3VuaUY0ODkHdW5pRjQ5RQd1bmlGNDlGB3VuaUY0QzYHdW5pRjRDNwd1bmlGNENDB3VuaUY0Q0QHdW5pRjRENgd1bmlGNEQ3C3VuaTA0OTguYWx0C3VuaTA0OTkuYWx0DXVuaTA0QUEuYWx0MDINdW5pMDRBQi5hbHQwMgd1bmlGNTBFB3VuaUY1MEYHdW5pRjUxMAd1bmlGNTExB3VuaUY1MTIHdW5pRjUxMwd1bmlGNTE0B3VuaUY1MTUHdW5pRjUxNgd1bmlGNTE3B3VuaUY1MTgHdW5pRjUxOQd1bmlGNTFBB3VuaUY1MUIHdW5pRjUxQwd1bmlGNTFEB3VuaUY1MUUHdW5pRjUxRgd1bmlGNTIwB3VuaUY1MjEHdW5pRjUyMgd1bmlGNTIzB3VuaUY1MjQHdW5pRjUyNQd1bmlGNTI2B3VuaUY1MjcHdW5pRjUyOAd1bmlGNTI5B3VuaUY1MkEHdW5pRjUyQgd1bmlGNTJDB3VuaUY1MkQHdW5pRjUyRQd1bmlGNTJGB3VuaUY1MzAHdW5pRjUzMQd1bmlGNTMyB3VuaUY1MzMHdW5pRjUzNAd1bmlGNTM1B3VuaUY1MzYHdW5pRjUzNwd1bmlGNTM4B3VuaUY1MzkNYWZpaTEwMDU1LmFsdA1hZmlpMTAxMDMuYWx0C3VuaTA0OTIuYWx0C3VuaTA0OTMuYWx0C3VuaTA0QUEuYWx0C3VuaTA0QUIuYWx0B3VuaUY1NDAHdW5pRjU0MQd1bmlGNTQyB3VuaUY1NDMHdW5pRjU0NAd1bmlGNTQ1B3VuaUY1NDYHdW5pRjU0Nwd1bmlGNTQ4B3VuaUY1NDkHdW5pRjU0QQd1bmlGNTRCB3VuaUY1NEMHdW5pRjU0RAd1bmlGNjJDB3VuaUY2MkQHdW5pRjYyRQd1bmlGNjJGB3VuaUY2MzQHdW5pRjYzNQ1vbmUubnVtZXJhdG9yB3VuaUY2QzMHdW5pRjZDOQd1bmlGNkNBB3VuaUY2Q0IHdW5pRjZDRQd1bmlGNkNGB3VuaUY2RDAHdW5pRjZEMQd1bmlGNkQ0B2Nhcm9uLmwFbC52YXIMZnJhY3Rpb24uYWx0AAAAAAAADwC6AAMAAQQJAAAAZi4IAAMAAQQJAAEADi36AAMAAQQJAAIACC3yAAMAAQQJAAMAPi20AAMAAQQJAAQAGC2cAAMAAQQJAAUAJC14AAMAAQQJAAYAFi1iAAMAAQQJAAcAVi0MAAMAAQQJAAgAGCz0AAMAAQQJAAkARCywAAMAAQQJAAoJCiOmAAMAAQQJAAsALiN4AAMAAQQJAAwATiMqAAMAAQQJAA0i7gA8AAMAAQQJAA4APAAAAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABfAHcAZQBiAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQAwACwAIABQAGEAcgBhAFQAeQBwAGUAIABMAHQAZAAuACAAKABoAHQAdABwADoALwAvAHcAdwB3AC4AcABhAHIAYQB0AHkAcABlAC4AYwBvAG0ALwBwAHUAYgBsAGkAYwApACwAIAB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAcwAgACIAUABUACAAUwBhAG4AcwAiACwAIAAiAFAAVAAgAFMAZQByAGkAZgAiACAAYQBuAGQAIAAiAFAAYQByAGEAVAB5AHAAZQAiAC4ADQAKAA0ACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEAIABUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGMAbwBwAGkAZQBkACAAYgBlAGwAbwB3ACwAIABhAG4AZAAgAGkAcwAgAGEAbABzAG8AIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAANAAoADQAKAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQANAAoAUwBJAEwAIABPAFAARQBOACAARgBPAE4AVAAgAEwASQBDAEUATgBTAEUAIABWAGUAcgBzAGkAbwBuACAAMQAuADEAIAAtACAAMgA2ACAARgBlAGIAcgB1AGEAcgB5ACAAMgAwADAANwANAAoALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAA0ACgANAAoAUABSAEUAQQBNAEIATABFAA0ACgBUAGgAZQAgAGcAbwBhAGwAcwAgAG8AZgAgAHQAaABlACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACAAKABPAEYATAApACAAYQByAGUAIAB0AG8AIABzAHQAaQBtAHUAbABhAHQAZQAgAHcAbwByAGwAZAB3AGkAZABlACAAZABlAHYAZQBsAG8AcABtAGUAbgB0ACAAbwBmACAAYwBvAGwAbABhAGIAbwByAGEAdABpAHYAZQAgAGYAbwBuAHQAIABwAHIAbwBqAGUAYwB0AHMALAAgAHQAbwAgAHMAdQBwAHAAbwByAHQAIAB0AGgAZQAgAGYAbwBuAHQAIABjAHIAZQBhAHQAaQBvAG4AIABlAGYAZgBvAHIAdABzACAAbwBmACAAYQBjAGEAZABlAG0AaQBjACAAYQBuAGQAIABsAGkAbgBnAHUAaQBzAHQAaQBjACAAYwBvAG0AbQB1AG4AaQB0AGkAZQBzACwAIABhAG4AZAAgAHQAbwAgAHAAcgBvAHYAaQBkAGUAIABhACAAZgByAGUAZQAgAGEAbgBkACAAbwBwAGUAbgAgAGYAcgBhAG0AZQB3AG8AcgBrACAAaQBuACAAdwBoAGkAYwBoACAAZgBvAG4AdABzACAAbQBhAHkAIABiAGUAIABzAGgAYQByAGUAZAAgAGEAbgBkACAAaQBtAHAAcgBvAHYAZQBkACAAaQBuACAAcABhAHIAdABuAGUAcgBzAGgAaQBwACAAdwBpAHQAaAAgAG8AdABoAGUAcgBzAC4ADQAKAA0ACgBUAGgAZQAgAE8ARgBMACAAYQBsAGwAbwB3AHMAIAB0AGgAZQAgAGwAaQBjAGUAbgBzAGUAZAAgAGYAbwBuAHQAcwAgAHQAbwAgAGIAZQAgAHUAcwBlAGQALAAgAHMAdAB1AGQAaQBlAGQALAAgAG0AbwBkAGkAZgBpAGUAZAAgAGEAbgBkACAAcgBlAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGYAcgBlAGUAbAB5ACAAYQBzACAAbABvAG4AZwAgAGEAcwAgAHQAaABlAHkAIABhAHIAZQAgAG4AbwB0ACAAcwBvAGwAZAAgAGIAeQAgAHQAaABlAG0AcwBlAGwAdgBlAHMALgAgAFQAaABlACAAZgBvAG4AdABzACwAIABpAG4AYwBsAHUAZABpAG4AZwAgAGEAbgB5ACAAZABlAHIAaQB2AGEAdABpAHYAZQAgAHcAbwByAGsAcwAsACAAYwBhAG4AIABiAGUAIABiAHUAbgBkAGwAZQBkACwAIABlAG0AYgBlAGQAZABlAGQALAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUAIABwAHIAbwB2AGkAZABlAGQAIAB0AGgAYQB0ACAAYQBuAHkAIAByAGUAcwBlAHIAdgBlAGQAIABuAGEAbQBlAHMAIABhAHIAZQAgAG4AbwB0ACAAdQBzAGUAZAAgAGIAeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIAB3AG8AcgBrAHMALgAgAFQAaABlACAAZgBvAG4AdABzACAAYQBuAGQAIABkAGUAcgBpAHYAYQB0AGkAdgBlAHMALAAgAGgAbwB3AGUAdgBlAHIALAAgAGMAYQBuAG4AbwB0ACAAYgBlACAAcgBlAGwAZQBhAHMAZQBkACAAdQBuAGQAZQByACAAYQBuAHkAIABvAHQAaABlAHIAIAB0AHkAcABlACAAbwBmACAAbABpAGMAZQBuAHMAZQAuACAAVABoAGUAIAByAGUAcQB1AGkAcgBlAG0AZQBuAHQAIABmAG8AcgAgAGYAbwBuAHQAcwAgAHQAbwAgAHIAZQBtAGEAaQBuACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABkAG8AZQBzACAAbgBvAHQAIABhAHAAcABsAHkAIAB0AG8AIABhAG4AeQAgAGQAbwBjAHUAbQBlAG4AdAAgAGMAcgBlAGEAdABlAGQAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAGYAbwBuAHQAcwAgAG8AcgAgAHQAaABlAGkAcgAgAGQAZQByAGkAdgBhAHQAaQB2AGUAcwAuAA0ACgANAAoARABFAEYASQBOAEkAVABJAE8ATgBTAA0ACgAiAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAdABoAGUAIABzAGUAdAAgAG8AZgAgAGYAaQBsAGUAcwAgAHIAZQBsAGUAYQBzAGUAZAAgAGIAeQAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQBuAGQAIABjAGwAZQBhAHIAbAB5ACAAbQBhAHIAawBlAGQAIABhAHMAIABzAHUAYwBoAC4AIABUAGgAaQBzACAAbQBhAHkAIABpAG4AYwBsAHUAZABlACAAcwBvAHUAcgBjAGUAIABmAGkAbABlAHMALAAgAGIAdQBpAGwAZAAgAHMAYwByAGkAcAB0AHMAIABhAG4AZAAgAGQAbwBjAHUAbQBlAG4AdABhAHQAaQBvAG4ALgANAAoADQAKACIAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABuAGEAbQBlAHMAIABzAHAAZQBjAGkAZgBpAGUAZAAgAGEAcwAgAHMAdQBjAGgAIABhAGYAdABlAHIAIAB0AGgAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAcwB0AGEAdABlAG0AZQBuAHQAKABzACkALgANAAoADQAKACIATwByAGkAZwBpAG4AYQBsACAAVgBlAHIAcwBpAG8AbgAiACAAcgBlAGYAZQByAHMAIAB0AG8AIAB0AGgAZQAgAGMAbwBsAGwAZQBjAHQAaQBvAG4AIABvAGYAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAYwBvAG0AcABvAG4AZQBuAHQAcwAgAGEAcwAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGIAeQAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAuAA0ACgANAAoAIgBNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAZABlAHIAaQB2AGEAdABpAHYAZQAgAG0AYQBkAGUAIABiAHkAIABhAGQAZABpAG4AZwAgAHQAbwAsACAAZABlAGwAZQB0AGkAbgBnACwAIABvAHIAIABzAHUAYgBzAHQAaQB0AHUAdABpAG4AZwAgAC0ALQAgAGkAbgAgAHAAYQByAHQAIABvAHIAIABpAG4AIAB3AGgAbwBsAGUAIAAtAC0AIABhAG4AeQAgAG8AZgAgAHQAaABlACAAYwBvAG0AcABvAG4AZQBuAHQAcwAgAG8AZgAgAHQAaABlACAATwByAGkAZwBpAG4AYQBsACAAVgBlAHIAcwBpAG8AbgAsACAAYgB5ACAAYwBoAGEAbgBnAGkAbgBnACAAZgBvAHIAbQBhAHQAcwAgAG8AcgAgAGIAeQAgAHAAbwByAHQAaQBuAGcAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIAB0AG8AIABhACAAbgBlAHcAIABlAG4AdgBpAHIAbwBuAG0AZQBuAHQALgANAAoADQAKACIAQQB1AHQAaABvAHIAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABkAGUAcwBpAGcAbgBlAHIALAAgAGUAbgBnAGkAbgBlAGUAcgAsACAAcAByAG8AZwByAGEAbQBtAGUAcgAsACAAdABlAGMAaABuAGkAYwBhAGwAIAB3AHIAaQB0AGUAcgAgAG8AcgAgAG8AdABoAGUAcgAgAHAAZQByAHMAbwBuACAAdwBoAG8AIABjAG8AbgB0AHIAaQBiAHUAdABlAGQAIAB0AG8AIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgANAAoADQAKAFAARQBSAE0ASQBTAFMASQBPAE4AIAAmACAAQwBPAE4ARABJAFQASQBPAE4AUwANAAoAUABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGgAZQByAGUAYgB5ACAAZwByAGEAbgB0AGUAZAAsACAAZgByAGUAZQAgAG8AZgAgAGMAaABhAHIAZwBlACwAIAB0AG8AIABhAG4AeQAgAHAAZQByAHMAbwBuACAAbwBiAHQAYQBpAG4AaQBuAGcAIABhACAAYwBvAHAAeQAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAsACAAdABvACAAdQBzAGUALAAgAHMAdAB1AGQAeQAsACAAYwBvAHAAeQAsACAAbQBlAHIAZwBlACwAIABlAG0AYgBlAGQALAAgAG0AbwBkAGkAZgB5ACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQAsACAAYQBuAGQAIABzAGUAbABsACAAbQBvAGQAaQBmAGkAZQBkACAAYQBuAGQAIAB1AG4AbQBvAGQAaQBmAGkAZQBkACAAYwBvAHAAaQBlAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAHMAdQBiAGoAZQBjAHQAIAB0AG8AIAB0AGgAZQAgAGYAbwBsAGwAbwB3AGkAbgBnACAAYwBvAG4AZABpAHQAaQBvAG4AcwA6AA0ACgANAAoAMQApACAATgBlAGkAdABoAGUAcgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAG4AbwByACAAYQBuAHkAIABvAGYAIABpAHQAcwAgAGkAbgBkAGkAdgBpAGQAdQBhAGwAIABjAG8AbQBwAG8AbgBlAG4AdABzACwAIABpAG4AIABPAHIAaQBnAGkAbgBhAGwAIABvAHIAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuAHMALAAgAG0AYQB5ACAAYgBlACAAcwBvAGwAZAAgAGIAeQAgAGkAdABzAGUAbABmAC4ADQAKAA0ACgAyACkAIABPAHIAaQBnAGkAbgBhAGwAIABvAHIAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABtAGEAeQAgAGIAZQAgAGIAdQBuAGQAbABlAGQALAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUALAAgAHAAcgBvAHYAaQBkAGUAZAAgAHQAaABhAHQAIABlAGEAYwBoACAAYwBvAHAAeQAgAGMAbwBuAHQAYQBpAG4AcwAgAHQAaABlACAAYQBiAG8AdgBlACAAYwBvAHAAeQByAGkAZwBoAHQAIABuAG8AdABpAGMAZQAgAGEAbgBkACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlAHMAZQAgAGMAYQBuACAAYgBlACAAaQBuAGMAbAB1AGQAZQBkACAAZQBpAHQAaABlAHIAIABhAHMAIABzAHQAYQBuAGQALQBhAGwAbwBuAGUAIAB0AGUAeAB0ACAAZgBpAGwAZQBzACwAIABoAHUAbQBhAG4ALQByAGUAYQBkAGEAYgBsAGUAIABoAGUAYQBkAGUAcgBzACAAbwByACAAaQBuACAAdABoAGUAIABhAHAAcAByAG8AcAByAGkAYQB0AGUAIABtAGEAYwBoAGkAbgBlAC0AcgBlAGEAZABhAGIAbABlACAAbQBlAHQAYQBkAGEAdABhACAAZgBpAGUAbABkAHMAIAB3AGkAdABoAGkAbgAgAHQAZQB4AHQAIABvAHIAIABiAGkAbgBhAHIAeQAgAGYAaQBsAGUAcwAgAGEAcwAgAGwAbwBuAGcAIABhAHMAIAB0AGgAbwBzAGUAIABmAGkAZQBsAGQAcwAgAGMAYQBuACAAYgBlACAAZQBhAHMAaQBsAHkAIAB2AGkAZQB3AGUAZAAgAGIAeQAgAHQAaABlACAAdQBzAGUAcgAuAA0ACgANAAoAMwApACAATgBvACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAG0AYQB5ACAAdQBzAGUAIAB0AGgAZQAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACgAcwApACAAdQBuAGwAZQBzAHMAIABlAHgAcABsAGkAYwBpAHQAIAB3AHIAaQB0AHQAZQBuACAAcABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGcAcgBhAG4AdABlAGQAIABiAHkAIAB0AGgAZQAgAGMAbwByAHIAZQBzAHAAbwBuAGQAaQBuAGcAIABDAG8AcAB5AHIAaQBnAGgAdAAgAEgAbwBsAGQAZQByAC4AIABUAGgAaQBzACAAcgBlAHMAdAByAGkAYwB0AGkAbwBuACAAbwBuAGwAeQAgAGEAcABwAGwAaQBlAHMAIAB0AG8AIAB0AGgAZQAgAHAAcgBpAG0AYQByAHkAIABmAG8AbgB0ACAAbgBhAG0AZQAgAGEAcwAgAHAAcgBlAHMAZQBuAHQAZQBkACAAdABvACAAdABoAGUAIAB1AHMAZQByAHMALgANAAoADQAKADQAKQAgAFQAaABlACAAbgBhAG0AZQAoAHMAKQAgAG8AZgAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAG8AcgAgAHQAaABlACAAQQB1AHQAaABvAHIAKABzACkAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABzAGgAYQBsAGwAIABuAG8AdAAgAGIAZQAgAHUAcwBlAGQAIAB0AG8AIABwAHIAbwBtAG8AdABlACwAIABlAG4AZABvAHIAcwBlACAAbwByACAAYQBkAHYAZQByAHQAaQBzAGUAIABhAG4AeQAgAE0AbwBkAGkAZgBpAGUAZAAgAFYAZQByAHMAaQBvAG4ALAAgAGUAeABjAGUAcAB0ACAAdABvACAAYQBjAGsAbgBvAHcAbABlAGQAZwBlACAAdABoAGUAIABjAG8AbgB0AHIAaQBiAHUAdABpAG8AbgAoAHMAKQAgAG8AZgAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAGEAbgBkACAAdABoAGUAIABBAHUAdABoAG8AcgAoAHMAKQAgAG8AcgAgAHcAaQB0AGgAIAB0AGgAZQBpAHIAIABlAHgAcABsAGkAYwBpAHQAIAB3AHIAaQB0AHQAZQBuAA0ACgBwAGUAcgBtAGkAcwBzAGkAbwBuAC4AIAANAAoADQAKADUAKQAgAFQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAsACAAbQBvAGQAaQBmAGkAZQBkACAAbwByACAAdQBuAG0AbwBkAGkAZgBpAGUAZAAsACAAaQBuACAAcABhAHIAdAAgAG8AcgAgAGkAbgAgAHcAaABvAGwAZQAsACAAbQB1AHMAdAAgAGIAZQAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGUAbgB0AGkAcgBlAGwAeQAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACwAIABhAG4AZAAgAG0AdQBzAHQAIABuAG8AdAAgAGIAZQAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAHUAbgBkAGUAcgAgAGEAbgB5ACAAbwB0AGgAZQByACAAbABpAGMAZQBuAHMAZQAuACAAVABoAGUAIAByAGUAcQB1AGkAcgBlAG0AZQBuAHQAIABmAG8AcgAgAGYAbwBuAHQAcwAgAHQAbwAgAHIAZQBtAGEAaQBuACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABkAG8AZQBzACAAbgBvAHQAIABhAHAAcABsAHkAIAB0AG8AIABhAG4AeQAgAGQAbwBjAHUAbQBlAG4AdAAgAGMAcgBlAGEAdABlAGQAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgANAAoADQAKAFQARQBSAE0ASQBOAEEAVABJAE8ATgANAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABiAGUAYwBvAG0AZQBzACAAbgB1AGwAbAAgAGEAbgBkACAAdgBvAGkAZAAgAGkAZgAgAGEAbgB5ACAAbwBmACAAdABoAGUAIABhAGIAbwB2AGUAIABjAG8AbgBkAGkAdABpAG8AbgBzACAAYQByAGUAIABuAG8AdAAgAG0AZQB0AC4ADQAKAA0ACgBEAEkAUwBDAEwAQQBJAE0ARQBSAA0ACgBUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUAIABJAFMAIABQAFIATwBWAEkARABFAEQAIAAiAEEAUwAgAEkAUwAiACwAIABXAEkAVABIAE8AVQBUACAAVwBBAFIAUgBBAE4AVABZACAATwBGACAAQQBOAFkAIABLAEkATgBEACwAIABFAFgAUABSAEUAUwBTACAATwBSACAASQBNAFAATABJAEUARAAsACAASQBOAEMATABVAEQASQBOAEcAIABCAFUAVAAgAE4ATwBUACAATABJAE0ASQBUAEUARAAgAFQATwAgAEEATgBZACAAVwBBAFIAUgBBAE4AVABJAEUAUwAgAE8ARgAgAE0ARQBSAEMASABBAE4AVABBAEIASQBMAEkAVABZACwAIABGAEkAVABOAEUAUwBTACAARgBPAFIAIABBACAAUABBAFIAVABJAEMAVQBMAEEAUgAgAFAAVQBSAFAATwBTAEUAIABBAE4ARAAgAE4ATwBOAEkATgBGAFIASQBOAEcARQBNAEUATgBUACAATwBGACAAQwBPAFAAWQBSAEkARwBIAFQALAAgAFAAQQBUAEUATgBUACwAIABUAFIAQQBEAEUATQBBAFIASwAsACAATwBSACAATwBUAEgARQBSACAAUgBJAEcASABUAC4AIABJAE4AIABOAE8AIABFAFYARQBOAFQAIABTAEgAQQBMAEwAIABUAEgARQAgAEMATwBQAFkAUgBJAEcASABUACAASABPAEwARABFAFIAIABCAEUAIABMAEkAQQBCAEwARQAgAEYATwBSACAAQQBOAFkAIABDAEwAQQBJAE0ALAAgAEQAQQBNAEEARwBFAFMAIABPAFIAIABPAFQASABFAFIAIABMAEkAQQBCAEkATABJAFQAWQAsACAASQBOAEMATABVAEQASQBOAEcAIABBAE4AWQAgAEcARQBOAEUAUgBBAEwALAAgAFMAUABFAEMASQBBAEwALAAgAEkATgBEAEkAUgBFAEMAVAAsACAASQBOAEMASQBEAEUATgBUAEEATAAsACAATwBSACAAQwBPAE4AUwBFAFEAVQBFAE4AVABJAEEATAAgAEQAQQBNAEEARwBFAFMALAAgAFcASABFAFQASABFAFIAIABJAE4AIABBAE4AIABBAEMAVABJAE8ATgAgAE8ARgAgAEMATwBOAFQAUgBBAEMAVAAsACAAVABPAFIAVAAgAE8AUgAgAE8AVABIAEUAUgBXAEkAUwBFACwAIABBAFIASQBTAEkATgBHACAARgBSAE8ATQAsACAATwBVAFQAIABPAEYAIABUAEgARQAgAFUAUwBFACAATwBSACAASQBOAEEAQgBJAEwASQBUAFkAIABUAE8AIABVAFMARQAgAFQASABFACAARgBPAE4AVAAgAFMATwBGAFQAVwBBAFIARQAgAE8AUgAgAEYAUgBPAE0AIABPAFQASABFAFIAIABEAEUAQQBMAEkATgBHAFMAIABJAE4AIABUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUALgANAAoAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAC8AaABlAGwAcAAvAGQAZQBzAGkAZwBuAGUAcgBzAC8AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAFAAVAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAB5AHAAZQAgAGYAYQBtAGkAbAB5ACAAbwBmACAAdQBuAGkAdgBlAHIAcwBhAGwAIAB1AHMAZQAuACAASQB0ACAAYwBvAG4AcwBpAHMAdABzACAAbwBmACAAOAAgAHMAdAB5AGwAZQBzADoAIAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACAAdwBlAGkAZwBoAHQAcwAgAHcAaQB0AGgAIABjAG8AcgByAGUAcwBwAG8AbgBkAGkAbgBnACAAaQB0AGEAbABpAGMAcwAgAGYAbwByAG0AIABhACAAcwB0AGEAbgBkAGEAcgBkACAAYwBvAG0AcAB1AHQAZQByACAAZgBvAG4AdAAgAGYAYQBtAGkAbAB5ADsAIAB0AHcAbwAgAG4AYQByAHIAbwB3ACAAcwB0AHkAbABlAHMAIAAoAHIAZQBnAHUAbABhAHIAIABhAG4AZAAgAGIAbwBsAGQAKQAgAGEAcgBlACAAaQBuAHQAZQBuAGQAZQBkACAAZgBvAHIAIABkAG8AYwB1AG0AZQBuAHQAcwAgAHQAaABhAHQAIAByAGUAcQB1AGkAcgBlACAAdABpAGcAaAB0ACAAcwBlAHQAOwAgAHQAdwBvACAAYwBhAHAAdABpAG8AbgAgAHMAdAB5AGwAZQBzACAAKAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACkAIABhAHIAZQAgAGYAbwByACAAdABlAHgAdABzACAAbwBmACAAcwBtAGEAbABsACAAcABvAGkAbgB0ACAAcwBpAHoAZQBzAC4AIABUAGgAZQAgAGQAZQBzAGkAZwBuACAAYwBvAG0AYgBpAG4AZQBzACAAdAByAGEAZABpAHQAaQBvAG4AYQBsACAAYwBvAG4AcwBlAHIAdgBhAHQAaQB2AGUAIABhAHAAcABlAGEAcgBhAG4AYwBlACAAdwBpAHQAaAAgAG0AbwBkAGUAcgBuACAAdAByAGUAbgBkAHMAIABvAGYAIABoAHUAbQBhAG4AaQBzAHQAaQBjACAAcwBhAG4AcwAgAHMAZQByAGkAZgAgAGEAbgBkACAAYwBoAGEAcgBhAGMAdABlAHIAaQB6AGUAZAAgAGIAeQAgAGUAbgBoAGEAbgBjAGUAZAAgAGwAZQBnAGkAYgBpAGwAaQB0AHkALgAgAFQAaABlAHMAZQAgAGYAZQBhAHQAdQByAGUAcwAgAGIAZQBzAGkAZABlACAAYwBvAG4AdgBlAG4AdABpAG8AbgBhAGwAIAB1AHMAZQAgAGkAbgAgAGIAdQBzAGkAbgBlAHMAcwAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgBzACAAYQBuAGQAIABwAHIAaQBuAHQAZQBkACAAcwB0AHUAZgBmACAAbQBhAGQAZQAgAHQAaABlACAAZgBvAG4AdABzACAAcQB1AGkAdABlACAAdQBzAGUAYQBiAGwAZQAgAGYAbwByACAAZABpAHIAZQBjAHQAaQBvAG4AIABhAG4AZAAgAGcAdQBpAGQAZQAgAHMAaQBnAG4AcwAsACAAcwBjAGgAZQBtAGUAcwAsACAAcwBjAHIAZQBlAG4AcwAgAG8AZgAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgAgAGsAaQBvAHMAawBzACAAYQBuAGQAIABvAHQAaABlAHIAIABvAGIAagBlAGMAdABzACAAbwBmACAAdQByAGIAYQBuACAAdgBpAHMAdQBhAGwAIABjAG8AbQBtAHUAbgBpAGMAYQB0AGkAbwBuAHMALgANAAoADQAKAFQAaABlACAAZgBvAG4AdABzACAAbgBlAHgAdAAgAHQAbwAgAHMAdABhAG4AZABhAHIAZAAgAEwAYQB0AGkAbgAgAGEAbgBkACAAQwB5AHIAaQBsAGwAaQBjACAAYwBoAGEAcgBhAGMAdABlAHIAIABzAGUAdABzACAAYwBvAG4AdABhAGkAbgAgAHMAaQBnAG4AcwAgAG8AZgAgAHQAaQB0AGwAZQAgAGwAYQBuAGcAdQBhAGcAZQBzACAAbwBmACAAdABoAGUAIABuAGEAdABpAG8AbgBhAGwAIAByAGUAcAB1AGIAbABpAGMAcwAgAG8AZgAgAFIAdQBzAHMAaQBhAG4AIABGAGUAZABlAHIAYQB0AGkAbwBuACAAYQBuAGQAIABzAHUAcABwAG8AcgB0ACAAdABoAGUAIABtAG8AcwB0ACAAbwBmACAAdABoAGUAIABsAGEAbgBnAHUAYQBnAGUAcwAgAG8AZgAgAG4AZQBpAGcAaABiAG8AcgBpAG4AZwAgAGMAbwB1AG4AdAByAGkAZQBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAgAHcAZQByAGUAIABkAGUAdgBlAGwAbwBwAGUAZAAgAGEAbgBkACAAcgBlAGwAZQBhAHMAZQBkACAAYgB5ACAAUABhAHIAYQBUAHkAcABlACAAaQBuACAAMgAwADAAOQAgAHcAaQB0AGgAIABmAGkAbgBhAG4AYwBpAGEAbAAgAHMAdQBwAHAAbwByAHQAIABmAHIAbwBtACAARgBlAGQAZQByAGEAbAAgAEEAZwBlAG4AYwB5ACAAbwBmACAAUAByAGkAbgB0ACAAYQBuAGQAIABNAGEAcwBzACAAQwBvAG0AbQB1AG4AaQBjAGEAdABpAG8AbgBzACAAbwBmACAAUgB1AHMAcwBpAGEAbgAgAEYAZQBkAGUAcgBhAHQAaQBvAG4ALgAgAEQAZQBzAGkAZwBuACAALQAgAEEAbABlAHgAYQBuAGQAcgBhACAASwBvAHIAbwBsAGsAbwB2AGEAIAB3AGkAdABoACAAYQBzAHMAaQBzAHQAYQBuAGMAZQAgAG8AZgAgAE8AbABnAGEAIABVAG0AcABlAGwAZQB2AGEAIABhAG4AZAAgAHMAdQBw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ALEAFACzABQAuwAUALwAFAC9ABQAvgAUAMIANwDDABQAxAA3AMUAFADGADcAxwAUAOUAFAD3ABQA+QAUAPsAFAEDABQBBQAUAQcAFAEJABQBDQAUARUAFAEZABQBGwAUAR0AFAEfACgBIAAUASEAKAEiABQBIwAoASQAFAEqABQBSQA3AU8AFAFeABQBbwAUAX4AFAGpABQBqgAUAcUAFAHGABQB4QA3AeMANwHlAEcB7QAUAe4AFAILABQCDAAUAiH/dAIjACgCJgAoAnsANwABAYj/iAAFATz/ugFF/7oBW/+6Ab//ugHH/7oABQFtAAYBdAAGAZEABgHXAAYCEAAGAAUBQwAeAU0AHgFUAB4B1gAeAg8AHgAFAW0AKAF0ACgBkQAoAdcAKAIQACgABQFDACgBTQAoAVQAKAHWACgCDwAoAAIAcAANAlAADQAqAAP/8wAQ/+oAYv/zAG//6gFu//UBd//1AXr/9QF8//oBff/1AYn/9QGM//UBlf/6AZr/9QGc//oBvP/1Ab7/9QHC//oB0P/tAdL/7QHo//UB+P/1Afr/9QH8//UCAP/6AgL/+gIE//oCEv/6Ah7/6gIf/+oCIP/qAnT/+gJ6//UCfv/1AoD/9QKC//UChv/1Aoj/9QKK//UCjP/1ApT/9QKi//UCrP/1AAMADAAIAEAACABgAAgABQFtAB4BdAAeAZEAHgHXAB4CEAAeAAUBPP+NAUX/jQFb/40Bv/+NAcf/jQAYAW7/+gF3//oBev/6AX3/+gGJ//oBjP/6AZr/+gG8//oBvv/6Aej/+gH4//oB+v/6Afz/+gJ6//oCfv/6AoD/+gKC//oChv/6Aoj/+gKK//oCjP/6ApT/+gKi//oCrP/6AF8AA//zABD/3ABi//MAb//cATz/8gE+//IBRf/yAUf/9QFJ//cBV//yAVr/8gFb//IBXP/1AV3/8gFt//UBbv/qAXT/9QF3/+oBev/qAXv/7wF8/+cBff/qAYP/7wGJ/+oBjP/qAZH/9QGV/+cBmf/yAZr/6gGb//UBnP/nAaD/7wG0/+8Bu//yAbz/6gG9//IBvv/qAb//8gHA/+8Bwf/1AcL/5wHD//UBx//yAcj/7wHP/94B0P/bAdH/3gHS/9sB1//1AeH/9wHj//cB5f/UAej/6gHp/+8B6//vAff/8gH4/+oB+f/yAfr/6gH7//IB/P/qAf//9QIA/+cCAf/1AgL/5wID//UCBP/nAhD/9QIR//UCEv/nAh7/3AIf/9wCIP/cAnP/9QJ0/+cCef/yAnr/6gJ7//cCfv/qAoD/6gKC/+oChf/yAob/6gKH//ICiP/qAon/8gKK/+oCi//yAoz/6gKT//IClP/qAqH/8gKi/+oCq//yAqz/6gAYAW7/3wF3/98Bev/fAX3/3wGJ/98BjP/fAZr/3wG8/98Bvv/fAej/3wH4/98B+v/fAfz/3wJ6/98Cfv/fAoD/3wKC/98Chv/fAoj/3wKK/98CjP/fApT/3wKi/98CrP/fAAUBPP/yAUX/8gFb//IBv//yAcf/8gA8AAX/9gAK//YADP/2ABD/8ABA//YARv/7AEj/+wBK//sAUv/7AFT/+wBX//kAWf/pAFr/7wBb//gAXP/pAGD/9gBv//AAqf/7AKr/+wCr//sArP/7AK3/+wCy//sAtP/7ALX/+wC2//sAt//7ALj/+wC6//sAv//pAMH/6QDJ//sAy//7AM3/+wDP//sA0f/7ANP/+wDV//sA1//7ANn/+wDb//sA3f/7AN//+wD9//sA///7AQH/+wET//kBKP/7ASz/+QIe//ACH//wAiD/8AIh//YCIv/2AiMACgIk//YCJf/2AiYACgKu//sCtv/pAHwAA//YAAUAFAAKABQADAANAA0AEAAP/5EAEP+AABH/kQAk/7IAJv/ZACr/2QAy/9kANP/ZADcAFAA5/98AOv/iADv/0QA8/7oAPf/PAEAADQBE/5cARv+AAEj/gABK/4AAUP+XAFH/lwBS/4AAU/+XAFT/gABV/5cAVv+XAFf/zwBY/5cAWf+AAFr/gABb/4AAXP+AAF3/gABgAA0AYv/YAG//gABwABAAgv+yAIP/sgCE/7IAhf+yAIb/sgCH/7IAiP+JAIn/2QCU/9kAlf/ZAJb/2QCX/9kAmP/ZAJr/2QCf/7oAov++AKT/vgCo/5cAqf+AALL/gACz/74Auv+AALv/vgC8/74Avf++AML/sgDD/74AxP+yAMb/sgDH/5cAyP/ZAMn/gADK/9kAzP/ZAM//gADR/4AA1/+AANr/2QDc/9kA3v/ZAN//gAD3/74A+f+XAPv/vgD8/9kA/v/ZAQD/2QEB/4ABA/++AQX/lwEJ/74BDf+XARIAFAET/88BFf++ARn/vgEb/74BHf+XAR7/ugEf/88BIf/PASP/zwEn/9kBKP+AASr/lwErABQBLP/PAh7/gAIf/4ACIP+AAiEAFAIiABQCI/+NAiQAFAIlABQCJv+NAir/kQJQABACrv+AArMAFAK1/98Ctv+AAAIAcAALAlAACwACAHAAHgJQAB4ABAA3/44BEv+OASv/jgKz/44AIgBG//QASP/0AEr/9ABS//QAVP/0AKn/9ACq//QAq//0AKz/9ACt//QAsv/0ALT/9AC1//QAtv/0ALf/9AC4//QAuv/0AMn/9ADL//QAzf/0AM//9ADR//QA0//0ANX/9ADX//QA2f/0ANv/9ADd//QA3//0AP3/9AD///QBAf/0ASj/9AKu//QACgAF/9cACv/XADf/iAES/4gBK/+IAiH/1wIi/9cCJP/XAiX/1wKz/4gABAA3/+IBEv/iASv/4gKz/+IAAgAN/3wCIf90AAEB9gAEAAAA9greCtAK0ArCCrwKngqMCp4KegpwCmoKYApWCkwKLgpWChwKVgoSCWwI3giQCkwH8gfoCsIH4gfcB74HuAfcB9wHsgeoB6IHnAeiB5YKwgreCowKcApwCnAKcApwCnAKYApWClYKVgpWClYKVgpWB/IKHAfcB9wH3AfcB9wH3AeiB9wHogpwCnAKcApgCmAKYAd8ClYKTAouCi4KLgduCi4KVgpWChIHZAoSB2QKEgdkCWwHqAlsB6gH8gfoB5YH6AeWB+gHlglsB6gG0gbEBsQGQgY4BtIGLgYgBhIGBAViBkIGIAVUBi4GLgbEBsQGIAYgBU4FSAVCBTwFTgU2BTAFTgUwBU4FJgUcBU4FFgUQBRAFTgVOBU4FQgUQBRAGxAUQBiAFTgZCBi4GxAUQBhIFTgbSBUIG0gVCBtIFQgYgBU4GBAUmBG4FQgZCBkIGLgbEBGAFTgRgBU4GLgYuBi4GOAY4BU4GIAVOBiAFTgUWBiAFTgYgBU4GIAVOBiAGQgZCBkIG0gVCBkIGLgpMChwH3AqMCowKjArQBEYEOArQCtAEOAQOB9wGQgYgBU4GOAVOBU4FTgYgBU4GIAVOBiAFTgYgBU4GIAVOBiAFTgVOBiAFTgYgBU4GIAVOBgQFJgpWA/gD5glsCN4HogABAPYAAwAFAAoACwANAA8AEAARABoAJAAlACYAJwAuAC8AMgAzADQANQA3ADkAOgA7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AbcBuQG7Ab0BvwHBAcMBxQHHAckBywHNAc8B0QHTAdQB1gHYAdoB3AHeAeEB4wHlAecB6QHrAe0B7wHxAfMB9QH3AfkB+wH9Af8CAQIDAgUCBwIJAgsCDQIPAhECEwIVAhcCGQIbAh0CXwJrAm0CbwJxAnMCdQJ3AnkCewJ9An8CgQKDAoUChwKJAosCjQKPApECkwKVApcCmQKbAp0CnwKhAqMCpQKnAqkCqwKtAq8CsQKzArUCtwK5AAAAAAAwAAAC1AkLBwACAgMEBQUIBwIDAwMFAgMCBAUFBQUFBQUFBQUCAwUFBQQKBgUFBgUFBgYCAwUFCAYGBQYFBQUGBggGBQUDBAMFBAMEBQQFBQMFBQICBAMIBQUFBQMEAwUEBwUFBQMCAwUCAwUFBQUCBQQIBAUFAwYEBAUEBAMFBQIDBAQFCAgIBAYGBgYGBggFBQUFBQICAgIGBgYGBgYGBQYGBgYGBQUGBAQEBAQEBwQFBQUFAgICAgUFBQUFBQUFBQUFBQUFBQUGBAYEBgQFBAUEBQQGBgYFBQUFBQUFBQUGBQYFBgUGBQYFAgICAgICAwIFBAUDBQMFAwUDBgUGBQYFBgUGBQkIBQMFAwUDBQQFBAUEBQQFAwUDBgUGBQYFBgUGBQUFBQUFBQUCBQYFBQQFAwICBAQEAwMDBAQABQcGBQcEBQUCAgMICQcFBQYGBQUEBgUIBQYGBQYIBgYGBQUFBQgGBgYICAYHBQUIBQQFBQMFBQYEBQUEBQYFBQUFBAQFBgUFBQYHBQYEBAcFBQUDBAQCAgIHBwUEBQUGBQYFBgUGBQYFBQUEAwUEBQUIBwUEBgUGBQYEBgUGBQgGCQcIBgUEBQQFBAUEBgUIBgYFBgUFBQcGBwYCBgUGBQYFBgUGBQgGAgYEBgQIBwUFBgUGBQgGBQQFBQYFBgUGBQYFBgUFBAUFBQUFBQYFBAMHBgYFBQQGBQgHBgUGBQUECAgFBQYDBgcCAgIEBAQFBQQHCwMDAgQEBAQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQkFBQYFBQUFCAMFBQUFBQYFAAUDBAICAwMEAwUFBQMFBQYFBQUFBAUEBQQGBAUFBQUFBQUEBgUGBQYFBgUHBgUEBQQFBAUFBQUIBwgHBgUGBQYFBwYFBAICBQQFBAYFBgUFAwUDBgQFBAUEAgIEBAIEBAIDBAQDBQQFBAUFAgICAAAKDAgAAwMDBAYGCAgDAwMEBQMEAgQGBgYGBgYGBgYGAwMFBQUFCgYGBQYFBQYGAgMGBQgGBwUHBgUGBgYJBgYFAwQDBQQDBQUEBQUDBQUCAwUDCAUFBQUEBAMFBQcGBQUEAgQFAwMGBgYGAgUFCAQFBQQHBAQFBAQDBgYDAwQEBQkJCQUGBgYGBgYJBQUFBQUCAgICBwYHBwcHBwUHBgYGBgYGBwUFBQUFBQgEBQUFBQICAgIFBQUFBQUFBQUFBQUFBQUFBgUGBQYFBQQFBAUEBgYHBQUFBQUFBQUFBgUGBQYFBgUHBQICAgICAgMDBgUFAwUDBQMFAwYFBgUGBQcFBwUJCAYEBgQGBAUEBQQFBAUEBgMGBAYFBgUGBQYFBgUGBQUFBQUFAgYGBQUEBgMDAgQEBQMDBAUFAAYIBwUHBAYFAgIDCQkIBgYGBgUGBAcFCAUGBgYGCAYHBgUFBgYIBgcGCAkHBwUGCAYFBQUEBgUHBAUFBQUGBQUFBQQEBQYGBgUICAUHBAUHBQUFBAUEAgMDBwcFBQUFBgUHBQYFBwYGBQUFBQQFBAYFCQcFBAYFBwYHBQcFBwYJBwoICQcFBAYEBgUGBQYGCAcHBQYFBgUIBggGAgYFBwYGBQcGBgUIBwIGBQYFCQgFBQYFBgUIBwUEBQUGBQYFBwUHBQcFBgUGBQYFBgUGBQUEBwcGBgUEBgUJBwcGBwYGBQgIBQUGBAcIAgICBAQEBQUFCAwDAwIEBAQEBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBQoKBgUHBQUFBQkEBQUFBQUHBgAFAwUDAgMEBQQGBQUDBgUGBQYFBgUFBAUEBgUFBQUFBQUFBAcFBwUHBQcFBwcGBQYFBgUGBQYFCAcIBwcGBgUHBQcHBQQCAgUEBQQGBQYFBQMGAwYFBQQFBAICBAQDBAQDBAUFBAUFBQUGBgICAgAACw4IAAMDAwQGBgkJAwQEBAYDBAMEBgYGBgYGBgYGBgMDBgYGBQwHBwYHBgYHBwMEBwYJBwcGBwcGBwcHCgcHBgQFBAYFAwYGBAYFBAYGAwMGAwgGBgYGBAUDBgUIBgYFBQMEBgMDBgYGBgMGBQkFBgYECAUFBgUFAwYGAwQFBQYKCgoFBwcHBwcHCgYGBgYGAwMDAwcHBwcHBwcGBwcHBwcHBwcGBgYGBgYJBQUFBQUDAwMDBgYGBgYGBgYGBgYGBgYGBgcGBwYHBgYEBgQGBAcHBwYGBQYFBgUGBQcGBwYHBgcGCAYDAwMDAwMEAwcGBgMGAwYDBgQHBgcGBwYHBgcGCgkHBAcEBwQGBQYFBgUGBQYDBwQHBgcGBwYHBgcGBwYFBgUGBQMGBwYGBQcDAwIFBQUDBAQFBQAGCQgGCAUHBgMDBAsLCQcHBwcGBwUIBgoGBwcHBwkHBwcGBgcHCQcIBwkKBwkGBwoGBgYGBQYFCAUGBgYGCAYGBgYEBQYHBgYGCQkGCAUFCAYFBgUFBQMEAwgJBgYGBgcGBwYHBggGBwYGBgUEBgUGBgoIBgUHBggGCAYIBggGCQcLCQoIBgUHBQcGBwYHBgkHBwYHBgcGCQgJCAMHBgcGBwYIBgcGCQgDBwYHBgoJBgUHBgcGCggGBQYGBwYHBgcGBwYHBgcFBwYHBgcGBwYFBAkIBwYGBQcGCggIBgcGBwYJCAYGBwQHCQMCAgUEBQYGBQkOBAQCBQUFBQYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwYLCgcGBwYGBgYJBAYGBgYGCAYABgQFAwIDBAUEBwYGBAcGBwYHBgcFBgUGBQcGBgUGBQYFBgUHBgcGBwYHBgkIBwUHBQcFBgYGBgoICggHBgcGBwYJCAYFAwMGBAYFBwYHBgYDBwMHBQYFBgUDAgQEAwQFAwQFBQQGBQYFBwcCAwIAAAwPCQADAwQFBwcKCgMEBAUGAwQDBQcHBwcHBwcHBwcDAwYGBgUMBwcHCAYGBwcDBAcGCQcIBwgHBgcHBwoIBwYEBQQGBQQGBgUGBgQGBgMDBgQJBgYGBgQFBAYFCQcGBgUDBAYDBAcHBwcDBgYKBQYGBAgFBQYFBQQHBgMEBQUGCwsLBQcHBwcHBwsHBgYGBgMDAwMIBwgICAgIBggHBwcHBwcIBgYGBgYGCQUGBgYGAwMDAwYGBgYGBgYGBgYGBgYGBgYHBgcGBwYHBQcFBwUICAgGBgYGBgYGBgYHBgcGBwYHBggGAwMDAwMDBAMHBgYEBgQGBAYEBwYHBgcGCAYIBgsKBwQHBAcEBgUGBQYFBgUHBAcEBwYHBgcGBwYHBgcGBgYGBgYDBwcGBgUHBAMDBQUGAwQEBQYABwkIBgkGBwYDAwQLDAkHBwcHBwcGCAYKBggIBwgJBwgHBwcHBwoICAcKCwgKBwcKBwYGBgUHBgkFBgYGBggGBgYGBQUGCQcHBgkJBggGBgkGBgcFBQUDBAMJCQcGBgYIBggGCAYJBwgGBwYGBQYFBwYKCQYFCAYJBwgGCQYIBwoIDAoLCQcFBwUHBgcGCAcKCAgHCAYHBgoICggDBwYIBwcGCAcHBgoJAwcGBwYLCQYGCAYIBgoJBgUGBggGCAYIBggGCAYHBgcGBwYHBgcGBgUKCAgHBgUIBgoJCAcIBwcGCQkHBggECAoDAwMFBQUGBgUKDwQEAgUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGDAsHBggGBgYHCgQGBgYGBggHAAYEBgMDBAUGBAcGBgQHBgcGBwYHBgYFBwUHBgYGBgYGBgYFCAYIBggGCAYKCAcGBwYHBQcGBwYKCQoJCAcIBggGCggGBQMDBgUHBQgGBwYGBAcEBwUGBQYFAwMFBQMFBQMFBgYFBgYGBgcHAgMCAAANEAoAAwMEBQcHCwsDBAQFBwMFAwUHBwcHBwcHBwcHBAQHBwcGDggIBwgGBggIBAUIBwoICAcICAcICAgMCAgHBAYEBwYEBgcGBwcFBwcDAwcECwcHBwcFBQUHBgoHBgYFAwUHAwQHBwcHAwcGCwYHBwUJBgYHBQUEBwcDBAUGBwsMDAYICAgICAgLBwYGBgYEBAQECQgICAgICAcICAgICAgHCAYGBgYGBgoGBwcHBwMDAwMHBwcHBwcHBwcHBwcHBgcGCAYIBggGBwYHBgcGCAgJBwYHBgcGBwYHCAcIBwgHCAcJBwQDAwQEAwUDCAcHBAcEBwQHBAgHCAcIBwgHCAcLCwgFCAUIBQcFBwUHBQcFBwUIBQgHCAcIBwgHCAcIBwYHBgcGBAcIBwcFCAUDAwYGBgQEBQYGAAgKCQYKBggHBAMFDA0KCAcICAcIBgkGCwcICAgICggICAcHCAcLCAkICwwJCgcHDAgGBwYFBwcJBgcHBgcJBwcHBwYFBgkHBwYJCgcJBgYKBwcHBQYFAwQDCgoHBgYHCAcIBwgHCQgIBwcHBgUHBQgHCwkHBggHCQcJBwkHCQcLCQ0LDAkHBggFCAcIBwgHCwkIBwgHCAcKCQoJBAgHCAcIBwkHCAYLCQMIBggGCwoGBwgHCAcLCQcGBwcIBwgHCAcIBwgHBwYHBgcGBwYIBgYFCgkIBwcGCAcMCgkHCQgIBwoLBwcIBQkLAwMDBQUGBwcGCxAEBAIFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBw4MCAcJBwcHBwsFBwcHBwcJCAAHBAYDAwQFBgUIBwYFCAcIBwcGBwYHBgcGCAYGBwYHBgcHBggHCAcIBwgHCgkHBgcGCAYIBwgHDAoMCgkHCAcIBwoJBwYEAwYFBwYIBwgHBwQIBQgGBwYHBgMDBQUDBQUDBQYGBQcGBwYHCAIDAgAADhELAAQEBAYICAwLBAUFBQcEBQMGCAgICAgICAgICAQEBwcHBg8ICAgJBwcICQQFCQcLCQkICQgHCAkIDAkICAUGBQcGBAcIBggHBQgIBAQHBAsIBwgIBQYFCAcKBwcHBQMFBwQECAgICAMHBwwGBwcFCgYGBwYGBAgHBAUGBgcMDQ0GCAgICAgIDAgHBwcHBAQEBAkJCQkJCQkHCQkJCQkICAkHBwcHBwcLBgcHBwcEBAQECAgHBwcHBwcICAgICAcIBwgHCAcIBwgGCAYIBgkJCQgHBwcHBwcHBwgICAgICAkICQgEBAQEBAQFBAkHBwQHBAcEBwQJCAkICQgJBwkHDAwIBQgFCAUHBgcGBwYHBggFCAUJCAkICQgJCAkICAgHCAcIBwQICAgHBggFBAMGBgYEBQUGBgAICwoHCgYIBwQEBQ0NCwkICQgICAYJBwwHCQkJCQsJCQkICAgICwkKCAwNCQsICA0IBwgHBQgHCgYICAcHCQgHBwgGBgcKBwgHCgsICgcGCgcHCAUGBgQEBAsLCAcHBwkICQgJBwoICQgICAYFBwYIBwwKBwYJBwoICgcKCAoIDAkNDAwKCAYIBggHCAcJCAwJCQgJCAkICwkLCQQJBwkICQgKCAgHDAoECAcIBwwLBwcJBwkHDAoHBggHCQgJCAkHCQgJCAgGCAcIBwgHCAcGBQsKCQcHBgkHDAoKCAkICQcLCwgICQUJCwMDAwYGBgcHBgsRBAQDBgYGBggICAgICAgICAgICAgICAgICAgICAgICAgICAcODQgICQcHBwgMBQcHBwcHCggABwUHBAMEBQcFCAgHBQkICAcIBwgGBwYIBggHBwcHBwcHBwYJBwkHCQgJBwsKCAYIBggGCAcIBw0KDQoJCAkICQcLCgcGBAQHBggGCQgJCAcECAUIBwcGBwYDAwYGBAYGBAUHBwUHBgcGCAgDBAMAAA8SCwAEBAQGCQkNDAQFBQYIBAUEBgkJCQkJCQkJCQkEBAgICAcQCQkICggICQoEBQkIDAoKCQoJCAgKCQ0JCAgFBgUIBwUHCAYICAUICAQEBwQMCAkICAUGBQgHCwcHBwYDBggEBAkJCQkDCAcNBggIBQoHBwgGBgUJCAQFBgYIDQ4OBwkJCQkJCQ0ICAgICAQEBAQKCgoKCgoKCAoKCgoKCAkJBwcHBwcHDAYICAgIBAQEBAkICQkJCQkICQgICAgHCAcJBwkHCQcIBggGCAYKCgoICAgICAgICAgJCAkICQgKCAoIBAQEBAQEBQQJBwgECAQIBAgFCggKCAoICgkKCQ4NCQUJBQkFCAYIBggGCAYJBQgFCggKCAoICggJCAgIBwgHCAcECQkICAYIBQQDBwcHBAUFBwcACQwKCAsHCQgEBAUODgsJCQoJCQkHCggNCAoKCQkMCgoKCQgICQwJCgkMDQoMCQkNCQcICAYJCAoGCAgHCAoICQgIBgYHCwcICAwMCAsHBwsICAgGBwYEBAQLDAgHBwgKCAoJCQgLCQoICQgHBggGCQgNCwgGCggLCQoICwgKCQ0KDgwNCwgGCAYIBwgHCggNCgoICggJCAwKDAoECQgKCAoICgkJCA0LBAkHCQcNDAgICQgJCA0KCAYIBwoICggKCQoJCgkJBwkHCQcJBwkIBwYMCwkICAYKCA0LCgkKCQkHDAwJCAoFCgwDAwMGBgYICAcMEgUFAwYGBgYJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIDw4JCAoICAgIDQYICAgICAoJAAgFBwQDBAYHBQkICAUJCAkICQcJBwgGCAYJBwgICAgICAgGCgkKCQoJCgkMCwkHCQcJBwkICQgNCw0LCggKCAoJDAsIBgQECAYIBgoICggIBAgFCQcIBggGAwMGBgQGBgQGBwcGCAcIBwgJAwQDAAAQFAwABAQFBgkJDQ0EBQUGCAQGBAcJCQkJCQkJCQkJBAUICAgHEQkJCQoICAoKBAUJCA0KCwkLCQgJCgkOCgkJBQcFCAcFCAkGCQgFCQkEBAgFDAkJCQkFBwUJCAsIBwcGBAYIBAUJCQkJBAgIDQcICAYLBwcIBwcFCQgEBQcHCA4ODgcJCQkJCQkOCQgICAgEBAQECgoLCwsLCwgLCgoKCgkJCggICAgICA0GCAgICAQEBAQJCQkJCQkJCAkJCQkJBwkHCQgJCAkICQYJBgkGCgoKCQgICAgICAgICgkKCQoJCgkKCQQEBAQEBAUECQgIBQgFCAUIBQoJCgkKCQsJCwkPDQkFCQUJBQgHCAcIBwgHCQYJBgoJCgkKCQoJCgkJCQcJBwkHBAkKCQgHCQUEBAcHBwUFBgcHAAkMCwgMBwkIBAQFDw8MCQkKCQkJBwsIDQgKCgkKDQoLCgkJCQkNCgsKDg8LDAkJDgkICQgGCQgLBwkJBwgLCQkJCQYGBwsICQgMDAkLCAcMCAgJBgcHBAUEDA0JBwcJCgkLCQoICwoKCQkJBwYIBwkJDgwIBwoICwkLCAwJCwkNCw8NDgsJBgkGCQgJCAsJDQoKCQoJCgkNCg0KBAoICgkKCQsKCggOCwQJCAkIDg0ICAoICggNCwgHCQgKCQoJCwkLCQsJCQcJBwkHCQcKCAcGDAsKCAgHCggOCwsJCwkJCA0MCQkLBgsNBAQEBgYGCAgHDRQFBQMHBwcHCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCBAPCgkKCAgICA4GCAgICAgLCQAIBQgEBAUGCAYJCQgFCgkKCAkHCQcIBwkGCQgICAgICAgIBwsJCwkLCQsJDAsJBwkHCQcJCAkIDgwODAsJCgkLCQwLCAcEBAgHCQYKCQoJCAUJBQkICAcIBwQEBgYEBgcEBggIBggHCAcJCQMEAwAAERUNAAQEBQcKCg4OBAYGBgkEBgQHCgoKCgoKCgoKCgUFCQkJCBIKCgoLCQkKCwQGCgkOCwsKCwoJCgsKDwsKCgYHBgkIBQgJBwkJBQkJBAQIBQ4JCQkJBggGCQgMCAgIBgQGCQQFCgoKCgQJCA4HCAkGDAgHCQcHBQoJBAYHBwgPDw8ICgoKCgoKDwoJCQkJBAQEBAsLCwsLCwsJCwsLCwsKCgsICAgICAgNBwkJCQkEBAQECgkJCQkJCQkJCQkJCQgJCAoICggKCAoHCgcKBwsLCwkJCQkJCQkJCQoJCgkKCQsJCwkEBAQEBAQGBAoICQUJBQkFCQULCQsJCwkLCQsJEA4KBgoGCgYJCAkICQgJCAoGCgYLCQsJCwkLCQsJCgoICggKCAQKCgkJCAoGBAQHCAgFBgYICAAKDQwJDQgKCQQFBhAQDQoKCwoKCggMCQ4JCwsKCw4LCwsKCgoKDgsMCg4PCw0KCg8KCAkJBgoJDAcJCQgJCwkJCQkHBwgMCAoJDA0JDAgIDAkJCQYICAQFBA0NCQgICQsJCwkLCQwKCwkKCQgGCQcKCQ8MCQcLCQwKDAkMCQwKDgsQDg8MCgcKBwoICggLCQ4LCwkLCQoJDgsOCwQKCQsJCwkMCgoJDgwECggKCA8NCQkLCQsJDgwJBwkICwkLCQsJCwkLCQoICggKCAoICgkIBg0MCwkJBwsJDwwMCgsKCggODgoJCwYLDgQEBAcHBwkJCA4VBQUDBwcHBwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgkREAoJCwkJCQkPBgkJCQkJDAoACQYIBQQFBggGCgkJBQoJCgkKCAoICQcKBwoICQkJCQkJCQcLCQsJCwkLCQ0MCggKCAoICgkKCQ8MDwwLCgsJCwkNDAkHBAQJBwoHCwkLCQkFCgYKCAkHCQcEBAcHBAcHBQcICAcJCAkICQoDBAMAABIWDgAFBQUHCgoPDwUGBgcJBQYEBwoKCgoKCgoKCgoFBQkJCQgTCwoKCwkJCwwFBgsJDgwMCgwLCgoLCxALCwoGCAYJCAYJCQgJCQYJCQQECQUOCQoJCQYIBgkJDAkICAcEBwkFBQoKCgoECgkPCAkJBgwICAkHBwUKCgUGBwgJEBAQCAsLCwsLCxAKCQkJCQUFBQUMDAwMDAwMCQwLCwsLCwoLCQkJCQkJDggJCQkJBAQEBAoJCgoKCgoJCgkJCQkICQgLCQsJCwkKCAoICggLDAwJCQkJCQkJCQkLCQsJCwkMCQwJBQQFBAUEBgQLCQkFCQUJBQkGDAkMCQwJDAoMChAPCwYLBgsGCggKCAoICggKBgoGCwkLCQsJCwkLCQsKCAoICggECgsJCggKBgQECAgIBQYGCAgACw4NCQ0ICgoFBQYREQ4LCgwLCgoIDAkPCQwMCwsODAwMCgoKCg4LDAsPEAwOCgoQCgkKCQcKCQwICQkJCQwJCgkJCAgIDAkKCQ4OCgwJCA0JCQoHCAgEBgQODgoJCAkMCgwKCwkNCwwKCgkIBwkHCgoPDQkICwkNCwwJDQkNCg8LEQ8QDQoICggLCQsJDAoPDAwKDAoLCQ4LDgsFCwkMCgwJDAoLCQ8NBAsJCwkQDgkJCwkLCQ8MCQgKCQwJDAkMCgwKDAoKCAoICggKCAsJCAcODAsJCQgLCRAMDAoMCgsJDg4KCQwGDA8EBAQHBwcJCQgPFgYGAwcHBwcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoJEhELCgwJCQkJDwcJCQkJCQ0KAAkGCQUEBQcJBgoJCQYLCQsJCggKCAkICggLCQkJCQkJCQkIDAoMCgwKDAoODAoICggKCAoJCgkQDRANDAoMCQwKDgwJCAUECQcKCAsJDAkJBQoGCwkJCAkIBAQHBwUHBwUHCQkHCQgJCAoLAwQDAAATFw4ABQUGCAsLEA8FBgYHCgUHBQgLCwsLCwsLCwsLBQYKCgoJFAwLCwwKCgwMBQYMCg8MDQsNCwsLDAsQDAsLBggGCggGCQoICgoGCgoFBQkGDwoLCgoHCAYKCQ4KCQkHBAcKBQYLCwsLBAoJEAgJCgcNCAgKCAgGCwoFBggICREREQkMDAwMDAwRCwoKCgoFBQUFDQwNDQ0NDQoNDAwMDAsLDAkJCQkJCQ8ICgoKCgUFBQULCgsLCwsLCgsKCgoKCQoJDAkMCQwJCwgLCAsIDAwNCgoKCgoKCgoKDAoMCgwKDAoNCgUFBQUFBQYFDAkKBgoGCgYKBgwKDAoMCg0LDQsSEAsHCwcLBwsICwgLCAsICwcLBwwKDAoMCgwKDAoLCwkLCQsJBQsMCgsICwYFBAgJCQUHBwkJAAsPDQoOCQsLBQUGEhIPDAsMDAsLCQ0KEAoMDAwMDwwNDAsLCwsPDA0MERINDwsLEQsJCwoHCwoNCAoKCQoNCgsKCggICQ0KCwoPDwoOCQkOCgoKBwkIBQYFDg8KCQkKDAoNCwwKDgsMCgsKCQcKCAsKEA4KCAwKDgsNCg4KDQsQDRIQEQ4LCAsICwkLCQ0KEAwMCgwKDAoPDA8MBQwKDQoMCg0LDAoQDQUMCQwJEQ8KCgwKDAoQDQoICgkMCgwKDQsNCw0LCwkLCQsJCwkMCgkHDw4MCgoIDAoQDg0LDQsMCQ8PCwoNBw0QBAQECAgICgoJDxcGBgQICAgICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLChQSCwoMCgoKChAHCgoKCgoNCwAKBgkFBAYHCQcLCgoGDAoMCgsJCwkKCAsIDAkKCgoKCgoKCA0LDQsNCw0LDw4LCQsJCwkLCgsKEQ4RDg0LDAoNCw8OCggFBQoICwgMCgwKCgYLBgsJCggKCAQECAgFCAgFBwkJBwoJCgkLCwQFBAAAFBkPAAUFBggLCxEQBQcHCAsFBwUICwsLCwsLCwsLCwUGCwsLCRUMCwsNCgoMDQUHDAoQDQ0LDQwLCwwMEQ0LCwYIBgoJBgoLCQsKBgsLBQUKBhALCwsLBwkGCwoOCgoJBwUHCwUGCwsLCwULChEICgsHDgkJCwgIBgsLBQcICAoSEhIJDAwMDAwMEQsKCgoKBQUFBQ0NDQ0NDQ0LDQwMDAwLCw0KCgoKCgoQCQoKCgoFBQUFCwsLCwsLCwsLCwsLCwoLCgwKDAoMCgsJCwkLCQ0NDQsKCgoKCgoKCgwLDAsMCw0LDgsFBQUFBQUHBQwKCgYKBgoGCwYNCw0LDQsNCw0LEhEMBwwHDAcLCQsJCwkLCQsHCwcMCwwLDAsMCwwLCwsJCwkLCQULDAsLCQsGBQQJCQkGBwcJCQAMEA4KDwkMCwUFBxMTDwwLDAwLCwkOChELDQ0MDBANDQwLCwsLEA0ODBESDRALCxILCgsKBwsKDgkLCwoKDQoLCgsJCQoOCgsKDxALDgoJDwoKCwcJCQUGBQ8PCwoKCw0LDQsNCw4MDQsLCwkHCggMCxEPCwkNCw4MDgoOCw4LEQ0TEBIOCwkLCQsKCwoNCxENDQsNCwwLEA0QDQUMCg0LDQoOCwwKEQ4FDAoMChEQCgoNCg0KEQ4LCQsKDQsNCw0LDQsNCwsJCwoLCgsKDAoJBxAODQsLCQwKEQ4OCw0MDAoQEAsLDQcNEAQEBAgICAoKCRAZBgYECAgICAsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwoVEwwLDQsLCwsRBwsLCwsLDgwACgcKBQQGCAoHCwsKBgwLDAoLCgsJCwkLCQwKCgoKCgoKCwkNCw0LDQsNCxAOCwkLCQwJCwoLChIPEg8NCw0LDQsQDgsJBQUKCAsJDQsNCwoGCwYMCgsJCwkEBAgIBQgIBQgJCggKCQoJCwwEBQQAABUaEAAFBQYIDAwSEQUHBwgLBQgFCQwMDAwMDAwMDAwGBgsLCwoWDQwMDgsLDQ0FBw0LEA0ODA4NCwsNDRINDAwHCQcLCQcKCwkLCwcLCwYGCgYRCwwLCwcJBwsKDwsKCggFCAsFBgwMDAwFCwoSCQoLCA4JCQsJCQYMCwUHCQkKEhMTCg0NDQ0NDRIMCwsLCwUFBQUODQ4ODg4OCw4NDQ0NDAwNCgoKCgoKEAkLCwsLBgYGBgwLDAwMDAwLDAsLCwsKCwoNCg0KDQoMCQwJDAkODQ4MCwsLCwsLCwsNCw0LDQsNCw8LBQYFBQUGBwYNCgsGCwYLBgsHDQsNCw0LDgwODBMSDQcNBw0HCwkLCQsJCwkMBwsIDQsNCw0LDQsNCwwMCgwKDAoFDA0LCwkLBwYFCQkKBgcHCQoADBAPCxAKDAsFBgcUFBANDA0NDAwKDwsSCw0NDQ0QDQ4NDAwLDBENDg0SEw4QDAwTDAoLCggMCw8JCwsKCw4LDAsLCQkKDwsMCw8QCw8KCg8LCwwICgkGBwYQEAwKCgsOCw4MDQsPDA4LDAsKCAsJDAsSDwsJDQsPDA8LDwsPDBIOFBESDwwJDAkMCwwLDgsSDg4LDQsNCxEOEQ4FDQsODA0LDgwNCxIPBQ0KDQoSEAsLDQsNCxIPCwkMCg0LDQsODA4MDgwMCgwKDAoMCg0LCggQDw0LCwkNCxIPDgwODA0KEBEMCw4IDhEFBQUICAgLCwkRGgYGBAkJCQkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLFhQNCw4LCwsLEggLCwsLCw8MAAsHCgYFBggKBwwLCwcNCw0LDAoMCgsJDAkNCgsLCwsLCwsJDgwODA4MDgwQDwwKDAoMCgwLDAsTDxMPDgwOCw4MEA8LCQUGCwkMCQ4LDQsLBgsHDQoLCQsJBQUICAUICQYICgoICwoLCgwNBAUEAAAWGxEABgYGCQwMEhIGBwcIDAYIBQkMDAwMDAwMDAwMBgYMDAwKFw0NDA4LCw4OBgcOCxIODw0PDQwNDQ0TDg0MBwkHCwoHCwwKDAsHDAwFBgsGEQwMDAwHCQgLCg8LCgoIBQgMBgYMDAwMBQwLEgkLDAgPCgoMCQkHDQwGBwkJCxMUFAoNDQ0NDQ0TDAsLCwsGBgYGDw4PDw8PDwwPDQ0NDQ0NDgsLCwsLCxEKCwsLCwUFBQUMDAwMDAwMDAwLCwsLCgwKDQsNCw0LDAoMCgwKDg4PDAsLCwsLCwsLDgwODA4MDgwPDAYFBgUGBQcGDgsLBgsGCwYMBw4MDgwODA8MDwwUEg0HDQcNBwwJDAkMCQwJDQgNCA0LDQsNCw0LDQsNDAoMCgwKBgwODAwJDQgGBQoKCgYICAoKAA0RDwsQCg0MBgcHFRURDg0ODQ0NCg8LEgwPDw4OEg4PDg0MDQ0SDg8NExQPEQ0NFAwLDAsIDQsPCgsLCgsOCwwLDAoJCg8LDAsQEQwPCwoQCwsMCAoJBQcGEREMCgoLDgwPDA4MEA0ODA0MCggLCQ0LExAMCg4MEA0PCxAMDwwTDxUSExAMCQ0JDQsNCw8MEg4ODA4MDQwSDhIOBg0LDgwOCw8NDQsTEAUNCw0LExELCw4LDgsSDwwKDAsPCw8LDwwPDA8MDQoNCg0KDQoNCwoIEQ8ODAwKDgsTDw8NDw0OCxIRDQwPCA8SBQUFCQkJCwsKEhsHBwQJCQkJDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxcVDQwODAwMDBMIDAwMDAwPDQALBwoGBQYICwgNDAsHDQwNCw0KDQoMCgwKDQsLCwsLCwsMCg8MDwwPDA8MEQ8NCg0KDQoMCwwLFBAUEA8MDwsPDBEPDAoGBQsJDAkODA4MCwYNCA0KDAoMCgUFCQkGCQkGCAoLCAsKCwoMDQQFBAAAFxwRAAYGBwkNDRMTBggICQwGCAYJDQ0NDQ0NDQ0NDQYHDAwMChgODg0ODAwODwcIDgwSDw8NDw4MDQ4OFA4ODAcKBwwKBwsMCgwMBwwNBgYLBxMNDAwMCAoIDQsRDAsLCQUJDAYHDQ0NDQUMCxMKCwwIEAoKDAkJBw0MBggJCgsUFRUKDg4ODg4OFA0MDAwMBwcHBw8PDw8PDw8MDw4ODg4ODQ4LCwsLCwsSCgwMDAwGBgYGDA0MDAwMDAwMDQ0NDQsMCw4LDgsOCw0KDQoNCg4PDw0MDAwMDAwMDA4MDgwODA8NEA0HBgcGBwYIBg4LDAcMBwwHDAcPDQ8NDw0PDA8MFRMOCA4IDggMCgwKDAoMCg0IDQgODQ4NDg0ODQ4NDgwLDAsMCwYNDgwMCg0IBgUKCgsHCAgKCwANEhAMEQoNDAcHCBYWEQ4NDw4NDgoPDBMMDw8ODhIPDw8NDQ0NEg4QDhQVDxINDRUNCwwMCQ0MEAoNDQsMDw0MDQwKCgsQDA0MEhIMEQsLEQwMDQkLCgYHBhISDQsLDA8MDwwODBAODwwNDAoJCwoNDBQRDAoPDBAOEAwRDBANFA8WExQQDQoNCg4LDgsPDBMPDw0PDA4NEg8SDwcODA8NDw0QDQ4MExAGDgsOCxQSDAwODA4MExAMCg0LDw0PDQ8MDwwPDA0LDQsNCw0LDgwKCRIRDwwMCg8MFBEQDQ8ODgsSEw0MDwgPEwUFBQkJCQwMChMcBwcECQkJCQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQwYFg4MDwwMDAwUCAwMDAwMEA4ADAgLBgUHCQsIDgwMBw4NDgwNCw0LDAoNCg4LDAwMDAwMDAoPDA8MDwwPDBIRDQsNCw0LDQwNDBURFREPDQ8NDwwSEQwKBwYMCQ0KDgwPDQwHDQgOCwwKDAoFBQkJBgkJBgkLCwkMCwwLDQ4EBgQAABgeEgAGBgcKDg4UFAYICAkNBgkGCg4ODg4ODg4ODg4GBw0NDQsZDw4NEA0MDxAHCA8MExAQDhAODQ0PDhUPDg0ICggMCwgMDQoMDAgMDQYGDAcUDQ0NDAgKCA0LEQ0LCwkFCQ0GBw4ODg4FDQwUCgwNCRELCg0KCgcODQYICgoMFRYWCw8PDw8PDxUNDQ0NDQcHBwcQEBAQEBAQDRAPDw8PDg4PDAwMDAwMEwoMDAwMBgYGBg0NDQ0NDQ0NDQ0NDQ0LDQsPDA8MDwwNCg0KDQoQDxANDQwNDA0MDQwPDA8MDwwQDRANBwYHBgcGCAYPDAwHDAcMBw0IEA0QDRANEA0QDRYUDggOCA4IDQoNCg0KDQoOCA0JDw0PDQ8NDw0PDQ4NCw0LDQsGDg8MDQoNCAYFCwsLBwgICwsADhMRDRILDg0HBwgWFxIPDhAPDg4LEA0UDRAQDw8TEBAQDg0NDhMPEA8VFhATDg4WDgwNDAkODBEKDQ0MDBANDQ0NCgoLEQ0NDBITDREMCxIMDA0JCwoGBwYSEw0MCw0QDRANDw0RDhANDg0LCQwKDg0VEQ0KDw0RDhEMEQ0RDhQQFxQVEQ0KDQoODA4MEA0UEBANDw0ODRMQExAHDwwQDRANEA4PDBQRBg8MDwwVEw0MDwwPDBQRDQoNDBANEA0QDRANEA0OCw4LDgsOCw8MCwkTEQ8NDQoPDBUREA4QDg8MExQODRAJEBQFBQUKCgoMDAsTHgcHBAoKCgoODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4MGRcODRANDQ0NFQkNDQ0NDREOAAwICwYFBwkMCA4NDAgODQ8MDgsOCw0KDQoPDA0MDQwNDA0KEA0QDRANEA0TEQ4LDgsOCw4MDgwWEhYSEA4QDRANExENCgcGDAoNChAMEA0MBw0IDgsNCw0LBQUKCgYKCgYJCwwJDAsMCw0OBQYEAAAZHxMABgYHCg4OFRQGCAgJDQYJBgoODg4ODg4ODg4OBwcNDQ0LGg8PDhANDQ8RBwgQDRQREQ4RDw0OEA8WEA8NCAsIDQsIDA0LDQ0IDQ4HBwwHFQ4NDg0JCwkNDBINDAwJBgkNBgcODg4OBg0MFQsMDQkRCwsNCgoIDg0GCAoKDBYXFwsPDw8PDw8WDg0NDQ0HBwcHEBEREREREQ0REBAQEA8OEAwMDAwMDBQLDQ0NDQcHBwcODg0NDQ0NDQ0NDQ0NDA4MDwwPDA8MDgsOCw4LEBAQDg0NDQ0NDQ0NDw0PDQ8NEQ4RDgcHBwcHBwgHEAwNBw0HDQcNCBEOEQ4RDhENEQ0XFQ8JDwkPCQ0LDQsNCw0LDgkOCRANEA0QDRANEA0PDQwNDA0MBg4PDQ0LDgkHBgsLDAcJCQsLAA8TEQ0TCw4NBwcIFxgTEA4QDw4PCxENFQ0RERAQFBEREA4ODg4UEBEPFhcRFA4OFg8MDQ0JDg0RCw4ODA0RDQ0ODgsKDBENDg0TFA0SDAsSDQ0OCQsLBwgHExQODAwOEA0RDRANEg8QDQ4OCwkNCg8NFRINCxANEg8RDRIOEQ4VERgVFhIOCw4KDwwPDBEOFRAQDhANDw4UEBQQBw8NEA4QDREODw0VEgcPDA8MFhQNDRANEA0VEQ0LDgwRDhEOEQ0RDRENDgsODA4MDgwPDQsJFBIQDQ0LEA0WEhEOEQ8QDBQVDg4RCREVBgYGCgoKDQ0LFB8ICAUKCgoKDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODRoYDw0QDQ0NDRUJDQ0NDQ0RDwANCAwHBgcJDAkPDQ0IDw4PDQ4MDgsNCw4LDwwNDQ0NDQ0NCxENEQ0RDRENFBIOCw4LDgsPDQ8NFhIWEhEOEQ4RDRQSDQsHBw0KDgsQDREODQcOCQ8MDQsNCwYGCgoGCgoHCgwMCg0MDQwODwUHBQAAGiAUAAcHCAoPDxYVBwkJCg4HCQYLDw8PDw8PDw8PDwcIDg4ODBsPDw4QDQ0QEQcJEA0VEREPEQ8NDxAQFhAPDggLCA0MCA0OCw4NCA4OBwcNCBUODg4OCQsJDgwTDQwMCgYKDgcIDw8PDwYODBYLDQ4JEgwLDgsLCA8OBwkLCw0XFxgMDw8PDw8PFg4NDQ0NBwcHBxEREREREREOERAQEBAPDxANDQ0NDQ0UCw0NDQ0HBwcHDg4ODg4ODg4ODg4ODgwODA8NDw0QDQ4LDgsOCxAREQ4NDQ0NDQ0NDRAOEA4QDhEOEQ4HBwcHBwcJBxANDQgNCA0IDggRDhEOEQ4RDhEOGBYPCQ8JDwkNCw0LDQsNCw8JDwkQDhAOEA4QDhAODw4MDgwODAYPEA4NCw8JBwYLDAwHCQkMDAAPFBINEwwPDQcHCRgZFBAPEQ8PDwwSDRUOEREQEBUREREPDg8PFRASEBYYERUPDxcPDQ4NCg4NEQsODg0NEQ4ODg4LCwwSDQ8NExQOEg0MEw0NDgoMCwcIBxQUDg0MDhEOEQ4QDhMPEQ4PDgwKDQsPDhYTDgsRDhMPEg0TDhIPFhEZFRcSDgsPCw8NDw0RDhYREQ4RDhAOFREVEQcPDREOEQ4SDxANFhIHDw0PDRYUDQ0QDRANFREOCw4NEQ4RDhEOEQ4RDg8MDwwPDA8MEA0MChUSEA4OCxANFhMSDxEPEA0VFQ8OEQkRFQYGBgoKCg0NDBUgCAgFCwsLCw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw0bGRAOEQ4ODg4WCg4ODg4OEg8ADQkMBwYICg0JDw4NCBAOEA0PDA8MDgsOCw8NDQ0NDQ0NDgsRDhEOEQ4RDhUSDwwPDA8MDw0PDRcTFxMRDxEOEQ4VEg4LBwcNCw4LEA4RDg0IDwkQDA4LDgsGBgoKBwoLBwoMDQoNDA0MDg8FBwUAABshFAAHBwgLDw8XFgcJCQoOBwoHCw8PDw8PDw8PDw8HCA4ODgwdEBAPEg4OERIICREOFhISDxIQDhAREBcREA8JCwkODAkNDwwPDgkODwcHDQgVDw8PDgkMCQ8NEw4NDAoGCg4HCA8PDw8GDg0WCw0OChMMDA4LCwgPDgcJCwsNGBgYDBAQEBAQEBcPDg4ODggICAgSEhISEhISDhIREREREA8RDQ0NDQ0NFQwODg4OBwcHBw8PDw8PDw8ODw8PDw8NDw0QDRANEA0PDA8MDwwSERIPDg4ODg4ODg4RDhEOEQ4SDxIPCAcIBwgHCQcRDQ4IDggOCA4JEg8SDxIPEg8SDxgXEAkQCRAJDgwODA4MDgwPCRAKEQ8RDxEPEQ8RDxAPDA8MDwwHDxEODgwQCQcGDAwMCAkJDAwAEBUTDhQMEA4ICAkZGhQRDxIQDxAMEw4XDhISEREWEhISDw8QDxYREhAYGRIWDxAYEA0PDgoPDhMMDw8NDhIPDw4PDAsNEw4PDhQVDxMNDBQODg8KDAwHCQcVFQ8NDQ4SDxIPEQ4TEBIPDw8MCg4LEA4XFA4MEQ4TEBMOEw8TDxcSGhYYEw8MEAsQDRANEg8XERIPEQ4QDxUSFRIIEQ4SDxIPEhAQDhcTCBANEA0XFQ4OEQ4RDhcTDgwPDRIPEg8SDxIPEg8QDA8NDw0PDRAODAoWExEODgwRDhcTEhASEBENFhUPDxIKEhYGBgYLCwsODgwWIQgIBQsLCwsPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8OHBoQDxIODg4OFwoODg4ODhMQAA4JDQcGCAoNCRAPDgkQDxAODw0QDA4MDwwQDQ4ODg4ODg4MEg8SDxIPEg8WExAMEAwQDBAOEA4YFBgUEg8SDxIPFhMODAgHDgsPDBIPEg8OCBAJEA0ODA4MBgYLCwcLCwcKDQ0KDg0ODA8QBQgFAAAcIxUABwcICxAQGBcHCQkLDwcKBwsQEBAQEBAQEBAQCAgPDw8NHhEREBIPDhESCAkRDhYSExATEQ8QEhEYEhEPCQwJDgwJDg8MDw4JDxAICA4IFxAPDw8KDAoPDRQPDQ0KBgoPBwgQEBAQBg8NFwwODwoTDAwPDAwJEA8HCQwMDhkZGQ0REREREREYEA8PDw8ICAgIEhITExMTEw8TEhISEhEQEg4ODg4ODhYMDg4ODggICAgQEA8PDw8PDw8PDw8PDQ8NEQ4RDhEOEAwQDBAMEhISDw8ODw4PDg8OEQ8RDxEPEhATEAgICAgICAkIEQ4OCA4IDggPCRIQEhASEBMPEw8aGBEKEQoRCg8MDwwPDA8MEAoQChIPEg8SDxIPEg8RDw0PDQ8NBxARDw8MEAoIBgwNDQgKCg0NABAWEw8VDRAPCAgJGhsVERASERARDRMPFw8TExESFhITEhAQEBAWEhMRGBoTFxAQGRAODw4LEA4TDA8PDg4TDw8PDwwMDRQPEA4VFg8UDg0VDg4PCw0MCAkIFRYPDg0PEg8TDxIPFBESDxAPDQsODBAPGBQPDBIPFBATDhQPExAYExsXGRQQDBAMEQ4RDhMPFxISDxIPERAWEhYSCBEOEg8SDxMQEQ4YFAgRDhEOGBYPDhIOEg4XEw8MDw4TDxMPEw8TDxMPEA0QDRANEA0RDg0LFxQSDw8MEg4YFBMQExERDhYXEA8TChIXBgYGCwsLDg4NFyMJCQUMDAwMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQDh0bEQ8SDw8PDxgKDw8PDw8TEQAOCQ0HBggLDgoRDw4JERARDhANEA0PDBAMEQ4PDg8ODw4PDBMPEw8TDxMPFxQQDRANEA0QDhAOGRUZFRMQEw8TDxcUDwwICA4LEAwSDxIQDggQChENDwwPDAYGCwsHCwwHCw0OCw4NDg0PEQUIBQAAHSQWAAcHCQwQEBgYBwkJCw8HCgcMEBAQEBAQEBAQEAgIDw8PDR8SERATDw8SEwgKEg8XExMRExEPEBMRGRIREAkMCQ8NCQ4QDRAPCRAQCAgOCRcQEBAQCgwKEA4VDw4NCwcLDwcJEBAQEAcPDhgMDg8KFA0NDwwMCREPBwoMDA4aGhoNEhISEhISGRAPDw8PCAgICBMTExMTExMPExMTExMRERIODg4ODg4XDQ8PDw8ICAgIEBAQEBAQEA8QEBAQEA4QDhIOEg4SDhANEA0QDRMTExAPDw8PDw8PDxIQEhASEBMQFBAICAgICAgKCBIODwkPCQ8JDwkTEBMQExATEBMQGxgRChEKEQoPDA8MDwwPDBAKEAoTEBMQExATEBIQERANEA0QDQcQEhAPDBAKCAYNDQ0ICgoNDQARFxQPFQ0RDwgIChscFhIQExIREQ0UDxgPExMSEhcTExMREBAQGBIUEhkbExgRERoRDhAPCxAPFA0QEA4PExAQEBANDA4UDxAPFhcQFA4NFQ8PEAsNDAgJCBYXEA4ODxMQExASDxURExAREA0LDwwRDxkVDw0SDxURFA8VEBQQGRMcGBkVEA0QDBEOEQ4TEBgTExATEBIQFxMXEwgSDxMQExAUERIPGRUIEg4SDhkXDw8SDxIPGBQPDRAOExATEBMQExATEBENEA4QDhAOEg8NCxgUEg8PDRIPGRUUERMREg4XFxEQEwoTGAYGBgsLCw8PDRckCQkFDAwMDBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEA8eGxEQEw8PDw8ZCw8PDw8PFBEADwoOCAYJCw4KERAPCRIQEg8QDhENDw0QDRIODw8PDw8PDw0TEBMQExATEBgUEQ0RDRENEQ8RDxoVGhUTEBMQExAYFA8NCAgPDBANExATEA8JEAoRDg8NDw0GBgsLBwwMCAsODgsPDQ8NEBEFCAUAAB4lFwAICAkMEREZGAgKCgsQCAsHDBEREREREREREREICRAQEA4gEhERExAPEhQIChMPGBQUERQSEBETEhoTEhAKDQoPDQkPEA0QDwkQEQgIDwkYERAQEAsNChEOFhAODgsHCxAICREREREHEA4ZDQ8QCxUNDRAMDAkREAgKDA0PGhsbDhISEhISEhoREBAQEAgICAgUFBQUFBQUEBQTExMTEhETDw8PDw8PGA0PDw8PCAgICBAREBAQEBAQEBEREREOEA4SDxIPEg8RDRENEQ0TExQREA8QDxAPEA8SEBIQEhAUERQRCAgICAgICggTDw8JDwkPCRAKFBEUERQRFBAUEBsZEgsSCxILEA0QDRANEA0RChELExETERMRExETERIQDhAOEA4HERIQEA0RCggHDQ0OCQoLDg4AEhcVEBYOERAICAocHRYTERMSEREOFRAZEBQUExMYFBQTERERERgTFBIaGxQYEREbEQ8QDwsRDxUNEBAPDxQQEBAQDQwOFBARDxYXEBUPDhYPDxELDg0ICggXFxEPDhAUEBQQExAVEhQQERAOCw8MERAaFhANExAVEhUPFhAVERoUHRgaFRENEQwSDxIPFBAZExQQExASERgTGBMIEg8UERQQFBESDxkVCBIPEg8aGBAPEw8TDxkVEA0QDxQQFBAUEBQQFBARDhEOEQ4RDhIPDgsYFRMPEA0TDxoWFREUEhMPGBgREBQLFBkHBwcMDAwPDw4YJQkJBgwMDAwREREREREREREREREREREREREREREREREREREPHxwSEBQQEBAQGgsQEBAQEBUSAA8KDggHCQsPCxEQDwkSERIPEQ4RDhANEQ0SDxAPEA8QDxANFBAUEBQQFBAYFREOEQ4RDhEPEQ8bFhsWFBEUEBQQGBUQDQgIDwwRDRMQFBEPCREKEg4QDRANBwcMDAgMDAgLDg8LEA4PDhESBggGAAAfJhcACAgJDBISGhkICgoMEAgLCA0SEhISEhISEhISCAkQEBAOIRMSERQQEBMUCAoTEBkUFBIUExASExMbFBIRCg0KEA4KDxENERAKEREICA8JGBERERELDQsRDxYQDw4MBwwQCAkSEhISBxAPGg0PEAsVDg4QDQ0JEhAICg0NDxscHA4TExMTExMbERAQEBAICAgIFRQUFBQUFBAUExMTExISFA8PDw8PDxgNEBAQEAgICAgREREREREREBERERERDxEPEw8TDxMPEQ0RDRENFBQVERAQEBAQEBAQExETERMRFBEVEQgICQgICAoIEw8QCRAJEAkQChQRFBEUERQRFBEcGhMLEwsTCxANEA0QDRANEgsSCxMRExETERMRExESEQ4RDhEOCBITERANEgsIBw4ODgkLCw4OABIYFhAXDhIQCAkKHR4YExIUExISDhUQGhAVFRMTGRQUFBIREhIZFBUTGhwVGRISHBIPERAMEhAVDRERDxAVEREREQ0NDxYQERAYGBEWDw4XEBARDA4NCAoIGBgRDw8RFBEUERQQFhIUERIRDgwQDRIRGxcQDRQQFhIVEBYRFhIaFR4aGxYRDRINEg8SDxURGhQUERQRExEYFBgUCBMQFBEUERUSExAaFggTDxMPGxgQEBMQExAaFRANEQ8VERURFBEUERQREg4SDxIPEg8TEA4MGRYUEBANFBAbFhUSFBITDxkYEhEVCxQZBwcHDAwMEBAOGSYKCgYNDQ0NEhISEhISEhISEhISEhISEhISEhISEhISEhISECAdExEUEBAQEBsLEBAQEBAWEgAQCg8IBwkMDwsSERAKExETEBIPEg4QDRENEw8QEBAQEBAQDRQRFBEUERQRGRYSDhIOEg4SEBIQHBccFxURFREUERkWEA0ICBANEQ0UERQREAkSCxMPEA4QDgcHDAwIDA0IDA8PDBAOEA4REgYIBgAAICcYAAgICQ0SEhsaCAoKDBEIDAgNEhISEhISEhISEgkJERERDyITExIUERATFQkLFBAaFRUSFRMREhQTHBQTEQoOChAOChARDhEQChERCAgPCRoRERERCw0LEQ8XEA8ODAcMEQgJEhISEgcRDxsNEBEMFg4OEQ0NChIRCAsNDRAcHR0PExMTExMTHBIRERERCQkJCRUVFRUVFRURFRQUFBQTEhQQEBAQEBAZDhAQEBAICAgIEhEREREREREREREREQ8RDxMQExATEBIOEg4SDhQUFRIREBEQERAREBMRExETERURFhIJCAkICQgLCBQPEAkQCRAJEQoVERURFREVERURHRsTCxMLEwsRDRENEQ0RDRILEgwUERQRFBEUERQRExEOEQ4RDggSExERDRILCAcODg8JCwsODwATGRYRGA8SEQkJCx4fGBQSFBMSEw8WERsRFRUUFBoVFRQSEhISGhQWExwdFRkSEhwTEBEQDBIQFg4RERAQFREREREODQ8WEBIQGBkRFxAOFxAQEgwPDQgKCBgZEhAPERURFREUERcTFRESEQ8MEA0TERsXEQ4UERcTFhAXERYSGxUfGhwXEg4SDRMQExAVERsVFREVERMRGRUZFQkUEBUSFREWEhMQGxcIExATEBwZERAUEBQQGxYRDhEPFREVERURFREVERIOEg8SDxIPExAPDBkXFBERDhQQHBcWEhUTFA8aGhIRFgwVGgcHBw0NDRAQDhonCgoGDQ0NDRISEhISEhISEhISEhISEhISEhISEhISEhISEhAhHhMRFREREREbDBERERERFhMAEAsPCQcJDBALExEQChMSExASDxIOEQ4SDhMQERAREBEQEQ4VERURFREVERkXEg4SDhIPExATEBwXHBcVEhURFREZFxEOCQgQDRIOFBEVERAJEgsTDxEOEQ4HBw0NCA0NCQwPEAwRDxAPEhMGCAYAACEpGQAICAoNExMcGwgLCwwRCAwIDRMTExMTExMTExMJChEREQ8jFBQSFRERFBUJCxQRGhYWExYUERMVFBwVFBILDgsRDwoQEg4SEQsSEgkJEAobEhISEgwODBIQGBEQDwwHDBEIChMTExMHERAbDhARDBcPDhEODgoTEQgLDg4QHR4eDxQUFBQUFBwSEREREQkJCQkWFhYWFhYWERYVFRUVFBMVEBAQEBAQGg4RERERCQkJCRISEhISEhIREhISEhIQEhAUEBQQFBASDhIOEg4VFRYSEREREREREREUEhQSFBIVEhcSCQkJCQkJCwkUEBEKEQoRChELFhIWEhYSFhIWEh4cFAwUDBQMEQ4RDhEOEQ4TDBMMFRIVEhUSFRIVEhQSDxIPEg8IExQSEQ4TDAkHDw8PCQsMDw8AExoXERgPExEJCgsfIBkUExUUExQPFxEcERYWFBUaFRYVExITExoVFxQdHhYaExMeExASEQwTERcOEhIQERYSEhISDg4QFxESERkaEhgQDxgRERIMDw4JCwkZGhIQEBIVEhYSFREYExUSExIPDBEOExIcGBEOFREYExcRGBIXExwWIBsdFxIOEw4UEBQQFhIcFRUSFRIUEhoVGhUJFBEVEhUSFxMUERwXCRQQFBAcGhERFBEUERwXEQ4SEBYSFhIWEhYSFhITDxMQExATEBQRDwwaGBUREQ4VERwYFxMWExQQGhsTEhYMFhsHBwcNDQ0REQ8bKQoKBg4ODg4TExMTExMTExMTExMTExMTExMTExMTExMTExMRIh8UEhYRERERHAwRERERERcTABELEAkHCgwQDBQSEQsUEhQRExATDxEOEg4UEBEREREREREOFhIWEhYSFhIaGBMPEw8TDxMRExEeGB4YFhMWEhYSGhgRDgkJEQ0SDhUSFRIRChMMFBARDhEOBwcNDQgNDgkNEBANEQ8RDxIUBgkGAAAiKhoACQkKDhMTHRwJCwsNEgkMCA4TExMTExMTExMTCQoSEhIPJBUUExYRERQWCQsVERsWFhMWFBITFRQdFhQSCw4LEQ8LERIPEhELEhMJCREKGxMSEhIMDgwSEBkSEA8NCA0SCQoTExMTCBIQHA4REgwXDw8SDg4KExIJCw4OER4fHw8VFRUVFRUdExEREREJCQkJFxYWFhYWFhIWFRUVFRQTFRERERERERsPEREREQkJCQkTExISEhISEhISEhISEBIQFREVERUREw8TDxMPFhYXExERERERERERFBIUEhQSFhMXEwkJCQkJCQsJFRERChEKEQoSCxYTFhMWExYSFhIfHRQMFAwUDBIOEg4SDhIOEwwTDBUSFRIVEhUSFRIUEg8SDxIPCBMUEhIOEwwJCA8PEAoMDA8QABQaGBEZEBMSCQoLICEaFRMWFRMUEBgRHRIXFxUVGxYWFhMTExMbFhcVHR8WGxMUHxQREhENExEYDxMTERIXEhISEg8PEBcSExEZGxIYEQ8ZERETDQ8OCQsJGhoTERASFhIWEhUSGBQWEhMSEA0RDhQSHRkSDxYSGBQYERgSGBMdFyEcHhgTDxMPFBEUERcSHBYWExYSFRMbFhsWCRURFhMWEhcUFREdGAkVERURHRsRERURFREdGBIPExAXExcTFhIWEhYSFA8TEBMQExAVERANGxgWEhIPFRIdGRcUFhQVERsbExIXDBYcCAgIDQ0NEREPHCoKCgYODg4OExMTExMTExMTExMTExMTExMTExMTExMTExMTESMgFBIWEhISEh0NEhISEhIYFAARCxAJCAoNEQwUEhELFRMVERMQFA8SDxMPFRERERERERESDxYSFhIWEhYSGxgUDxQPEw8UERQRHxkfGRcTFxMWEhsYEg8JCREOEw8WEhYTEQoTDBQQEg8SDwgIDQ0JDg4JDRAQDRIQERATFAYJBgAAIysaAAkJCg4UFB0cCQsLDRIJDQkOFBQUFBQUFBQUFAkKEhISECUVFRQWEhIVFwkMFhIcFxcUFxUTExYVHhYVEwsPCxIQCxETDxMSCxMTCQkRCh0TExMTDA8MExEZEhEQDQgNEgkKFBQUFAgTER0PERINGBAPEg4OCxQTCQwODxEfICAQFRUVFRUVHhQSEhISCQkJCRcXFxcXFxcSFxYWFhYVFBYREREREREbDxISEhIJCQkJFBMTExMTExITExMTExETERURFREVERQPFA8UDxYWFxMSEhISEhISEhUTFRMVExcTGBMJCQoJCQkMCRYREgoSChIKEgsXExcTFxMXExcTIB0VDBUMFQwTDxMPEw8TDxQMEw0WExYTFhMWExYTFRMQExATEAkUFRMTDxMMCQgPEBAKDAwQEAAUGxgSGhAUEwkKDCEiGxYUFhUUFRAYEh0SFxcWFhwXFxYUFBMUHBYYFR8gFxwUFB8UERISDRQSGA8TExESFxMTExMPDxEZEhQSGxwTGREQGRISEw0QDwkLCRsbExERExcTFxMWEhkVFxMUExANEg4UEx4ZEg8WEhkVGBIZExgUHhciHR8ZFA8UDxURFREXEx0XFxMXExUTGxcbFwkVEhcTFxMYFBUSHhkJFREVER4bEhIWEhYSHRgSDxMRFxMXExcTFxMXExQQFBEUERQRFRIQDRwZFhISDxYSHhkYFBcVFhEcHRQTGA0XHQgICA4ODhISEBwrCwsGDg4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBIkIRUTFxISEhIeDRISEhISGBUAEgwRCQgKDREMFRMSCxUTFRIUERQQEg8UDxUREhISEhISEg8XExcTFxMXExwZFBAUEBQQFBIUEh8ZHxkXFBcTFxMcGRIPCQkSDhQPFhMXExIKEwwVERIPEg8ICA4OCQ4OCQ0REQ0SEBIQExUHCQYAACQsGwAJCQsOFBQeHQkMDA4TCQ0JDxQUFBQUFBQUFBQKChMTExAmFhUUFxMSFRcKDBYTHRcZFRgWExQXFh8XFRMMDwwSEAsSEw8TEgwTFAkJEgsdFBMTEw0PDRMRGhMREA0IDRMJCxQUFBQIExEeDxITDRkQEBMPDwsUEwkMDw8SICEhEBYWFhYWFh8UExMTEwoKCgoYFxkZGRkZExgXFxcXFRUXEhISEhISHA8SEhISCQkJCRQUExMTExMTExMTExMRExEWEhYSFhIUDxQPFA8XFxgUExITEhMSExIVExUTFRMXFBkUCgkKCgoJDAkWEhMLEwsTCxMLFxQXFBcUGRMZEyEeFg0WDRYNEw8TDxMPEw8UDRQNFxMXExcTFxMXExUTEBMQExAJFBUTEw8UDQkIEBARCgwNEBEAFRwZExsQFBMKCwwiIxsWFBcWFRUQGRMeExgYFhYdFxkXFRQUFB0XGRYfIRgdFBUgFRITEg4UEhkQFBQSEhgTExMTDw8RGRMUEhscExkRERoSEhQOEA8JCwkbHBQSERMXExgTFxMaFRcTFRMQDhIPFRMfGhMQFxMaFRkSGhMZFB8YIx0gGhQPFA8VEhUSGBQeFxcUFxMWFB0XHRcKFhIXFBcTGRUWEh4aCRYSFhIfHBMSFxIXEh4ZExAUERgUGBQZExgTGBMVERQRFBEUERYSEA4dGRcTExAXEh8aGRUYFRYSHR0VExgNGB4ICAgODg4SEhAdLAsLBw8PDw8UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQSJSIWExgTExMTHw0TExMTExkVABIMEQoICw4SDRUTEgwWFBYSFBEVERMQFA8WEhMSExITEhMQGRMZExgTGRMdGRURFREUEBUSFRIgGiAaGBQYFBkTHRkTEAoJEg8UDxcTFxQTCxQNFhETEBMQCAgODgkODwoOEREOExESERQVBwkHAAAlLhwACQkLDxUVHx4JDAwOFAkNCQ8VFRUVFRUVFRUVCgsUFBQRJxYVFRcTEhYYCwwXEx4YGRUZFhQVFxYgFxYUDBAMExAMEhQQFBIMFBQKChILHRQUFBQNDw0UEhsTEhEOCA4UCQsVFRUVCBQSHxASFA0aEBAUDw8LFRQJDA8QEiEhIREWFhYWFhYgFRMTExMLCwsLGBgZGRkZGRQZFxcXFxYVFxISEhISEh0QEhISEgoKCgoVFBQUFBQUFBQUFBQUEhQSFhIWEhYSFRAVEBUQFxgYFBMSExITExMSFhQWFBYUGBQZFQsKCwoLCgwKFxITCxMLEwsTDBgUGBQYFBkUGRQiHxYNFg0WDRQPFA8UDxQPFQ0VDRcUFxQXFBcUFxQWFBEUERQRCRUWFBQPFQ0KCBAREQsNDRERABYdGhMbERUUCwsMIyQcFxUYFhUVERoTHxMYGBcXHhgZFxUVFRUeFxkWHyEZHRUVIRUSExMOFRIaEBQUEhMZFBQUFBAPEhkTFRMbHRQaEhEbExIUDhEPCgwKHB0UEhIUGBQZFBcUGhYYFBUUEQ4TDxYUIBsTEBgUGhYaExsUGhUfGSMeIBoVEBUPFhIWEhkUHxgYFBgUFhQdGB0YCxcTGBQYFBkVFhMfGgkWEhYSIB0TEhcTFxMfGhMQFBIYFBgUGRQZFBkUFREVEhUSFRIWExEOHRoXExMQFxMgGxkVGBYXEh4dFRQZDRgeCAgIDw8PExMRHi4LCwcPDw8PFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVEyYjFhQYFBQUFCAOFBQUFBQaFgATDBIKCAsOEg0VFBIMFhUWExUSFRETEBUQFhITEhMSExITEBkUGRQZFBkUHRoVERURFREVExUTIRshGxkVGBQZFB0aExALChIPFRAXFBgUEwsVDRYSExATEAgIDw8JDw8KDhISDhMRExEUFgcJBwAAJi8dAAoKCw8WFiAfCgwMDhQKDgkQFhYWFhYWFhYWFgoLFBQUESgXFhUZFBMXGQsMGBQeGRkWGRcUFRgXIRgXFAwQDBMRDBMUEBQTDBQVCgoTCx8UFBQUDRANFBIbFBIRDgkOFAoLFhYWFgkUEiAQExQOGhERFBAQDBYUCg0QEBMhIiIRFxcXFxcXIRUUFBQUCwsLCxkZGRkZGRkUGRgYGBgXFhgTExMTExMeEBMTExMKCgoKFRQUFBQUFBQUFBQUFBIUEhcTFxMXExUQFRAVEBkYGRUUExQTFBMUExcUFxQXFBkVGhULCgsKCwoMChgTFAsUCxQLFAwZFBkUGRQZFBkUIyAXDRcNFw0UEBQQFBAUEBYNFQ4YFBgUGBQYFBcUFxQRFBEUEQkWFxQUEBUNCggRERILDQ0REQAWHhoUHBEWFAsLDCQlHRgWGBcWFhEaFCAUGRkYGB4ZGRgWFRUWHhgaFyEjGR4WFiIWExQTDhYTGhAUFBMTGRQUFBQQEBIbFBUTHR4UGhMRHBMTFQ4REAoMCh0eFRMSFBkUGRQYFBsWGRQWFBEOExAWFCEcFBAYFBsWGhMbFRoWIBklHyEbFRAVEBcTFxMZFSAZGRUZFBcVHhkeGQsXExkVGRQaFhcTIBsKFxMXEyEeFBMYExgTIBoUEBUSGRQZFBkUGRQZFBYRFhIWEhYSFxMRDh4aGBQUEBgTIRsaFhkWGBMeHxYUGg4ZHwgICA8PDxMTER8vDAwHEBAQEBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhMnJBcUGRQUFBQhDhQUFBQUGhYAEw0SCggLDhMNFhQTDBcVFxMWEhYRFBAVEBcTFBMUExQTFBAZFBkUGRQZFB4aFhEWERYRFhMWEyIcIhwZFRkUGRQeGhQQCwoTEBUQGRQZFRQLFQ0XEhQRFBEICA8PCg8QCg8SEg8UEhMSFRcHCgcAACcwHQAKCgsQFhYhIAoNDQ8VCg4KEBYWFhYWFhYWFhYKCxUVFRIpGBcWGRQUGBkLDRgUHxoaFhoXFRYYFyIZFxUNEQ0UEQwTFBEVFA0VFQoKEwsgFRUVFA0QDhUTHBQTEg4JDhUKCxYWFhYJFRMgEBMVDhsRERUQEAwWFQoNEBATIiMjEhgYGBgYGCIWFBQUFAsLCwsaGhoaGhoaFRoYGBgYFxYZExMTExMTHxEUFBQUCgoKChYVFRUVFRUVFBUVFRUTFRMYExgTGBMWERYRFhEZGRoVFBQUFBQUFBQYFRgVGBUZFRsWCwoLCwsKDQoYExQLFAsUCxQMGhUaFRoVGhUaFSQhFw0XDRcNFRAVEBUQFRAWDhYOGBUYFRgVGBUYFRcVEhUSFRIKFhgVFRAWDgoJERISCw0OEhIAFx4bFB0SFxULDA0kJh4YFhkYFhcSGxQhFRoaGBgfGRoZFhYWFh8ZGxgiJBofFhYjFhMUFA8WFBsRFRUTFBoVFRQVERATGxQWEx0fFRsTEhwUFBUPEhAKDAoeHxUTExQZFRoVGRUcFxkVFhUSDxQQFxUhHBURGRUcFxsUHBUbFiEaJiAiHBYRFhAXExcTGhUhGRkVGRQYFR8ZHxkLGBQZFRkVGxYYEyEcChgTGBMiHxQUGRQZFCEbFREVExoVGhUaFRoVGhUWEhYTFhMWExgTEg8fGxkUFREZFCIcGxYaFxgTHyAWFRoOGiAJCQkPDw8UFBIgMAwMBxAQEBAWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUKCUXFRoVFRUVIQ4VFRUVFRsXABQNEwoJDA8TDhcUFA0YFhgTFhMWEhURFhEYExQUFBQUFBURGhUaFRoVGhUfGxYSFhIXEhYUFhQjHCMcGhYaFRoVHxsVEQsKFBAWERkVGRUUCxYOFxMVERURCQkPDwoQEAoPEhMPFBIUEhYXBwoHAAAoMR4ACgoMEBcXIiEKDQ0PFQoOChAXFxcXFxcXFxcXCwwVFRUSKhgXFhoVFBgaCw0ZFSAaGxcbGBUWGRgiGRgWDRENFBINFBURFRQNFRULCxQLIBYVFRUOEQ4WEx0VExIPCQ8VCgwXFxcXCRUTIREUFQ4cEhEVEBAMFxUKDRARFCMkJBIYGBgYGBgiFhUVFRULCwsLGxobGxsbGxUbGRkZGRgXGRQUFBQUFB8RFBQUFAsLCwsXFhUVFRUVFRUWFhYWExUTGBQYFBgUFhEWERYRGhobFhUUFRQVFBUUGBUYFRgVGhUbFgsLCwsLCw0LGRQVCxULFQsVDRoWGhYaFhsVGxUlIhgOGA4YDhURFREVERURFw4WDhkWGRYZFhkWGRYYFhIWEhYSChcYFRURFg4LCRISEgsODhISABcfHBUdEhcVCwwNJSYeGRcaGBcXEhwVIhUaGhkZIBobGhcWFhcgGRsYIiQbIBcXJBcUFRQPFxQcERYWExUbFRUVFRERExwVFhQeHxUbExIdFBQWDxIRCw0LHh8WExMVGhUbFRkVHBgaFhcVEg8UERcVIh0VERkVHRccFB0WHBciGyYhIxwWERYRGBQYFBsWIhoaFhoVGBUgGiAaCxgUGhYaFRsXGBQiHAoYFBgUIh8VFBkUGRQiHBURFhMaFhoWGxUbFRsVFxIXExcTFxMYFBIPIBsZFRURGRUiHRsXGhgZFCAgFxUbDhohCQkJEBAQFBQSIDEMDAcQEBAQFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFCkmGBYaFRUVFSIPFRUVFRUcGAAUDRMLCQwPFA4XFRQNGBYYFBcTFxIVERYRGBQVFBUUFRQVERsVGxUbFRsVIBsXEhcSFxIXFBcUJB0kHRsXGxYbFSAbFRELCxQQFhEaFRoVFQsWDhgTFREVEQkJEBAKEBALDxMTDxUTFBIWGAgKBwAAKTMfAAoKDBAXFyIhCg0NEBYKDwoRFxcXFxcXFxcXFwsMFhYWEysZGBcbFRUZGwwOGRUhGxsXGxkWFxoZIxoYFg0RDRUSDRQWERYVDRYWCwsUDCEWFhYWDhEOFhQeFhQTDwkPFgoMFxcXFwkWFCIRFBYPHBISFhERDRcWCg4RERQkJSUTGRkZGRkZIxcVFRUVDAwMDBsbGxsbGxsWGxoaGhoYFxoUFBQUFBQgERUVFRULCwsLFxYWFhYWFhYWFhYWFhQWFBkUGRQZFBcRFxEXERsaGxcVFRUVFRUVFRkWGRYZFhsWHBcMCwwLDAsOCxkUFQwVDBUMFg0bFhsWGxYbFhsWJiIZDhkOGQ4WERYRFhEWERcOFw8aFhoWGhYaFhoWGBYTFhMWEwoXGRYWERcOCwkSEhMMDg4TEwAYIB0VHhMYFgwMDiYnHxkXGhkXGBMcFSIWGxsZGiEbGxoXFxcXIRocGSMlGyEXGCUYFBYVDxcVHBIWFhQVGxYWFhYREhQcFhcUHiAWHRQTHhUVFw8TEQsNCx8gFxQUFhsWGxYaFh0YGxYXFhMPFREYFiMeFhIaFh0YHBUdFh0XIxsnIiQdFxIXEhgUGBQbFiIbGxYaFRkWIRshGwwZFRsXGxYcGBkUIx0LGRQZFCMgFRUaFRoVIhwWEhYUGxYbFhsWGxYbFhgTFxQXFBcUGRQTDyEdGhYWEhoVIx4cGBsYGRQhIRcWHA8bIgkJCRAQEBUVEyEzDQ0IERERERcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxUqJxkWGxYWFhYjDxYWFhYWHRgAFQ4UCwkMDxQOGBYVDRkXGRQXFBgTFhIXERkUFRUVFRUVFhIbFhsWGxYbFiEdGBMYExgTGBUYFSUeJR4bFxsWGxYhHRYSDAsVERcSGxYbFhUMFw4ZFBYSFhIJCRAQChARCxATFBAVExUTFxgICwgAACo0IAALCwwRGBgjIgsODhAWCw8KERgYGBgYGBgYGBgLDBYWFhMsGRkXGxYVGhsMDhoWIhwcGBwZFhgaGSQbGRcOEg4VEw0VFxIXFQ0WFwsLFQwhFxYXFw4SDxYUHhYUExAKEBYLDBgYGBgKFhQjEhUWDx0TEhYREQ0YFgsOERIVJSYmExkZGRkZGSQXFhYWFgwMDAwcHBwcHBwcFhwaGhoaGRgaFRUVFRUVIRIVFRUVCwsLCxgXFhYWFhYWFhYWFhYUFxQZFRkVGRUXEhcSFxIbGxwXFhUWFRYVFhUaFhoWGhYbFxwXDAsMCwwLDgsaFRYMFgwWDBYNHBccFxwXHBYcFiYjGQ4ZDhkOFhIWEhYSFhIYDxgPGhYaFhoWGhYaFhkXExcTFxMKGBoWFhIYDwsJEhMTDA4PExMAGSEdFh8TGBYMDA4nKCAaGBsZGBkTHRYjFhwcGhoiGxwbGBcYGCIbHRkkJhwiGBgmGBUWFRAYFR0SFxcVFRwXFhYXEhIUHRYXFR8hFx4VEx8VFRcQExILDQsgIRcVFBYbFxwWGhYeGRsXGBYTEBURGBYkHxYSGxYeGR0VHhcdGCQcKCMlHhcSGBIZFRkVHBcjGxsXGxYZFyEbIRsMGhUbFxsXHRgZFSQeCxkVGRUkIRYVGhUaFSMdFhIXFBwXHBccFhwWHBYYExgUGBQYFBkVExAiHhsWFhIbFSQeHRgcGRoVIiEYFxwPHCIJCQkREREVFRMiNA0NCBEREREYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgVKygZFxsWFhYWJA8WFhYWFh0ZABUOFAsJDBAVDxkXFQ0ZFxkVGBQYExYSFxIZFRYVFhUWFRYSHBYcFhwWHBYiHhgTGBMYExgVGBUmHyYfHBgcFxwWIh4WEgwLFREXEhsXGxcWDBgPGRQWEhYSCQkREQsREQsQFBQQFhMVExcZCAsIAAArNSAACwsNERgYJCMLDg4QFwsPCxIYGBgYGBgYGBgYDAwXFxcULhoZGBwWFhocDA4bFiIcHRkdGhcYGxolGxkXDhIOFhMOFRcTFxYOFxcMDBUNIxcXFxcPEg8XFR8XFRQQChAXCw0YGBgYChcVJBIVFw8eExMXEhINGBcLDhISFSYnJxQaGhoaGholGBYWFhYMDAwMHRwdHR0dHRcdGxsbGxkZGxUVFRUVFSITFhYWFgwMDAwYFxcXFxcXFxcXFxcXFRcVGhUaFRoVGBMYExgTHBsdGBYWFhYWFhYWGhcaFxoXHBcdGAwMDAwMDA4MGxUWDRYNFg0XDhwXHBccFx0XHRcnJBoPGg8aDxcSFxIXEhcSGA8YDxsXGxcbFxsXGxcZFxQXFBcUCxgaFxcSGA8MChMTFAwPDxMUABkhHhYgFBkXDA0OKCkhGxgbGhkZFB4WJBcdHRsbIhwdGxkYGBgiGx0aJScdIhgZJxkVFxUQGBYeEhcXFRYdFxcWFxMSFR4XGBUgIhceFRQgFhYYEBQSDA4MISIYFRUXHBcdFxsXHxkcFxkXFBAWEhkXJR8XEhsXHxkeFh8XHhglHSkjJh4YExgSGRUZFR0XJBwcFxwXGhciHCIcDBoWHBgcFx0ZGhYkHwsaFRoVJSIWFhsWGxYkHhcSGBUdFx0XHRcdFx0XGRQYFRgVGBUaFRQQIh4bFxcTGxYlHx0ZHBkbFSIjGRcdDxwjCgoKERERFhYTIzUNDQgSEhISGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYFiwpGhccFxcXFyUQFxcXFxceGQAWDhQLCg0QFQ8ZFxYOGhgaFhgVGRQXEhgTGhUWFhYWFhYXEh0XHRcdFx0XIh4ZFBkUGRQZFhkWJyAnIB0YHRcdFyIeFxMMDBYSGBMcFxwXFg0YDxoVFxMXEwoKERELERILEBQVEBYUFhQYGggLCAAALDYhAAsLDRIZGSUkCw4OERcLEAsSGRkZGRkZGRkZGQwNFxcXFC8aGhgcFxYbHQwPGxcjHR4ZHhoXGRwaJhwaGA4TDhYUDhYYExcWDhgYDAwWDSMYGBgXDxMPGBUgFxUUEAoQFwsNGRkZGQoXFSUSFRcQHhMTFxISDRkXCw8SEhUnKCgUGhoaGhobJhgXFxcXDAwMDB0dHh4eHh4XHhwcHBwaGRwWFhYWFhYjExYWFhYMDAwMGRgYGBgYGBcYGBgYGBUYFRoWGhYbFhgTGBMYExwcHRgXFhcWFxYXFhsYGxgbGB0YHhgMDAwMDAwPDBsWFw0XDRcNFw4dGB0YHRgeGB4YKCUaDxoPGg8XExcTFxMXExkPGRAcGBwYHBgcGBsYGhgUGBQYFAsZGxgXExkPDAoTFBQNDw8UFAAaIh8XIRQZFwwNDykqIRsZHBoZGhQeFyUXHR0bGyMdHhwZGBkZIxweGyYoHSMZGScaFhgWERkWHhMYGBYWHRgYFxgTEhUfFxkWISIYHxYUIBYWGBEUEwwODCIjGBYVFx0YHhgcFx8aHRgZGBQRFhIaGCYgFxMcFyAaHhYgGB8ZJR0qJCcfGBMZEhoWGhYdGCUcHRgcGBsYIxwjHAwbFh0YHRgeGRsWJR8MGhYaFiYjFxYcFhwWJR4XExgVHRgdGB4YHhgeGBkUGRUZFRkVGxYUESMfHBcXExwWJiAeGR0aGxYjIxkYHhAdJAoKChERERYWFCQ2Dg4IEhISEhkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYtKhoYHRcXFxcmEBcXFxcXHxoAFg8VDAoNERYPGhgWDhsYGxYZFRkUFxMYExoWFxYXFhcWFxMeGB4YHhgeGCMfGRQZFBkUGhYaFicgJyAdGR0YHhgjHxcTDAwWEhgTHBcdGBcNGQ8aFRcTFxMKChERCxISDBEVFREXFBYUGBoIDAgAAC03IgALCw0SGhomJQsPDxEYCxALEhoaGhoaGhoaGhoMDRgYGBQwGxsZHRcXGx0MDxwXJB4eGh4bGBocGyccGxgPEw8XFA4WGBMYFw4YGQwMFg0kGRgYGBATEBgVIBgWFREKERgLDRoaGhoKGBYlExYYEB8UFBgTEw4aGAsPExMWKCkpFBsbGxsbGycZFxcXFwwMDAweHh4eHh4eGB4cHBwcGxocFhYWFhYWIxMXFxcXDAwMDBkZGBgYGBgYGBgYGBgWGBYbFhsWGxYZExkTGRMdHR4ZFxcXFxcXFxcbGBsYGxgdGR8ZDAwMDAwMDwwcFhcNFw0XDRgOHhkeGR4ZHhgeGCkmGxAbEBsQGBMYExgTGBMaEBoQHBgcGBwYHBgcGBsYFRgVGBULGhsYGBMaEAwKFBQVDQ8QFBUAGiMfFyEVGhgMDQ8qKyIcGh0bGhsVHxcmGB4eHBwkHR4dGhkaGiQcHxsnKR4kGhooGhYYFxEaFx8TGRkWFx4YGBgYExMWIBgZFyEjGCAWFSEWFxkRFRMMDgwiIxkWFhgdGB4YHBggGx0YGhgVERcTGhgnIRgTHRggGh8XIBgfGiYeKyUnIBkTGhMbFhsWHhgmHR0ZHRgbGSQdJB0MHBcdGR0YHxobFyYgDBsWGxYnIxcXHBccFyYfGBMZFh4ZHhkeGB4YHhgaFRoWGhYaFhsXFREkIBwYGBMdFycgHxoeGxwWJCQaGB4QHiUKCgoSEhIXFxQkNw4OCBMTExMaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoXLisbGB0YGBgYJxEYGBgYGB8bABcPFQwKDREWEBsYFw4bGRsXGhYaFRgTGRMbFhcXFxcXFxgTHhgeGB4YHhgkIBoVGhUaFRoWGhYoISghHhkeGR4YJCAYEwwMFxIZEx0YHRkXDRoQGxUYFBgUCgoSEgsSEwwRFRYRFxUXFRkbCAwIAAAuOSMADAwOEhoaJyUMDw8RGAwRCxMaGhoaGhoaGhoaDA0YGBgVMRwbGh4YFxweDQ8dGCUeHxofHBgaHRwoHRsZDxQPFxQPFxkUGRcPGBkMDBcOJRkZGRkQExAZFiEYFhURChEYDA0aGhoaChgWJhMWGBEgFBQYExMOGhgMDxMTFigqKhUcHBwcHBwoGhgYGBgNDQ0NHx4fHx8fHxgfHR0dHRsaHRcXFxcXFyQUFxcXFwwMDAwaGRkZGRkZGBkZGRkZFhkWHBccFxwXGhQaFBoUHh0fGRgXGBcYFxgXHBgcGBwYHhkfGQ0MDQwNDA8MHRcYDhgOGA4YDx4ZHhkeGR8ZHxkqJxwQHBAcEBgTGBMYExgTGhAaER0ZHRkdGR0ZHRkbGRUZFRkVCxocGBgTGhAMChQVFQ0QEBUVABskIBgiFRsYDQ4PKywjHRodHBobFSAYJxgfHx0dJR4fHRoaGholHR8cKCofJRoaKRsXGRcRGhcgFBkZFxgeGBkYGRQTFiAYGhcjJBkgFxUiFxcZERUTDA4MIyQZFxYYHhkfGR0YIRseGRoZFREXExsZJyEYFB0YIRsgFyEZIBonHywmKCEaFBoTGxcbFx8ZJx4eGR4ZHBklHiUeDRwXHhkeGB8bHBcnIQwcFxwXKCQYFx0XHRcnIBgUGRYfGR8ZHxkfGR8ZGhUaFhoWGhYcFxURJSAdGBgUHRgoIR8aHhsdFyUlGhkfER4mCgoKEhISFxcVJTkODggTExMTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFy8sHBkeGBgYGCcRGBgYGBggGwAXDxYMCg4RFxAbGRcPHBkcFxoWGhUYFBoUHBcYFxgXGBcYFB8ZHxkfGR8ZJSAaFRoVGxUbFxsXKSIpIh8aHxkfGSUgGBQNDBcTGhQeGR4ZGA4aEBwWGBQYFAoKEhIMEhMMEhYWEhgVFxUZGwkMCAAALzojAAwMDhMbGycmDA8PEhkMEQwTGxsbGxsbGxsbGw0OGRkZFTIcHBoeGRgdHg0QHRgmHx8bHxwYGx0cKR4cGQ8UDxgVDxcZFBkYDxkaDQwXDiUaGRkZERQQGRYiGRYWEQsRGQwOGxsbGwsZFycUFxkRIBUVGRMTDhsZDBATFBcpKisVHBwcHBwcKRoZGRkZDQ0NDR8fHx8fHx8ZHx0dHR0cGx4XFxcXFxclFBgYGBgNDQ0NGhoZGRkZGRkZGRkZGRYZFhwXHBccFxoUGhQaFB4eHxoZGBkYGRgZGB0ZHRkdGR4aIBoNDQ0NDQ0QDB0XGA4YDhgOGQ8fGh8aHxofGR8ZKygcERwRHBEYFBgUGBQYFBsQGxEdGR0ZHRkdGR0ZHBkWGRYZFgwbHRkYFBsQDAoVFRYNEBAVFgAcJSEZIxYbGA0OECwtJB0bHhwbHBYgGScYHx8dHSYeHx4bGhsbJh4gHCgrHyUbGyobFxkYEhsYIRQaGhcYHxkZGRkUFBYhGRoYIyUZIRcWIxcYGhIVFA0PDCQlGhcWGR8ZHxkeGSEcHxkbGRYSGBMbGSgiGBQeGSIcIRgiGSEbKB8tJykhGhQbFBwXHBcfGSceHxoeGRwaJR4lHg0dGB8aHxkgGxwYKCEMHBccFyklGRgeGB4YJyEYFBoXHxofGh8ZHxkfGRsWGxYbFhsWHBgWEiUhHhkZFB4YKSIgGx8cHRcmJRsZIBEfJwoKChMTExgYFSY6Dg4JExMTExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxgwLRwZHxkZGRkoERkZGRkZIRwAGBAWDQoOEhcQHBkYDxwaHBgbFhsWGBQaFBwXGRgZGBkYGBQfGR8ZHxkfGSUhGxYbFhsVGxcbFyojKiMfGh8aHxklIRkUDQ0YExoUHhkeGhgOGxAcFhgVGBUKChMTDBMTDRIWFxIYFhgWGhwJDAkAADA7JAAMDA4TGxsoJwwQEBIZDBEMFBsbGxsbGxsbGxsNDhkZGRYzHRwbHxkYHR8NEB4ZJiAgGyAdGRseHSkeHBoQFBAYFQ8YGhUaGA8ZGg0MGA4nGhoaGhEUERoXIxkXFhILEhkMDhsbGxsLGRcoFBcZESEVFRkUFA8bGQwQFBQXKisrFh0dHR0dHSkbGRkZGQ0NDQ0gICAgICAgGSAeHh4eHBseGBgYGBgYJhUYGBgYDQ0NDRsaGhoaGhoZGhoaGhoXGhcdGB0YHRgbFRsVGxUfHyAaGRgZGBkYGRgdGR0ZHRkfGiEaDQ0ODQ0NEAweGBkOGQ4ZDhkPIBogGiAaIBogGiwoHREdER0RGRQZFBkUGRQbERsRHhoeGh4aHhoeGhwaFhoWGhYMGx0ZGRQbEQwLFRYWDhARFhYAHCUhGSQWHBkNDhAtLiQeGx8dGxwWIRkoGSAgHh4mHyAfGxsbGyceIR0pLCAmGxwrHBgaGBIbGCEVGhoXGCAZGhkaFRQXIhkbGCQmGSEXFiMYGBoSFhQNDwwkJhoXFxkfGiAaHhkiHB8aGxoWEhgUHBopIxkVHhkiHCEYIxohGykgLicqIhsVGxQcGBwYIBooHx8aHxodGiYfJh8NHRgfGh8ZIRwdGCkiDB0YHRgpJhkYHhgeGCghGRUaFyAaIBogGiAaIBocFhsXGxcbFx0YFhImIR4ZGRUeGCkjIRwgHB4YJicbGiARICcLCwsTExMYGBYnOw8PCRQUFBQbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsYMS4dGh8ZGRkZKRIZGRkZGSEcABgQFw0LDhIYERwaGA8dGh0YGxccFhkVGxUdGBkYGRgZGBkVIBogGiAaIBomIRwWHBYcFhwYHBgrIysjIBsgGiAaJiEZFQ0NGBMbFR8aHxoZDhsRHRcZFRkVCwsTEwwTFA0SFxcSGRYYFhscCQwJAAAxPCUADAwOFBwcKSgMEBATGgwSDBQcHBwcHBwcHBwcDQ4aGhoWNB4dGyAZGR4gDhAeGScgIRwhHhocHx4qHx0aEBUQGRYPGBoVGhkQGhsNDRgOJxsaGhoRFREaFyMaFxYSCxIaDA4cHBwcCxoXKRUYGhIiFhUaFBQPHBoMEBQVGCssLBYeHh4eHh4qGxkZGRkODg4OISAhISEhIRohHx8fHx0cHxgYGBgYGCYVGRkZGQ0NDQ0cGxoaGhoaGhoaGhoaFxoXHhgeGB4YGxUbFRsVIB8hGxkZGRkZGRkZHhoeGh4aIBshGw4NDg0ODRANHhgZDhkOGQ4aECAbIBsgGyEaIRotKR4RHhEeERoVGhUaFRoVHBEcEh8aHxofGh8aHxodGhYaFhoWDBweGhoVHBENCxYWFw4RERYWAB0mIhkkFhwaDg8QLi8lHhwfHhwdFiIZKRohIR4fJyAhHxwbHBwnHyEeKi0hJxwcLBwYGhkSHBkiFRsbGBkhGhoaGhUUFyIaGxklJhoiGBYkGRkbEhYVDRANJSYbGBcaIBohGh8aIx0gGhwaFhIZFB0aKiQaFR8aIx0iGSMaIhwqIS8oKyMbFRwUHRgdGCEbKSAgGyAaHhsnICcgDh4ZIBsgGiEcHhkpIw0eGB4YKiYZGR8ZHxkpIhoVGxghGyEbIRohGiEaHBYcFxwXHBceGRYSJyIfGhoVHxkqIyIcIB0eGCcnHBohEiAoCwsLExMTGRkWKDwPDwkUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGTIuHRogGhoaGioSGhoaGhoiHQAZEBcNCw4SGBEdGhkQHhseGRwXHBYaFRsVHhgZGRkZGRkaFSEaIRohGiEaJyIcFhwWHBYcGRwZLCQsJCEcIRshGiciGhUODRkUGxUgGiAbGQ4cER4XGhUaFQsLExMMFBQNExcYExkXGRcbHQkNCQAAMj4mAA0NDxQcHCopDRAQExoNEgwUHBwcHBwcHBwcHA0PGhoaFzUeHhwgGhkeIQ4RHxooISIdIh4bHB8eKyAeGxAVEBkWEBkbFhsZEBsbDQ0ZDygbGxsbEhURGxgkGhgXEwsTGg0PHBwcHAsbGCoVGBoSIxYWGhUVDxwaDREVFRgsLS0XHh4eHh4eKxwaGhoaDg4ODiEhIiIiIiIaIh8fHx8eHSAZGRkZGRknFhkZGRkNDQ0NHBsbGxsbGxobGxsbGxgbGB4ZHhkeGBwWHBYcFiAgIRwaGRoZGhkaGR4bHhseGyEbIhwODQ4ODg0RDR8ZGg8aDxoPGhAhGyEbIRsiGyIbLioeEh4SHhIbFRsVGxUbFRwRHBIfGx8bHxsfGx8bHhsXGxcbFwwcHhsbFRwRDQsWFhcOERIXFwAdJyMaJRcdGw4PES8wJh8cIB4dHhciGioaISEfHyghIiAdHBwcKCAiHisuISgcHS0dGRsZExwZIxYbGxgaIRsbGxsWFRgjGhwZJicbIxkXJRkZHBMXFQ0QDSYnHBgYGiEbIhsfGiQeIRsdGxcTGRUdGyskGhYgGiQdIxkkGyMcKyEwKSwjHBYcFR4ZHhkhGyogIRsgGx4bKCAoIA4fGSEcIRsiHR4ZKiQNHhkeGSsnGhkgGSAZKiMaFhsYIRshGyIbIhsiGx0XHBgcGBwYHhkXEygjIBoaFiAaKyQiHSEeHxkoKB0bIhIhKQsLCxQUFBkZFyg+Dw8JFRUVFRwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBkzLx4bIRoaGhorEhoaGhoaIx4AGREYDQsPExkSHhsZEB4cHhkcGB0XGhYcFh4ZGhkaGRoZGhYiGyIbIhsiGygjHRcdFx0XHRkdGS0lLSUhHCEbIhsoIxoWDg0ZFBwWIBshGxoPHBEeGBoWGhYLCxQUDRQVDRMYGBMaFxkXHB4JDQkAADM/JgANDQ8VHR0rKg0RERMbDRINFR0dHR0dHR0dHR0ODxsbGxc2Hx4dIRoaHyEPESAaKSIiHSIfGx0gHywgHhsRFhEaFxAZGxYbGhAbHA4OGQ8pHBscGxIWEhsYJRsYFxMMExsNDx0dHR0MGxgqFRkbEiMXFhsVFRAdGw0RFRUZLS4uFx8fHx8fHywdGhoaGg8PDw8iIiIiIiIiGyIgICAgHh0gGRkZGRkZKBYaGhoaDg4ODh0cGxsbGxsbGxsbGxsYHBgfGR8ZHxkdFh0WHRYhISIcGhoaGhoaGhofGx8bHxshHCMcDw4PDg8OEQ4gGRoPGg8aDxsQIhwiHCIcIhsiGy8rHxIfEh8SGxYbFhsWGxYdEh0SIBsgGyAbIBsgGx4bFxsXGxcNHR8bGxYdEg4LFhcYDxESFxcAHigkGiYXHRsPDxEwMScgHSAfHR4XIxorGyIiICApISIgHR0dHSkgIx8rLiIpHR0uHhkbGhMdGiMWHBwZGiIbGxscFhUYJBsdGiYoGyQZFyUaGhwTFxYOEA4nKBwZGBshGyIbIBskHiEbHRwXExoVHhssJRsWIBslHiMaJRwkHSsiMSotJB0WHRUeGR4ZIhwrISEcIRsfHCkhKSEPHxohHCEbIx0fGiskDR8ZHxksKBoaIBogGisjGxYcGSIcIhwiGyIbIhsdFx0YHRgdGB8aFxMpJCAbGxYgGiwlIx0iHiAZKSkdHCISIioLCwsUFBQaGhcpPxAQCRUVFRUdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0aNDAfGyEbGxsbLBMbGxsbGyQeABoRGA4LDxMZEh4bGhAfHB8aHRgdFxsWHRYfGRoaGhoaGhsWIhsiGyIbIhspJB0XHRcdFx4aHhouJS4lIh0iHCIbKSQbFg8OGhUdFiEbIRwaDx0SHxgbFhsWCwsUFA0VFQ4UGBkUGhgaGBweCg0JAAA0QCcADQ0PFR0dLCoNEREUGw0TDRUdHR0dHR0dHR0dDg8bGxsYNx8fHSIbGiAiDxEgGyoiIx4jHxweIR8tIR8cERYRGhcQGhwXHBoRHBwODhoPKhwcHBwSFhIcGSUbGRgTDBMbDQ8dHR0dDBwZKxYZGxMkFxcbFRUQHhwNERUWGS4vLxgfHx8fHx8tHRsbGxsPDw8PIyIjIyMjIxsjISEhIR8eIRoaGhoaGikXGhoaGg4ODg4dHBwcHBwcGxwcHBwcGRwZHxofGh8aHRcdFx0XIiEjHRsaGxobGhsaIBwgHCAcIhwkHQ8ODw4PDhEOIBobDxsPGw8bESIcIhwiHCMcIxwwLB8SHxIfEhwWHBYcFhwWHhIeEyEcIRwhHCEcIRwfHBgcGBwYDR0gHBwWHhIODBcXGA8SEhgYAB4oJBsmGB4cDw8RMTInIB4hHx4fGCQbLBsjIyAgKiIjIR4dHh4qISMgLS8jKh4eLx4aHBoUHhokFhwcGRsjHBwcHBcWGSQbHRonKRwlGRgmGhodFBgWDhEOKCkdGRkbIhwjHCEbJR8iHB4cGBQaFh4cLSYbFiEbJR8kGiUcJB0sIzIrLiUdFx4WHxofGiMcLCIiHCIcIBwpIikiDyAaIh0iHCQeIBosJQ4fGh8aLSkbGiEaIRosJBsWHRkjHCMcIxwjHCMcHhgeGR4ZHhkgGhgUKiUhGxsWIRstJSQeIh8gGioqHhwjEyIrDAwMFRUVGhoYKkAQEAoVFRUVHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dGjUxHxwiGxsbGy0TGxsbGxskHwAaERkODA8UGRIfHBoRIB0gGh4ZHhgbFh0XHxobGhsaGxobFiMcIxwjHCMcKiUeGB4YHhgeGh4aLyYvJiMdIxwjHColGxYPDhoVHRciHCIcGw8eEh8ZGxcbFwwMFRUNFRUOFBkZFBsYGhgdHwoOCgAANUEoAA0NEBUeHi0rDRERFBwNEw0WHh4eHh4eHh4eHg4PHBwcGDggHx4iGxogIg8RIRsqIiQeJCAcHiEgLiIfHREWERsYERocFx0bERwdDg4aECsdHB0cExYTHRkmHBkYFAwUHA0QHh4eHgwcGSwWGhwTJRcXHBYWEB4cDRIWFhovMDAYICAgICAgLh4bGxsbDw8PDyMiJCQkJCQcJCEhISEfHiEaGhoaGhoqFxsbGxsODg4OHh0cHBwcHBwcHR0dHRkdGSAaIBogGh4XHhceFyIiIx0bGxsbGxsbGyAcIBwgHCIdJB0PDg8ODw4RDiEaGxAbEBsQHBEiHSIdIh0kHCQcMS0gEyATIBMcFhwWHBYcFh4THhMhHSEdIR0hHSEdHx0YHRgdGA0eIBwcFh4TDgwXGBgPEhMYGAAfKSUbJxgfHA8PETIzKCEeIiAeHxglGywcIyMhISoiJCIeHh4eKyIkIC0wIyoeHjAfGhwbFB4bJRcdHRobIxwcHB0XFhklHB4bKCodJRoYJxsbHRQYFg4RDigqHRoZHCMdJBwhHCYfIx0eHRgUGxYfHC0nHBciHCYfJRsmHSUeLSMzLC4mHhceFh8aHxojHSwiIx0iHCAdKiIqIg8gGyMdIxwkHyAbLSYOIBogGi4qGxshGyEbLCUcFx0aIx0jHSQcJBwkHB4YHhkeGR4ZIBsYFColIhwcFyIbLiYkHiMfIRoqKx4dJBMjKwwMDBUVFRsbGCtBEBAKFhYWFh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHhs2MiAdIxwcHBwtFBwcHBwcJR8AGxIZDgwQFBoTHxwaESAdIBseGR4YHBceFyAaGxsbGxsbHBckHCQcJBwkHColHhgeGB8YHxsfGzAnMCcjHiMdJBwqJRwXDw4aFh4XIh0iHRsQHhMgGRwXHBcMDBUVDRUWDhQZGhQbGRsYHR8KDgoAADZDKQAODhAWHx8tLA4SEhQcDhMNFh8fHx8fHx8fHx8PEBwcHBk5ISAeIxwbISMPEiEcKyMkHyQhHR8iIS8iIB0SFxIbGBEbHRcdGxEdHQ8OGxArHR0dHRMXEx0aJxwaGRQMFBwOEB8fHx8MHRotFxocEyUYGBwWFhAfHQ4SFhcaMDExGSEhISEhIS8eHBwcHA8PDw8kIyQkJCQkHCQiIiIiIB8iGxsbGxsbKhcbGxsbDw8PDx4dHR0dHR0cHR0dHR0aHRohGyEbIRseFx4XHhcjIyQeHBscGxwbHBshHSEdIR0jHSUeDw8PDw8PEg4hGxwQHBAcEBwRIx0jHSMdJB0kHTEtIRMhEyETHRcdFx0XHRcfEx8TIh0iHSIdIh0iHSAdGR0ZHRkNHyEdHRcfEw4MGBgZDxITGBkAIComHCgZHx0PEBIyNCkhHyIhHyAZJRwtHCQkISIrIyQiHx4fHysiJSEvMSQrHx8wHxsdGxQfGyUXHR0aHCQdHR0dFxcaJhweGykqHSYaGSgbGx4UGRcPEQ4pKh4aGh0jHSQdIhwmICMdHx0ZFBsWHx0uJxwXIhwnICUbJx0mHy4kNCwvJh4XHxcgGyAbJB0tIyMdIx0hHSsjKyMPIRsjHiMdJR8hGy4mDiEbIRsvKhwbIhsiGy0lHBceGiQdJB0kHSQdJB0fGR8aHxofGiEbGRQrJiIcHBciHC8nJR8kICEbKysfHSQTJCwMDAwVFRUbGxgsQxERChYWFhYfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8bNzMgHSMcHBwcLhQcHBwcHCYgABsSGg4MEBQaEyAdGxEhHiEbHxofGRwXHhchGxwbHBscGxwXJB0kHSQdJB0rJh8ZHxkfGR8bHxswKDAoJB4kHSQdKyYcFw8PGxYeFyMdIx0cEB8TIRocGBwYDAwVFQ4WFg4VGhoVHBkbGR4gCg4KAAA3RCkADg4QFh8fLi0OEhIVHQ4UDhYfHx8fHx8fHx8fDxAdHR0ZOiEhHyMdHCIkEBIiHCwkJR8lIR0fIiEvIyEeEhcSHBgRGx0YHhwSHR4PDxsQLB4eHh0TFxMeGigdGhkUDBQdDhAfHx8fDB0aLhcbHRQmGBgdFxcRHx0OEhcXGzAyMhkhISEhISEvHx0dHR0QEBAQJSQlJSUlJR0lIiIiIiEfIxsbGxsbGysYHBwcHA8PDw8fHh4eHh4eHR0eHh4eGh4aIRshGyEbHxgfGB8YIyMlHh0cHRwdHB0cIh0iHSIdJB4mHxAPEA8QDxIPIhscEBwQHBAdEiQeJB4kHiUeJR4yLiETIRMhEx0XHRcdFx0XHxMfFCIeIh4iHiIeIh4hHhkeGR4ZDh8iHR0XHxMPDBgZGRATExkZACArJh0pGSAdEBASMzUqIh8jIR8hGSYdLh0lJSIiLCQlIx8fHx8sIyYhLzIlLB8gMSAbHhwVHxwmGB4eGxwlHh4dHhgXGicdHxwpKx4mGxkoHBweFRkXDxEPKiseGxodJB4lHiMdJyAkHh8eGRUcFyAdLygdGCMdJyAmHCgeJh8vJTUtMCcfGB8XIRshGyUeLiQkHiMdIR4sJCwkECIcJB4kHiYgIRwvJw4hGyEbLysdHCMcIxwuJh0YHhslHiUeJR4lHiUeIBkfGh8aHxohHBkVLCYjHR0YIxwvKCYgJCAiGywsHx4lFCQtDAwMFhYWHBwZLUQREQoXFxcXHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHDg0IR4kHR0dHS8UHR0dHR0mIAAcEhoPDBAVGxMhHRwSIR8hHB8aIBkdGB8YIRsdHB0cHRwdGCUeJR4lHiUeLCYgGSAZIBkgHCAcMSgxKCUfJR4lHiwmHRgQDxwWHxgjHiQeHBAfEyEaHRgdGAwMFhYOFhcPFRobFRwZHBkeIQoOCgAAOEUqAA4OEBcgIC8uDhISFR4OFA4XICAgICAgICAgIA8QHh4eGTsiIR8kHRwiJBATIx0tJSUgJSIeICMiMCMhHhIYEhwZEhweGB4cEh4fDw8cEC0fHh4eFBgUHhsoHRsaFQ0VHg4QICAgIA0eGy8YGx4UJxkYHhcXESAeDhMXFxsxMzMZIiIiIiIiMB8dHR0dEBAQECUlJSUlJSUeJSMjIyMhICMcHBwcHBwsGBwcHBwPDw8PIB8eHh4eHh4eHh4eHhseGyIcIhwiHB8YHxgfGCQkJR8dHB0cHRwdHCIeIh4iHiQfJh8QDxAPEA8TDyMcHRAdEB0QHRIlHyUfJR8lHiUeMy8iFCIUIhQeGB4YHhgeGCAUIBQjHiMeIx4jHiMeIR4aHhoeGg4gIh4eGCAUDwwZGRoQExQZGgAhLCcdKRogHhAREzQ2KiMgIyIgIRonHS8dJSUjIy0kJSQgHyAgLSMmIjAzJS0gIDIgHB4cFSAcJxgfHxsdJR4eHh4YFxsnHR8cKiweJxsaKRwcHxUaGA8SDyssHxsbHiQeJR4jHighJB4gHhoVHBchHjApHRgkHighJxwoHicgMCU1LjEoHxggFyEcIRwlHi8kJB8kHiIfLCQsJBAiHCQfJB4mICIcLygPIhwiHDAsHRwjHCMcLycdGB8bJR8lHyUeJR4lHiAaIBsgGyAbIhwaFS0nIx0dGCQdMCgmICUhIxwtLSAeJhQlLgwMDBYWFh0dGS1FEREKFxcXFyAgICAgICAgICAgICAgICAgICAgICAgICAgIBw6NSIeJR4eHh4wFR4eHh4eJyEAHBMbDwwRFRsUIR4cEiIfIhwgGyAaHRgfGCIcHRwdHB0cHRglHiUeJR4lHi0nIBogGiAaIBwgHDIpMiklICUfJR4tJx0YEA8cFx8YJB4kHx0QIBQiGx0YHRgMDBYWDhcXDxUbGxUdGhwaHyELDwoAAAAaADIAAAK8ArwAAwAPABoAIgAqAEUAXgBoAHgAlACdAKUAtgDBAMkA4gDsAP0BFwEhASkBOgFIAVEBYgFnACewCitYsgIDAytZALAARViwAC8bsQAUPlmwAEVYsAMvG7EDCD5ZMDETIREhAQcnBxcHFzcXNyc3ATM1MzI2NTQmKwEXMhUUBisBNTcjFTMVMzUzFxQjIicHMhYzMjU0JjU0MzIXNyYjIhUUHgI3NjMyHQEiJiMiFRQzMjcXMyY9ATQjIgYHFyI1NDMyFjMVBhc1NCMiBycjFTM1NjMyHQE3FjMyNTQmJyY1NDMyFzcmIyIVFBYXMhUUIyInNxQzMjU0IyIGFzQzMhUUIyI3BiMiNTQ7ATcmIyIVFDMyNxczNTMyNjU0JisBFzIVFAYrATUXNjMyHQEiJiMiFRQzMjcXMyY9ATQjIgYHFyI1NDMyFjMVBjcmIyIHIycjFTM1NDsBMhQ7ATYzMh0BIiYjIhUUMzI3MxczJj0BNCMiBgcXIjU0MzIWMxUGNyMVMxUzNTMXIxcGIycHFjMyPwEjBxUjJxczNRYzMjU0IyIHIycjFzIVFCMiJzU0FwYjIiczNTQmIyIVFDMyNjcnMgcjNDICiv12AgjDwzLFxTLDwzLGxv4VCAQGCgsGCwwIBQQDNB8MBwwhBwcCAwIGBQ4SBgUEAgYFDgYGBg8EBQUBAgIMCAYDAgYBCgQHAgoEBQICAQIrCQcDAgUHAgQFDQQGCwUDBQMEBAIEBgoGAgUDBQQnFBQUCAwGDg4ODhQCAgQEAwIEAwkJBQIiCAQGCgsGCwwIBQQDGQQFBQECAg0JBgMCBgEKBAcCCgQFAgIBAiIBAwQCAQEGCAYBAQEGBgMFAQICDQkHAgEBBgEKBAYCCQQFAgIBAiYfCwgMCAgMAQQBAgIDBQUKCAUBARIIAQQOCwUEAQEFDgUHAgItAgUHARMHBQ4OAwYCCwYBCwK8/UQCbNnZMtzcMtnZMtzc/eEMBQcIBAYFBQELBgYeHhQEAgcCDAkCBQMCBwILBQQDAggCBAIBCggFBAIFCwoCARQEBAEDBAUQDAUEGxEEBg8BAgkFAgICAQICBgIJBQMBAwICCBUVFAsJDw8PCwEFBAQCCgsCBgwFBwgEBgUFAQsKAgQCAQoIBQQCBQsKAgEUBAQBAwQWAQUEGxEEAQIEAgEKCAUEAgULCgIBFAQEAQMEHwYeHgMbBQEGAQ0ZDwUFFwwCDw4EAwUICQIKBQ8CBgYGBQ8OAgEUBgYAAgBW//UA+AK8AAUAEQDksAorWLsAAQAFAAAABCuyIAABXbIAAAFxsmAAAV2yAAEBcbJgAQFdsiABAV2yAwEAERI5sgQAARESObIGAAEREjmwBi9BEQCPAAYAnwAGAK8ABgC/AAYAzwAGAN8ABgDvAAYA/wAGAAhxQQ0ADwAGAB8ABgAvAAYAPwAGAE8ABgBfAAYABnKwDNyykAwBcbIQDAFdtnAMgAyQDANdtjAMQAxQDANxstAMAV1ZALAARViwAC8bsQAUPlmwAEVYsA8vG7EPCD5ZsAncslAJAXGyrwkBcbSACZAJAl2yEAkBXbAE3DAxEzMRByMnAzQ2MzIWFRQGIyImZIYaUhoOLCQmLCwmJCwCvP63o6P+zyMpKSMjKir//wBaAeQBYAK8ACYACgAAAQcACgCUAAAAKLAKK1i0EAAgAAJdtNAA4AACXbZQAGAAcAADXbIPBAFdsiAEAV0wMVkAAAACABMAMwIbAokAGwAfAeWwCitYshsDAyuyuBsBXbIoGwFdslgbAXKy6BsBcbJ4GwFxsggbAXGymBsBcrLYGwFdspAbAV2yQBsBXbAbELAQ0LIAGxAREjmyKAMBXbK4AwFdsggDAXGy6AMBcbI/AwFysngDAXGy2AMBXbKYAwFdspgDAXKyWAMBcrADELAC3LLwAgFdsgACAXGyUAIBXbADELAM0LAN3LLwDQFdsgANAXGyAQINERI5sgQDDBESObAEELAF0LAFL7IHAwwREjmyCAwDERI5sAgQsAnQsAkvsgsMAxESObIODQIREjmyDxAbERI5sBAQsBHcsvARAV2yABEBcbAbELAa3LLwGgFdsgAaAXGyUBoBXbISERoREjmwEhCwE9CwEy+yFREaERI5shYaERESObAWELAX0LAXL7IZGhEREjmyHAINERI5sh0bEBESObIeEBsREjmyHw0CERI5WQCwAi+yDwIBXbAN3LIODQIREjmwDi+ybw4BcrSfDq8OAl2wHNyyHxwBcrJ/HAFxshAcAXG0cByAHAJdsAHcsh8BAXGysAEBcbAE0LAcELAH0LAOELAf3LIfHwFxsrAfAXGwCNCwDhCwC9CwDRCwENCwDhCwEtCwHxCwFdCwHBCwFtCwARCwGdCwAhCwG9AwMSUjByM3IzczNyM3MzczBzM3MwczByMHMwcjByMnMzcjASFZJGskShZLGUgWSSNqIlkjaiJIGUYZRRhEJGseWRlZzZqaYWphkJCQkGFqYZr7agADAEX/nAIEAyAAJQAsADMDCLAKK1iyIA0DK7IADQFdsrANAV2yIA0BXbANELAD0LADL7IgIAFdsmAgAV2ysCABXbIvIAFyshAgAXGygCABXbJAIAFdsgAgAV2y8CABcbIlDSAREjmwJS+wB9CwJRCwENCwJRCwJNyyMCQBcrAT0LAgELAW0LAWL7AkELAb0LAgELEmBPSwBxCwKtywDRCxLQT0sBsQsDDcWQCwAEVYsBMvG7ETFD5ZsABFWLAALxuxAAg+WbEHAvSyKQATERI5smgpAXGwKRCwCNCwExCwENCwExCwEtywExCxGgL0shsTABESObJ1GwFxsoUbAV2y1RsBcbYVGyUbNRsDckEJAFUAGwBlABsAdQAbAIUAGwAEcrL1GwFdtpQbpBu0GwNxtOQb9BsCcbAAELAj0LAAELAl3LAHELAq0LAbELAw0LKGMAFxtNYw5jACXbI2MAFxsBoQsDHQMDEBsAorWLKYBAFdtAgKGAoCcbToCvgKAnG0KAs4CwJdtEgLWAsCcbJ4CwFxsikLAXGyiQ4BXbSpDrkOAnG0KA84DwJytKcXtxcCXbTWHOYcAl201h3mHQJdsjYdAXFBCQAHAB0AFwAdACcAHQA3AB0ABF20Bx0XHQJxtFUeZR4CcrKWHgFytCceNx4CXbJWIQFdsnYhAXGyliEBcrQHIRchAnGyhyEBcbQHIhciAl22ByIXIiciA3GyyCgBcbJpKAFxtNYv5i8CXbIXLwFdWQCylQQBXbZmBHYEhgQDXbQoCjgKAl20CAoYCgJxtOgK+AoCcbTZCukKAl20KAs4CwJdtEgLWAsCcbJ4CwFxsikLAXGyhw4BXbLHDgFxtCYPNg8CcraZF6kXuRcDXbTXHOccAl201h3mHQJdtAYdFh0CcUEJAAcAHQAXAB0AJwAdADcAHQAEXbI3HQFxtFYeZh4CcrKWHgFytCceNx4CXbJYIQFdsnghAXG0CSEZIQJxsokhAXGymiEBcrIoIgFxtAkiGSICXbJpKAFxssooAXGyySkBcbQHLxcvAl201y/nLwJdFy4BJzceARc1LgM1NDY3NTMVHgEXBy4BJxUeAxUUBgcVIxM0JicVPgEDFBYXNQ4B7jlWGCcSQS0fPTAdW05oLEIcJBE0IR8/MR9dUWiUMyQsK7svIy8jDQIUDXELFATNDiIwQy5WXw5bVwMSDG8IEAS7DiMwQS1cZw9dASAgKRGyBS4Bdh4oEaICKv//ADP/8gMoAsoAJgB8EQAAJwB8Aaf+jQEHAs8BTwAAAF+wCitYsB8vsk8fAV2wKdywHxCwM9ywKRCwONyysEEBXVkAsABFWLAFLxuxBRQ+WbAARViwLi8bsS4IPlmwBRCwD9ywFtywBRCwHNywLhCwJNywLhCwNdywJBCwO9wwMQAAAAADAFz/8gLtAsoALwA7AEYCXbAKK1iyEgADK7KPAAFdsAAQsAjQsAgvst8IAV2yTggBXbAl0LL6JQFdsmglAV2yBQglERI5tAkFGQUCXbLAEgFxssASAV2yUBIBcbIQEgFdsAgQsTwE9LAk0LInJAFdskYkAV2yFTwkERI5soUVAV2yGCQ8ERI5siEkPBESObIXIQFdsCEQsBzQsBwvsBvQsiglCBESObIwJQgREjmyaTABXbQIMBgwAl2yMwglERI5sAAQsTYE9LI+PCQREjmwEhCwQdxZALAARViwDS8bsQ0UPlmwAEVYsCsvG7ErCD5ZsABFWLAlLxuxJQg+WbI+DSsREjmyMysNERI5sgU+MxESObIVPjMREjmyGA0rERI5shsNKxESObAbL7IoKw0REjmyIRgoERI5shghAV2wJRCwJNyyMBgoERI5tAcwFzACXbArELE5AfSwDRCwRNyyH0QBcbJgRAFdsrBEAXEwMQGwCitYQQkACAAKABgACgAoAAoAOAAKAARdtAgLGAsCXbSYC6gLAnG0Bg8WDwJdtCcPNw8CXbJXDwFdQQkABwAQABcAEAAnABAANwAQAARdsvcQAV2yBxABcbLXEAFxskcTAV20RxRXFAJdsjcUAXGyhxYBXbTZLukuAl2yei4BcrL4MAFdsmc4AXFZALQHChcKAl20lgumCwJxtAcLFwsCXUEJAAcADwAXAA8AJwAPADcADwAEXUEJAAcAEAAXABAAJwAQADcAEAAEXbL3EAFdsgcQAXGy1xABcbJIEwFdskgUAV2yWRQBXbI5FAFxsnguAXKy9jABXbJmOAFxNzQ+AjcuATU0PgIzMh4CFRQGBx4BFz4BNxcOAwceARcHLgEnDgEjIi4CJS4BJw4BFRQWMzI2AxQXPgE1NCYjIgZcGS0+JBkgEylCLy5BKBI6RiNGKxclDl4GFRkaCyAwGUUcOx0kbE80W0MnAYozVB8wMks9KEaHJCcjGx4bGsImRTw0FCFEJhkzKRkWJC4YKVkpNlosGUsnMhIrLCcOHSEOYA0rHCEzHDZNBDVpLyVFKzM6IQG1KjAZLBQYHBwAAQBaAeQAzAK8AAMAO7AKK1iyAQADK7L/AAFxsgAAAV2yAAEBXVkAsABFWLAALxuxABQ+WbAD3LLgAwFxsgADAXGyIAMBXTAxEzMHI1pyJE4CvNgAAQA8/yQBPALIABUAxbAKK1i7ABAABAAFAAQrtAAFEAUCXbL/BQFdsi8FAXGyjwUBXbJABQFxtDAFQAUCXbAFELAL3LAK3LAA0LAAL7JAEAFxsi8QAXGy/xABXbKPEAFdtAAQEBACXbQwEEAQAl2wCxCwFdCwFS9ZALAAL7AARViwCi8bsQoUPlmyIAABXbKwAAFdsvcFAV2wC9CwABCwFdAwMQGwCitYshgBAV2yBwwBXbIHEwFdsmgUAV1ZALIYAQFdsggMAV2yBxMBXbJoFAFdFy4DNTQ+AjcXDgMVFB4CF+MuQCcSEihBL1QjLx0NDh4wItwwc3l7ODd6e3YzNi9ma2wzMGxrZioAAQAL/yQBCwLIABUAp7AKK1i7AAUABAAQAAQrsqAFAXGybwUBcrJPBQFyshAFAV2yMAUBcbJABQFdsAUQsBXcsADcsvAAAXGwCtCwCi+wFRCwC9CwCy+yQBABXbJPEAFysm8QAXKyEBABXbIwEAFxsqAQAXFZALAKL7AARViwAC8bsQAUPlmyIAoBXbKwCgFdsAoQsAvQsAAQsBXQMDEBsAorWLIXAQFdsggUAV1ZALIIFAFdEx4DFw4DByc+AzcuAydhMEAnEgEBEihBK1kmMBwLAQEPHi8fAsgwc3l7OjV6e3YzODFnaWktNmtrZS4AAQAoAbEBUgLbAB0B7LAKK1iyChgDK7I/GAFxsiAYAV20UBhgGAJdsnAKAXG0PwpPCgJdsiAKAV20EAogCgJxtqAKsArACgNdshYYChESObIMChgREjmyAhYMERI5sgcWDBESObIRDBYREjmyGxYMERI5WQCwAC+wBNCwBC+wABCwE9yyrxMBXbLQEwFdsqATAXGyGwATERI5sBsQsAfQshYAExESObAWELAM0LATELAP0LAPL7IREwAREjkwMQGwCitYtLgAyAACXbKpAAFdtqgBuAHIAQNdsggDAV20CAQYBAJdslkEAXG0twXHBQJdsggFAV2yGQUBXbIIBgFdssUOAV2ytw4BXbSHDpcOAnGyGA4BXbLYDgFxsgkOAV2yqBMBXbLIEwFdtKgUuBQCXbI4FAFxssgUAXG0iRSZFAJxssoUAV20txnHGQJdsqcaAV20uBrIGgJdtLkcyRwCXbapHbkdyR0DXVkAsjcAAXG2qAC4AMgAA12yqAEBXbS4BcgFAl20tgjGCAJdtLUJxQkCXbSIDpgOAnGyphMBXbLIEwFdsqcUAV2yOBQBcbSIFJgUAnGyyBQBcbKmFwFdsqcYAV20thnGGQJdsqcZAV2yVxkBcbS2GsYaAl2ypxoBXbJXGgFxtLgcyBwCXbS4HcgdAl2yqR0BXRMfAT8BFw8BNzMVIycfAQcvAQ8BJz8BByM1MxcvAZAcDw8cQB4wQTk3PTIZQBsUDR1AHS03Ozw7MxwC2y47NzEjNCsQSRAvKiUuQDoxJTElEEoRLDIAAQArAG8B5QIzAAsA87AKK1iyBwoDK7JQCgFdssAKAV2ygAoBcbJvCgFysuAKAV2ykAoBXbIwCgFdsiAKAXGwChCwAdCyUAcBXbLgBwFdsoAHAXGyIAcBcbKQBwFdsjAHAV2ycAcBcrAHELAE0LAHELAG3LLwBgFxslAGAXKycAYBXbIQBgFdsAoQsAvcsn8LAV2yHwsBXVkAsAovsq8KAV2xAQH0tO8B/wECcbAC3LQAAhACAl2ywAIBXbRgAnACAl2yIAIBcbKAAgFxsAEQsATQsAoQsAfQsAoQsAncss8JAV2yjwkBcbIvCQFxsn8JAV20DwkfCQJdsm0JAV0wMRMzNTMVMxUjFSM1IyuidaOjdaIBiqmpcKurAAEAJf9sANIAigARAZmwCitYsgYAAyuy8AABcbSPAJ8AAnGybwABXbQwAEAAAl2ysAABcbJwAAFxtnAGgAaQBgNdsnAGAXGy8AYBcbRABlAGAnKysAYBcbTABtAGAl20MAZABgJdsgAGAV2yDAAGERI5sAwvsAvQspYLAXGyDwAGERI5QQ0ASgAPAFoADwBqAA8AegAPAIoADwCaAA8ABnG0Cw8bDwJxtEoPWg8CcrTpD/kPAl20KQ85DwJxWQCwAEVYsA8vG7EPCD5ZsAPcsnADAXGykAMBXbJQAwFysA8QsAvcsp8LAV2yfwsBcbJACwFytAALEAsCXbAM3LIvDAFxMDEBsAorWLToAfgBAl1BDQAnAAgANwAIAEcACABXAAgAZwAIAHcACAAGcUEJAKcACQC3AAkAxwAJANcACQAEXUENACcACQA3AAkARwAJAFcACQBnAAkAdwAJAAZxWQC05wH3AQJdQQkASAAIAFgACABoAAgAeAAIAARxQQkAqAAJALgACQDIAAkA2AAJAARdQQkASAAJAFgACQBoAAkAeAAJAARxNzQ2MzIWFRQOAgcnPgE3BiYqLSEqMBwpLxMmGygCFylAIig4Li1BKxkGNgsyHAMiAAEANgDmATEBWQADAHCwCitYsgIDAyuykAIBcbLPAgFdsi8CAXGybwIBcrJfAgFxsg8CAXGyAAIBXbKQAgFdsjACAV2yXwMBcbIvAwFxsm8DAXK0MANAAwJdsgADAV1ZALADL7LwAwFdsg8DAXKysAMBXbJwAwFdsQAC9DAxEzMVIzb7+wFZcwABACr/9QDMAI4ACwBosAorWLIGAAMrsp8AAXGyfwABXbIAAAFdskAAAV20gAaQBgJdsi8GAXGy0AYBXbJABgFdtAAGEAYCXVkAsABFWLAJLxuxCQg+WbAD3LYvAz8DTwMDcbKvAwFxtIADkAMCXbIQAwFdMDE3NDYzMhYVFAYjIiYqLCQmLCwmJCxCIykpIyMqKgAB/+j/dAGvAsgAAwBGsAorWLIBAwMrsAEQsADQsjoAAV2yKQABXbADELAC0LImAgFdsjUCAV1ZALACL7AARViwAC8bsQAUPlmwAdCwAhCwA9AwMQEXAScBTWL+m2ICyCz82C4AAgAo//ICEALKAAsAFwHesAorWLIGAAMrsgAAAV2y3wABcbIfAAFdsv8AAXGyPwABXbJAAAFdsiAAAV2yQAYBXbKQBgFdshAGAXGycAYBcbKQBgFxslAGAXGysAYBXbJwBgFdsiAGAV2yAAYBXbAAELEMBPSwBhCxEgT0WQCwAEVYsAMvG7EDFD5ZsABFWLAJLxuxCQg+WbEPAfSwAxCxFQH0MDEBsAorWLIoAQFxskgCAV2yKAIBcbIKAgFyshUEAXK0RwRXBAJdsscEAV20JwQ3BAJxsqcEAXGyhwUBXbLHBQFdsncHAXKyRwgBXbInCAFxtAcKFwoCcbJICgFdsggKAXKyKQoBcbImDQFxttcN5w33DQNdslcRAV2y+BEBXbIoEQFxsvgTAV2yKRMBcbKJEwFxsvcXAV1ZALInAQFxskYCAV2yVwIBXbIHAgFyskYEAV2yJgQBcbJXBAFdsscEAV20BwQXBAJxsjcEAXGypwQBcbIXBAFysocFAV2yeQcBcrRICFgIAl2yKAgBcbRIClgKAl2yKAoBcbIICgFytAkKGQoCcbIZCgFysukKAXK01w3nDQJdsicNAXGy9xEBXbInEQFxsvgTAV2yKBMBcbKIEwFxslcWAV20RxZXFgJxsvgXAV2yKRcBcRM0NjMyFhUUBiMiJjcUFjMyNjU0JiMiBih+dn52f3Z9doI1PTs3ND88NQFfuLOxurm0vbB6hXqFeYR8AAEAPwAAAfQCyAAMAKqwCitYuwAJAAQAAQAEK7TvAf8BAnGyfwEBcrJPAQFyskABAV2yAAEBcbABELAA0LAAL7L/AAFxsAEQsAbcsh8GAXGyTwkBcrTvCf8JAnGyfwkBcrIACQFxskAJAV2wCRCwCtCwCi9ZALAARViwBy8bsQcUPlmwAEVYsAwvG7EMCD5ZsQAB9LAHELAF3LKfBQFdsh8FAXGyAwcFERI5sAAQsAnQMDGyCAQBXTczETcPASc3MxEzFSFliw8wWTfkSYj+cW4Bi0Q7PUu4/aZuAAEARQAAAeoCygAhARawCitYsgAaAyuyzwABXbIvAAFysu8AAXGy7xoBcbIgGgFdsgwaABESObAML7LpDAFdsgYADBESObL1BgFytIYGlgYCXbJKBgFdsssGAV2yXwYBXbRrBnsGAl20BgYWBgJxttUG5Qb1BgNxsgMGAXKyEQYBcrAAELAJ0LAJL7AAELETBPRZALAARViwHS8bsR0UPlmwAEVYsAovG7EKCD5ZsQkB9LIMCQoREjmySQwBXbTJDNkMAl2yWQwBcbAdELEWAvQwMQGwCitYslgPAV2yGBABXbKYEAFdtAgRGBECXbI3HwFxtEUgVSACcbJ1IAFysjYgAXFZALJXDwFdshcQAV2ylxABXbIHEQFdsjcfAXGydyABcgEUDgIPARU3MxUhNT4FNTQmIyIGByc+ATMyHgIB2yU5RSE1SMD+Wxg8PTouGy8zIEMXNCdjQytINB4CETNoZF0nKQUObkMZQ0tQUUwiKTUbFVwgJxguRQABAE7/8gHyArwAIwHxsAorWLIYIAMrsnAYAV2yUBgBcbLvGAFxsgAYAV2yIBgBXbKQGAFdsuAYAV2wGBCxAwT0sm8gAXKyICABXbIAIAFdsBgQsA7QsA4vsgcgDhESObAHL7AgELAM0LAML7IKDA4REjmy+QoBXbLKCgFxQQ0AGgAKACoACgA6AAoASgAKAFoACgBqAAoABnK0CgoaCgJxspkKAXGydQoBXbIRDgcREjmyBhEBXbKmEQFxshcRAV2yZhEBXbK1EQFxsuURAXFZALAARViwDS8bsQ0UPlmwAEVYsB0vG7EdCD5ZsQAB9LITDR0REjmwEy+yYBMBXbAG3LIIEwYREjm2hQiVCKUIA12wDRCxDAH0sg8NDBESObIpDwFxsrkPAV0wMQGwCitYsmgFAXGyFRABXbIHEAFdtCcQNxACXbLFFQFxsnYVAV2ydhUBcrIXFQFdtAcVFxUCcbQHFhcWAnG0xhrWGgJxtFYaZhoCcrbHGtca5xoDXbJnGgFxssYbAV1ZALJmAQFxsggQAV20KBA4EAJdsvgQAV2yGRABXbJ0FQFdtAcVFxUCXbQHFRcVAnG0xxXXFQJxsncVAXK0BhYWFgJxtsga2BroGgNdsmgaAXG0yBrYGgJxssgbAV2yJSEBcbL1IQFytNYh5iECcrSHIZchAl03MjY1NCYrATU/AQcjNSEVDwEVNx4DFRQOAiMiJic3HgHxPkFESUh5OU+oAX6NLCojPy8cJ0VcNSxeHSMaP2BCLzk2RaUtCW5HvRsFBgMaMUgvO1Y6HBAPbA0QAAIAEwAAAikCwQAKABIBxrAKK1iyAQQDK7KvAQFxsj8BAXKy7wEBcbI/AQFdskABAV2wARCwANyycAABcbZQAGAAcAADXbJABAFdtCAEMAQCcbSwBMAEAnGy7wQBcbSABJAEAnG0oASwBAJdsiAEAV2yQAQBcrAEELAG3LQ/Bk8GAl2yrwYBXbRPBl8GAnGyHwYBcrJ/BgFysk8GAXKy3wYBXbRvBn8GAl2y7wYBckEPAH8ABgCPAAYAnwAGAK8ABgC/AAYAzwAGAN8ABgAHcbAEELAS0LAH0LKJBwFdtCoHOgcCXbZaB2oHegcDXUEJAMkABwDZAAcA6QAHAPkABwAEXbQJBxkHAnGySAcBXbABELAJ0LAGELAQ0LIlEAFdsoYQAV2yVhABcbL6EAFxtAsQGxACcrJ3EAFdtJYQphACcbKVEAFdtMQQ1BACcbI0EAFdWQCwAEVYsAcvG7EHFD5ZsABFWLADLxuxAwg+WbISBwMREjmwEi+xBAH0sAHQsBIQsAbQsBIQsAnQsAcQsAzQMDEBsAorWLQGDhYOAnGyFw4BXbK3DgFdsjYPAV2yJw8BXbIXDwFxWQC0CA4YDgJdsrgOAV2yCA4BcbIZDgFxshgPAXElIxUjNSE1ATMRMyc3Iw8CNzMCKW55/tEBPWtu5wkEImgyQHfDw8NKAbT+aplUSIcmCAABAET/8gHmArwAHQFLsAorWLISGgMrsiASAV2ykBIBXbJQEgFxsBIQsQME9LJ/GgFdsu8aAV2ysBoBXbIHGhIREjmwBy+ybwcBcrJgBwFxskAHAV2wEhCwCtCwCi+y7woBXbAHELAM3LRfDG8MAnG0zwzfDAJdti8MPwxPDANdWQCwAEVYsAkvG7EJFD5ZsABFWLAXLxuxFwg+WbEAAvSyDQkXERI5sA0vtAANEA0CXbAG3LJABgFdtMAG0AYCXbAJELEKA/QwMQGwCitYssYPAV2y9g8BcbL3DwFdtAcPFw8CcbIHDwFysnUQAXKyxxABXbL3EAFdslcUAV22xxTXFOcUA120txTHFAJxWQCyxw8BXbL3DwFdtAcPFw8CcbJ4EAFyslgUAV22yBTYFOgUA120uBTIFAJxsiUbAXG2RRtVG2UbA3G0BhsWGwJxsvcbAV2yNxsBcTcyNjU0JiMHESEVIxU3HgMVFA4CIyImJzceAdxCRlJMTwFY6CkxTzgeKEdgOS1RHCMXN2VAODw4AwFueocEAiA5UTI7WjweDw1sCgsAAgA0//ICCALKABwALAIasAorWLIACgMrsoAAAV20UABgAAJxsjAAAXKy4AABXbRAAFAAAl2yAAABXbIfCgFdsj8KAV2yAAoBXbJACgFdsg8KABESObIVCgAREjmy9RUBXbAAELEdBPSwChCxJQT0WQCwAEVYsA8vG7EPFD5ZsABFWLAFLxuxBQg+WbAPELAQ3LI/EAFytEAQUBACXUEJAMAAEADQABAA4AAQAPAAEAAEXbIYDwUREjmwGC+yFRgFERI5sR8B9LAFELEqAfQwMQGwCitYtFUCZQICcrbWAuYC9gIDcbTXAucCAl201wPnAwJdtNgH6AcCXbRIB1gHAnGySAcBcrLIBwFytGgMeAwCXbLIDQFdtGkNeQ0CXbJlEAFxtMYQ1hACcrSHEJcQAl2yVxABcbIHEAFytIcRlxECXbIHEQFxtIcSlxICXbRHElcSAnG0hxOXEwJdtGgWeBYCXbQHGhcaAl20BxoXGgJxtAYbFhsCcbKlJwFxspYnAXFZALTYAugCAl222ALoAvgCA3G02APoAwJdtNgH6AcCXbRIB1gHAnGySAcBcrLJBwFytGcMdwwCXbRmDXYNAl2yxw0BXbSIEJgQAl2yWBABcbIJEAFysskQAXKy2hABcrJrEAFxtIkRmRECXbJIEgFxtIkSmRICXbJZEgFxsogTAV2ymRMBXbRmFnYWAl20BxoXGgJdtAcaFxoCcbQHGxcbAnGypycBcSUUDgIjIi4CNTQ+AjcXDgMHPgEzMh4CBzQjIgYHBhQVFB4CMzI2AgghPFUzNFdAJDlhgUgdMlRBLQkUQDAtTDYefm4oNwsCDhsqHS872TFUPiQhQmRCY6B3SQxnCC5ATyoZIxw3UDtwJBgLEAgYLyUXQAABADwAAAH/ArwACACTsAorWLIGBAMrsm8GAXGyTwYBcbIQBgFxskAGAV2yPwQBcrZPBF8EbwQDcbIfBAFdskAEAV2yAAYEERI5sAAvshgAAV2yAgQGERI5tAkCGQICcbTsAvwCAnGyGgIBXbIJAgFdtIkCmQICXbEIBPRZALAARViwBS8bsQUUPlmwAEVYsAAvG7EACD5ZsAUQsQQD9DAxMxM3ByE1IRUBaOUsPP7/AcP+6AIbMQp6Jv1qAAMAPf/yAfsCygAhAC8APAQCsAorWLIYAAMrsgAAAV2yPwABcrKPAAFdsiAAAXGyQAABXbLvGAFxsq8YAV2yzxgBXbIPGAFyskAYAV2yABgBXbIFABgREjmwABCwCNCwCC9BCQDPAAgA3wAIAO8ACAD/AAgABF1BCQAPAAgAHwAIAC8ACAA/AAgABHGwGBCwEtCwEi+yFRgAERI5sBgQsCLctOAi8CICcUEJAAAAIgAQACIAIAAiADAAIgAEcrQgIjAiAl20ICIwIgJxQQkAgAAiAJAAIgCgACIAsAAiAARxtKAisCICcrSgIrAiAl2yJxUFERI5tCgnOCcCXbRVJ2UnAnGwABCwKty0Lyo/KgJdtq8qvyrPKgNdsl8qAXKy3yoBcbYvKj8qTyoDcbLMKgFxtKoquioCcbAIELAw3LTvMP8wAnFBCQAPADAAHwAwAC8AMAA/ADAABHK0rzC/MAJdtC8wPzACXbSvML8wAnK0rzC/MAJxtC8wPzACcbI1BRUREjm0WDVoNQJxsBIQsDfcslA3AXKywzcBcbSlN7U3AnG0IDcwNwJdtKA3sDcCXbYgNzA3QDcDcVkAsABFWLANLxuxDRQ+WbAARViwHS8bsR0IPlmyNQ0dERI5tFo1ajUCcbJJNQFdstk1AV2yJx0NERI5skYnAV20KCc4JwJdssYnAV20Zid2JwJxslUnAXGyBTUnERI5shU1JxESObEtAfSyyTQBXbANELE6AfQwMQGwCitYsqgDAXGyyAoBcbQJChkKAnG0WAtoCwJytAYPFg8CcbQHDxcPAl20Rw9XDwJxsgQQAXK0BRAVEAJxtjYQRhBWEANxspcQAV2yZxABcbIFFAFyskYUAXK0ZxV3FQJdtGYWdhYCXbTWFuYWAl2yRxYBcbJ3FgFysvgZAV2ylhoBcbIWGgFysqYaAXK0BxoXGgJxsogbAV20CB8YHwJxtgggGCAoIANxsrggAXGy6SABcrJIJQFxspkmAV2ymScBXbL4KAFdspcuAV2yyC4BcbKXLwFdtOcz9zMCXbInMwFxsuY0AV2yhzYBXbKXOQFdtCg5ODkCcrKYPAFdWQCypgMBcbQHChcKAnGyxwoBcbRUC2QLAnK0Rg9WDwJxtAcPFw8CcbRGEFYQAnGylxABXbQHEBcQAnGyNxABcbJnEAFxsgcQAXKySBQBcrIJFAFytGcVdxUCXbJ2FgFytGcWdxYCXbTXFucWAl2yRxYBcbQIGhgaAnGymBoBcbIYGgFysqoaAXKyhxsBXbQIHxgfAnGyKCABcbK4IAFxtAkgGSACcbLpIAFyskklAXGymCYBXbKYJwFdsscuAXGymS4BXbLmMwFdsuc0AV2yiDYBXbKXOQFdtCg5ODkCcrKXPAFdNzQ+AjcuATU0PgIzMh4CFRQGBx4BFRQOAiMiLgIlNC4CJw4BFRQWMzI2AxQeAhc2NTQmIyIGPRIhLRoxOB03TjEtSjUdNTM8PSE8VDIyUTkfAUIWIysWLyM3MS03tRIfJxU8MSMsKasjNy0kDx9RPCdEMhwYLD8mO1IiI1RCLUk0HRswRDcXJh8aDBs/Hyg5LAGDGCQbFwozPSorLgACAC3/8gIFAsoAGgAqAe6wCitYsggAAyuyAAABXbI/AAFdsn8AAV2yXwABcbK/AAFxsj8AAXKyfwABcrLfAAFxsn8AAXGy7wABXbJfAAFdsh8AAV2yQAABXbIgAAFdskAIAV2yAAgBcbKACAFxst8IAXGyvwgBcbKgCAFxsmAIAXG0gAiQCAJdsiAIAV2yAAgBXbIOAAgREjmyEwAIERI5svkTAV2wABCxGwT0sAgQsSEE9FkAsABFWLAFLxuxBRQ+WbAARViwDS8bsQ0IPlmwDtyynw4BcUEJAM8ADgDfAA4A7wAOAP8ADgAEXbRPDl8OAl2yFgUNERI5sBYvshMWBRESObEeAfSwBRCxKAH0MDEBsAorWLTYAugCAl2y+AMBXbTZA+kDAl201gbmBgJdsmcGAXGy1wYBcbTWB+YHAl20Zgp2CgJdtAcKFwoCcbRmC3YLAl2yRwsBXbKXCwFdtNcL5wsCXbRmE3YTAl20ZxR3FAJdsvgYAV2yGBkBcrL5GQFdsgkZAXFZALTXAucCAl221gPmA/YDA1201wbnBgJdsmcGAXG0CAoYCgJxtGkKeQoCXbJICwFdspgLAV202AvoCwJdtGoLegsCXbRpDHkMAl2yhhABXbRpE3kTAl20aBR4FAJdsvkYAV20CBkYGQJxshgZAXKy+RkBXRM0PgIzMhYVFA4CByc+AzcOASMiLgI3FBYzMjY3NjU0LgIjIgYtHztVN3GBO2OCSBw3Vj4nCBg3LiZLOyV+QDApNA4DDh0tHzE2AeEzVj0jh4F0qXE8BmYHKDtLKxoUGjVRPjk6GhMVExw2Khk///8AXf/1AP8B+AAnABEAMwFqAQYAETMAAK6wCitYtFAAYAACcUEJAMAAAADQAAAA4AAAAPAAAAAEcbQAABAAAnKyIAABXbSAAJAAAnK2gACQAKAAA3Gy4AABXbZQAGAAcAADXbLgDAFdtoAMkAygDANxtIAMkAwCckEJAMAADADQAAwA4AAMAPAADAAEcbQADBAMAnK0UAxgDAJxtlAMYAxwDANdsiAMAV1ZALAARViwAy8bsQMQPlmwAEVYsBUvG7EVCD5ZMDH//wBN/2wA+gH4ACYADygAAQcAEQAoAWoAYbAKK1iy0AABcbRQAGAAAl20AAAQAAJysuAAAV20oACwAAJdsh8GAV2y4BIBXbbQEuAS8BIDcbQAEhASAnK0oBKwEgJdtFASYBICXbIfGAFdWQCwAEVYsBUvG7EVED5ZMDEAAAEAKABAAegCSgAIAKKwCitYsgMAAyuycAABXbIQAAFdspAAAV2yUAABXbIwAAFdslADAV2ykAMBXbJwAwFdsjADAV2yEAMBXbIFAAMREjm0JQU1BQJdsAMQsAfQsAcvWQCwCC+wAty0YAJwAgJdst8CAV20IAIwAgJdsqACAV2yAQIIERI5sAEvsADcsAIQsAPcsgUBABESObAIELAH3DAxtCoDOgMCXbQlBzUHAl0TNSUXDwEfAQcoAYI54Fta5jkBHUbnWosjH4la//8AKwC7AeUB6gImAlUAYAEGAlUAoQA9sAorWFkAtnADgAOQAwNdtC8DPwMCXbIPAwFxsl4DAV20cAOAAwJystADAXGyzwcBcbJABwFdsmAHAV0wMQAAAAABACcAQAHnAkoACACxsAorWLIAAwMrtnAAgACQAANdsn8AAXGyEAABXbJQAAFdsjAAAV2yUAMBXbJ/AwFxtnADgAOQAwNdsjADAV2yEAMBXbIFAAMREjmwAxCwB9CwBy9ZALACL7AI3LKgCAFdst8IAV20YAhwCAJdtCAIMAgCXbIACAIREjmwAC+wAdywAhCwA9yyBQABERI5sAgQsAfcMDG0JQM1AwJdtCcENwQCXbQoBjgGAl20Kwc7BwJdARUFJz8BLwE3Aef+fjngW1rmOQFtRudbiiQeilkAAgAX//UBrgLKAB0AKQHFsAorWLIWEAMrspAQAV2yHxABcbLgEAFdsrAQAV2ysBYBXbLgFgFdspAWAV2ycBYBXbIAEBYREjmwAC+wFhCxBwX0sAAQsB3csnAdAXGwABCwHtCwHi9BCwAfAB4ALwAeAD8AHgBPAB4AXwAeAAVxsCTctjAkQCRQJANxshAkAV2ykCQBcbZwJIAkkCQDXbLQJAFdWQCwAEVYsBMvG7ETFD5ZsABFWLAnLxuxJwg+WbAh3LSAIZAhAl2yryEBcbJQIQFxshAhAV2wANyyBRMAERI5tgIFEgUiBQNxsoQFAV2yxQUBXbRlBXUFAl20JQU1BQJystUFAXKy0wUBXbKSBQFdsjEFAXGwExCxCgH0shoAExESObK6GgFxtMsa2xoCcbTtGv0aAnG0bhp+GgJxtE0aXRoCcbLcGgFytOoa+hoCcrLKGgFysqoaAXIwMQGwCitYtAgDGAMCXbQnFDcUAl20RxRXFAJxtKYVthUCXUEJAEYAFQBWABUAZgAVAHYAFQAEcbSnGbcZAl1ZALQHAxcDAl1BCQAHABQAFwAUACcAFAA3ABQABF20RxRXFAJxtKcVtxUCXbRHFVcVAnG0qRm5GQJdNyY+BDU0JiMiDgIHJz4BMzIWFRQOBBUHNDYzMhYVFAYjIiaIBRQjLScaJzIQJCQhDTImY0ZeahsoMCgcgywkJiwsJiQs0DRJNSckJxsjKgcNEQlgGiJbTTNDLyQpNiqOIykpIyMqKgACAEn/OAPaAsgATABdAymwCitYsi8lAyuyEC8BcbLALwFdshAvAV2yMC8BXbICLyUREjmwAi+yDwIBcrAB0LAvELAK3LLQCgFdsCUQsBTcst8UAV2yHSUvERI5sB0vsAIQsF3csjldAhESObJEJS8REjmwRC+ycEQBXbBdELBM0LJNTF0REjmwRBCwVdyyQFUBXbLAVQFdshBfAXGyEF8BXbIwXwFdWQCwAEVYsCovG7EqFD5ZsABFWLAgLxuxIAo+WbJJKiAREjmwSS+wANCwAC+yPyAqERI5sD8vsDTQsDQvsAXcsCoQsA/csCAQsBncsjk/SRESObJMST8REjmwSRCwUNywPxCwWNwwMQGwCitYsmkMAV20KA04DQJdsmgNAV2yhxABXbJ2EQFdsmcRAV20BhIWEgJdtGcSdxICXbKlFQFxslYWAV2y9xYBXbJ2FwFdsmcXAV20KCI4IgJdtCkjOSMCXbJJJwFdspgoAV20SChYKAJxskkoAV2yhi0BXbLWLQFdskctAV20JzI3MgJdsncyAV20CDYYNgJdtqg2uDbINgNdspk2AV20CDgYOAJdtAc7FzsCXbQHPBc8Al1BCQAIAEEAGABBACgAQQA4AEEABF2yyEEBcbLYQQFysklBAV2y+UEBXbQIRxhHAl20eEeIRwJdtEhHWEcCcbJpRwFdtAZbFlsCXVkAsmkMAV20KQ05DQJdsmkNAV2yiBABXbQIERgRAl2yaBEBXbKIEQFdsnoRAV20CRIZEgJdsnkSAV2yahIBXbKmFQFxslcWAV2y9xYBXbJ2FwFdsmcXAV20xhzWHAJdsvYcAV22lxynHLccA120KSI5IgJdssgjAV2ySCMBcbQpIzkjAl2yySMBcbJZIwFyskYnAV2yhycBcbJGKAFdspcoAV20RyhXKAJxstctAV20KTI5MgJdsnkyAV20CDYYNgJdspk2AV2yyTYBXbSqNro2Al20CDgYOAJdtAg7GDsCXbQIPBg8Al22KUE5QUlBA12y+UEBXbQKQRpBAl2yykEBcbTqQfpBAnGy2kEBcrQGRxZHAl22Zkd2R4ZHA120R0dXRwJxtApbGlsCXQEzAwYWMzI+AjU0LgIjIg4CFRQeAjMyNjcXDgEjIi4CNTQ+AjMyHgIVFA4CIyIuAjcjDgMjIi4CNTQ+AjMyFhcHLgEjIg4CFRQWMzI+AjcCp0YwCA8aGjIoGTJXdkROhmM4L1qFVh1KHh8pVTdhpXlEToSuYVyedEItT2k8GSsdDgMEDyMqMh4YLCATKEVbMyMwFCANHBUeMyUUGyEOIB4cCwHk/vEvKhgyTDRLakUgOGKHT058Vy8ODmAUEDhuo2ttsHxDNWOPW0BwUjALGiofFSgfEhUmNiE+dVo3FRFZCwwiNkMgISoRHCQUAAIAAAAAAl0CwQAHAA0CFrAKK1iyBgMDK0EJABAABgAgAAYAMAAGAEAABgAEXbKQBgFdtOAG8AYCXbJwBgFdshAGAXGyMAYBcrAGELEHB/S06Qf5BwJystoHAXKyyQcBcrSoB7gHAnKyDAMGERI5sgAHDBESObKYAAFdsAMQsQIG9LLGAgFytKcCtwICcrTmAvYCAnKy1QIBcrIBAgwREjm0qAG4AQJdsogBAV2yBAMGERI5sgUGAxESObIIDAIREjm0aAh4CAJdtCcINwgCcrQmCDYIAl2yCQwHERI5tCkJOQkCXbQoCTgJAnKyMA8BcrIPDwFdsnAPAV2yEA8BcVkAsABFWLAELxuxBBQ+WbAARViwAi8bsQIIPlmyCAIEERI5sAgvsk8IAV2xAQH0sAIQsAfQsAQQsAzQshgMAXGyRgwBXTAxAbAKK1iyWQABXbQHAhcCAnK0qAS4BAJdtGgEeAQCcbaoBLgEyAQDcbToBPgEAnGySAQBcrL5BAFdstkEAXGy9gUBXbLWBQFxtKcFtwUCXbRnBXcFAnG2pwW3BccFA3G05wX3BQJxskcFAXK0CAcYBwJyslYIAXGyFwgBcrIoCQFxtGgJeAkCcbIYCQFysvgKAV2yGAoBcrJZCgFdsokKAV22OQpJClkKA3G0iQqZCgJxtLkKyQoCcbIqCgFxsoYNAV2yJg0BcbJXDQFdsjcNAXFZALL4CgFdtLgKyAoCcSUjByMTMxMjAzMvASMHAZXXNYn8ZfyQ7JY0FQUVm5sCwf0/AQmcbm8AAwA8//YCKQLGAB8AMABAAqmwCitYsgAVAyuyUAABXbIQAAFxsjAAAXKyHwABcrLfAAFdsr8AAXKycAABcrZAAFAAYAADcbJwAAFdsjAAAV2yAAABXbIvFQFxsv8VAXGyDxUBcbIfFQFyst8VAXG0IBUwFQJdsgAVAV2wFRCxLAX0sEDQsgUAQBESObAAELAL0LALL7ElB/S07CX8JQJxsAAQsTcG9LTsN/w3AnGy8EIBcbJQQgFxssBCAXGykEIBXbKwQgFdWQCwAEVYsBsvG7EbFD5ZsABFWLAQLxuxEAg+WbJAGxAREjmwQC+0b0B/QAJdtA9AH0ACcbR/QI9AAnGyT0ABcrKfQAFysq9AAXGyX0ABcbTfQO9AAl2yT0ABXbS/QM9AAnKxKwH0sgVAKxESObAQELEgAvSwGxCxPAL0MDEBsAorWLJmAwFxtLYDxgMCcba2A8YD1gMDcrSHA5cDAl2y1wMBcbIHAwFytOcD9wMCcrRoBHgEAl20swjDCAJyskQIAXKyNQgBcbLVCAFytEYIVggCcbLXCAFxtEYJVgkCcbLXDQFdsmcNAXG0pR61HgJdsjUeAXG0hh6WHgJdtEYeVh4CcbIHHgFdsnciAXKylyMBcbJ6IwFysog1AXGy2DoBcbS5Osk6AnFZALKIAwFdsngDAXGyCAMBcrKZAwFdsmkDAXGy2QMBcbS6A8oDAnG0ugPKAwJytOoD+gMCcrLbAwFytGcEdwQCXbLWCAFxtjcIRwhXCANxskcIAXKy1wgBcrRGCVYJAnGy2A0BXbJpDQFxsjYeAXGyBx4BXUEJAIcAHgCXAB4ApwAeALcAHgAEXbJ1IgFysmYiAXGyhiIBcbJ0IwFyspUjAXGyZiMBcbKGIwFxspknAXGyiicBcbKqJwFxsoU1AXG0uDrIOgJxsto6AXEBFA4CBxUeAxUUDgIjKgEuAScRPgMzMh4CAzI+AjU0LgIrARUeAwMyNjc+ATU0LgIjIgYHFQITDR4wIh42KBcuTWI0ETU9PxoTMTg7HTFdSSz6GS8kFhoqNBpJBRYZGyMOJQwmNxQhKhcaLAwCGRo0KyEIBgUYKjwpNk8yGAMGBgKyAwYEAg8mRP4aDBkmGiEmFQbBAgIBAQEvAgIMMCcaIhQIAgK7AAEAJv/yAhYCygAfAfGwCitYshAIAyuyQBABXbKQEAFdsvAQAV2y7xABcbKwEAFdsnAQAV22ABAQECAQA12yEBABcbAQELAA0LAAL7JACAFdsu8IAXGyzwgBcbIgCAFdsgAIAV2wCBCxFwf0shAhAV2yECEBcbIwIQFyWQCwAEVYsA0vG7ENFD5ZsABFWLADLxuxAwg+WbANELEUA/SwAxCxHAP0MDEBsAorWLIoBQFdsogFAV2ymAUBcbL4BQFysigGAV202AboBgJdslgGAXKyOgYBcbKICgFdsvgRAV20BxUXFQJdtAcVFxUCcbQFFhUWAnG0pxa3FgJdsicWAXG2BhkWGSYZA3G0pxm3GQJdsvcZAV20BhoWGgJxtAcaFxoCXbInGgFxsvgeAV1ZALIoBQFdsvgFAXKyiQUBXbKZBQFxsogGAV202AboBgJdsjgGAXGyWgYBcrKHCgFdsvkRAV1BCQAJABEAGQARACkAEQA5ABEABHG0ShFaEQJxsoYVAV20CRUZFQJxtKgWuBYCXbYKFhoWKhYDcbSnGbcZAl2y9xkBXbYGGhYaJhoDcbQHGhcaAl2yiBoBXbLFHgFdsvUeAV2y5h4BXbQGHhYeAnG0BB8UHwJxtOUf9R8CXUEJAKYAHwC2AB8AxgAfANYAHwAEXbZ3H4cflx8DXSUOASMiLgI1ND4CMzIWFwcuASMiBhUUHgIzMjY3AhYgYzQ/cVYzOVtwODxTGxsXPy1TZRgxSTAtPhcdFxQnV4tjZ4tVJRALdAsKdnw2WT8jEg4AAgA8//UCYQLGABQAJwHdsAorWLIKFAMrspAKAV2ycAoBcbJgCgFyst8KAXGy/woBcbIPCgFyskAKAXKyEAoBcbJwCgFdQQ0AAAAKABAACgAgAAoAMAAKAEAACgBQAAoABl2y7xQBXbLfFAFxsv8UAXGyDxQBcrIPFAFxsgAUAV22IBQwFEAUA12wFBCxGQb0sAoQsSMH9LLvKAFdshApAXGyoCkBcbIvKQFxsnApAXGywCkBcbKQKQFdsuApAXJZALAARViwBS8bsQUUPlmwAEVYsA8vG7EPCD5ZsAUQsRUD9LAPELEeA/QwMQGwCitYsqUHAXKytgcBXbQmBzYHAnGy9gcBcbKHBwFdtscH1wfnBwNdtLYIxggCXbImCAFxsrcMAV2ydg0BcrK3DQFdtLcNxw0CcbS3DccNAnK0CSAZIAJdtAghGCECcbL5IQFdsvglAV20CCUYJQJxtAgmGCYCXVkAsrYHAV2yhwcBXbbHB9cH5wcDXbInBwFxsvcHAXGyqAcBcrK2CAFdsscIAV2yJwgBcbK5DAFdtLgNyA0CcbK5DQFdsnkNAXK0uQ3JDQJytAYgFiACXbQGIBYgAnGy9yABXbQGIRYhAnGy9yEBXbQIJRglAnGy+SUBXbQIJhgmAl20CSYZJgJxEz4DMzIeAhUUDgIjIi4CJxMiBgcRHgMzMj4CNTQuAjwVNTg1FV2EUiYkVIllEDU5NA3XFi0LBBMWFAU6TS0SECtKArwDBAIBNF6CTkeEZj4CAwMCAk0CAv4rAQEBASlEWS8pU0IqAAEAPAAAAeACvAALAPiwCitYsgELAyuyIAEBcrL/AQFdsg8BAXKy3wEBcbIQAQFdsnABAV2yMAEBXbIQCwFdsh8LAXGy3wsBcbL/CwFxsg8LAXKyPwsBcbL/CwFdsiALAXKyMAsBXbALELEIBvSwBNCwARCwBdCwBS+wARCwCdCwCS+yTwwBXbKgDQFyssANAXKyEA0BcbKQDQFxsoANAXJZALAARViwAS8bsQEUPlmwAEVYsAovG7EKCD5ZsAEQsQID9LIEAQoREjmwBC+yTwQBXbTfBO8EAl20TwRfBAJxsi8EAXG0rwS/BAJdsp8EAXG0vwTPBAJxsQcD9LAKELEJA/QwMRMhFSEVMxUjFSEVITwBn/7q/f0BG/5cArx6o3qregABADwAAAHbArwACQC0sAorWLIBCQMrsnABAV2yDwEBcrIgAQFysjABAV2yEAEBXbIQCQFdsj8JAXGyDwkBcrIfCQFxsiAJAXKyMAkBXbAJELEIBvSwBNCwARCwBdCwBS+yTwoBXbLACwFxssALAXJZALAARViwAS8bsQEUPlmwAEVYsAgvG7EICD5ZsAEQsQID9LIEAQgREjmwBC+yTwQBXbTfBO8EAl20rwS/BAJdsi8EAXG0TwRfBAJxsQcD9DAxEyEVIRUhFSERIzwBn/7qAQD/AIkCvHqtev7lAAEAJv/yAjgCygAlAvuwCitYshIKAyuybwoBXbLPCgFxsi8KAXKyjwoBXbIPCgFysu8KAXGywBIBXbJvEgFdsu8SAXGy4BIBXbIAEgFxsgAKEhESObAAL7ASELAB0LABL7SgAbABAl2wChCxGwf0sAEQsCTcsl8mAV2y3ycBXbIPJwFdsi8nAXG0sCfAJwJxspAnAXFZALAARViwDy8bsQ8UPlmwAEVYsAUvG7EFCD5ZsgAPBRESObAAL7KPAAFxsj8AAXG0DwAfAAJxsA8QsRYD9LAFELEgA/SwABCwJdxBCwBDACUAUwAlAGMAJQBzACUAgwAlAAVdQQkAxQAlANUAJQDlACUA9QAlAARdQQ8ABQAlABUAJQAlACUANQAlAEUAJQBVACUAZQAlAAdxQQ8AcAAlAIAAJQCQACUAoAAlALAAJQDAACUA0AAlAAdyQREAgAAlAJAAJQCgACUAsAAlAMAAJQDQACUA4AAlAPAAJQAIcbQAJRAlAnIwMQGwCitYsogHAV2yiAgBXbI4CAFxsrgIAXK0qAy4DAJdstgMAXGyKQwBcbRmDXYNAl20BxgXGAJdtAcYFxgCcbKIGAFdsvYZAV1BCQAGABkAFgAZACYAGQA2ABkABHG0BxkXGQJdsjYaAXGyNhwBcbQXHCccAnKyFB0BcbIlHQFxsqYdAV2y9h0BXbIGHQFxsjYdAXG0Bx0XHQJdsrcdAV2yJx0BcrKJHQFdtAceFx4CXbQnHjceAnGyiR4BXVkAtNgH6AcCXbKKBwFdsokIAV2yOQgBcbK8CAFytKcMtwwCXbLXDAFxtGgMeAwCXbRoDXgNAl2y+BMBXbIoEwFxtAkTGRMCcbY5E0kTWRMDcbJqEwFxtAgYGBgCXbQIGBgYAnG0KRg5GAJxtAgZGBkCXbL4GQFdsjgZAXG0GRkpGQJxsjoaAXGyNxwBcbQXHCccAnKyph0BXbQHHRcdAl2ytx0BXbL3HQFdthcdJx03HQNxsokdAV2yMx4BcbImHgFxtAceFx4CXbKJHgFdASERDgEjIi4CNTQ+AjMyFhcHLgEjIg4CFRQeAjMyNjc1JwEzAQUqdTlDc1QwOV10PDxbGxwZPjArSDUdHDJDJhoyEZcBbf7IIyAqWYpfY4tXJxIKcwoLGjtcQj9bOxwNDYQQAAEAPAAAAk4CvAALAMywCitYsgoDAyuyHwMBcbL/AwFdst8DAXGyIAMBXbJAAwFdsAMQsQIG9LAG0LIgCgFdspAKAV2y3woBcbL/CgFxsjAKAXGyQAoBXbJACgFysmAKAXKwChCxCwb0sAfQsh8MAV2yPwwBXbLADQFysg8NAXGyYA0BcrLADQFdWQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbIGBQIREjmwBi+03wbvBgJdsl8GAXGyTwYBXbS/Bs8GAnGxAQP0sAUQsAjQsAIQsAvQMDEBIREjETMRIREzESMBxf8AiYkBAImJASX+2wK8/uMBHf1EAAEASgAAANMCvAADAHOwCitYuwACAAYAAwAEK7QgAjACAl2ykAIBXbQgAzADAl2ykAMBXbQPBB8EAl20UAVgBQJxtDAFQAUCcrJwBQFytJAFoAUCcbSwBcAFAl20cAWABQJdWQCwAEVYsAAvG7EAFD5ZsABFWLADLxuxAwg+WTAxEzMRI0qJiQK8/UQAAf/p//QBDAK8ABABW7AKK1i7AAEABgAAAAQrsv8AAV2yDwABcbKvAAFxsm8AAXKy3wABcrL/AAFysp8AAXKyHwABcrJ/AAFxsr8AAV2yjwABXbL/AQFdsg8BAXGyrwEBcbJvAQFyst8BAXKy/wEBcrKfAQFysh8BAXKyfwEBcbK/AQFdso8BAV2wARCwCtyyHwoBcbLvCgFdsn8KAV2yTxIBXbLAEgFystASAXFZALAARViwAC8bsQAUPlmwAEVYsAcvG7EHCD5ZsQ0D9DAxAbAKK1iypwQBcrJVBQFxspYFAXK0BwUXBQJdsmcFAXGypwUBcrKYDgFytLoOyg4CcrKoDwFysmoPAXJZALQIBRgFAl2yaQUBcbKZBQFysloFAXGyqwUBcrTmC/YLAnFBCQAGAAsAFgALACYACwA2AAsABHKytg4BcrLIDgFysqEPAXKyZA8BcrK0DwFyspUPAXK0dg+GDwJyEzMRFA4CIyImJzcWMzI2NYOJEilALh1EGR4aISoXArz+AChINyEMC3ANPjMAAQA8AAACYQK8AA4Bw7AKK1i7AAIABgADAAQrsh8CAXKyLwIBcbIAAgFdtDACQAICXbIfAwFysi8DAXG0MANAAwJdsgADAV2wAhCwBtCwAhCwDty0Wg5qDgJystwOAV2y3w4BcbKfDgFdshwOAXGyIg4BcbQgDjAOAl2wCNC2mQipCLkIA122agh6CIoIA12ySQgBXbJYCAFdsAnctLAJwAkCcbTjCfMJAl20AwkTCQJxtFUJZQkCcrLaCQFdstUJAXGyEAkBXUEJAEAACQBQAAkAYAAJAHAACQAEcbZwCYAJkAkDXbILCQYREjm0ZQt1CwJdsoYLAV205Qv1CwJdtAULFQsCcbLVCwFxsA4QsA3cQQkAYAANAHAADQCAAA0AkAANAARdtiINMg1CDQNxsuMNAV2y1A0BXbL1DQFdsgUNAXGy1Q0BcbRTDWMNAnKyEw0BcbQADRANAl2yQA0BcragDbANwA0DcrIAEAFdtHAQgBACXVkAsABFWLAFLxuxBRQ+WbAARViwAi8bsQIIPlmyAQUCERI5sAEvtC8BPwECXbAG0LAFELAI0LILBgEREjmwAhCwDtAwMQGwCitYskcHAV2yGAcBXVkAskgHAV0TIxEjETMRNxMzAwcXEyPpJImJIMGczDY46akBK/7VArz+yg4BKP7aJif+twABADwAAAH3ArwABQCYsAorWLsAAwAGAAIABCu0AAIQAgJdsv8CAXGyHwIBcrIvAgFxsiACAXK0MAJAAgJdtAADEAMCXbL/AwFxsh8DAXKyLwMBcbIgAwFytDADQAMCXbACELAF3LLwBQFdsmAFAXKyYAUBcbIQBQFxsrAFAV2ygAUBXVkAsABFWLADLxuxAxQ+WbAARViwAC8bsQAIPlmxBQP0MDEpAREzESEB9/5FiQEyArz9vgABADwAAALkArwAFQODsAorWLIUCwMrtEAUUBQCXbIQFAFdsr8UAXGyHxQBcrL/FAFxsv8UAXKyIBQBcrTgFPAUAl2yABQBcbIwFAFxtgALEAsgCwNdsiALAXKy/wsBcrL/CwFxsh8LAXKyHwsBcbJACwFdsjALAXGy8AsBXbIEFAsREjm0ZgR2BAJxstYEAXG0BwQXBAJdssYEAXK0lgSmBAJxshYEAXGy9QQBcrIFCxQREjm2OAVIBVgFA3GyGAUBcrKpBQFxsvkFAV2yeQUBcbTaBeoFAnKy2gUBcbIZBQFxsrkFAXJBCQBoAAUAeAAFAIgABQCYAAUABHKyiAUBcbQIBRgFAl2yOAUBcrALELEKBPSyDQsUERI5soUNAV20Zg12DQJdtNYN5g0CXbQGDRYNAl2ytw0BXbJGDQFdtLYNxg0CcbL1DQFdsgUNAXGykw0BXbITDQFxsg8FBBESObISFAsREjm0CRIZEgJdskkSAV2y+hIBXbIKEgFxshsSAXGynBIBXbKKEgFdtNkS6RICXbJ5EgFdtLkSyRICcbJoEgFdsBQQsRUG9LI/FgFdsg8XAV2ywBcBXVkAsABFWLANLxuxDRQ+WbAARViwCi8bsQoIPlmwDRCwCNCyJggBcbAB0LIFDQoREjmwBS+wD9CwDRCwEtCwChCwFdAwMQGwCitYsoUDAV20BgMWAwJdsnYDAV2yFgMBcbJ2AwFxsvcDAV202AboBgJdsgkGAV2yeQYBXbKZBgFdshkGAXGyGgYBXbKKBgFdsvoGAV2yegYBcbLUDgFxtMQO1A4CcrL0DgFysmUOAXGypQ4BcbTlDvUOAnG0RQ5VDgJytHUOhQ4CcrLlDgFysmYOAV20tg7GDgJdsvYOAV22Bg4WDiYOA3G0tg7GDgJxsmYOAXKypg4BcrQHDhcOAl2yVw4BXbRHDlcOAnGyNw4BcrIkDwFxslQPAXG0tA/EDwJxssYPAV2yZw8BXbJoEAFdsqcRAV2yGBEBXbJoEQFdsmkRAXGy2REBcbIaEQFxWQCyFwMBcbJ4AwFdsokDAV20CAYYBgJdsngGAV2ymAYBXbL4BgFdsokGAV2yVg4BcrIXDgFxsmcOAXG0tw7HDgJxtOcO9w4CcbQ3DkcOAnKyZw4BcrKHDgFytMcO1w4CcrL3DgFystgOAXG0tg/GDwJxstYRAXGyFxEBcbJnEQFxsqkRAV0BNyMHAyMDJyMXESMRMxMXMzcTMxEjAlsPBiuVLJ0sBRSCfbshBB6xfIkBa4tw/vsBBm+K/pQCvP7AUFIBPv1EAAEAPP/7AlUCwQAPA1ewCitYsg0FAyuyIAUBXbIvBQFxsh8FAXKy/wUBcrI/BQFyst8FAXGy/wUBXbIgBQFysuAFAV2wBRCxBAT0sAfQspYHAV20BQcVBwJdsgIEBxESObIgDQFyslANAV2yEA0BcbJgDQFxsh8NAXKy3w0BcbL/DQFysuANAV2ycA0BXbIgDQFdspANAV20MA1ADQJxsA0QsQwE9LAP0LQKDxoPAl2ymQ8BXbIKDA8REjmyHxABXbQ/EE8QAl2ywBEBXbIPEQFxsnARAV2ysBEBcbLAEQFyWQCwAEVYsAwvG7EMFD5ZsABFWLAHLxuxBxQ+WbAARViwBC8bsQQIPlmwAEVYsA8vG7EPCD5ZsAcQsALQsrsCAV22ewKLApsCA11BCQAbAAIAKwACADsAAgBLAAIABHGwDxCwCtCytAoBXbZ0CoQKlAoDXUEJABQACgAkAAoANAAKAEQACgAEcTAxAbAKK1i0WABoAAJdsugAAV2yeQABXbS5AMkAAl22SQBZAGkAA3GySQABcrKpAAFysvkAAXK0CgAaAAJdsvoAAV2yCgABcbaKAJoAqgADcbLKAAFxsgoAAXK0KgA6AAJyspsAAV2yewABcbLbAAFxtFsAawACcrLbAAFyshwAAXGyvAABcbTsAPwAAnGyHAABcrLpAQFdsowBAV20BwcXBwJdslIIAXKy4ggBcrQDCBMIAnGyEwgBcrJjCAFytLMIwwgCcrJUCAFxtMQI1AgCcbYkCDQIRAgDcrZ0CIQIlAgDcrLUCAFysvQIAXKylQgBXbTlCPUIAl2yRQgBcbRlCHUIAnG05Qj1CAJxsgUIAXKy1ggBXbQHCBcIAl2ydwgBXbLHCAFdsoQJAV20BQkVCQJxWQC0CAAYAAJdslgAAV2yyAABXbLoAAFdsggAAXG0SABYAAJxQQkAeAAAAIgAAACYAAAAqAAAAARxstgAAXKymQABXbK5AAFdshkAAXGyOQABcbTJANkAAnG2GQApADkAA3K0WQBpAAJysvkAAXKyagABcbTqAPoAAnGyqgABcrTmCPYIAnGyZggBcrLmCAFytNcI5wgCXbJnCAFxsgcIAXKydwgBcrL3CAFysvgIAV2yyAgBcbYYCCgIOAgDcrJYCAFystgIAXITJyMXESMRMwEXMycRMxEj6jcFEIJkAQk1BRCCZAFtbm7+kwLB/otrawFw/T8AAgAm//ICeALKAA8AHwJusAorWLIIAAMrsgAAAV2yfwABXbL/AAFxsi8AAXK0zwDfAAJxsk8AAV2yUAABXbIwAAFdtFAIYAgCXbKwCAFdskAIAXKycAgBcrLgCAFdtIAIkAgCXbQgCDAIAl2yAAgBXbAAELEQB/SwCBCxGAf0sk8gAV2y8CEBcrI/IQFysr8hAXGyYCEBcbKQIQFxWQCwAEVYsAMvG7EDFD5ZsABFWLALLxuxCwg+WbEVA/SwAxCxHQP0MDEBsAorWLKYAgFdsnkCAXKyqgIBcbKWBQFdsqcFAXGydwUBcrJ0CQFyspcJAV2ypwkBcbKYDQFdsvgNAV2yqA0BcbJUEQFysuQSAXGyNRIBcbLVEgFxskYSAXGyxxIBXbL3EgFxsmcSAXKyFxMBXbRXE2cTAnGy0xQBcbJpFgFxshgXAV2yyBcBXbQ5F0kXAnGyaRcBcrLoGgFxtDkaSRoCcbJpGgFysloaAXKyGBsBXbLIGwFdsmobAXGyFx4BXbRXHmceAnG0Nh9GHwJxsmcfAXJZALKWAgFdsvcCAV2ydwIBcrKYBAFxsqYFAXGydgUBcrKYCQFdsqgJAXGyeQkBcrKXCgFxsqgNAXGymQ0BXbL5DQFdsnoNAXKyNhIBcbJmEgFysscSAV2yRxIBcbTXEucSAnGyZRMBcbJWEwFxshcTAV2y1xQBcbJkFgFxslYWAXG0NRdFFwJxssYXAV2yZhcBcrIXFwFdsmgaAXK0ORpJGgJxsukaAXGyWRoBcrL6GgFxshgbAV2yyhsBXbRaG2obAnGyGB4BXbJoHgFxslkeAXGyyB8BXbJJHwFxsjofAXGyah8BchM0NjMyHgIVFAYjIi4CNxQeAjMyNjU0LgIjIgYmmo9LcEokm45McEkkkBIlOihJUBEkOipJUAFer700YIZSr700YIZSNVlAJHKAM1hCJXUAAgA8AAACIwLGABQAJwFisAorWLIIFAMrsrAIAV2ycAgBcUENAAAACAAQAAgAIAAIADAACABAAAgAUAAIAAZdslAIAXGykAgBXbJwCAFdsh8UAXGy/xQBXbLfFAFxtiAUMBRAFANdsgAUAV2wFBCxEwb0sBnQsAgQsSMH9LIfKAFdWQCwAEVYsAMvG7EDFD5ZsABFWLATLxuxEwg+WbINAxMREjmwDS+wAxCxFQL0sA0QsR4C9DAxAbAKK1iyNQYBcbL2BgFdslYGAXK0ZwZ3BgJdtNcG5wYCXbKlCgFytLYKxgoCcbQmCjYKAnKyxwoBXbKnCgFxsqcLAXG0RyFXIQJxstghAXGyGCEBcrIZJgFyWQCyNQYBcbRnBncGAl221wbnBvcGA12yqAoBcbKoCgFysskKAV20uQrJCgJxtCkKOQoCcrKpCwFxshQgAXK0RiFWIQJxstYhAXGyFiEBcrQHIRchAnGyGSYBcrKKJgFxEz4BMzIeAhUUDgIjKgEuAScVIxMiBgcVHgIyMzI+AjU0LgI8KmUyNGlUNS5MYTQFFhgXBYnMFCQLBBASEQQbNSoZGCcyArUICREzW0lCWzoaAQIB8QJQAwLjAQIBChswJyErGgoAAwAm/ykCvgLKABQAJAA0AkewCitYsh0VAyuyABUBXbJ/FQFdsv8VAXGyLxUBcrTPFd8VAnGyTxUBXbJQFQFdsjAVAV20UB1gHQJdsrAdAV2yQB0BcrJwHQFysuAdAV20gB2QHQJdtCAdMB0CXbIAHQFdsgkVHRESObAJL7AU3LAVELElB/SwHRCxLQf0sk81AV2y8DYBcrI/NgFysmA2AXGykDYBcVkAsABFWLAYLxuxGBQ+WbAARViwIC8bsSAIPlmwDNCwDC+xBwP0sALQsAIvsRED9LAgELEqA/SwGBCxMgP0MDEBsAorWLKYFwFdsqgXAXGyeRcBcrKXGgFdsqcaAXGydxoBcrKXHwFdsqcfAXGy+CIBXbKZIgFdtDYnRicCcbTmJ/YnAnGyxycBXbJWKAFxshcoAV2yZygBcbJYKwFxsmkrAXGyyCwBXbQ4LEgsAnGyyC8BXbQ4L0gvAnG06C/4LwJxslgwAXGyGTABXbJpMAFxsmUzAXGyVzMBcbI2NAFxshc0AV2yxzQBXbJHNAFxWQCypRcBcbKXFwFdsvcXAV2ydxcBcrKXGgFdsqcaAXGydxoBcrKYHwFdsqkfAXGyeR8BcrKYIgFdsvgiAV2yqSIBcbJ6IgFyskYnAXG05if2JwJxsscnAV2yZSgBcbJWKAFxshcoAV2yFysBXbRXK2crAnG0NSxFLAJxshYsAV2yxiwBXbLJLwFdsjkvAXGySi8BcbTqL/ovAnGyaDABcbIZMAFdslkwAXGyGDMBXbJYMwFxshg0AV2yyDQBXbJJNAFxBQYjIi4CIyIHNTYzMh4CMzI2NwE0NjMyHgIVFAYjIi4CNxQeAjMyNjU0LgIjIgYCvjAxM2BaVCUYFhweKlNWWjIWLhj9aJqPS3BKJJuOTHBJJJASJTooSVARJDoqSVDKDRUYFQZ2BhQXFAUGAbGvvTRghlKvvTRghlI1WUAkcoAzWEIldQACADwAAAJKAsYAFAAfAiywCitYsgoUAyuyYAoBcrIfCgFytN8K7woCcUENAAAACgAQAAoAIAAKADAACgBAAAoAUAAKAAZdslAKAXGyEAoBcbIfFAFysi8UAXGyDxQBcbbfFO8U/xQDcbYgFDAUQBQDXbIAFAFdsBQQsRMG9LAZ0LINChkREjmwChCwD9CwDy+wENCyKRABcbLKEAFdsgoQAXKyehABXbSLEJsQAnKySxABcbIbEAFytqwQvBDMEANyshwQAV2ybRABcbKdEAFdsk4QAXK23hDuEP4QA3Ky3hABcbRfEG8QAnKyfhABcbQOEB4QAnG0vRDNEAJxsv0QAV20LRA9EAJysowQAV2yXBABcbTbEOsQAl20mxCrEAJxsgoQAV2yihABcbI6EAFxsmkQAV2yeRABcrL5EAFxsAoQsR0H9LJwIQFdshAhAXFZALAARViwBS8bsQUUPlmwAEVYsBMvG7ETCD5ZshIFExESObASL7AN0LATELAQ0LAFELEVA/SwEhCwGdy0DxkfGQJxtG8ZfxkCXTAxAbAKK1iyJQgBcbKWCAFxtmcIdwiHCANdtAcIFwgCcbK3CAFytNYM5gwCXbL3DAFdsgcMAXK0aRF5EQJdsooRAV20ChEaEQJxspsRAV2y+xEBXbLsEQFdtLgfyB8CcVkAtGYIdggCXbK2CAFysocIAV20BwgXCAJxspcIAXGy+QwBXbTaDOoMAl2yCgwBcrJmGwFxsnkfAXG0uR/JHwJxEz4DMzIeAhUUBgcXEyMDJxEjEyIGBxUzMjY1NCY8FzU1MhUxX0stUEMxoJ6fSInSFSkLOjlEOAK1BAcEAhIsTTpWbBUf/vUBEg3+4QJMAgPLNDwtMwABABv/8gHzAsoALQIysAorWLIdBwMrssAdAV2yEB0BcbLgHQFdQQ0AMAAdAEAAHQBQAB0AYAAdAHAAHQCAAB0ABl2yEB0BXbAdELEABvS2MAdAB1AHA12wHRCwD9CwDy+wBxCxFgb0sAcQsCXQsCUvsq8vAV2yYC8BcrIQLwFxWQCwAEVYsAwvG7EMFD5ZsABFWLAiLxuxIgg+WbIDDCIREjm2KQM5A0kDA3GyGgMBcbS6A8oDAnK02wPrAwJdtFoDagMCcbTpA/kDAnGyyQMBXbKpAwFysAwQsRMD9LIZDCIREjmyBRkBcbKWGQFytpYZphm2GQNdsjYZAXG0RxlXGQJxtGcZdxkCXbQHGRcZAl2y1hkBcrZ2GYYZlhkDcbL2GQFdQQkApQAZALUAGQDFABkA1QAZAARxQQ8ABQAZABUAGQAlABkANQAZAEUAGQBVABkAZQAZAAdysCIQsSsD9DAxAbAKK1iyiAMBXbKIBAFdtCgFOAUCXbIpBQFxsggJAXGyKAkBcbIVGwFxsvYfAV2yBh8BcbR2H4YfAnGyBx8BcrKXHwFyslcmAV2yhyYBXbLILQFxWQCyiAMBXbKIBAFdtCkFOQUCXbIpBQFxshUJAXGytgkBcbIHCQFxsicJAXGyBgoBcbKWDwFdtlgQaBB4EANdsokQAV2yVxsBXbIXGwFxsggfAXGy+R8BXbR6H4ofAnGyCh8BcrKaHwFyspklAV22ZiZ2JoYmA120RyZXJgJdsoYnAV2yxC0BcSU0LgQ1ND4CMzIWFwcuASMiBhUUHgQVFA4CIyImJzceAzMyNgFqL0dTRy8iP1Y1PWwjKxZYMzAzL0dTRy8lQ185S3IbLAsjLDEaPUG8ICghIzNMOzNLMhgVFHMOFyYgHigiJDNLODhRNhocDnUGDgwIKQABAAsAAAItArwABwB+sAorWLsAAgAGAAMABCuywAIBcrACELAA3LLfAAFdssADAXKwAxCwBdyyYAkBXbLwCQFdsk8JAV2yLwkBcbIvCQFdsqAJAXGywAkBXbLQCQFxsvAJAXFZALAARViwBi8bsQYUPlmwAEVYsAMvG7EDCD5ZsAYQsQUD9LAB0DAxASMRIxEjNSECLcyJzQIiAkL9vgJCegABADn/9AI6ArwAFAFasAorWLIBCgMrsuABAV2yYAEBcbKQAQFysr8BAXGy3wEBcbJgAQFyshABAXGyQAEBXbIQAQFdsAEQsQAE9LJgCgFysg8KAXGy/woBcbLfCgFxsj8KAXKyQAoBXbIQCgFdsAoQsQsG9LI/FQFdsk8WAXGybxYBXbLQFgFdsrAWAV1ZALAARViwCy8bsQsUPlmwAEVYsAcvG7EHCD5ZsAsQsADQsAcQsRED9DAxAbAKK1i2xgTWBOYEA12y1gQBcbJoBAFxssYFAV201wXnBQJdtOgI+AgCcbLoCAFytNkI6QgCXbLaCAFxsssIAV2yhA4BcbKVDgFxsmcOAXGyaBMBcbKYEwFxsokTAXFZALJnBAFxtsgE2AToBANdstgEAXG2yAXYBegFA12y6AgBcrbKCNoI6ggDXbTqCPoIAnGy2wgBcbSGDpYOAnG0aBJ4EgJdsoUTAXGylhMBcQEzERQOAiMgNREzERQeAjMyNjUBuIIkQFw3/vaJDyAwID84Arz+PERiQB7zAdX+Rik5Iw9GTgAB//f/+wJjArwACQGNsAorWLIFCAMrsn8IAXKyzwgBcrL/CAFysq8IAXKyXwgBcrLfCAFxtnAFgAWQBQNdsvAFAV2ywAUBcbKQBQFysmAFAXKyUAUBcbLQBQFdtEAFUAUCXbQABRAFAl2yBwgFERI5tAoHGgcCcbTpB/kHAl2yaQcBcbIGBQgREjmyZgYBcbLXBgFxtKcGtwYCXbTmBvYGAl20BQYVBgJxsgEHBhESObAFELEEB/S2VwRnBHcEA12yxwQBXbAIELAJ3LZwCYAJkAkDXbJwCQFyttAJ4AnwCQNdtAAJEAkCcbJYCQFdshAJAV1BCQBAAAkAUAAJAGAACQBwAAkABHG2oAmwCcAJA3G0AAkQCQJysg8LAV2ycAsBXVkAsABFWLAJLxuxCRQ+WbAARViwBy8bsQcIPlmwAdCyKAEBXbKTAgFdsAkQsATQMDEBsAorWLKVAAFdshUAAXGydQABcbIGAAFxsmYAAXGyFwABXbKHAAFdtAQBFAECcbKXAQFdtGcDdwMCXVkAspgAAV2yGAABcQEXMzcTMwEjATMBIhIFFIaQ/vxi/vqfASF3eAGa/T8CwQABAAD/+wNeArwAFQMssAorWLILFAMrsuALAV2yLwsBXbKQCwFdsgALAV2yExQLERI5srkTAV2yWRMBcbKqEwFysvsTAV2yShMBcrLJEwFxtAkTGRMCcbJoEwFdtCYTNhMCXbISFAsREjmyVBIBcrLVEgFxskUSAXGyBRIBXbTVEuUSAl2yxhIBcbRWEmYSAnGyxhIBXbZ3EocSlxIDXbI3EgFxshcSAV2y9hIBXbQGEhYSAnGyhhIBcrKmEgFxtOYS9hICcbKlEgFdQQkAFQASACUAEgA1ABIARQASAARysnUSAXGytRIBcrQkEjQSAl2yYxIBcrIBExIREjmyBBQLERI5spgEAV2yWQQBcbSqBLoEAnG0KgQ6BAJysnoEAXGyagQBcrLaBAFxsokEAXGyiQQBXbJnBAFdskYEAV2yBQsUERI5tMUF1QUCcbYVBSUFNQUDcrKVBQFxskYFAXGyFwUBXbKnBQFdsncFAV2y9wUBXbLGBQFdtOYF9gUCcbJlBQFysnUFAXG0BAUUBQJxsmMFAXGyDAsUERI5srYMAV2yVgwBcbQoDDgMAl2yDgwBXbLGDAFxsvYMAV2yRQwBcrKlDAFysg0LFBESObJKDQFysroNAXGyWw0BcrJsDQFytCsNOw0CXbILDQFdsqoNAV2ySA0BXbJnDQFdsggMDRESObALELEKBvSyEAQFERI5sBQQsRUH9LJPFwFdsi8XAV1ZALAARViwFS8bsRUUPlmwAEVYsBIvG7ESCD5ZsAHQsq8BAV2yhQEBXbKTAQFdsBUQsATQtCsHOwcCXbABELAI0LAEELAK0LASELAN0LAEELAQ0LKKEAFdMDEBsAorWLIEAAFdsnQAAXGyNQABcbIXAAFdsicAAXGyZwABcbJYAAFdsgYBAV2yNAYBXbJ1BgFdsiYGAV2ylgYBXbQGBhYGAnGyBwYBXbL3BgFdtAYHFgcCcbIHBwFdtCcHNwcCXbTXB+cHAl2yCQgBXbJHCQFdsgkJAV2yyQkBcbJHCgFdshgOAXGyNxIBXVkAsgYAAV2yJwABcbJ3AAFxspcGAV2y9wYBXbQoBzgHAl20Kgg6CAJdssQJAXETFzM3EzMTFzM3EzMDIwMnIwcDIwMz8g0EDnpaeA4ED1WLwVx9EQURfGHAlQE1fH4Bhf55fH4Bhf0/AYVrbP58AsEAAQAKAAACbgK8AA8DGbAKK1iyCQ8DK7IfDwFyso8PAV2yPw8BcrJvDwFysv8PAV2yDw8BcbIQCQFxspAJAV2ywAkBcbJwCQFdsuAJAV20QAlQCQJdtAAJEAkCXbIADwkREjmyGgABcbYnADcARwADXbAPELAB0EEJAIYAAQCWAAEApgABALYAAQAEXbJWAQFdtGcBdwECXbLWAQFdtOUB9QECXbQFARUBAnGyxQEBXbAC3LIQAgFdttIC4gLyAgNdtAICEgICcbQDAhMCAnKycwIBcUELACQAAgA0AAIARAACAFQAAgBkAAIABXKyZAIBcbLTAgFxtnICggKSAgNdtjACQAJQAgNxsvACAXFBCQCQAAIAoAACALAAAgDAAAIABHGyCAkPERI5tGcIdwgCXbIEAAgREjmwCRCwB9CymQcBXbQKBxoHAnG06Qf5BwJdQQkAJgAHADYABwBGAAcAVgAHAARxsAbcQQkAOwAGAEsABgBbAAYAawAGAARysnwGAXGyjQYBXbLPBgFxsv8GAV20DwYfBgJxstwGAXGynAYBXbJrBgFxsnYGAV2wCRCwCtyy3AoBcbKcCgFdtt0K7Qr9CgNdsg0KAXGyHwoBcbY/Ck8KXwoDcUEJAJ8ACgCvAAoAvwAKAM8ACgAEcbL/CgFxsh8KAV20fQqNCgJdsnwKAXG0DAocCgJysmsKAXFBCwArAAoAOwAKAEsACgBbAAoAawAKAAVysgwIABESObAPELAO3LKCDgFdstMOAXFBCQA0AA4ARAAOAFQADgBkAA4ABHKyeQ4BXbJkDgFxspMOAV2ycw4BcbLADgFxsvAOAV20AA4QDgJxsmARAV2y4BEBXVkAsABFWLACLxuxAhQ+WbAARViwDi8bsQ4IPlmyBAIOERI5smYEAV2ylgQBXbL1BAFdsgQEAXGyDA4CERI5sgsMAXGymgwBXbIABAwREjmwAhCwBtCyCAQMERI5sA4QsArQMDEBsAorWLLXAgFdtIYDlgMCXbLmAwFdspoFAV20aQt5CwJdspoLAV2ylg0BXVkAspcDAV20aAt4CwJdspgLAV0TAzMfAT8BMwMTIy8BDwEj4cOlbBgXcZXK1KN7Gxp8lQFkAVjKR0fK/q/+ldhKStgAAf/+AAACUgK8AAsBx7AKK1i7AAkABgAAAAQrsp8AAXKyfwABcbIfAAFysjAAAV2wABCwAdC0GAEoAQJdtOgB+AECXbJ5AQFdsgoBAXGyGwEBcbI6AQFdsokBAXGyyAEBcbK4AQFdtEcBVwECcbK3AQFxsALcshACAV220ALgAvACA120AAIQAgJxtFACYAICcrSCApICAl1BCwCQAAIAoAACALAAAgDAAAIA0AACAAVxsnACAV2y8AIBcUEJAAAAAgAQAAIAIAACADAAAgAEckELADAAAgBAAAIAUAACAGAAAgBwAAIABXGyfwkBcbKfCQFysh8JAXKyMAkBXbIEAAkREjmwCRCwCNCyhggBcbIGCAFxsvcIAV2yuAgBcbJICAFxtBcIJwgCXbK3CAFdsnYIAV2yNQgBXbIUCAFxsAfcst8HAXG0bwd/BwJxsv8HAV20DwcfBwJxtI0HnQcCXbKwDQFdsmANAV1ZALAARViwAi8bsQIUPlmwAEVYsAsvG7ELCD5ZsgALAhESObIEAgsREjmyFgQBXbLTBAFxsAIQsAfQsAAQsAnQMDEBsAorWLREA1QDAnGy9QMBXbI1AwFxssYDAV20BgMWAwJxslcGAV1ZEwMzExczNxMzAxEj5OajgA4FD3yT5YkBBAG4/vlKTAEF/kn++wABABsAAAIAArwACwIAsAorWLIFCwMrsnAFAXGyEAUBcbIfBQFyslAFAXGy4AUBXbIQBQFdsjAFAV2wBRCwAtBBCQAqAAIAOgACAEoAAgBaAAIABHGy+gIBcbJrAgFdtNsC6wICXbILAgFyshwCAV2ynAIBXbIcAgFysm0CAXGy/gIBXbQOAh4CAnGy3gIBcbZPAl8CbwIDcrQuAj4CAnKyfgIBcbS9As0CAnK2jAKcAqwCA3K0vALMAgJxsnwCAV223ALsAvwCA3KyqwIBcbKLAgFdsgsCAV2ymgIBcbLKAgFdsnoCAXKyfwsBXbL/CwFdsh8LAXKyzwsBcrK/CwFdsl8LAV2y4AsBXbALELAE0LAEL7ALELAI0LLRCAFxtLIIwggCcrLyCAFdssIIAXGyswgBcbTUCOQIAl20hAiUCAJysqQIAXG05Qj1CAJytGUIdQgCXbSFCJUIAnGyxggBXbJXCAFdsiYIAXGy9QgBcbQ1CEUIAnG0BQgVCAJdsgQIAXKyVAgBcbKECAFdsqMIAXKyEggBcrRiCHIIAnGykggBXbIBCAFxQQsAIAAIADAACABAAAgAUAAIAGAACAAFcrIQCAFxsAUQsArQsAovsq8NAV2yzw0BXbKPDQFdWQCwAEVYsAQvG7EEFD5ZsABFWLAKLxuxCgg+WbEJA/SwANCwBBCxAwP0sAbQMDE3ATchNSEVAQchFSEbASg0/qQB5f7WMwFd/ht6AZ4qenr+XiZ6AAEAPP8aAScCvAAHAI2wCitYsgYHAyuy4AYBXbJABgFxsk8GAXKyjwYBXbLwBgFxshAGAXG0MAZABgJdtAAGEAYCXbAGELAC0LQwB0AHAl2yEAcBcbKPBwFdsk8HAXKyQAcBcbLgBwFdtAAHEAcCXbLwBwFxsAcQsQQE9FkAsAYvsABFWLABLxuxARQ+WbECAfSwBhCxBQH0MDETMxUjETMVIzzrb2/rArxu/TpuAAH/6P90AbYCxwADAFWwCitYsgACAyuwABCwAdC0KgE6AQJdsgkBAV2yPwIBXbACELAD0LIGAwFdsiUDAV2yNAMBXVkAsAEvsABFWLADLxuxAxQ+WbABELAA0LADELAC0DAxBQcBNwG2Y/6VZl8tAygrAAEAHf8aAQgCvAAHAEKwCitYsgABAyuy4AABXbLgAQFdsAAQsQME9LABELAF0FkAsAEvsABFWLAGLxuxBhQ+WbABELECAfSwBhCxBQH0MDEFIzUzESM1MwEI629v6+ZuAsZuAAEAFAGdAdYCwQAIAUywCitYsgIIAyu0jwifCAJdsh8IAXGyvwgBXbI/CAFxsl8IAXGyoAIBXbJgAgFxsqACAXGyvwIBcbIPAgFdsoACAXGywAIBXbIwAgFyshACAXKyAAgCERI5QQkAZwAAAHcAAACHAAAAlwAAAARdsgECCBESObZHAVcBZwEDcUELAKcAAQC3AAEAxwABANcAAQDnAAEABV2wAhCwA9yyvwMBcrS/A88DAl2yrwMBcbQvAz8DAnGynwMBcrI/AwFdsh8DAXKyBQIIERI5sAgQsAfcsr8HAXGywAcBXVkAsABFWLAALxuxABQ+WbAH3LLQBwFdsnAHAXGyPwcBXbIfBwFxsuAHAXGyQAcBcbJgBwFdslAHAXKwA9CyBQAHERI5MDEBsAorWLapBLkEyQQDXbSmBrYGAl2yxwYBXVkAtqgEuATIBANdtKgGuAYCXRMzEyMvAQ8BI9hFuYNHFRlOfALB/tx6Rkd5AAEAAP8gAbz/iwADACSwCitYsAQvsAUvsAQQsADQsAUQsAHQWQCwBC+wANyxAwH0MDEVIRUhAbz+RHVrAAEAPAI2AQAC0AAEAKiwCitYsAAvsAPctE8DXwMCcbKfAwFxsp8DAV2yIAMBclkAsAAvsjAAAXGy8AABcbIwAAFysg8AAV2yTwABXbJPAAFxsk8AAXKybwABXbIvAAFdstAAAXKyEAABcrLQAAFxshAAAXGy8AABXbAE3LKvBAFxsg8EAV2yUAQBcTAxAbAKK1hBCQAFAAQAFQAEACUABAA1AAQABHG0BgQWBAJdtOYE9gQCXVkBIyc1MwEASHyIAjZ8HgACABf/+AHHAf4AIwAvAhuwCitYsggYAyuyXxgBXbKfGAFdsg8YAXGyzxgBXbJ/GAFdsp8YAXKyQBgBXbAYELAA0LAAL7JACAFdtFAIYAgCcbKfCAFyshAIAXGyAAgBXbLACAFxsAgQsA3QsA0vsAgQsR0E9LAo0LAP0LAYELEtBfSyLzEBXVkAsABFWLADLxuxAxA+WbAARViwDi8bsQ4IPlmwAEVYsBMvG7ETCD5Zsh0DExESObAdL7RvHX8dAnG0jx2fHQJdtCAdMB0CXbIPEx0REjmwAxCxIAH0sBMQsSQB9LAdELAo3LRQKGAoAnFBCQBgACgAcAAoAIAAKACQACgABF0wMQGwCitYsvUFAXKyBgUBXbZ2BYYFlgUDcbIXBQFdsnYGAXG0BwYXBgJdspURAXKyphEBcrIYFQFdsgoVAV1BCwAYABYAKAAWADgAFgBIABYAWAAWAAVdsgkWAV20qRa5FgJxtOca9xoCcbIIGgFdtKgauBoCXbZIGlgaaBoDcbQIGhgaAnKyiRoBcrK5GgFyWQCy9QUBcrQHBRcFAl22dwWHBZcFA3G0BwYXBgJdsncGAXGymREBcrKqEQFytBgVKBUCXbIJFQFdtggWGBYoFgNdtEgWWBYCXbSoFrgWAnGyORYBXbLJFgFxtOUa9RoCcbKFGgFytEYaVhoCcbQGGhYaAnKythoBcrIHGgFdtKcatxoCXbJnGgFxspkjAV2y+SsBcRM+ATMyHgIVFA4BFhcjJyMOASMiLgI1ND4CFzYmIyIGBxMyNjc1Jg4CFRQWNihuPDRGKREGAQYMahUFFEc4IzgoFilNa0IHHjQnVxyGJy4LHzksGiEB1xIVGS5AKCxZVlEkRR8tFSc1IS4/Jw8DODEQDf7tIxRBAwQOGhQcHwACADn/9AH3ArwADwAbAU+wCitYsgkAAyuyHwABcbI/AAFysl8AAXKyHwABcrL/AAFdQQsAAAAAABAAAAAgAAAAMAAAAEAAAAAFXbAAELEBBPS0gAmQCQJdtA8JHwkCcrJgCQFdQQsAAAAJABAACQAgAAkAMAAJAEAACQAFXbAT0LAJELEaBfSyLx0BcbKQHQFdsuAdAXFZALAARViwBi8bsQYQPlmwAEVYsAEvG7EBFD5ZsABFWLAMLxuxDAg+WbICBgwREjmwBhCxEAH0sAwQsRcB9DAxAbAKK1iypgcBXbZ3B4cHlwcDXbTHB9cHAnGy5QgBcrJ2CAFdtKQKtAoCcrK1CgFdtEUKVQoCcbTGCtYKAl20qBu4GwJxWQBBCQB2AAcAhgAHAJYABwCmAAcABF20xgfWBwJxtEgKWAoCcba5CskK2QoDXbSpCrkKAnK0hhmWGQJxtKgbuBsCcRMzFTM+ATMyFhUUBiMiJicTIgYHFR4BMzI2NTQ5ggQVQihaX4V0QGob3yQtDBAlFTU3ArzwGBx7foeMFQ0BfCUj2ggGTVSPAAEAIf/yAZsCAgAdAXywCitYsg4IAyuycA4BXbIvDgFysuAOAV22EA4gDjAOA12yEA4BcbAOELAA0LAAL7JPCAFysp8IAV2ynwgBcrIvCAFysm8IAV2y4AgBXbIwCAFdsAgQsRUF9LRgH3AfAl2ysB8BcbIgHwFdsgAfAXJZALAARViwCy8bsQsQPlmwAEVYsAMvG7EDCD5ZsAsQsRIC9LADELEaAvQwMQGwCitYtOgF+AUCXbKIBQFxshgFAXK0CQUZBQJxtKkFuQUCcrTpBvkGAl2yCAkBcrTpCfkJAnG06Ar4CgJdtOcP9w8CXbLYDwFdsoYUAXGy1xwBXbTnHfcdAl2y2B0BXVkAtOgF+AUCXbQIBRgFAnGyiAUBcbIYBQFytKkFuQUCcrToBvgGAl2yBwkBcrTlCvUKAl20Zgp2CgJxtIYKlgoCcrbZD+kP+Q8DXbQJDxkPAnGyiRQBcbLVHAFdshYcAXGy1R0BXbIVHQFxtOYd9h0CXbIGHQFxspcdAV2yxx0BXSUOASMiLgI1NDYzMhYXBy4BIyIGFRQeAjMyNjcBmx5VLTxTNBdybTdDGx8XLR02OA4cLR4hLhIfFhcmRWI7f4kSDmoLDEdOIDYoFxEMAAIAIf/yAewCvAAUACEBurAKK1iyFAwDK7TgFPAUAl2yMBQBXbIvFAFxsh8UAXKykBQBXbIQFAFdshAUAXGyMBQBcbAUELETBPSwGdCwBdCyEAwBXbIfDAFysl8MAXKyjwwBXbIvDAFxsn8MAXKyrwwBXbJvDAFdsj8MAXKyAAwBcrIwDAFdsuAMAV2wDBCxHwX0spAjAV2y8CMBcbLwIwFdsjAjAXJZALAARViwDy8bsQ8QPlmwAEVYsBMvG7ETFD5ZsABFWLAJLxuxCQg+WbAARViwBC8bsQQIPlmyBQkPERI5sAkQsRUB9LAPELEcAfQwMQGwCitYsvgDAXK0xwrXCgJyQQkACAAKABgACgAoAAoAOAAKAARxsngLAV20yQ3ZDQJdtGcOdw4CcbToDvgOAl20yQ7ZDgJdsmoOAV20hh6WHgJxtKcgtyACcbSmIbYhAnFZALJ4CgFdtCgKOAoCcbaJCpkKqQoDXbQJChkKAnG0qQq5CgJxtMkK2QoCcrRMClwKAnKyeAsBXbTGDdYNAl20xQ7VDgJdsmYOAV205g72DgJdtGYOdg4CcbRnDncOAnK0iR6ZHgJxtKcgtyACcbSmIbYhAnElFBYXIycjDgEjIiY1NDYzMhYXNTMDMjY3NS4BIyIGFRQWAeICCF0SBBRLM15odHAfKBSC3SYsCQ4iGzc3LbAqVDNBIyt8hICOBwjL/aQlI9QLC0paQE4AAgAh//IB2QICABgAHwJisAorWLIOBgMrsnAOAV2ysA4BXbLwDgFdsnAOAXKysA4BcrIvDgFysu8OAXGykA4BcrJQDgFystAOAV2ykA4BXbYQDiAOMA4DXbLQDgFysA4QsADQsAAvsn8AAXGybwYBcrTvBv8GAnGyTwYBcrKPBgFysi8GAXKybwYBXbIwBgFdshAGAV2wBhCxHAX0sBLQsBIvsA4QsB3cskAdAXKyMB0BXbSgHbAdAl2ywB0BcrIgIQFdssAhAXFZALAARViwCS8bsQkQPlmwAEVYsAMvG7EDCD5ZshwJAxESObAcL7SPHJ8cAl20bxx/HAJxtC8cPxwCcbAS3EEJAGAAEgBwABIAgAASAJAAEgAEXUENAAAAEgAQABIAIAASADAAEgBAABIAUAASAAZxsiASAXKwAxCwFdxBCQBfABUAbwAVAH8AFQCPABUABHG2zxXfFe8VA120TxVfFQJdsi8VAXKyvxUBcrAJELAZ3LRAGVAZAl22wBnQGeAZA11BCQBQABkAYAAZAHAAGQCAABkABHGyIBkBcrKwGQFyMDEBsAorWLRoBHgEAl206AT4BAJdtIgEmAQCcrbZB+kH+QcDcbLpBwFytGgIeAgCXbToCPgIAl2y2AgBcbRFDFUMAnG0hQyVDAJytCYMNgwCcbRnDHcMAnJZALToBPgEAl20aQR5BAJdtIkEmQQCcrLlBwFytOcH9wcCcbRmCHYIAl205gj2CAJdstYIAXG0Zgx2DAJyQQkAJwAMADcADABHAAwAVwAMAARxtIcMlwwCcrL1GAFxslYYAV20phi2GAJdtGcYdxgCXSUOASMiJjU0NjMyHgIVFAYHIR4BMzI2NwMiBgczNiYByR5nOnlwfnImSDgiBQX+1AM7QilBEY8zMQW6BCkrGCGNe4SEFC5OOhUwGj9AGQ0BGj0zNjoAAQALAAABcQLEABcBBrAKK1i7ABMABAAWAAQrsm8WAXGy4BYBXbKgFgFxsBYQsAHQsBYQsAfcsnAHAV2yEAcBcbJQBwFxsm8TAXGy4BMBXbKgEwFxsBMQsBDQsBMQsBLcsBYQsBfcsk8ZAV2yUBkBcVkAsABFWLAFLxuxBRQ+WbAARViwFC8bsRQIPlmyAQUUERI5sAEvsq8BAXK0IAEwAQJdsAUQsQsB9LABELAQ0LABELEWAfSwE9AwMQGwCitYshgDAV2yiAMBcbKZAwFxsqsDAXG0CAQYBAJdstgEAV2yiAQBcVkAtIYDlgMCcbIXAwFdsqcDAXGyBgQBXbLWBAFdsoYEAXGyFwQBXbTpCPkIAnETMzU0NjMyFwcuASMiDgIVMxUjESMRIwtFUExQNRkXIxMUFwsDbm6CRQH0HF9VE2gIBQwZJRhu/noBhgACACH/LAHgAgAAGgAmAZGwCitYshoUAyuyEBQBXbI/FAFysm8UAV2yXxQBcrKPFAFdsuAUAV2yMBQBXbKQGgFdshAaAXGy7xoBcbIwGgFxtOAa8BoCXbIwGgFdshAaAV2yBhQaERI5sAYvsBoQsR8E9LAO0LAUELEkBfSy8CgBXbJwKAFyspAoAV2yECgBcrJQKAFyWQCwAEVYsBcvG7EXED5ZsABFWLADLxuxAwo+WbAARViwES8bsREIPlmwAxCxCgH0sg4RFxESObARELEbAfSwFxCxIQH0MDEBsAorWLQFARUBAnG0RQFVAQJysvcSAXK0KBI4EgJxtMgS2BICcbRoEngSAnK0KBM4EwJxtMgV2BUCcbTIFtgWAl20ZiV2JQJxtKcltyUCcbTnJfclAnFZALRIAVgBAnK0CQEZAQJxQQkApgAHALYABwDGAAcA1gAHAARdtCkSORICcbTJEtkSAnG0aRJ5EgJysvsSAXK0KBM4EwJxtMcV1xUCcbTFFtUWAl2yZhYBXbRmJXYlAnG0piW2JQJxtOcl9yUCcSEUBiMiJic3HgEzMjY9ASMGIyImNTQ2MzIWFwMyNjc1JiMiBhUUFgHgdmpIUxUbFz0tRDEEI1lhX4B6QGUg3CYpCx8uMjgwbWcUC2cJEjs1IC94gIaKEgz+fiIi4Q1LUklMAAEAOQAAAe0CvAAWAXawCitYshYJAyuyQBYBXbKQFgFdtGAWcBYCcbJPFgFysm8WAXKyLxYBcbIQFgFxsmAWAV20EBYgFgJdstAWAXKwFhCxAAT0sk8JAXKyLwkBcbJvCQFysk8JAXGyDwkBcbJACQFdtBAJIAkCXbAJELEIBPSwDNCyPxcBXbI/GAFxsl8YAXGykBgBXbLwGAFxWQCwAEVYsAsvG7ELFD5ZsABFWLAQLxuxEBA+WbAARViwCC8bsQgIPlmwANCwEBCxBAL0sgwQCBESOTAxAbAKK1hBCQBJAAMAWQADAGkAAwB5AAMABHGy1RIBXbQGEhYSAl20BhIWEgJxQQkAZgASAHYAEgCGABIAlgASAARytCcSNxICXbTnEvcSAl2yxxIBcbK1EwFxQQkABwATABcAEwAnABMANwATAARdWQC0SANYAwJxtGkDeQMCcbTmEvYSAl20hhKWEgJytCcSNxICXbLHEgFxtGcSdxICcrQHExcTAl2ytxMBcSERNCYjIgYHESMRMxEzPgEzMh4CFREBayItITcJgoIEGEY2JjonEwEcPTYtI/7BArz/ACAmFC5POv7J//8AMQAAANcCxwImAOn+AAEGATL1AABRsAorWLTPBN8EAnFBFQBvAAQAfwAEAI8ABACfAAQArwAEAL8ABADPAAQA3wAEAO8ABAD/AAQACnKy/wQBXbIPBAFysgAEAV20IAQwBAJdMDFZAAAA////8P8wANkCxwImAS0AAAEGATL3AAA7sAorWLQgDzAPAnKyAA8BXbIPDwFytM8P3w8CXbL/DwFdtGAPcA8CcrSgD7APAnG2IA8wD0APA10wMVkAAAEAOQAAAe0CvAAOAjSwCitYuwACAAQAAwAEK7I/AgFxsv8CAV2yPwIBcrQAAhACAl2yQAIBXbL/AwFdsj8DAXKyPwMBcbQAAxADAl2yQAMBXbACELAG0LACELAO0LJ3DgFxstcOAV2y+A4BXbLpDgFdtAkOGQ4CcbIaDgFdtIkOmQ4CXbJZDgFxsgcOAV2ytw4BcbQ2DkYOAnGydg4BXbAN0LKCDQFyslMNAXKycw0BcrLkDQFxspQNAV2ytA0BcbZFDVUNZQ0DcbLlDQFdssYNAXGyhg0BXbJmDQFdsqYNAXK0xw3XDQJdsgcNAXKy1w0BcrKmDQFxsgYNAV2y9g0BcbQlDTUNAnKydQ0BXbLVDQFxsnQNAXGytA0BcrJEDQFysvMNAV2yAg0BcbIRDQFxsmANAXKwCdCyCAkBXbLZCQFysmkJAXGyegkBcbRLCVsJAnK06gn6CQJxsokJAXG0yQnZCQJxsigJAV2yhAkBXbAI0La5CMkI2QgDcbTqCPoIAnGyiggBXbRLCFsIAnKymwgBXbKNCAFytA0IHQgCcbRsCHwIAnKy+wgBXbRrCHsIAnGyGggBXbRJCFkIAnGy6QgBXbIICAFdsgsJBhESObIXCwFdsk8QAV2yLxABXbJwEAFxWQCwAEVYsAUvG7EFFD5ZsABFWLAILxuxCBA+WbAARViwAi8bsQIIPlmyAQIFERI5sAEvtC8BPwECXbAG0LILBgEREjmwAhCwDtAwMQGwCitYshYMAXGy5wwBXVk3IxUjETMRPwEzDwEfASPeI4KCHnKPeDM3h5XPzwK8/mMOx74mJ+kAAQA9//IBJwK8AA8A5bAKK1i7AA8ABAAOAAQrtDAOQA4CXbIvDgFxtAAOEA4CXbLwDgFysA4QsAfcsjAHAXGyrwcBXbLwBwFdsgAHAXGyYAcBXbLwDwFysi8PAXG0MA9ADwJdtAAPEA8CXbL/EAFxWQCwAEVYsA8vG7EPFD5ZsABFWLAKLxuxCgg+WbEDAvQwMQGwCitYtngMiAyYDANdsokMAXGyeQwBcrLJDAFyQQkAigAMAJoADACqAAwAugAMAARyWQCyiAwBcbZ5DIkMmQwDXbLJDAFyQQkAigAMAJoADACqAAwAugAMAARysnsMAXI3FBYzMjY3Fw4BIyImNREzvxIUDBcRDhBCIzk8gqgjIAQHZggQNT0CWAABADkAAALzAgIAJQIdsAorWLIlCQMrsnAlAV2yryUBcbLvJQFxsv8lAV2yYCUBcbQQJSAlAl2wJRCxAAT0si8AAV2yHwkBcbL/CQFdshAJAV2yQAkBXbAJELEIBPSwDNCyEwAlERI5sAAQsBzcshAcAXGyrxwBcbJPHAFdsu8cAXGyYBwBcbJwHAFdsiAcAV2xHQT0sj8mAV2yYCcBcbIQJwFysiAnAV2yrycBcbL/JwFdsg8nAXGyDycBXbJPJwFdsu8nAXGywCcBcbJgJwFysnAnAV2y0CcBXbIgJwFxWQCwAEVYsBAvG7EQED5ZsABFWLALLxuxCxA+WbAARViwCC8bsQgIPlmwANCwEBCxBAL0sgwQCBESObAQELAW0LAAELAd0LAWELEhAvQwMQGwCitYtEgDWAMCcbRpA3kDAnGyeA4BXbImEQFdtAcRFxECXbKFEgFytMYS1hICXbKmEgFxtAcSFxICXbQHExcTAl2yiRQBcrKFGAFytAYYFhgCXbSmGLYYAnG0lhimGAJytCcYNxgCXbLHGAFxspYZAXK0BxkXGQJdtEggWCACcbRqIHogAnFZALRIA1gDAnG0aQN5AwJxtgcRFxEnEQNdtAcSFxICXbTHEtcSAl2ypxIBcbKHEgFytAcTFxMCXbKHFAFytKUYtRgCcbLGGAFxsoYYAXKyphgBcrQnGDcYAl20BxkXGQJdspcZAXK0aCB4IAJxtEkgWSACcSERNCYjIgYHESMRMxczPgEzMhYXPgEzMh4CFREjETQmIyIGBxEBVRopIioLgmUPBBdHODA9ERdIMyo7JRKCGSsjKQoBEEU6JR3+swH0QiAwJy4nLhQxUj/+1AEZOzsmIf64AAEAOQAAAe0CAgAWAWqwCitYshYJAyuyQBYBXbKQFgFdtGAWcBYCcbIvFgFxsm8WAXKyTxYBcrLQFgFxshAWAXGyYBYBXbQQFiAWAl2y0BYBcrAWELEABPSybwkBcrIvCQFxsk8JAXKyTwkBcbIPCQFxskAJAV20EAkgCQJdsAkQsQgE9LAM0LYmDDYMRgwDcbI/FwFdsj8YAXGyXxgBcbLQGAFxspAYAV1ZALAARViwCy8bsQsQPlmwAEVYsBAvG7EQED5ZsABFWLAILxuxCAg+WbAA0LAQELEEAvSyDBAIERI5MDEBsAorWLLWAgFdsvYCAV2y5wIBXbQpAjkCAnKySAMBcbSlErUSAnG0ZRJ1EgJyshYSAV2y9hIBXbIHEgFdtCcSNxICXbLXEgFdsgYTAV2yFxMBXVkAtCoCOgICcrZYA2gDeAMDcbK2BgFdtKYSthICcbRmEnYSAnKyBxIBXbQnEjcSAl201xLnEgJdtAcTFxMCXSERNCYjIgYHESMRMxczPgEzMh4CFREBayMqJTMLgmcPBBdMPCU6KBQBHD02KyD+vAH0QiAwFC5POv7JAAIAIf/yAfgCAgAPAB0CO7AKK1iyCAADK7JfAAFdsj8AAXKyfwABcrKfAAFysl8AAXKyfwABXbLgAAFdsgAAAXKygAgBXbIACAFxsu8IAXGyrwgBcbLPCAFxsuAIAV2yMAgBXbIQCAFdsAAQsRAF9LAIELEYBfSyrx8BXbJvHwFdss8fAV2yEB8BcrJQHwFdWQCwAEVYsAMvG7EDED5ZsABFWLALLxuxCwg+WbEVAfSwAxCxGwH0MDEBsAorWLLIAQFdsukBAV2y+AIBXbLoAgFxsvUFAV20ZQV1BQJysucFAV2y5wkBXbLXDQFxstgNAV2y2A4BcbRmEXYRAnK0JhI2EgJytEcSVxICcbK2EwFdsqcTAV2yhxMBcrRoFngWAnKyZBcBcbJ1FwFxspYXAXGyhxcBcbKXFwFysvgXAXGy+BkBcbQpGTkZAnK0mRmpGQJysmQaAXGydRoBcbKXGgFytKgauBoCXbKoGgFytEkaWRoCcbKlHAFdtEYcVhwCcbRmHHYcAnKytxwBXbKIHAFytGkceRwCcVkAtMgB2AECcbL2AgFdtMgC2AICcbTIBNgEAnG0ZgV2BQJytOcF9wUCXbTIBtgGAnGyxwkBcbL5CQFdstcKAXG0xwzXDAJxsscOAXG0ZhF2EQJytEYSVhICcbQnEjcSAnKyhBMBcrKnEwFdtGcWdxYCcrKYFwFytCsZOxkCcrKlGgFyspYaAXKyuBoBXbRJGlkaAnG0aRp5GgJytKgcuBwCXbRIHFgcAnG2aRx5HIkcA3I3NDYzMh4CFRQGIyIuAjcUHgIzMjY1NCYjIgYhfHA8WDode3A8WDsdhgwYJxszMi43MDb6f4kmRWI7f4kmRWI7ITgqF0pQRVVIAAIAOf84AfsCAgATACABn7AKK1iyCRMDK7IAEwFysj8TAXKy/xMBXbI/EwFxsl8TAXGyHxMBcbIfEwFysl8TAXK2IBMwE0ATA12yABMBXbATELESBPSwGNCwAtCyYAkBXbIfCQFyQQsAAAAJABAACQAgAAkAMAAJAEAACQAFXbaACZAJoAkDXbJwCQFysAkQsR4F9LLQIgFxsvAiAXGykCIBXVkAsABFWLAGLxuxBhA+WbAARViwAS8bsQEQPlmwAEVYsBIvG7ESCj5ZsABFWLAOLxuxDgg+WbICBg4REjmyEQ4GERI5sAYQsRQB9LAOELEbAfQwMQGwCitYQQkAdgAHAIYABwCWAAcApgAHAARdtAcHFwcCXbL1CAFysnYIAV20RghWCAJxtMYI1ggCcbTFC9ULAnG0xgvWCwJdtMYM1gwCXbJnDAFdtOcM9wwCXbSoH7gfAnFZALJ2BwFdsgcHAV22hweXB6cHA120RghWCAJxtMYI1ggCcbJ3CAFdtMgL2AsCXbTIC9gLAnGyaAwBXbToDPgMAl20yQzZDAJdtIYdlh0CcbSqH7ofAnETMxczPgEzMhYVFA4CIyImJxUjEyIGBxUeATMyNjU0JjlfDwQaRzNeXh47VTcfKBSC3yYrDA4hGzg4LAH0PCYkd4RAZ0gmCQrNAlwmJtALDU9bQkgAAgAh/zgB4AIAABEAHgFksAorWLIACQMrspAAAV2yEAABcbIfAAFysjAAAXG04ADwAAJdsjAAAV2yEAABXbAAELEBBPSy4AkBXbJfCQFyso8JAV2yHwkBcrI/CQFysq8JAV2ybwkBXbIACQFysjAJAV2yEAkBXbAV0LAJELEcBfSykCABXbLwIAFdsuAgAXGyMCABclkAsABFWLAMLxuxDBA+WbAARViwAS8bsQEKPlmwAEVYsAYvG7EGCD5ZsgIGDBESObESAfSwDBCxGQH0MDEBsAorWLSIB5gHAl20qAe4BwJxsnkHAV2yeAgBXbQICBgIAnGyuQoBXba4C8gL2AsDXbSpC7kLAnK0hhuWGwJxtKUdtR0CcVkAsngHAV2yqAcBXbQIBxgHAnG0iQeZBwJdtCkHOQcCcbSpB7kHAnGyeAgBXbQJCBkIAnG2twrHCtcKA120pQu1CwJytrYLxgvWCwNdtIkbmRsCcbSmHbYdAnEFIzUjDgEjIiY1NDYzMh4CFwMyNjc1LgEjIgYVFBYB4IIEETouXWOHfhs2MSoO3CYpCw8mGDU1MMjzGh9+gIaKBQkLBf5+IiLhCAVQTUlMAAEAOQAAAV4B/wAQALqwCitYuwAGAAQABwAEK7L/BgFdsk8GAXK0LwY/BgJxtAAGEAYCXbJABgFdtC8HPwcCcbL/BwFdsk8HAXK0AAcQBwJdskAHAV2wBhCwCtCwBxCwENyyABABXbJwEAFdsjAQAV2yEBABcbJAEAFxstASAV2yEBIBcrJwEgFdsuASAXFZALAARViwCS8bsQkQPlmwAEVYsA4vG7EOED5ZsABFWLAGLxuxBgg+WbAOELECA/SyCg4GERI5MDEBJiMiBgcRIxEzFzM+ATMyFwFNHxkjLwiCZQ8EETonGiEBegslHf69AfRCJSgLAAEAGf/yAYoCAgAmAsOwCitYshoHAyu2MBpAGlAaA120wBrQGgJdshAaAV2y8BoBXbAaELEABPSyfwcBXbIwBwFdsBoQsA3QsA0vsAcQsRME9LAHELAg0LAgL7KPKAFdsr8oAV2yLygBcbJwKAFxssAoAXFZALAARViwCi8bsQoQPlmwAEVYsB0vG7EdCD5ZsgMdChESObJYAwFdsAoQsBHctEARUBECXUEJAFAAEQBgABEAcAARAIAAEQAEcbbAEdAR4BEDXbIgEQFysrARAXKyFgodERI5suUWAV20JxY3FgJdstkWAV20ZhZ2FgJytMUW1RYCcrITFgFysB0QsCTcsi8kAXK2zyTfJO8kA11BCQBfACQAbwAkAH8AJACPACQABHGyvyQBcrRPJF8kAl0wMQGwCitYtIgDmAMCcbSIBJgEAnGyyQQBcbQIBRgFAl20qAW4BQJdtEgFWAUCcbIoBQFytOkF+QUCcUEJAAgACAAYAAgAKAAIADgACAAEXbJJCAFdtOkI+QgCXUEJAIkACACZAAgAqQAIALkACAAEcbQICRgJAl20JxU3FQJdtCcWNxYCXbSmF7YXAl20BxcXFwJdtKYYthgCXbQHGBcYAl2yxxgBcbSGG5YbAnFBCQAHABsAFwAbACcAGwA3ABsABF20BxwXHAJdsgghAXJZALSJA5kDAnG0iASYBAJxssoEAXG0aAV4BQJdtKgFuAUCXbIpBQFytEoFWgUCcbTsBfwFAnG0hQiVCAJxtKYItggCcUELAAcACAAXAAgAJwAIADcACABHAAgABV205wj3CAJdtAYJFgkCXbKYDgFdtCcVNxUCXbQmFjYWAl20BxcXFwJdtKcXtxcCXbSmGLYYAl2yxhgBcbQHGBcYAl1BCQAIABsAGAAbACgAGwA4ABsABF20iBuYGwJxtAgcGBwCXbIEIQFysvUhAXGyViEBXSU0LgQ1NDYzMhYXBy4BIyIVFB4EFRQGIyImJzceATMyNgEIIjI8MiJYUzlcGh0XRiQ6IjI8MiJhYTVdHSQXTCgdI4oUGBQVJTktSk4YD14JFC0SFhMWIzgsTFcbEmENGRYAAQAF//IBWAJ3ABcA8LAKK1i7AAcABAAWAAQrtgAWEBYgFgNdsmAWAXKy4BYBXbAWELAB0LJgBwFysuAHAV22AAcQByAHA12wBxCwBNCwBxCwBty0QAZQBgJdsBYQsA/ctEAPUA8CXbIQDwFdsnAPAXGysA8BcbAWELAX3LSgGbAZAl2ycBkBXbIgGQFdWQCwAEVYsAEvG7EBED5ZsABFWLASLxuxEgg+WbABELAE0LAD3LABELEWAfSwB9CwEhCxCwL0MDEBsAorWLQIFBgUAnK06hT6FAJxWQBBCQAJABMAGQATACkAEwA5ABMABHK06RT5FAJxtAkUGRQCchMzNTcVMxUjFRQWMzI2NxcOASMiJj0BIwVFgnp6FR0UHRIXG0glRUFFAfReJYNuwDQtCAhkDRJHUfwAAQA0//IB8QH0ABkBRbAKK1iyCRkDK7L/GQFdtg8ZHxkvGQNxsn8ZAXK2PxlPGV8ZA3KyMBkBXbIQGQFdsBkQsQAE9LKQCQFdspAJAXGy/wkBXbIvCQFxsk8JAXKycAkBcbIwCQFdshAJAV2wCRCxCAT0sA/QspAbAV2yXxsBcbLvGwFdstAbAV2yEBsBclkAsABFWLAALxuxABA+WbAARViwDi8bsQ4IPlmwAEVYsBMvG7ETCD5ZsQQC9LAAELAI0LIPEwgREjkwMQGwCitYsrcRAXJBCQAIABUAGAAVACgAFQA4ABUABF20ahV6FQJyQQkACAAWABgAFgAoABYAOAAWAARdtKgWuBYCcVkAsrkRAXJBCQAIABUAGAAVACgAFQA4ABUABF20qRW5FQJxtGsVexUCckEJAAgAFgAYABYAKAAWADgAFgAEXbSoFrgWAnETERQWMzI2NxEzERQWFyMnIw4BIyIuAjURth0qJTEMgggIYhcEF1I4JjwoFQH0/uQ9NiwgAUP+pClPIEomMhQuTjsBNwAB//L/+wHrAfQACQGosAorWLIFCAMrskAIAV2yIAgBXbLPCAFxsg8IAXGyTwgBcbKPCAFysi8IAXGybwgBcbRPCF8IAnKyAAgBXbKwCAFxsvAIAXGyAAUBXbJABQFdsqAFAV2yEAUBcbJwBQFxsi8FAXGysAUBcbJQBQFxtMAF0AUCXbKABQFdsiAFAV2y0AUBcbLwBQFxsgEIBRESObAFELAE3LSnBLcEAl20CwQbBAJxsp8EAV2y3wQBcrZsBHwEjAQDcrRHBFcEAl2yhwQBXbTlBPUEAl2yBgUIERI5QQkABwAGABcABgAnAAYANwAGAARdtKkGuQYCcbTmBvYGAl20hgaWBgJxsgcIBRESObSpB7kHAnGwCBCwCdy0gAmQCQJdtmMJcwmDCQNytMoJ2gkCXbLtCQFdtlQJZAl0CQNxshAJAV20wAnQCQJxQQkAIAAJADAACQBAAAkAUAAJAARysj8KAV2y0AsBXVkAsABFWLAJLxuxCRA+WbAARViwBy8bsQcIPlmwAdC2WwFrAXsBA3G0ygHaAQJdsAkQsATQMDEBsAorWLJ3AAFdWQCydwABXTcXMzcTMwMjAzPmEQUOVYzRT9mX7k1PAQT+BwH5AAH/+P/7AtkB9AAVAh+wCitYsgYPAyuyMAYBXbKwBgFdsjAGAXGyoAYBcbIgBgFysiYGAXGyKAYBXbL0BgFdstAGAXGycAYBcbLQBgFdtnAGgAaQBgNdslAGAXKykAYBcrJvDwFyst8PAXKyAAYPERI5tKYAtgACXbJ3AAFdshcAAXGyRgABcbJmAAFdshYAAV2yJQEBXbIDBg8REjmyJwMBXbK3AwFdsAYQsAXcsiMFAV2y3wUBcUEJACUABQA1AAUARQAFAFUABQAEcbSjBbMFAl2yMAUBXbIHBg8REjmypgcBcbIbBwFdsgwHAV205wf3BwJdsjYHAV2yVgcBcbIIBg8REjm0iwibCAJdtAoIGggCXbInCQFdsgsPBhESObINDwYREjmyVg0BcrJGDQFxsgcNAXGydg0BcbQFDRUNAl20hA2UDQJdsg4PBhESObAPELAQ3LZgEHAQgBADcrQEEBQQAnGy+hABXbLQEAFysnAQAXGykBABXbISDwYREjmyFQ8GERI5sjkVAXGyWRUBcbKQFwFdsg8XAV2yTxcBXbJwFwFdstAXAV1ZALAARViwEC8bsRAQPlmwAEVYsA0vG7ENCD5ZsBLQtlsSaxJ7EgNxssoSAV2wA9CwEBCwFdCwBdCwDRCwCNCwFRCwC9CyZgsBXTAxAbAKK1iydwEBXbQKBBoEAl20AxETEQJdshURAXFZALI2AQFdsicBAV2ydwEBXbQFBBUEAl0BExczPwEzAyMDJyMHAyMDMx8BMz8BAaNbEgQOQHeaYGUNBQxgY6GNSQwFEVMB9P8AU1T//gcBGD9A/ukB+ftZWvoAAQAIAAACBQH0AA8C2bAKK1iyCQ8DK7L/DwFdsk8PAXKybw8BcrJ7DwFdsoAJAV2yAAkBXbJPCQFysv8JAV2ybwkBcrJ0CQFdskAJAV2yIAkBXbJgCQFdsgAPCRESObIaAAFxtCsAOwACcbQKABoAAl2yCQABcbAPELAB0LABL7QHARcBAl2ydgEBXbAC3LIQAgFyQQsAQwACAFMAAgBjAAIAcwACAIMAAgAFcrQkAjQCAnKyFAIBcbIFAgFxQQkASQACAFkAAgBpAAIAeQACAARdtMoC2gICXbKrAgFxtCoCOgICcbLmAgFdspQCAV2yVAIBcbKDAgFdskICAXGyEAIBXbKwAgFysggJDxESObQlCDUIAnGyBAAIERI5sAkQsAfQsAcvsnkHAV2wBtxBCQBWAAYAZgAGAHYABgCGAAYABF2ymwYBXbJ/BgFxtmwGfAaMBgNytAsGGwYCcbQlBjUGAnFBCQDEAAYA1AAGAOQABgD0AAYABF2wCRCwCty2VgpmCnYKA120CwobCgJxQQsATAAKAFwACgBsAAoAfAAKAIwACgAFcrJfCgFxsh8KAV2yjQoBXbQrCjsKAnKymgoBXbQlCjUKAnG2xArUCuQKA12yDAgAERI5sA8QsA7ctmMOcw6DDgNysgUOAXG0Kg46DgJxsqsOAXG0XQ5tDgJxQQkAygAOANoADgDqAA4A+gAOAARdtEkOWQ4CXbIUDgFxspIOAV2yUA4BcrJwEQFxshARAXGyPxEBXbIfEQFdsoARAV2y0BEBXbJgEQFdsrARAV1ZALAARViwAi8bsQIQPlmwAEVYsA4vG7EOCD5ZsgQCDhESObIXBAFdsjkEAV20BgQWBAJxsoYEAV2yDA4CERI5tIkMmQwCXbI2DAFdsgAEDBESObQlADUAAnGwAhCwBtCyCAQMERI5sA4QsArQMDEBsAorWLToAPgAAl205wj3CAJdWQC05wD3AAJdtOcI9wgCXRMnMx8BPwEzBxMjLwEPASOqlptBHB5EjZehl00eIE2OAQD0a0ZGa/D+/HhKSngAAf/3/zMB5gH0ABUCC7AKK1iyBRQDK7JwBQFdstAFAV2yUAUBcbKQBQFxstAFAXGyEAUBcrJDBQFdsvQFAV2yBAUBcbIyBQFxsvAFAXGysAUBcbJwBQFxshAFAXGykAUBXbIwBQFdshAFAV2yUxQBcbImFAFdsn8UAXKyvxQBcrJfFAFyst8UAXKynxQBcrI3FAFdsoUUAXGyQxQBXbKiFAFysgEFFBESObQHARcBAl2wBRCwBNyyZgQBcbKLBAFytpsEqwS7BANxsnYEAV2yhAQBcbIjBAFdsgYUBRESObIsBgFdsjgGAV2yDRQFERI5sA0vshMUBRESObIaEwFdsggTAV20iBOYEwJdsBQQsBXcskIVAXGyshUBcbZzFYMVkxUDXbQEFRQVAnGyihUBcbKbFQFxstoVAV2yKBUBcbZTFWMVcxUDcbTjFfMVAl2yohUBcrIQFQFdsoAVAXKycBcBXbIvFwFdsg8XAV2y0BcBXbKQFwFdWQCwAEVYsBUvG7EVED5ZsABFWLALLxuxCwo+WbIBFQsREjm2WwFrAXsBA3G0ygHaAQJdtCkBOQECXbAVELAE0LALELEQAvSyGhMBXbIJEwFdtIgTmBMCXTAxAbAKK1iyWQABXbSHCZcJAl20Zwl3CQJxtIcJlwkCcrSHCpcKAl2yCBMBXVkAtIgJmAkCXbRoCXgJAnG0iAqYCgJdsgkTAV03FzM3EzMDDgMjIic3FjMyNjcDM+8SBg1MhpgTIyozIzQfGA8PFysL0ZzbTk8BGP49OF1EJRFoBiczAfQAAQAfAAABpwH0AAsCVbAKK1iyBQsDK7KQBQFdstAFAV2y7wUBcUEJAC8ABQA/AAUATwAFAF8ABQAEcrKfBQFysg8FAXKy/wUBXbKwBQFdsnAFAV2ycAUBcUEJAC8ACwA/AAsATwALAF8ACwAEcrKPCwFdsu8LAXGynwsBcrIPCwFysv8LAV2ybwsBXbJ/CwFysu8LAXKyAgULERI5slgCAV20yQLZAgJdtMoC2gICcrJLAgFdtAwCHAICcrQNAh0CAl2yjQIBcrTPAt8CAnG0bQJ9AgJxtGwCfAICcrTsAvwCAl20qgK6AgJxskkCAXG0iQKZAgJdtKYCtgICXbIkAgFdsAsQsAPQsAMvsggLBRESObKCCAFytKIIsggCcbKUCAFytOUI9QgCcbSFCJUIAl20BggWCAJyslgIAV2yVQgBcbRlCHUIAnK0hQiVCAJxQQkAIgAIADIACABCAAgAUgAIAARyQQsAogAIALIACADCAAgA0gAIAOIACAAFcrQBCBEIAnGy8AgBcrAFELAJ0LAJL7IPDQFdsl8NAV2yDw0BcbJwDQFxspANAXFZALAARViwBC8bsQQQPlmwAEVYsAovG7EKCD5ZsQkB9LAA0LRlAHUAAnG0xgDWAAJdtOUA9QACXbJDAAFxsAQQsQMB9LAG0LL9BgFxtAoGGgYCcbJZBgFxMDEBsAorWLJIAQFxtGgBeAECcbSpAbkBAnG0BgcWBwJxtKcHtwcCcbL3BwFxWQC0ZgF2AQJxQQkAhwABAJcAAQCnAAEAtwABAARxtKgHuAcCcbL4BwFxtAkHGQcCcT8CIzUhFQ8BMxUhH8Uz+AGIwzL1/nhu7StubvEnbgABACv/GgFeAr0AIwH6sAorWLIfAAMrtNAA4AACXbKAAAFxsuAAAXGyMAABcbJAAAFdsiAAAV2wABCwA9ywABCwCNC00B/gHwJdsoAfAXGyMB8BcbJAHwFdsuAfAXGwHxCwDdCwABCxGQT0sBHQshYDERESObQvJT8lAl1ZALAfL7AARViwDC8bsQwUPlmyBAwfERI5sAQvsp8EAV2yfwQBXbAD3LAMELENAfSyFgQDERI5sB8QsR4B9DAxAbAKK1iyOAkBXbJ4CQFdtgkJGQkpCQNdskkJAV1BCQAoAAoAOAAKAEgACgBYAAoABF1BCQBIAAoAWAAKAGgACgB4AAoABHG0CQoZCgJdsmkKAV2yiQoBcbJmFwFdsjYXAXG0dxeHFwJdsjghAV2yaCEBcbKIIQFxtAkhGSECXbJZIQFdskohAXGyOCIBXbJYIgFdtgkiGSIpIgNdskkiAV2yaSIBXVkAskYJAV1BCQAHAAkAFwAJACcACQA3AAkABF2ydwkBXbQFChUKAl2yVQoBcUELACYACgA2AAoARgAKAFYACgBmAAoABV2yRgoBcbRmCnYKAnG2dheGF5YXA12yZxcBXbI3FwFxslghAV2ySCEBcbI5IQFdsmkhAXG0CiEaIQJdslohAXGyiiEBcbJ7IQFxtDgiSCICXbYJIhkiKSIDXbRZImkiAl03NCYjNTI2PQE0NjsBFSMiBh0BFAYHFR4BHQEUFjsBFSMiJjV7KiYmKjM4eDIbGSocGysYHTF4NDdgMyZkKSzRNkRuHCDDLC0FCgQ0KsIgHG4/OgABADz/fgCnArwAAwBIsAorWLICAwMrtB8CLwICcrLvAgFxtAACEAICXbJQAgFdsu8DAXG0HwMvAwJytAADEAMCXVkAsAMvsABFWLAALxuxABQ+WTAxEzMRIzxrawK8/MIAAQAj/xoBVQK9ACMB+LAKK1i7AAcABAASAAQrsrAHAXGyAAcBXbIwBwFxtEAHUAcCXbAHELAE3LAHELAM3LIgDAFdsgASAV20QBJQEgJdsrASAXGyMBIBcbASELAa0LIVGgQREjmwDBCwHtCwBxCwI9BZALAML7AARViwHy8bsR8UPlmyAx8MERI5sAMvsn8DAV2ynwMBXbAE3LAMELENAfSyFQMEERI5sB8QsR4B9DAxAbAKK1i0BgkWCQJdtFYJZgkCXbJHCQFdQQkABgAKABYACgAmAAoANgAKAARdsmYKAV2yRgoBcbJXCgFdtGcKdwoCcbJoEwFdsogTAV2yORMBcbJoFAFdskUhAXG0BiEWIQJdtkYhViFmIQNdspYhAV2yViEBcbKGIQFxtCchNyECXbKHIQFdtGchdyECcbQEIhQiAl2yVSIBcbJ1IgFxtiYiNiJGIgNdsnYiAV1ZALRYCWgJAl20CQkZCQJdskkJAV20SApYCgJdsmgKAXG0KQo5CgJdtEkKWQoCcbR5CokKAnG0CgoaCgJdsmcTAV2yNxMBcbJlFAFdspUUAV2ydhQBXbKHFAFdskUhAXG2BiEWISYhA12yViEBcbJ2IQFxQQkANwAhAEcAIQBXACEAZwAhAARdtIchlyECXbJnIQFxsjYiAV22ByIXIiciA12yRyIBXQEUFjMVIgYdARQGKwE1MzI2PQE0Njc1LgE9ATQmKwE1MzIWFQEFKiYmKjU4dTIbGSocGysYHTF3NTYBdzMmZCks0TZEbhshwywtBQoENCrCHx1uPzoAAQAcAQ0B8wG9ABcA0rAKK1iyDAADK7KQAAFdssAAAV2y4AwBXbIvDAFdsm8MAV2yEAwBXbLADAFdspAMAV1ZALAPL7LvDwFxsv8PAV2yEA8BXbEIA/SwA9ywC9CwCy+23wvvC/8LA11BCQAPAAsAHwALAC8ACwA/AAsABHGwAxCxFAP0sA8QsBfQsBcvMDEBsAorWLQIARgBAl20BwwXDAJdtAYNFg0CXbJGDQFdtCcNNw0CXbQGDhYOAl1ZALQGARYBAl20CAwYDAJdtCgNOA0CXbQJDRkNAl2ySQ0BXRM+ATMyHgIzMjY3Fw4BIyIuAiMiBgccL0sgHTIuLRcSJhUvJDwaHDAtLhoYNyEBeiYdERMRDBFnGxYSFhIVHAACACz/OADOAf8ABQARANGwCitYuwAAAAUAAQAEK7L/AAFdtC8APwACcrQvAD8AAnG0LwE/AQJytC8BPwECcbL/AQFdsgMBABESObIEAAEREjmyBgEAERI5sAYvtO8G/wYCcUENAA8ABgAfAAYALwAGAD8ABgBPAAYAXwAGAAZysAzcspAMAXGyEAwBXbZwDIAMkAwDXbYwDEAMUAwDcbLQDAFdWQCwAEVYsAkvG7EJED5ZsABFWLABLxuxAQo+WbAJELAP3LSPD58PAl2yXw8BcbIfDwFdsqAPAXGwA9wwMRcjETczFwM0NjMyFhUUBiMiJr+GGlIakywkJiwsJiQsyAFJoqIBMiMpKSMjKioAAgBU/5wB6QJYABwAIwFisAorWLIUCwMrsjAUAXKyABQBXbAUELAA0LAAL7L/CwFdssALAV2yAAsBXbIFCxQREjmwBS+0PwVPBQJdsATctEAEUAQCXbAFELAO0LAEELAR0LIgBQQREjmwIC+wGdywCxCxHQT0WQCwAEVYsBEvG7ERED5ZsABFWLADLxuxAwg+WbAE3LADELAG0LARELAO0LARELAQ3LARELEYAvSwAxCxGQH0sCDQsBgQsCHQMDEBsAorWLRoCHgIAl2ymAgBXbQpCDkIAnK06Az4DAJdtOgN+A0CXbRoDXgNAnK06Rz5HAJdtAkcGRwCcbTlH/UfAl20BR8VHwJxtIcflx8CXbTmIvYiAl20hyKXIgJdWQC0aAh4CAJdspgIAV20KQg5CAJytOcM9wwCXbRmDXYNAnK05w33DQJdtOgc+BwCXbTlH/UfAl20Bh8WHwJxtIcflx8CXbSIIpgiAl206SL5IgJdJQ4BBxUjNS4DNTQ2NzUzFR4BFwcuAScRPgE3JxQWFxEOAQHpETMdeTNHLRRgW3kcLBIeDyISFyUO9yYtKikfDRMFXlkHK0NaNnCFD1paBA0JagcIAv7dAw4IeTNNDgEeC0UAAQAzAAACCwLKAC4BObAKK1iyDAQDK7LvBAFdtG8EfwQCXbIPBAFxsp8EAV2yAAQBXbJQDAFxsvAMAXGy8AwBcrJvDAFdsmAMAXKywAwBcbIQDAFxsgAMAV2wBBCxEwb0sAQQsC3QspgtAV2yhy0BXbL3LQFxsRkF9LAY0LAYL7AMELAi0LAiL7AEELAl0LAlL7AtELAu0LAuL1kAsABFWLAJLxuxCRQ+WbAARViwIy8bsSMIPlmyAQkjERI5sAEvsi8BAXG0LwE/AQJdsAkQsRAD9LABELAW0LABELEtAfSwGdCwIxCxIgL0sCXQMDEBsAorWLTZAukCAl2yKgYBcbLHFQFdsscWAV2yFR0BcrInHQFysiYeAXJZALTYAugCAl2yJwYBcUEJAGgADQB4AA0AiAANAJgADQAEXbIXHQFysiceAXITMy4BNTQ+AjMyFhcHLgEjIgYVFBYXMxUjFhUUBg8BFTczFSE1Mz4DNTQnIzNEDRMhO1IxPWQkKhRGMTA2GQ+NYgMUFStD5v4oAh8vHxAGeQGKGDwqMUkwGBcRdAsXLS0iMRlrEREeQhUfBQ9zcwEUISwYGxcAAgAFAEYCMwJuACsANwOssAorWLIQJgMrslAQAXGyLxABcrIQEAFdsuAQAV2yMBABXbAmELAs3LLgLAFdslAsAV2yECwBcrAQELAy3LLvMgFdsl8yAV2yHzIBclkAsBsvsk8bAXGy3xsBXbIPGwFdsAXcsjAFAV2y4AUBXbIQBQFdslAFAXGwGxCwL9ywBRCwNdwwMQGwCitYslcAAXG0mACoAAJdsngAAXGy9wcBXbJnCgFxtJgKqAoCXbJYCgFxsgkKAV20ugrKCgJdsnULAXGypgsBXbZGC1YLZgsDcbKXCwFdsvcLAXGyCAsBXbS4C8gLAl20RwxXDAJdsvcMAV2y9g0BXbJ1DgFxsvcOAV2yZw4BcbJ2EgFxsmcSAXGy9hMBXbRHFFcUAl2ydRUBcbKmFQFdtkYVVhVmFQNxsvYVAXG0RxVXFQJdtIcVlxUCXbIYFQFdshgWAV20mBaoFgJdsgkWAV20uRbJFgJdsvcYAV2y+B0BXbJYIAFxsnggAXG0SCFYIQJdspghAV20SCFYIQJxsqkhAV2yaSEBcbJ6IQFxtEgiWCICXbL4IwFdsvgkAV2yaSQBcbL4KQFdslgqAV20SCtYKwJdtEgrWCsCcbSZK6krAl2yaSsBcbJ7KwFxtLctxy0CXbLnLQFdsuUuAV2y1i4BXbS3LscuAl20uDDIMAJdtNow6jACXbTYM+gzAl20uDTINAJdtNk06TQCXbS2NsY2Al2y1jcBXbLnNwFdWQCydQABcbSXAKcAAl20VwBnAAJxsvYDAV2y9wcBXbJ0CgFxtJcKpwoCXbRXCmcKAnGyCAoBXbS4CsgKAl2yCAsBXbRIC1gLAl20mAuoCwJdtkgLWAtoCwNxshkLAV20uQvJCwJdsvkLAXG0SAxYDAJdsvgMAV2y9w4BXbJnDgFxsmgSAXGy+BMBXbL2FAFdtAcVFxUCXbRHFVcVAl2ylxUBXbRIFVgVAnGy+BUBcbIXFgFdtJgWqBYCXbRYFmgWAnGyehYBcbL4GAFdsvgZAV2y+B0BXbSYIKggAl20WSBpIAJxsnogAXG0RyFXIQJdsqghAV20RyJXIgJdsvcjAV2yaCQBcbRIK1grAl1BCQBIACsAWAArAGgAKwB4ACsABHG0uSvJKwJdtLctxy0CXbLnLQFdtLcuxy4CXbLnLgFdQQkAtwAwAMcAMADXADAA5wAwAARdtLcxxzECXbTZM+kzAl1BCQC4ADQAyAA0ANgANADoADQABF20uTbJNgJdtNk36TcCXRMfAT4BMzIWFz8BFw8BHgEVFAYHHwEHLwEOASMiJicPASc/AS4BNTQ2Ny8BFxQWMzI2NTQmIyIGUU4TFDceHTkTFE5NTSUODA0NJU1NThITOx0eNxQTTkxNJAwODw0mTcQuJSUtLSUlLgJuTSUPDw8OJE1QThAVNR0eNRIQTlBNJQ4QDw4kTVBOERUxHh0yFxFOxCYwMCYkMjIAAf/yAAACRgK8ABkCYrAKK1i7ABEABgAUAAQrsi8UAXKyQBQBXbKwFAFdsBQQsBfQsAHQsALQtBgCKAICXbL4AgFdshoCAXKyegIBXbKKAgFxshsCAXGyCgIBcbTKAtoCAnGyOgIBXbRaAmoCAnKyuAIBXbKHAgFdtEYCVgICcbAD3LbAA9AD4AMDcrIQAwFdttAD4APwAwNdtAADEAMCcbLHAwFdQQsAMAADAEAAAwBQAAMAYAADAHAAAwAFcbZwA4ADkAMDXUELAJAAAwCgAAMAsAADAMAAAwDQAAMABXGy8AMBcUEJAAAAAwAQAAMAIAADADAAAwAEcrZQA2ADcAMDcrIvEQFysrARAV2yQBEBXbARELAO0LIFFw4REjm0BwUXBQJdsArQsAnQtFUJZQkCcrI1CQFdsgYJAXGyVwkBXbK3CQFdtEkJWQkCcbL3CQFdsicJAV2y1gkBcbJ2CQFdshUJAXKyhQkBcbIUCQFxsAjcsv8IAV20DwgfCAJxtI8InwgCXbRvCH8IAnGy3wgBcbARELAQ0LAQL7IwEAFdsAzQsAwvsBQQsBXQsBUvsj8VAV2wGdCwGS9ZALAARViwAy8bsQMUPlmwAEVYsBMvG7ETCD5ZsgEDExESObABL7QPAR8BAl2yBQMTERI5tAUFFQUCXbADELAI0LABELAK0LABELAY3LJgGAFxsiAYAXKwDdCwARCwF9yyABcBcbQAFxAXAl2wDtCwFxCwFNyyIBQBcrJgFAFxsBHQMDEBsAorWLKIAQFdsvUEAV2yNQQBcbLGBAFdtAYEFgQCcbZ3BIcElwQDXVkAsvcEAV0TMwMzExczNxMzAzMVIxUzFSMVIzUjNTM1I1VavaOADgUPfJO+W4KCgomDg4MBUQFr/vlKTAEF/pVQOlB3d1A6AAIAPP9+AKcCvAADAAcAUbAKK1iyAgMDK7QAAhACAl20AAMQAwJdsAIQsATQsAQvsAMQsAXQsAUvWQCwAy+wAEVYsAYvG7EGFD5ZsgADBhESObAAL7IFBgMREjmwBS8wMTczESMTIxEzPGtra2tr1f6pAecBVwACADH/8gHhAsoANQBDA0+wCitYshsAAyuyLwABXbJ/AAFxsj8AAXGwABCwB9CwBy+yPxsBcbIvGwFdsn8bAXGycBsBXbLAGwFysBsQsTYE9LIEBzYREjmwGxCwDdCwDS+yfw0BXbAHELEUBPSwGxCwItCwIi+wABCxPgT0sh8iPhESObAAELAo0LAoL7AiELEvBPSyOzYHERI5skE+IhESOVkAsABFWLAKLxuxChQ+WbAARViwJS8bsSUIPlmyFwolERI5sBcQsDvcsn87AXGyrjsBXbIEFzsREjmwChCxEQH0sk8RAV2yMiUKERI5sDIQsEHcsh9BMhESObAlELEsAfSyQCwBXTAxAbAKK1i02ALoAgJdsngCAXG0uALIAgJxQQkACAADABgAAwAoAAMAOAADAARdtGgDeAMCcbL6AwFyskgEAV20KAU4BQJdskkFAV2ymQUBXUEJAAkACAAZAAgAKQAIADkACAAEXbS5CMkIAnGyqQgBcrLaCAFxsrcOAV20BxgXGAJdtLUZxRkCcbImGQFxtCYZNhkCcrQHGRcZAl2yRxkBXbKHGQFdsrcZAV2ytRoBXbL0HQFytLUdxR0CcbKGHQFxsoUeAXG0Bx4XHgJdstceAXKyRyABXbKXIAFdsqUjAXK0JiM2IwJdsvYjAV22tiPGI9YjA3GyliMBcrQHIxcjAl20ByMXIwJxsqcpAV2ySDQBXbRINFg0AnGyODQBcrK5NAFdWQC0tQLFAgJxtNYC5gICXbJ2AgFxsvUDAXK0BgMWAwJdtGYDdgMCcbQnAzcDAl20twPHAwJxskgEAV20KAU4BQJdskkFAV2ymQUBXUEJAAcACAAXAAgAJwAIADcACAAEXbLXCAFxtqkOuQ7JDgNdtAcYFxgCXbS2GcYZAnG0Jhk2GQJytAcZFxkCXbJHGQFdsocZAV2ytxkBXbInGQFxtNgd6B0CXbKJHQFxsvkdAXK0uh3KHQJxtAgeGB4CXbKKHgFxstoeAXKyRiABXbKXIAFdtLgjyCMCcbKoIwFyQQkACQAjABkAIwApACMAOQAjAARdsvkjAV20CSMZIwJxstkjAXGypSkBXbJFKQFytGYpdikCXbS6M8ozAnGySDQBXbK4NAFdtEg0WDQCcbI4NAFyEzQ2PwEuATU0NjMyFhcHLgEjIgYVFB4EFRQGDwEeARUUBiMiJic3HgEzMjY1NC4EJTQuAicOARUUFhc+ATEeGikaIldYO2YbIBdMIyUeJztFOycdGi0bJGJRRFsdIhdCLCUhJztFOycBLhEgLh0UHEA4Fh4BYR87Fw4QMSk4SBQNaQsRFhESFBAUJDwwHzoXDhAyKT9BGxBkCxYTFRMVERQjOicSGBMQCQwnGSMiEAwoAAIAPAJHAaMC0QALABcBFbAKK1iwAC+wBtyyzwYBcrLwBgFxspAGAV2wABCwDNyyLwwBXbJwDAFdslAMAXGwEtyyzxIBcrLwEgFxspASAV1ZALAJL7KwCQFdsvAJAV20AAkQCQJxspAJAXGyMAkBcrIPCQFdsi8JAV2yUAkBcrKwCQFxsnAJAXGy0AkBXbKQCQFdsnAJAXKwA9yyDwMBcbJwAwFysvADAXGwD9CwCRCwFdAwMQGwCitYtKUEtQQCcrSHBJcEAnK0pw63DgJytIgOmA4CckEJAIkAFgCZABYAqQAWALkAFgAEclkAtIUElQQCcrSnBLcEAnK0qAi4CAJytIkImQgCckEJAIUADgCVAA4ApQAOALUADgAEcrSLFpsWAnITNDYzMhYVFAYjIiY3NDYzMhYVFAYjIiY8JyAgJSUgICfbJSAgJycgICUCiyAmJiAeJiYeICYmIB4mJgADADf/uQMJAosAEwAnAEACy7AKK1iyCgADK7QQACAAAl20EAogCgJdsAAQsBTcsAoQsB7csjQKABESObA0L7I/NAFysCjQsCgvsi4AChESObAuL7LvLgFxsDvcsqA7AXGysDsBXVkAsA8vsAXcsA8QsBncsn8ZAV2y0BkBcbAFELAj3LLfIwFxsnAjAV2yKw8FERI5sCsvtDArQCsCcrKAKwFxsmArAV2ywCsBXbIxBQ8REjmwMS+ynzEBcrLvMQFxsDjcss84AXKy/zgBXbArELA93LLwPQFdssA9AXIwMQGwCitYslkCAV2yOAMBcrJXBwFdslcIAV2y1QwBcrJXDAFdsjcMAXKyVw0BXbRYEWgRAl2yCBEBcbIIEgFxslkSAV205Rb1FgJdtDYWRhYCXbSnFrcWAl20NxdHFwJdtKcXtxcCXbToF/gXAl20qBu4GwJdtKgcuBwCXbTpHPkcAl20OSBJIAJdtKkguSACXbTpIPkgAl20NyVHJQJdtOYm9iYCXbQ3JkcmAl20pya3JgJdtAgsGCwCXbSpLLksAl20WSxpLAJxtAgtGC0CXbQILxgvAl22qi+6L8ovA3K0CDAYMAJdtFgwaDACcbIXPAFxWQCyVwIBXbLVAwFyslcDAV2yNwMBcrJXCAFdslgMAV2yOAwBcrLaDAFyslgNAV20WBFoEQJdsggRAXGyWhEBcrJYEgFdtKcWtxYCXbToFvgWAl205Rf1FwJdtKcXtxcCXbTkG/QbAl20phu2GwJdtDcbRxsCXbQ3HEccAl20pxy3HAJdtKgguCACXbQ4IUghAl20qSG5IQJdtOkh+SECXbQ4JUglAl20qCW4JQJdtOkl+SUCXbQ4JkgmAl20qCa4JgJdtAksGSwCXbRZLGksAnG0qiy6LAJdtAgtGC0CXbKlLwFytAcvFy8CXbLHLwFytKYwtjACXbRWMGYwAnG0BzAXMAJdshY8AXETND4CMzIeAhUUDgIjIi4CNxQeAjMyPgI1NC4CIyIOAgUOASMiJjU0NjMyFhcHLgEjIgYVFDMyNjc3OGGETEyDYjg4YoNMU4ZeMmInR2A5OWFHJydHYTk5YEcnAYQWQyZRVVtLJTkaIBIdDh0iRhMeDwEiU4VeMzNehVNThV4zM16FUz5kRSUlRWQ+PmRFJSVFZN0OEWZYW2MRD1cJBiYwVgcIAAIAKgF4AXoCxAAdACcCl7AKK1iyBhIDK7LPEgFysm8SAXKynxIBcrIvEgFdskASAV2yEBIBXbASELAA0LAAL7IQBgFxsvAGAXK0sAbABgJdshAGAV2wBhCwF9yy/xcBcbJAFwFdsCLQsAvQsBIQsCXcsvAlAXGyTykBXVkAsABFWLADLxuxAxQ+WbAP3LJADwFdstAPAV2yYA8BcbKADwFysuAPAXKyUA8BcrIADwFxsqAPAV20AA8QDwJdsrAPAXKwCtCwCi+yFw8DERI5sBcvsgsPFxESObADELAa3LSgGrAaAl2wDxCwHtyyrx4BXbAXELAi3DAxAbAKK1hBCQAFAAQAFQAEACUABAA1AAQABF22VQRlBHUEA3JBCQBGAAQAVgAEAGYABAB2AAQABF20hgSWBAJytlUFZQV1BQNyQREABwAFABcABQAnAAUANwAFAEcABQBXAAUAZwAFAHcABQAIXUERAAkAEAAZABAAKQAQADkAEABJABAAWQAQAGkAEAB5ABAACF20WhBqEAJyQQ0AKAARADgAEQBIABEAWAARAGgAEQB4ABEABl20CREZEQJdtIoRmhECcrLXFAFyQQkACAAUABgAFAAoABQAOAAUAARdWQC0JQQ1BAJdtAYEFgQCXbRWBGYEAnK0hgSWBAJyQQkARwAEAFcABABnAAQAdwAEAARdsncEAXKydgUBckERAAcABQAXAAUAJwAFADcABQBHAAUAVwAFAGcABQB3AAUACF20CBAYEAJdQQkASAAQAFgAEABoABAAeAAQAARdtCkQORACXbRZEGkQAnJBEQAIABEAGAARACgAEQA4ABEASAARAFgAEQBoABEAeAARAAhdsnkRAXKy1RQBckEJAAcAFAAXABQAJwAUADcAFAAEXRM+ATMyFhUUBhcjJyMOASMiJjU0PgIXNiYjIgYHFzI2NzUmBhUUFj0aXztMOAYLZQ0EDTArND4jO08sAhIjKEEUbyAaBys7FQKiDhQ3OTxwLC4RITcsISwaCQIaFxAInBcMIwUOGxASAAIAHQAmAcYB6QAHAA8BgrAKK1iyCggDK7LPCAFytI8InwgCcrKACAFdsAgQsADcsALcsi8CAV2yrwIBXbJvAgFdsAHcshoBAV2ywAEBXbAAELAE3LJvBAFdsAIQsAbQsAYvsAEQsAfQsAcvshoHAV20jwqfCgJysq8KAXGyzwoBcrLvCgFxsoAKAV2wChCwCdy0rwm/CQJdshoJAV2wCBCwDNyyjwwBcbLwDAFdsAoQsA7QsA4vsAkQsA/QsA8vshoPAV2yLxEBXbIPEQFdsm8RAV2yTxEBXVkAsA8vsu8PAXGwB9CwBy+wAdyyrwEBXbIfAQFdsm8BAV2ykAEBXbRAAVABAl2yAAEHERI5GbAALxiyDwABXbABELAC3LAAELAE0BmwBC8YsAcQsAbcsA8QsAnctIAJkAkCXbRACVAJAl2yCAkPERI5GbAILxiyDwgBXbAJELAK3LAIELAM0BmwDC8YsA8QsA7cMDEBsAorWLIGBQFdsgcGAV2yBg0BXbIHDgFdWQCyBgYBXbIGDgFdEzcXDwEfAQclNxcPAR8BB9+aR1EuLldH/p6gT1cwMF1PAQXYOHonI3k40+Y+fikkfD4AAQAtALoB5wGcAAUAILAKK1iyAgUDK7ACELAD3FkAsAUvsQAB9LAFELAD3DAxEyEVIzUhLQG6eP6+AZzicv//ADYA5gExAVkCBgAQAAAABAA+AKkCcwLdABMAJwA4AEIDnbAKK1iyCgADK7L/AAFxsh8AAV2y7wABXbIwAAFdsjAKAXKyfwoBXbJgCgFyslAKAV2yMAoBXbAAELAU3LLQFAFxsAoQsB7cst8eAXGyLgoAERI5sC4vtnAugC6QLgNdsm8uAV2yAC4BcrJQLgFxsjgAChESObA4L7SvOL84AnKwN9y0XzdvNwJyth83Lzc/NwNxsD3QsjEuPRESObAuELAz0LAzL7LzMwFdsgMzAXGy4DMBXbA03LIPNAFxtA80HzQCcrAuELBB3LIgQQFxWQCwBS+wD9yycA8BXbIfDwFdsv8PAXGybw8BcrI/DwFysu8PAV2yYA8BcbJADwFdstAPAXKwGdy0Lxk/GQJxsn8ZAV2y8BkBcbAFELAj3LTvI/8jAnGyICMBcbJwIwFdsisFDxESObArL7I3DwUREjmwNy+yIDcBXbI9KzcREjmwPS+wNtxBDQCgADYAsAA2AMAANgDQADYA4AA2APAANgAGcUETAAAANgAQADYAIAA2ADAANgBAADYAUAA2AGAANgBwADYAgAA2AAlysjE9NhESObA3ELA00LArELA53LKAOQFxMDEBsAorWLRlCHUIAnGyRggBcrRmDHYMAnGyRwwBcrJJEgFytjUWRRZVFgNxsiYWAV2yVRcBcbImFwFdtDYXRhcCcbInGAFdslkcAXGyKCABXbQ6IEogAnGyWyABcbJYIQFxtjclRyVXJQNxtjYmRiZWJgNxsicmAV2yJiwBXbRGLFYsAl2yJC0BXbI1LQFdsmUtAV20pS21LQJxtEYtVi0CXbZ2LYYtli0DXbTmLfYtAnGyBi0BcrSmL7YvAnG05y/3LwJxQQ0ARwAwAFcAMABnADAAdwAwAIcAMACXADAABl20xzLXMgJxWQCyRwMBcrRoDHgMAnGySAwBcrRoEXgRAnGySBEBcrJKEgFyslYWAXGyJxYBXbQ3FkcWAnG2NhdGF1YXA3GyJxcBXbImGAFdslUbAXGyJhsBXbQ2G0YbAnG0NBxEHAJxslYcAXGyKCABXbQ5IEkgAnG0OSFJIQJxslohAXG2OyVLJVslA3GyKCYBXbY5JkkmWSYDcbInLAFdtEcsVywCXbIlLQFdsjYtAV22di2GLZYtA122Ry1XLWctA120py23LQJxtOct9y0CcbIHLQFytKgvuC8CcbToL/gvAnFBDQBJADAAWQAwAGkAMAB5ADAAiQAwAJkAMAAGXbTHMtcyAnETND4CMzIeAhUUDgIjIi4CNxQeAjMyPgI1NC4CIyIOAjc+ATMyFhUUBgcfASMvARUjNyIGBxUzMjY1ND4tTmc5O2dMLC1NZzk7Z00sXh80RCYoRTIdHjNFJipGMhtWEDoaKjwpHhxBPT8wNFkLFAYiHSABw0NpSCYmSGlDRGlIJSVIaUQwSTAYFzBJMTBIMBgaMkdVBQUjKyAiAg5taA934AEDRxIWIwABADwCNgF/ApIAAwBksAorWLADL7AC3LJQAgFdWQCwAy+yDwMBXbJPAwFdsg8DAXGyTwMBcbLvAwFxsk8DAXKyDwMBcrLPAwFxsi8DAXGybwMBXbIvAwFdsi8DAXKy8AMBXbAA3LLPAAFxsi8AAXEwMRMhFSE8AUP+vQKSXAACADwBgAGHAsoAEwAfAgqwCitYsgoAAyuy8AABcbI/AAFysh8AAXG0AAAQAAJdsoAAAV2yMAABXbJQCgFdsrAKAV2yoAoBcbJgCgFyssAKAXKy8AoBcbLgCgFdsoAKAV2yMAoBXbQAChAKAl2wABCwFNyyQBQBcrLgFAFysqAUAXG0ABQQFAJxsAoQsBrcsh8aAXGyYBoBXVkAsABFWLAFLxuxBRQ+WbAP3LK/DwFdsh8PAXGyPw8BcrKvDwFxsu8PAV2yXw8BXbJvDwFysBfcsr8XAXGybxcBXbAFELAd3LKwHQFxsmAdAV0wMQGwCitYtAgCGAICXUEJAJkAAgCpAAIAuQACAMkAAgAEcrQIAxgDAl1BCQAEAAcAFAAHACQABwA0AAcABHK0BwcXBwJdtAcIFwgCXbQHDBcMAl1BCQAHAAwAFwAMACcADAA3AAwABHK0Bw0XDQJdtAgRGBECXUEJAAgAEgAYABIAKAASADgAEgAEclkAQQkAlgACAKYAAgC2AAIAxgACAARytAcCFwICXbQHAxcDAl20BwcXBwJdQQkACAAHABgABwAoAAcAOAAHAARytAcIFwgCXbQIDBgMAl1BCQAJAAwAGQAMACkADAA5AAwABHK0CA0YDQJdQQkACAANABgADQAoAA0AOAANAARytAgRGBECXbQIEhgSAl1BCQAJABIAGQASACkAEgA5ABIABHITND4CMzIeAhUUDgIjIi4CNxQWMzI2NTQmIyIGPBotOyIiPS4aGi49IiI7LRpkJhsbKCgbGyYCJCU9LBgWKz4nJz0qFhYqPScgJSUgICcnAAIAKwCNAeUCqgALAA8A5bAKK1iyBwoDK7LgCgFdslAKAV2ywAoBXbJvCgFyspAKAV2yMAoBXbIgCgFxsoAKAXGwChCwAdCygAcBcbJQBwFdsuAHAV2ycAcBcrKQBwFdsjAHAV2yUAcBcbIgBwFxsAcQsATQsAcQsAbcshAGAV2yUAYBcrJwBgFdsvAGAXGwChCwC9yyHwsBXbJ/CwFdsAzQsAYQsA3QWQCwDy+yQA8BXbIgDwFdsQwB9LAJ3LKACQFxsALcshACAV2y3wIBXbIwAgFdtGACcAICXbIBAgkREjmwAS+wBNCwARCxCgH0sAfQMDETMzUzFTMVIxUjNSMVIRUhK6J1o6N1ogG6/kYCBqSkcGtrmXD//wAyAXwBbAMnAwcCMAAAAeAAC7AKK1hZALAYLzAxAP//ADgBdQFuAyADBwIxAAAB4AALsAorWFkAsA0vMDEAAAEAPAI2APUC0AAEAKawCitYsAQvsAHcsq8BAXGyTwEBXbJQAQFyslABAXFZALAEL7IwBAFxsvAEAXGyMAQBcrIPBAFdsk8EAV2yTwQBcbJPBAFysm8EAV2yLwQBXbLQBAFyshAEAXKy0AQBcbIQBAFxsvAEAV2wANyyDwABXbKvAAFxslAAAXEwMQGwCitYtAkAGQACXUEJAAoAAAAaAAAAKgAAADoAAAAEcbSHA5cDAl1ZEzMVByNxhG9KAtAefAABADT/OAIVAfQAGwD1sAorWLIJGwMrsl8bAV2yHxsBXbIgGwFdsgAbAV2wGxCxAAT0sgAJAV2ycAkBcbAJELEIBPSyEAkbERI5shYbCRESObAAELAZ0FkAsABFWLAALxuxABA+WbAARViwGS8bsRkKPlmwAEVYsA4vG7EOCD5ZsABFWLATLxuxEwg+WbEEAfSwABCwCNCyEAgTERI5shYTABESOTAxAbAKK1iy9gIBcbIGAgFyQREAhgANAJYADQCmAA0AtgANAMYADQDWAA0A5gANAPYADQAIcbTIFdgVAl205hf2FwJdtMcX1xcCXVkAsvYCAXGyBgIBcrTIFdgVAl0TERQWMzI2NxEzERQWFyMnIw4BIyImJyMXFSMRtikzLjgMggUKYCAEEUI1JyoSBRWCAfT+70BBLikBO/6vKVMnSiMzHBZphQK8AAIAGv9+AdUCvAADABEAgLAKK1iyAxEDK7ADELAC3LJQAgFdsl8RAV2wERCwCdywERCwENyyHxMBXVkAsBAvsABFWLAPLxuxDxQ+WbAA0LAQELAD0LAPELAE3DAxAbAKK1iyCAYBXbSIBpgGAl2yCAcBXbIIDAFdWQCyCQYBXbSJBpkGAl2yCAcBXbIHDAFdATMRIwMiLgI1ND4COwERIwFqa2u4ITgpFhowRCpKagK8/MIBqCE5SSkoSTgh/ML//wAtAO8AzwGIAAcAEQADAPoAAAABADz/LgEQAAAAFQB6sAorWLAEL7AU3LQPFB8UAl2wAdCwANCwBBCwC9ywBBCwEtywFBCwFdBZALAARViwFS8bsRUIPlmwAEVYsAkvG7EJCj5ZsgEVCRESObABL0ENAC8AAQA/AAEATwABAF8AAQBvAAEAfwABAAZdsAkQsA/csAEQsBTcMDEzBx4BFRQOAiMiJzcWMjMyNjU0JzfQGCkvFyg2Hx8hCQcMBSYWVjkrBCMkFyIXDAYwARIMHARf//8AKQF8AXQDJwMHAi8AAAHgAAuwCitYWQCwBy8wMQAAAgAiAXQBgQLIABMAHgEysAorWLIKAAMrsj8AAXGyvwABcbJ/AAFdtI8AnwACcbKvAAFdsjAAAV20sArACgJdssAKAXGywAoBcrJACgFyslAKAXGyMAoBXbIQCgFdsAAQsBTcsAoQsBncsm8ZAXKyXxkBcbJPIAFdWQCwAEVYsAUvG7EFFD5ZsA/csqAPAV2yLw8BcrKfDwFxsv8PAXGyzw8BcbI/DwFxstAPAV2yQA8BXbQADxAPAl2wFtyyUBYBcbKQFgFdsAUQsBzcsl8cAXGynxwBXTAxAbAKK1iyGQIBXbIKAgFdtAcHFwcCXbIHDAFdsvcMAXKyFg0BXbIHDQFdsvgSAXKyGRIBXbIKEgFdWQC0BgIWAgJdtAYHFgcCXbIIDAFdsvkMAXKyCQ0BXbIaDQFdsvgSAXK0CRIZEgJdEzQ+AjMyHgIXDgMjIi4CNxQzMjY3LgEjIgYiGi5BJiZALxoBARovQCYmQS4adDsfGwEBGx8fHAIeLUAqExIoQS8vQSgSEihBL1YlMTAmJgACACIAJgHLAekABwAPAZawCitYsggKAyu0bwh/CAJdsp8IAV2yvwgBXbIwCAFdsuAIAV2wCBCwANyy4AABXbAC3LIgAgFdsmACAV2yoAIBXbAB3LIVAQFdsAAQsATcsmAEAV2wAhCwBtCwBi+wARCwB9CwBy+yFQcBXbLgCgFdtG8KfwoCXbK/CgFdsp8KAV2yMAoBXbLgCgFxsAoQsAncshUJAV20oAmwCQJdsAgQsAzcsv8MAV2ygAwBcbAKELAO0LAOL7AJELAP0LAPL7IVDwFdsi8RAV2yDxEBXbJvEQFdsk8RAV1ZALAJL7LvCQFxsAHQsAEvsAfcsm8HAV2yHwcBXbKvBwFdspAHAV20QAdQBwJdsgAHARESORmwAC8YsAEQsALcsAAQsATQGbAELxiwBxCwBtywCRCwD9y0gA+QDwJdtEAPUA8CXbIIDwkREjkZsAgvGLAJELAK3LLoCgFxsAgQsAzQGbAMLxiwDxCwDtwwMQGwCitYsggCAV2yCAMBXbIICgFdsggLAV1ZALIHAgFdsgYDAV2yBwoBXbIGCwFdAQcnPwEvATcFByc/AS8BNwEImUhSLS1XRgFjoE9XMDBdTwEK2Dh6JyN5ONPmPn4pJHw+//8AJf/yA0ECywAnAi4BVwAAACcCMgGvAGQBBgLB/AAAV7AKK1iwCC+yfwMBXbKgAwFdstADAV2yXwgBXbIgCAFdsAXcsA3QsAgQsBbQskAfAV2yEB8BXVkAsABFWLAdLxuxHRQ+WbAARViwBi8bsQYIPlmwFtwwMQAAAP//ACX/8gNZAssAJwIuAVcAAAAnAjAB7QBkAQYCwfwAAFSwCitYspADAXGyfwMBXbKgAwFdsjADAXGy0AMBXbL/BAFxsnAOAV2yTxkBXbIQJwFdskAnAV1ZALAARViwJS8bsSUUPlmwAEVYsAwvG7EMCD5ZMDEAAP//ADD/8gNaAssAJwIuAXAAAAAnAjIByABkAQcCMf/4AXwASrAKK1iwCC+0TwhfCAJdsu8IAV2wBdywDdCwCBCwFtCyTy0BXbJwLQFdWQCwAEVYsCQvG7EkFD5ZsABFWLAGLxuxBgg+WbAW3DAxAAAAAgAX/ywBrgH/AB0AKQGzsAorWLIQFgMrtM8W3xYCXbIfFgFxsv8WAV2yrxYBXbZvFn8WjxYDXbKQEAFxsq8QAV2ybxABXbTPEN8QAl2yjxABXbJQEAFysrAQAXGyABYQERI5sAAvsBYQsQcF9LAAELAd3LJ/HQFxsAAQsCTQsCQvttAk4CTwJANdsB7cst8eAV2yHx4BXbZ/Ho8enx4DXbKfHgFxtj8eTx5fHgNxWQCwAEVYsCEvG7EhED5ZsABFWLATLxuxEwo+WbAhELAn3LSPJ58nAl2yHycBXbJfJwFxsqAnAXGwHdyyBRMdERI5tGoFegUCXbRNBV0FAnG0LgU+BQJxtG4FfgUCcbQNBR0FAnG0jQWdBQJdtCoFOgUCcrLaBQFysBMQsQoB9LIZHRMREjm0wxnTGQJdtOIZ8hkCcTAxAbAKK1i0BwMXAwJdsjgPAV22WQ9pD3kPA120CBUYFQJdtAgVGBUCcrSpFbkVAnK0ShVaFQJxtKgZuBkCXbSoGrgaAl1ZALQIAhgCAl20CAMYAwJdtAgVGBUCXbSoFbgVAnK0SRVZFQJxtAkVGRUCcrSnGbcZAl20pxq3GgJdARYOBBUUFjMyPgI3Fw4BIyImNTQ+BDUnNDYzMhYVFAYjIiYBPQUTJCwnGygyECQkIQ0xJmJGXmsbKS8pGxwsJCYsLCYkLAElNEk1JiQnGyMrBw0RCmAaIlpOM0IvJCk2Ko4jKSkjIyoq//8AAAAAAl0DZgImACQAAAEGAsZMAAB0sAorWLTADtAOAl1BCQCAAA4AkAAOAKAADgCwAA4ABHG0EA4gDgJysnAOAXKyTw4BcbLfDgFyslAOAXK04A7wDgJxsvAOAV2ykA4BXUERAAAADgAQAA4AIAAOADAADgBAAA4AUAAOAGAADgBwAA4ACF0wMVn//wAAAAACXQNmAiYAJAAAAQcCwwCRAAAASrAKK1iykBIBcrKPEgFxtt8S7xL/EgNdQQsArwASAL8AEgDPABIA3wASAO8AEgAFcbQgEjASAl20MBJAEgJytgASEBIgEgNxMDFZ//8AAAAAAl0DZgImACQAAAEGAmRAAABXsAorWEELAAAAFwAQABcAIAAXADAAFwBAABcABV20zxffFwJyQQ8AjwAXAJ8AFwCvABcAvwAXAM8AFwDfABcA7wAXAAddst8XAXGyEBcBcrIgFwFxMDFZAP//AAAAAAJdA10CJgAkAAABBgJpNQAAK7AKK1iyDyUBcrIPJQFdsu8lAXFBCQAQACUAIAAlADAAJQBAACUABF0wMVkA//8AAAAAAl0DWAImACQAAAEGAsVAAABvsAorWLAOL7QwDkAOAnJBCwCvAA4AvwAOAM8ADgDfAA4A7wAOAAVdst8OAXGy3w4BcrSfDq8OAnFBCwAAAA4AEAAOACAADgAwAA4AQAAOAAVdshAOAXK2AA4QDiAOA3GwGtyy8BoBcbIQGgFxMDFZAAADAAAAAAJdA10AFAAaACQFH7AKK1iyDBEDK0EJABAADAAgAAwAMAAMAEAADAAEXbIwDAFytOAM8AwCXbLADAFyshAMAXGykAwBXbJwDAFdshIRDBESObASELAA0LAAL7QPAB8AAnGyvwABXbILDBEREjmwCxCwCNCwCC+yrwgBXbJvCAFdtC8IPwgCXbAMELENB/SyGREMERI5sg4NGRESObTZDukOAl2yWA4BXbKYDgFdsBEQsRAG9LIPEBgREjmylw8BXbJXDwFdstYPAV2y5Q8BXbIVGRAREjmyJxUBcbRoFXgVAl22NhVGFVYVA3G0JhU2FQJdshYZDRESObQpFjkWAl1BCQApABYAOQAWAEkAFgBZABYABHGwABCwG9yy0BsBcrJQGwFxspAbAV2wCBCwINyynyABXbIPJgFdsnAmAV2yECYBcVkAsABFWLASLxuxEhQ+WbAARViwEC8bsRAIPlmwEhCwBdxBDQAPAAUAHwAFAC8ABQA/AAUATwAFAF8ABQAGXbASELAL0LAQELAN0LIVEhAREjmwFS+y8BUBXbJPFQFdshAVAXKy0BUBcrEPAfSwEhCwGdC0BxkXGQJdsBIQsB3csk8dAXGwBRCwI9wwMQGwCitYQQkACAACABgAAgAoAAIAOAACAARdslgCAV2yeAIBcbS4AsgCAnGySQIBXbKZAgFxQQsACAADABgAAwAoAAMAOAADAEgAAwAFXUENAGgAAwB4AAMAiAADAJgAAwCoAAMAuAADAAZdsugDAXKyRgYBXbKWBgFdQQkABwAGABcABgAnAAYANwAGAARdtGcGdwYCXbLzBwFysuQHAXKydQcBcbKVBwFxQQ0ABgAHABYABwAmAAcANgAHAEYABwBWAAcABl2yhgcBXbSmB7YHAl22pge2B8YHA3G05gn2CQJxskUKAV2yhQoBXbQGChYKAl22VgpmCnYKA122lgqmCrYKA1201grmCgJdtCcKNwoCXbLHCgFdtAkNGQ0CcrQGEBYQAnK0aBF4EQJdQQkACAASABgAEgAoABIAOAASAARdtAgTGBMCXbJYEwFdQQsAiAATAJgAEwCoABMAuAATAMgAEwAFXbQIExgTAnG0aRN5EwJdtioTOhNKEwNdtAgUGBQCXbYpFDkUSRQDXbRpFHkUAl22mRSpFLkUA120FhUmFQJytBkWKRYCcrJYFwFdsogXAV2yiBcBcbKHGgFdWQC0lgKmAgJxQQ0ABwACABcAAgAnAAIANwACAEcAAgBXAAIABl20twLHAgJxtCYDNgMCXbSmA7YDAl205gP2AwJytAcDFwMCXbJHAwFdQQkAZwADAHcAAwCHAAMAlwADAARdtCYGNgYCXbRmBnYGAl2ylgYBXbQHBhcGAl2yRwYBXbKWBwFxQQkAJwAHADcABwBHAAcAVwAHAARdsocHAV20pwe3BwJdsncHAXG2pwe3B8cHA3Gy9wcBcrToCfgJAnFBEQAJAAoAGQAKACkACgA5AAoASQAKAFkACgBpAAoAeQAKAAhdQQ0AmQAKAKkACgC5AAoAyQAKANkACgDpAAoABl2yigoBXbKYEwFdtOgT+BMCcUETAAkAEwAZABMAKQATADkAEwBJABMAWQATAGkAEwB5ABMAiQATAAldQQsAqQATALkAEwDJABMA2QATAOkAEwAFXbQJExkTAnFBCwAIABQAGAAUACgAFAA4ABQASAAUAAVdtKgUuBQCXbRpFHkUAl2yiBcBXbL4FwFdsogXAXGyiBoBXRM0PgIzMhYVFAYHEyMnIwcjEy4BEzMvASMHAxQzMjY1NCYjIq8MHTEmRjogKfeQONc1ifYnIDKWNBUFFREsGRQVGCwDAxIhGQ4wKh0rCv1Pm5sCsQks/iOcbm8BXx8QDxEQAAL/4wAAAzMCvAAEABQBm7AKK1iyChQDK7IPFAFyss8UAXKyfxQBXbQPFB8UAnGynxQBXbJfFAFdsm8UAXGyXxQBcrKvFAFysBQQsATQsBQQsAjcsu8IAV2yTwgBXbEHB/S0BgcWBwJxspcHAV2ydgcBcbL1BwFdsgIEBxESObKWAgFdtAYCFgICcbJ1AgFdsgYHBBESObKWBgFdtAYGFgYCcbInBgFdtGYGdgYCcbI2BgFdsuUGAV2ydQYBXbLPCgFysm8KAXGynwoBXbIPCgFxsl8KAV2yDwoBcrKvCgFysl8KAXKwFBCxEQb0sA3QsAoQsA7QsA4vsAoQsBLQsBIvsq8WAV20LxY/FgJdWQCwAEVYsAovG7EKFD5ZsABFWLATLxuxEwg+WbICEwoREjmwAi+wChCwBNCwAhCxBgH0sBMQsAfQsAoQsQsD9LINChMREjmwDS+0rw2/DQJdsp8NAXGyLw0BcbRPDV8NAnGyTw0BXbTfDe8NAl20vw3PDQJxsRAD9LATELESA/QwMQGwCitYsnYBAV2ylgEBXVkAsngBAV2ymQEBXQEPATM1ESMHIwEhFSEVMxUjFSEVIQGKJFR+umOQAagBo/7r/PwBGv5dAhRnlPv+lqoCvHqjeqt6AAEAJv8uAhYCygA0BB2wCitYsiUdAyuyQCUBXbKQJQFdsvAlAV2y7yUBcbKwJQFdsnAlAV22ACUQJSAlA12yECUBcbAlELAA0LAAL7JAHQFdsu8dAXGyzx0BcbIgHQFdsgAdAV2yAyUdERI5sgcdJRESObAHL7AO3LIADgFxssAOAV2yIA4BXbAHELAV3LQgFTAVAl2yQBUBcbIYHSUREjmwHRCxLAf0shA2AXGyMDYBcrIQNgFdWQCwAEVYsCIvG7EiFD5ZsABFWLADLxuxAwg+WbAM3LKADAFdsiAMAXFBCQAAAAwAEAAMACAADAAwAAwABF2yIAwBcrIEAwwREjmwBC+wDBCwEty0LxI/EgJxsAQQsBfcsAMQsBjQsCIQsSkD9LADELExA/QwMQGwCitYslYFAV201gXmBQJdtAYFFgUCcUEJAGcABQB3AAUAhwAFAJcABQAEXbL3BQFdsgUGAXK0ZgZ2BgJdtqYGtgbGBgNdshYGAXKyVwYBXbSHBpcGAl201wbnBgJdstcGAXG2NglGCVYJA3GydgkBcUEJAFYACQBmAAkAdgAJAIYACQAEcrQHCRcJAl2yJwkBcbJnCQFxskcJAXK0BwoXCgJdspgXAV2yiRcBXbLJFwFdsgkXAXG0uRfJFwJxtOkX+RcCcbLZFwFyshoXAXGyOhcBcbKqFwFxtCoXOhcCcrLKFwFysmsXAXKyKBoBXbTYGugaAl2yOBoBcbJYGgFysokaAV2ymRoBcbInJgFxsvgmAV20CCYYJgJxtAcqFyoCXbImKwFxtAcrFysCcbYGLhYuJi4DcbSnLrcuAl2y9y4BXbQHLxcvAl22By8XLycvA3GyiC8BXbQHNBc0AnFZAEELAFYABQBmAAUAdgAFAIYABQCWAAUABV201gXmBQJdsvcFAV20BwUXBQJxstUGAXGyFgYBckEVAFcABgBnAAYAdwAGAIcABgCXAAYApwAGALcABgDHAAYA1wAGAOcABgAKXbQICRgJAl2yKAkBcbJoCQFxsngJAXKyOQkBcbJ5CQFxtEoJWgkCcbZKCVoJagkDcrQIChgKAl2ymBcBXbLIFwFdsqgXAXGyiRcBXbQJFxkXAnG0uRfJFwJxtCkXORcCcrJpFwFystkXAXK06hf6FwJxssoXAXKyPBcBcbIoGgFdsogaAV202BroGgJdspgaAXGyWBoBcrK4GgFysjkaAXGyhx8BXbY5JkkmWSYDcbL6JgFdtgomGiYqJgNxsocqAV20CCoYKgJdtKgruCsCXbYKKxorKisDcbL2LgFdtgcuFy4nLgNxtgYvFi8mLwNxtAcvFy8CXbKILwFdtAQzFDMCcbbWM+Yz9jMDXbQENBQ0AnG21TTlNPU0A12yxjQBXUELAHcANACHADQAlwA0AKcANAC3ADQABV0lDgEPAR4BFRQOAiMiJzcWMjMyNjU0JzcuAzU0PgIzMhYXBy4BIyIGFRQeAjMyNjcCFhpPLBApLxcoNh8fIQkHDAUmFlYyN2BIKTlbcDg8UxsbFz8tU2UYMUkwLT4XHRMUAx4EIyQXIhcMBjABEgwcBFQHL1iCWWeLVSUQC3QLCnZ8Nlk/IxIO//8APAAAAeADZgImACgAAAEGAsYdAAA1sAorWLSwDMAMAnGyIAwBcrSfDK8MAnKyTwwBXbKQDAFdsuAMAXGyUAwBcbTADNAMAl0wMVkAAAD//wA8AAAB4ANmAiYAKAAAAQcCwwCBAAAALrAKK1iynxABcbL/EAFxsg8QAXK2jxCfEK8QA12y3xABcbL/EAFdsjAQAV0wMVn//wA8AAAB4ANmAiYAKAAAAQYCZBoAAECwCitYsv8VAV2y/xUBcbIPFQFyQQsAXwAVAG8AFQB/ABUAjwAVAJ8AFQAFXbLfFQFxtCAVMBUCXbIgFQFyMDFZ//8APAAAAeADWAImACgAAAEGAsUYAABMsAorWLAML7ZfDG8MfwwDXbL/DAFdsv8MAXGyDwwBcrL/DAFyst8MAXG0rwy/DAJdtCAMMAwCXbIQDAFxsBjcsvAYAXGywBgBXTAxWf///+oAAADxA2YCJgAsAAABBgLGrgAARLAKK1iykAQBXbJQBAFxshAEAXK0cASABAJysu8EAV2yfwQBcbJABAFysuAEAXGywAQBXbRQBGAEAl20IAQwBAJdMDFZ//8AMQAAATgDZgImACwAAAEGAsP1AABDsAorWLK/CAFxtt8I7wj/CANdtt8I7wj/CANxsg8IAXK0IAgwCAJdQQsAIAAIADAACABAAAgAUAAIAGAACAAFcTAxWQD////cAAABQANmAiYALAAAAQYCZKAAAESwCitYtt8N7w3/DQNdQQkAzwANAN8ADQDvAA0A/wANAARxsg8NAXK2fw2PDZ8NA12yfw0BcbQgDTANAl2yQA0BcjAxWf///9oAAAFHA1gCJgAsAAABBgLFngAAPbAKK1iwBC+2IAQwBEAEA3KyfwQBXbLvBAFxtN8E7wQCXbQgBDAEAl2yYAQBcbIABAFxsBDcshAQAXEwMVkAAAAAAv/6//UCdwLGABgALwH7sAorWLIMFgMrtCAWMBYCXbIfFgFysp8WAV2yHxYBcbJ/FgFxsrAWAV2yABYBXbKAFgFdsBYQsAHQsADcQQkAAAAMABAADAAgAAwAMAAMAARdtHAMgAwCXbLgDAFdsh8MAXKyAAwBcbKwDAFdslAMAV2yQAwBcrJgDAFysBYQsSEG9LAd0LAe3LIgHgFdsAwQsSsH9LIAMQFxssAxAXGyMDEBcbJwMQFdWQCwAEVYsAcvG7EHFD5ZsABFWLARLxuxEQg+WbIBBxEREjmwAS+yYAEBcbAX3LIgFwFysAcQsRkD9LABELAd0LAXELAg0LARELEmA/QwMQGwCitYsoYJAV2ytgkBXbTWCeYJAl20Jgk2CQJxsvYJAXGypgkBcrLHCQFdsrUKAV2yxgoBXbK2DgFdsnYPAXKytw8BXbS3D8cPAnG0tw/HDwJytAgpGCkCXbL4KQFdtAgpGCkCcbL4LQFdtAgtGC0CcbQILhguAl1ZALK2CQFdtNYJ5gkCXbImCQFxsqYJAXKyhwkBXbLHCQFdsvcJAXG0twrHCgJdsrgOAV20uA/IDwJxtLgPyA8CcrK5DwFdsnoPAXK0BCgUKAJdtAUoFSgCcbL2KAFdtAYpFikCXbQGKRYpAnGy9ykBXbL4LQFdtAgtGC0CcbQILhguAl20CC4YLgJxAzMRPgMzMh4CFRQOAiMiLgInESMBIgYHFTMVIxUeAjIzMj4CNTQuAgZYFTU4NRVdhFImJFSJZRA1OTQNWAEvFi0LjIwEExYUBTpNLRIQK0oBkQErAwQCATRegk5HhGY+AgMDAgFCAQsCArdQzwEBASlEWS8pU0Iq//8APP/7AlUDXQImADEAAAEGAmlOAAAssAorWLL/JwFdsv8nAXGyjycBXbTvJ/8nAnKy3ycBcbKvJwFdsiAnAV0wMVn//wAm//ICeANmAiYAMgAAAQYCxlkAAEiwCitYslAgAV2ywCABXbaAIJAgoCADcbQQICAgAnKyfyABXbJAIAFysvAgAXG0UCBgIAJxspAgAV20ICAwIAJdsgAgAV0wMVn//wAm//ICeANmAiYAMgAAAQcCwwDMAAAAPLAKK1iyICQBcbSvJL8kAnGy/yQBcrTPJN8kAl223yTvJP8kA3GyDyQBcrIAJAFdslAkAV2yICQBXTAxWQAA//8AJv/yAngDZgImADIAAAEGAmReAABMsAorWLIAKQFdQQkAzwApAN8AKQDvACkA/wApAARdtA8pHykCcbIPKQFysm8pAV22rym/Kc8pA3GynykBXbIgKQFxtCApMCkCXTAxWf//ACb/8gJ4A10CJgAyAAABBgJpVAAAPbAKK1iycDcBcbQQNyA3AnK07zf/NwJxsg83AXKy3zcBXbK/NwFyskA3AXKykDcBcbKQNwFdsiA3AV0wMVkAAAD//wAm//ICeANYAiYAMgAAAQYCxVoAAEywCitYsCAvsmAgAXG0byB/IAJdst8gAXGyjyABcrbfIO8g/yADXbIAIAFdsoAgAV20ICAwIAJdsCzcskAsAXKy8CwBcbIQLAFxMDFZAAEANgB/AdoCIwALANiwCitYsgUJAyu0DwkfCQJxskAJAXGyEAkBXbJQBQFdtK8FvwUCXbIPBQFdsu8FAXGybwUBXbTABdAFAnGykAUBXbIKCQUREjmyBAUJERI5sgEKBBESObAFELAD0LIHBAoREjmwCRCwC9CwCy9ZALAIL7KvCAFdsADctMAA0AACcbQPAB8AAl20rwC/AAJdsu8AAXGyTwABcbJvAAFdslAAAV20AAAQAAJxspAAAV2yAQAIERI5sALQsgcIABESObIEAQcREjmwCBCwBtCwBi+yCgEHERI5MDETFzcXBxcHJwcnNyeGg4JPgoJPgoRPg4ECI4KCUX+BUoOEUYN/AAMAJv/yAngCywAXACAAKQNGsAorWLIPAwMrsgADAV2yfwMBXbL/AwFxsi8DAXK0zwPfAwJxsk8DAV2yUAMBXbIwAwFdtFAPYA8CXbKwDwFdskAPAXKycA8BcrLgDwFdtIAPkA8CXbQgDzAPAl2yAA8BXbIAAw8REjmyiQABcbIYAAFdsgkDDxESObJaCQFdsmsJAV20OAlICQJdsoYJAV2wCRCwC9CwCy+yjwsBXbIMDwMREjmyFwwBXbIVDwMREjm0thXGFQJdsncVAV20NhVGFQJdtFQVZBUCXbAVELAX0LAXL7ADELEYB/SwDxCxIQf0shsYIRESObIIGwFdspgbAV2yGRsBXbJ5GwFxskgbAV20CBsYGwJxsmgbAXGyHBghERI5smocAXGyJCEYERI5snckAXG0uCTIJAJyspckAV2yFyQBXbQGJBYkAnGyJSEYERI5sk8qAV2y8CsBcrI/KwFyspArAXGyYCsBcVkAsABFWLAGLxuxBhQ+WbAARViwEi8bsRIIPlmyABIGERI5shkAAV2yhAABcbIJBhIREjmydgkBXbLHCQFdsocJAV1BCQAWAAkAJgAJADYACQBGAAkABF20VQllCQJdsAYQsArQsAovsgwGEhESObIXDAFdshUSBhESObS5FckVAl2yOhUBXbIaFQFdtFoVahUCXbR5FYkVAl2yKRUBXbJJFQFdsBIQsBbQsBYvsBIQsScD9LAGELEeA/SyGyceERI5shUbAV2yZRsBcbIGGwFdtAYbFhsCcbJGGwFdspUbAV20tBvEGwJysnMbAXGyHB4nERI5smgcAXGyJB4nERI5spkkAV20uyTLJAJytAokGiQCcbJ4JAFxshgkAV2yJSceERI5MDEBsAorWLL5BAFdspgFAV2yqAUBcbJ4BQFysigMAV2yphABcbKXEAFdsncQAXKyZh8BcbIXHwFdslcfAXGyFyABXbLHIAFdskcgAXGyGCgBXbJYKAFxsmooAXGyyCkBXbJJKQFxWQCy9wQBXbKnBQFxsncFAXKymBABXbKpEAFxsnkQAXKyGB8BXbJYHwFxsmkfAXGyGSABXbLJIAFdtDkgSSACcbJlKAFxslYoAXGyxSkBXbI2KQFxshcpAV2yRykBcTcuATU0NjMyFhc3FwceARUUBiMiJicHJxMUFhcTJiMiBgU0JicDFjMyNm8lJJqPLUwfGVUjIyObjixIHxVWZQgI2yMvSVABMgYI1yErSVBWMIVTr70UEicyODCDUK+9ERAhNQE3JEAbAVYbdX0hPRr+rBZy//8AOf/0AjoDZgImADgAAAEGAsZIAABJsAorWLIgFQFxsuAVAXGygBUBcrJPFQFxso8VAV20rxW/FQJdtBAVIBUCcragFbAVwBUDcbbAFdAV4BUDXbYAFRAVIBUDXTAxWQAAAP//ADn/9AI6A2YCJgA4AAABBwLDAMkAAABBsAorWLLgGQFdsiAZAXK0vxnPGQJxso8ZAV2y/xkBcbIPGQFysv8ZAV20IBkwGQJxskAZAV22ABkQGSAZA10wMVkA//8AOf/0AjoDZgImADgAAAEGAmRQAABasAorWLRQHmAeAnJBCQBvAB4AfwAeAI8AHgCfAB4ABF20Tx5fHgJxsv8eAXGyDx4BcrbfHu8e/x4DcrLfHgFxsv8eAV22AB4QHiAeA12yIB4BcbJAHgFdMDFZAAD//wA5//QCOgNYAiYAOAAAAQYCxUkAAGGwCitYsBUvsiAVAXK2ABUQFSAVA120rxW/FQJdtE8VXxUCcbLfFQFxsv8VAXKy/xUBcbaPFZ8VrxUDcbL/FQFdtG8VfxUCXbKQFQFysiAVAXGyQBUBXbAh3LIQIQFxMDFZAAAA/////gAAAlIDZgImADwAAAEHAsMAogAAADewCitYsv8QAV223xDvEP8QA3Gy/xABcrLPEAFdsl8QAXKyfxABcbYQECAQMBADXbIwEAFxMDFZAAAAAAIAPAAAAiMCvAAWACkAwLAKK1iyChYDK7IfFgFxsv8WAV2y3xYBcUELAAAAFgAQABYAIAAWADAAFgBAABYABV2wFhCxFQb0sBvQsALQsjAKAXG0MApACgJdspAKAV2yAAoBcbJwCgFdtAAKEAoCXbJQCgFxsnAKAXGwChCxJQf0si8rAV1ZALAARViwAS8bsQEUPlmwAEVYsBUvG7EVCD5ZsgUBFRESObAFL7SABZAFAnKwD9yynw8BcrI/DwFdsAUQsRcC9LAPELEgAvQwMRMzFT4BMzIeAhUUDgIjKgEuAScVIxMiBgcVHgIyMzI+AjU0LgI8iQ4cDjRpVDUuTGE0BRYYFwWJzBQkCwQQEhEEGzUqGRgnMgK8SAEBETNbSUJbOhoBAgGhAgADAuMBAgEKGzAnISsaCgABAAz/8gJaAsQAPgExsAorWLIZPgMrsl8+AXGyjz4BXbL/PgFdsiA+AV2yAD4BXbA+ELAB3LA+ELAD0LIAGQFdskAZAV2ykBkBXbIgGQFdsuAZAV2yEBkBcbINGT4REjmwDS+wGRCxKAT0sD4QsT0E9LIvKD0REjmwLy+xEgT0siE9KBESObAhL7ANELE0BPSyH0ABXVkAsABFWLAILxuxCBQ+WbAARViwAi8bsQIQPlmwAEVYsD0vG7E9CD5ZsABFWLAeLxuxHgg+WbACELEBAfSyEB4IERI5shUIHhESObAeELElAfSyKx4IERI5sjIIHhESObAIELE5AfQwMQGwCitYsgYKAV2yFQsBXbIXEAFdshUXAV2yBhwBXbIXHAFdWQCyBgoBXbIWCwFdshgQAV2yFhcBXbQJHBkcAl0TIzUzND4CMzIeAhUUDgIVFB4EFRQOAiMiJic3HgEzMjY1NC4ENTQ+AjU0LgIjIgYVESNRRUUgOU8vM1E5HyMrIx0tMy0dFi9HMC9PHCMXLiceJx0tMy0dIysjDhgeDzAtgQGGbjpPMRYXKjskJzAiHhYSFhMVIjUpI0EzHhcRYQ0UKR0VGhUUHy4kKzAhHBgNFxAKL0D+GP//ABf/+AHHAtACJgBEAAABBgBDNwAAXrAKK1i0UDBgMAJxslAwAXKywDABcrLPMAFxtC8wPzACcrS/MM8wAl2y/zABcbL/MAFdsg8wAXGygDABcrKQMAFxsmAwAV1BCQAAADAAEAAwACAAMAAwADAABF0wMVkAAP//ABf/+AHHAtACJgBEAAABBgB2fAAAPbAKK1iyADQBXbK/NAFdsj80AXG0nzSvNAJysv80AXK0rzS/NAJxsv80AV2ynzQBXbJgNAFdskA0AV0wMVkAAAD//wAX//gBxwLcAiYARAAAAQYBLyEAAFywCitYsoA4AV20YDhwOAJxtKA4sDgCcrK/OAFdsv84AV1BCQBQADgAYAA4AHAAOACAADgABHK2ADgQOCA4A3GyYDgBXUEJABAAOAAgADgAMAA4AEAAOAAEXTAxWf//ABf/+AHHAtMCJgBEAAABBgE1GgAAJ7AKK1i0AEcQRwJxsp9HAV2yf0cBXbIQRwFdsqBHAV2yQEcBXTAxWQD//wAX//gBxwLRAiYARAAAAQYAag8AAG2wCitYsDAvQQsAAAAwABAAMAAgADAAMAAwAEAAMAAFXbKfMAFdsv8wAV22vzDPMN8wA12yfzABXUELABAAMAAgADAAMAAwAEAAMABQADAABXK0gDCQMAJxsDzcsnA8AXKyEDwBcbLAPAFdMDFZAAAA//8AF//4AccC5wImAEQAAAEGATNUAAB5sAorWLAwL7ZQMGAwcDADcUELAAAAMAAQADAAIAAwADAAMABAADAABV2y3zABXbL/MAFxsg8wAXKy/zABXbJ/MAFdQQsAEAAwACAAMAAwADAAQAAwAFAAMAAFcrQAMBAwAnGyoDABXbA23LAwELA83LA2ELBC3DAxWQAAAAADABf/8gLuAgIACwA/AEYCvrAKK1iyLhQDK7LvFAFdtl8UbxR/FANdtp8UrxS/FANdskAUAV2y0C4BXbJfLgFdshAuAXG0MC5ALgJdsgAuAV2yBBQuERI5sAQvsBQQsQkF9LAEELAZ0LAUELAg0LAgL7JwIAFdsAQQsTIE9LImBDIREjmwLhCwOdCwOS+yPzIEERI5sDIQsEPQsC4QsETctCBEMEQCXbSgRLBEAl2yQEQBcVkAsABFWLAjLxuxIxA+WbAARViwDy8bsQ8IPlmxAAH0shkjDxESObAZL7SPGZ8ZAl20bxl/GQJxtC8ZPxkCcbQgGTAZAl2wBNxBCQBgAAQAcAAEAIAABACQAAQABF1BDwAAAAQAEAAEACAABAAwAAQAQAAEAFAABABgAAQAB3GwIxCxHAH0siYjDxESObAjELAp0LAEELAy0LQvMj8yAl20IDIwMgJysA8QsDzQsDwvsDXcQQkAXwA1AG8ANQB/ADUAjwA1AARxsr81AXKyLzUBcrRPNV81Al22zzXfNe81A12yPw8jERI5sCkQsEDctEBAUEACXbIgQAFysrBAAXJBCQBQAEAAYABAAHAAQACAAEAABHG2wEDQQOBAA12wGRCwQ9C0L0M/QwJdMDEBsAorWLQJERkRAl20KBI4EgJdtAkSGRICXUEJAIkAEgCZABIAqQASALkAEgAEcbSmFrYWAnKyCBYBXbKoFgFdskgWAXG0CBYYFgJytAcrFysCXbSnK7crAl2yhSwBcrKWLAFytEcsVywCcbSnOLc4Al1ZALQIERgRAl1BCQAIABIAGAASACgAEgA4ABIABF20iBKYEgJxtKkSuRICcbTmFvYWAnG0BhYWFgJysgcWAV2ypxYBXbJHFgFxslkfAV2yGh8BcrQHKxcrAl20pyu3KwJdtEcsVywCcbKXLAFytKU4tTgCXbZXOGc4dzgDXTcyNjc1Jg4CFRQWFw4BIyIuAjU0PgIXNiYjIgYHJz4BMzIWFz4BMzIeAhUUBgchHgEzMjY3Fw4BIyImJxMiBgczNibbJy4LHzksGiGgG09EIzgoFilMa0IHHTQnUR8iJnA8ND4UGVAvJkg4IgUF/tMEO0IpQRErHmc6QGEbwTMxBbsDKGMjFEEDBA4aFBwfFyIyFSc1IS4/Jw8DODEVD14UHRsbHB4ULk46FS8bP0AZDVUYIS8rAU49MzY6AAEAIf8uAZsCAgAyA1WwCitYsiMdAyuycCMBXbIQIwFdsi8jAXKyMCMBXbIQIwFxsuAjAV2wIxCwANCwAC+ybx0BXbIvHQFysp8dAXKyTx0BcrKfHQFdsuAdAV2yMB0BXbIDIx0REjmyBx0jERI5sAcvsA7csoAOAXKyHw4BcbKgDgFxsiAOAV2ywA4BXbAHELAV3LLAFQFxtCAVMBUCXbIYHSMREjmwHRCxKgX0sgA0AXKysDQBcbRgNHA0Al1ZALAARViwIC8bsSAQPlmwAEVYsAMvG7EDCD5ZsAzcsiAMAXGyYAwBcrLADAFxsoAMAV1BCQAAAAwAEAAMACAADAAwAAwABF2yBAMMERI5sAQvsAwQsBLcsm8SAXK0LxI/EgJxsAQQsBfcsAMQsBjQsCAQsScC9LADELEvAfQwMQGwCitYtMYF1gUCXUEJAAcABQAXAAUAJwAFADcABQAEXbQmBjYGAl20xgbWBgJdtAcGFwYCXbTHBtcGAnGyFwYBckENACUACQA1AAkARQAJAFUACQBlAAkAdQAJAAZxtGUJdQkCcrRGCVYJAnK0BwkXCQJdtAcKFwoCXbKoFwFdtKgXuBcCcbYoFzgXSBcDcrQpFzkXAl2yuRcBXbQpFzkXAnG06hf6FwJxsroXAXKy+xcBcrToGvgaAl2ymBoBcbQJGhkaAnG0KRo5GgJysooaAXG06B74HgJxtGgfeB8CcbKGKQFxsrYxAXK0xzLXMgJdsgcyAXGyGDIBcVkAQQkABgAFABYABQAmAAUANgAFAARdQQkABwAGABcABgAnAAYANwAGAARdtMcG1wYCcbIXBgFytAgJGAkCXbRICVgJAnJBDQApAAkAOQAJAEkACQBZAAkAaQAJAHkACQAGcbRqCXoJAnK0CAoYCgJdtKgXuBcCcbQoFzgXAnK0KRc5FwJdtKkXuRcCXbQpFzkXAnG06Rf5FwJxsrkXAXKy+RcBcrSIGpgaAnG06Rr5GgJdtAkaGRoCcbQqGjoaAnK05h72HgJxtIUflR8CcrTnH/cfAl20Zx93HwJxstgkAV206ST5JAJdtAkkGSQCcbKIKQFxsrMxAXKyFTEBcbIUMgFxsrQyAXJBCQDGADIA1gAyAOYAMgD2ADIABF2yBjIBcbKXMgFdJQ4BDwEeARUUDgIjIic3FjIzMjY1NCc3LgM1NDYzMhYXBy4BIyIGFRQeAjMyNjcBmxc7IRIpLxcoNh8fIQkHDAUmFlYyMUQqE3JtN0MbHxctHTY4DhwtHiEuEh8RFAUgBCMkFyIXDAYwARIMHARUBitDWzZ/iRIOagsMR04gNigXEQz//wAh//IB2QLQAiYASAAAAQYAQ0kAAEGwCitYshAgAXGyoCABcbLAIAFysh8gAXKyjyABXbKPIAFxtnAggCCQIANyslAgAXGy0CABXbYQICAgMCADXTAxWQAAAP//ACH/8gHZAtACJgBIAAABBwB2AKEAAABFsAorWLLPJAFdtO8k/yQCcbL/JAFysm8kAV20ryS/JAJytI8knyQCcUEJABAAJAAgACQAMAAkAEAAJAAEXbIwJAFxMDFZAP//ACH/8gHZAtwCJgBIAAABBgEvJgAAK7AKK1iyvygBcbL/KAFysg8oAV223yjvKP8oA3G07yj/KAJdskAoAV0wMVkA//8AIf/yAdkC0QImAEgAAAEGAGoWAABasAorWLAgL7TvIP8gAnG07yD/IAJyQRMAXwAgAG8AIAB/ACAAjwAgAJ8AIACvACAAvwAgAM8AIADfACAACV20ICAwIAJdsCzcsnAsAXKyoCwBcbIQLAFxMDFZAAD////+AAAAyALQAiYA6QAAAQYAQ8IAADqwCitYslAEAXGy0AQBcbLABAFysk8EAV2yDwQBcbKABAFytpAEoASwBANxtNAE4AQCXbKQBAFdMDFZAAD//wBGAAABAALQAiYA6QAAAQYAdgsAADKwCitYQQkAzwAIAN8ACADvAAgA/wAIAARxsg8IAXKy/wgBXbSPCJ8IAnGyAAgBXTAxWQAA////4gAAASIC3AImAOkAAAEGAS+mAAAysAorWLY/DE8MXwwDcbK/DAFytK8MvwwCXbLfDAFysg8MAXKy/wwBXbQgDDAMAl0wMVkAAP///9MAAAE6AtECJgDpAAABBgBqlwAAbbAKK1iwBC+yAAQBXbTPBN8EAnGy/wQBcrIPBAFysv8EAV2ygAQBcUEJACAABAAwAAQAQAAEAFAABAAEXbAQ3EEJAE8AEABfABAAbwAQAH8AEAAEXbJvEAFysi8QAXK0YBBwEAJxshAQAXEwMVkAAAAAAgAl//ICDgLLAA4ANwEmsAorWLIgKgMrskAqAV2yXyoBXbIfKgFysj8qAXKy/yoBcbJfKgFysiAqAV2yACoBXbAqELEABPSycCABXbKwIAFdsvAgAV2yUCABcbIQIAFxstAgAV2ykCABXUELAAAAIAAQACAAIAAgADAAIABAACAABV2y0CABcbAgELEGBPSyEiogERI5sBIvsAYQsDLQshASMhESObIaEiAREjmyFxAaERI5sjYQGhESObLvOAFdsvA5AV2yUDkBcbJvOQFdshA5AXGygDkBcbIQOQFdsjA5AV1ZALAARViwLy8bsS8QPlmwAEVYsCUvG7ElCD5ZsQMB9LAvELEMAfSwLxCwE9yyFxMvERI5sjYvExESObIQFzYREjmyGjYXERI5sjIvJRESOTAxNxQWMzI2NTQmJy4BIyIGEzcmJzcWFxYXNxcHFhceAhUUDgIjIi4CNTQ+AjMyFhcmJyYnB6NCNzRCAwQQQB48PiIsIiM0GSAXGDUqIQwLIDIfJUJcNztaPB4iPVYzJkEUDBYWHETzSEpZXg0qDBcTUwEWHg8GUAcNCQ0kNxcJCx5XdExRd04mJkVfOTZcRScVFCQeHRYu//8AOQAAAe0C0wImAFEAAAEGATUvAAAisAorWLJvLgFxsv8uAV2yvy4BcrQQLiAuAl2yQC4BXTAxWQAA//8AIf/yAfgC0AImAFIAAAEGAENLAAA5sAorWLKQHgFxtIAekB4CcrKPHgFxtK8evx4CXbYQHiAeMB4DXbLQHgFxslAeAXG00B7gHgJdMDFZAAAA//8AIf/yAfgC0AImAFIAAAEHAHYAogAAAEqwCitYQQkAEAAiACAAIgAwACIAQAAiAARdtq8ivyLPIgNdtO8i/yICcbL/IgFysq8iAXKy/yIBXbJvIgFdshAiAXKyMCIBcTAxWf//ACH/8gH4AtwCJgBSAAABBgEvMAAARbAKK1hBCQCvACYAvwAmAM8AJgDfACYABF20TyZfJgJxss8mAXKyDyYBXbIPJgFysv8mAV22ICYwJkAmA12ycCYBcTAxWQAAAP//ACH/8gH4AtMCJgBSAAABBgE1LAAAK7AKK1iyEDUBXbTvNf81AnK0zzXfNQJdsv81AV2yEDUBcrQwNUA1Al0wMVkA//8AIf/yAfgC0QImAFIAAAEGAGocAABUsAorWLAeL7KvHgFyQQkAzwAeAN8AHgDvAB4A/wAeAARxsg8eAXJBCQBfAB4AbwAeAH8AHgCPAB4ABF2y/x4BXbQgHjAeAl20AB4QHgJxsCrcMDFZAAMAKwBEAeUCYAADAA8AGwCasAorWLIWEAMrsnAWAV2y7xYBcbIQFgFdsjAWAXGwFhCwAtyybxABcrLvEAFxsBAQsAPcsn8DAXGwEBCwBNCwFhCwCtBZALADL7KvAwFdsnADAV2xAAH0sAfcsi8HAV2yTwcBcbAN3LIfDQFdstANAV2yQA0BcbADELAZ3LJAGQFxsiAZAV2wE9yy3xMBXbJPEwFxshATAV0wMRMhFSE3NDYzMhYVFAYjIiYRNDYzMhYVFAYjIiYrAbr+Ro0sJCYsLCYkLCwkJiwsJiQsAYpw+iMpKSMjKir+oCMpKSMjKioAAwAh/+gB9wIOABcAHwAnA5GwCitYsgwAAyuyfwABXbJfAAFysp8AAXKyfwABcrI/AAFysl8AAV2y4AABXbKADAFdsgAMAXGyDwwBcrKvDAFxss8MAXGy4AwBXbIwDAFdshAMAV2yBgAMERI5sAYQsAjQsAgvsu8IAV2yCQwAERI5tGUJdQkCXbISDAAREjmwEhCwFNCwFC+yFQAMERI5sAwQsRgF9LAAELEgBfSyGhggERI5shsYIBESObQHGxcbAl20RxtXGwJdsiIgGBESObSnIrciAl2yIyAYERI5sokjAV2yLykBcbLPKQFdsm8pAV2yrykBXbIQKQFysuApAXFZALAARViwAy8bsQMQPlmwAEVYsA8vG7EPCD5ZsgYDDxESObADELAH0LAHL7IJAw8REjm0Zwl3CQJdshIPAxESObAPELAT0LATL7IVDwMREjmwAxCxJQH0sA8QsR0B9LIaJR0REjmyGx0lERI5tAgbGBsCXbRIG1gbAl2yIh0lERI5tKkiuSICXbIjJR0REjkwMQGwCitYtMoB2gECXUEJAMgAAgDYAAIA6AACAPgAAgAEXbbJAtkC6QIDcUEJAKYABQC2AAUAxgAFANYABQAEXbRnBXcFAnG0pga2BgJdtMgG2AYCXbTqBvoGAl20CgYaBgJxQQkAiAAIAJgACACoAAgAuAAIAARdtEYJVgkCcbSmCbYJAnG0Zwp3CgJdtMUN1Q0CcbTGDdYNAl2y5g0BcbTGDtYOAl20CBEYEQJxtOgS+BICXUEJAIkAFQCZABUAqQAVALkAFQAEcbQpFTkVAnK0KBY4FgJytGgeeB4CcrRqH3ofAnK0ZiZ2JgJysocmAV20ZCd0JwJyWQC0xgHWAQJxtMcB1wECXUEJAMYAAgDWAAIA5gACAPYAAgAEXbLnAgFxtEUFVQUCcUEJAKYABQC2AAUAxgAFANYABQAEXbIWBQFxtGcFdwUCcbSkBrQGAl20xQbVBgJdtOYG9gYCXbQGBhYGAnG0aAh4CAJdtIkImQgCXbKqCAFdsrsIAV20SAlYCQJxtKkJuQkCcbRnCncKAl206A34DQJdsugNAXG0yQ3ZDQJdtMkN2Q0CcbTJDtkOAl20CREZEQJxtOoR+hECXbRqEXoRAnG0yBLYEgJdtKoSuhICXbTqEvoSAl20pRW1FQJxtIYVlhUCcbQnFTcVAnK0ZR51HgJytGYfdh8CcrRqJnomAnK0aCd4JwJyNzQ2MzIWFzcXBx4BFRQGIyImJwcnNy4BJTQnBxYzMjYnFBc3JiMiBiF7cCA2FxhQGxkYe3AiORgZUx8WFQFQCJUWIjMyygaTFR8wNfp/iQsLIjsmIls2f4kNCyI8KyFXMyUizxJKUCMezA9I//8ANP/yAfEC0AImAFgAAAEGAEM+AABGsAorWLIQGgFdtL8azxoCXbKPGgFxtO8a/xoCcbbfGu8a/xoDcrI/GgFyss8aAXGy/xoBXbJ/GgFdshAaAXGykBoBXTAxWQAA//8ANP/yAfEC0AImAFgAAAEHAHYAlAAAADWwCitYsl8eAXGyDx4BcrL/HgFytO8e/x4CXbKPHgFyss8eAXG2IB4wHkAeA12yMB4BcTAxWQD//wA0//IB8QLcAiYAWAAAAQYBLzEAAD6wCitYtKAisCICcrIPIgFdsv8iAV2ynyIBcrRPIl8iAnGyvyIBXbYgIjAiQCIDXbIgIgFytGAicCICcTAxWQAA//8ANP/yAfEC0QImAFgAAAEGAGocAABbsAorWLAaL7QgGjAaAl2y/xoBXbavGr8azxoDckEJAM8AGgDfABoA7wAaAP8AGgAEcbIPGgFyQQkAXwAaAG8AGgB/ABoAjwAaAARdsjAaAXGyEBoBcbAm3DAxWQD////3/zMB5gLQAiYAXAAAAQcAdgCNAAAAO7AKK1iyEBoBcrTvGv8aAl2yzxoBcrKPGgFdtM8a3xoCcbYgGjAaQBoDXbJwGgFxtgAaEBogGgNxMDFZAAAAAAIAOf84AfsCvAATACABhbAKK1iyCRMDK7IAEwFysj8TAXKy/xMBXbI/EwFxsl8TAXGyHxMBcbIfEwFysl8TAXK2IBMwE0ATA12yABMBXbATELESBPSwGNCwAtCyYAkBXbIfCQFyQQsAAAAJABAACQAgAAkAMAAJAEAACQAFXbaACZAJoAkDXbJwCQFysAkQsR4F9LLQIgFxsvAiAXGykCIBXVkAsABFWLABLxuxARQ+WbAARViwBi8bsQYQPlmwAEVYsBIvG7ESCj5ZsABFWLAOLxuxDgg+WbICBg4REjmyEQ4GERI5sAYQsRQB9LAOELEbAfQwMQGwCitYtnYHhgeWBwNdtEYHVgcCcbQHBxcHAl2ypwcBXbL1CAFysnYIAV20xgjWCAJxtMUL1QsCcbTGC9YLAl20xgzWDAJdsmcMAV205wz3DAJdtIgdmB0CcVkAtnYHhgeWBwNdsqcHAV20xwjXCAJxsvcIAXK0yQvZCwJdtMkL2QsCcbJoDAFdtMkM2QwCXbSHHZcdAnG0qh+6HwJxEzMVMz4BMzIWFRQOAiMiJicVIxMiBgcVHgEzMjY1NCY5ggQVOzBeXh47VTcfKBSC3yQtDA4hGzg4LAK88xofd4RAZ0gmCQrNAlwmJtALDU9bQkj////3/zMB5gLRAiYAXAAAAQYAagYAAEiwCitYsBYvtK8WvxYCcrTvFv8WAl207xb/FgJyQQkAzwAWAN8AFgDvABYA/wAWAARxsg8WAXK0IBYwFgJdsCLcshAiAXEwMVn//wAAAAACXQNYAiYAJAAAAQYCyEUAAD6wCitYtp8RrxG/EQNxtq8RvxHPEQNdtn8RjxGfEQNyQQkAAAARABAAEQAgABEAMAARAARdtAAREBECcTAxWQAA//8AF//4AccCkgImAEQAAAEGAHEfAABDsAorWLAzL7YAMxAzIDMDcbKAMwFyQQsAAAAzABAAMwAgADMAMAAzAEAAMwAFXbJgMwFxsqAzAV2ygDMBXbAy3DAxWQD//wAAAAACXQNrAiYAJAAAAQYCYjQAADKwCitYtO8f/x8CcbIPHwFyss8fAV2y/x8BXUEJABAAHwAgAB8AMAAfAEAAHwAEXTAxWQAA//8AF//4AccC0AImAEQAAAEGATEUAABxsAorWEENAEAAPwBQAD8AYAA/AHAAPwCAAD8AkAA/AAZxsgA/AV1BCwC/AD8AzwA/AN8APwDvAD8A/wA/AAVdsn8/AV2ynz8BXUEJACAAPwAwAD8AQAA/AFAAPwAEcrQAPxA/AnG2ID8wP0A/A10wMVkAAAAAAgAA/zcCdQLBABcAHQDdsAorWLIGAwMrspAGAV2yEAYBcbTgBvAGAl2ycAYBXUEJABAABgAgAAYAMAAGAEAABgAEXbAGELEXB/SyHAMGERI5sgAXHBESObADELECBvSyAQIcERI5sgQDBhESObIFBgMREjmwFxCwE9CwEy+wCdywExCwDdyyGBwCERI5shkcFxESObIPHwFdsnAfAV1ZALAARViwBS8bsQUUPlmwAEVYsBAvG7EQCj5ZsABFWLAXLxuxFwg+WbAC0LIYBQIREjmwGC+xAQH0sBcQsAbQsBAQsAzcsAUQsBzQMDElIwcjEzMTIwYVFBY3Fw4BIyImNTQ2NyMDMy8BIwcBldc1ifxl/BU6LCgTD0EjODsuKRnsljQVBRWbmwLB/T8WMxoZFD4MFzIpJjcRAQmcbm8AAgAX/zcB3wH+ADIAPgFKsAorWLIIJwMrss8nAV2yfycBXbJfJwFdsp8nAV2yDycBcbJAJwFdsCcQsADQsAAvshAIAXGyAAgBXbJACAFdtFAIYAgCcbLACAFxsAgQsA3QsA0vsAgQsSwE9LAe0LAa0LAaL7AQ3LAaELAU3LAsELA30LAnELE8BfSyL0ABXbKQQAFyWQCwAEVYsAMvG7EDED5ZsABFWLAiLxuxIgg+WbAARViwFy8bsRcKPlmwIhCwHdCwDtCwFxCwE9yyLAMiERI5sCwvtI8snywCXbRvLH8sAnG0ICwwLAJdsh4sIhESObADELEvAfSwIhCxMwH0sCwQsDfcQQkAYAA3AHAANwCAADcAkAA3AARdtFA3YDcCcTAxAbAKK1iyBQUBXbIWBQFdsholAV2yDCUBXbIJKQFdWQC0BgUWBQJdshglAV2yCSUBXbIGKQFdEz4BMzIeAhUUDgEWFyMGFRQWNxcOASMiJjU0NjcnIw4BIyIuAjU0PgIXNiYjIgYHEzI2NzUmDgIVFBY2JmdFNEYpEQYBBgwXOCwoEw9BIzg7NS0TBRRHOCM4KBYpTGtCBx00J1EfgycuCx85LBohAdIVFxkuQCgsWVZRJBgwGhkUPgwXMikoORFAHy0VJzUhLj8nDwM4MREO/u8jFEEDBA4aFBwf//8AJv/yAhcDZgImACYAAAEHAsMA1AAAAGmwCitYQQ0ArwAkAL8AJADPACQA3wAkAO8AJAD/ACQABl2yDyQBcbKPJAFytG8kfyQCXUEPAJ8AJACvACQAvwAkAM8AJADfACQA7wAkAP8AJAAHcbIPJAFytAAkECQCXbQwJEAkAl0wMVkA//8AIf/yAZsC0AImAEYAAAEHAHYAiQAAADuwCitYtiAiMCJAIgNdtO8i/yICcbL/IgFytI8inyICXbJvIgFysv8iAV2yECIBcrYQIiAiMCIDcTAxWQAAAP//ACb/8gIWA2YCJgAmAAABBgJkXwAALLAKK1iybykBXbTfKe8pAl1BCwAAACkAEAApACAAKQAwACkAQAApAAVdMDFZ//8AIf/yAZsC3AImAEYAAAEGAS8VAABIsAorWLYQJiAmMCYDXbJfJgFdQQsArwAmAL8AJgDPACYA3wAmAO8AJgAFXbJgJgFxQQkAAAAmABAAJgAgACYAMAAmAARxMDFZ//8AJv/yAhYDZgImACYAAAEGAsRpAAA6sAorWLbPIt8i7yIDXbSvIr8iAnK0jyKfIgJdtt8i7yL/IgNxsg8iAXK2ACIQIiAiA12yICIBcTAxWQAA//8AIf/yAZsC3AImAEYAAAEGATAUAABbsAorWLL/IAFdsv8gAXJBEwBfACAAbwAgAH8AIACPACAAnwAgAK8AIAC/ACAAzwAgAN8AIAAJXbIPIAFytAAgECACXUEJAAAAIAAQACAAIAAgADAAIAAEcTAxWQD//wA8//UCYQNmAiYAJwAAAQYCxC8AADKwCitYst8qAXGyjyoBcrTvKv8qAl20ryq/KgJysg8qAXK2ICowKkAqA12ygCoBcTAxWQAA//8AIf/yAo8CvAAmAEcAAAEHAs0BLgAAADewCitYsjAiAV22vyLPIt8iA122jyKfIq8iA3KyXyIBXbIPIgFysn8iAV2ycCIBcbLgIgFdMDFZAAAA////+v/1AncCxgIGAJIAAAACACH/8gIuArwAHAApAdawCitYshwQAyuyEBwBcbIvHAFxsh8cAXKy8BwBXbIwHAFxspAcAV2wHBCwA9CwAtywHBCxGwT0sBfQsCHQsAnQsh8QAXKyrxABXbJ/EAFyso8QAV2ybxABXbJfEAFysi8QAXGyPxABcrIAEAFysBcQsBjcsBAQsScF9LIfKgFdsj8qAV2ykCsBXVkAsABFWLAbLxuxGxQ+WbAARViwEy8bsRMQPlmwAEVYsAgvG7EICD5ZsABFWLANLxuxDQg+WbIaGxMREjmwGi9BCwAPABoAHwAaAC8AGgA/ABoATwAaAAVdsADQsBoQsBfcsmAXAXGyIBcBcrAD0LIJDRMREjmyFhMNERI5sA0QsR0B9LATELEkAfQwMQGwCitYsvgHAXK0Rw5XDgJyQQkAeAAOAIgADgCYAA4AqAAOAARdtMgR2BECXbToEvgSAl20yRLZEgJdtIcmlyYCcbSnKLcoAnFZALaIDpgOqA4DXbQoDjgOAnG0qA64DgJxtEgOWA4CcrJ5DgFdtAkOGQ4CcbTJDtkOAnK0CA8YDwJxtEkPWQ8CcrTGEdYRAl20xRLVEgJdtGUSdRICcrJmEgFdtOYS9hICXbRmEnYSAnG0iSaZJgJxtKYotigCcQEzFSMRFBYXIycjDgEjIiY1NDYzMhYXNSM1MzUzAzI2NzUuASMiBhUUFgHiTEwCCF0SBBRLM15odHAfKBSUlILdJiwJDiIbNzctAoFQ/n8qVDNBIyt8hICOBwhAUDv9pCUj1AsLSlpATv//ADwAAAHgA1gCJgAoAAABBgLIIwAALrAKK1iyvw8BcbL/DwFxsg8PAXK0Tw9fDwJdst8PAXGy/w8BXbQgDzAPAnIwMVkAAP//ACH/8gHZApICJgBIAAABBgBxJQAAM7AKK1iwIy+07yP/IwJysu8jAV1BCQDPACMA3wAjAO8AIwD/ACMABHGycCMBcrAi3DAxWQD//wA8AAAB4ANcAiYAKAAAAQcCZwCDAAAAOrAKK1iykAwBcrL/DAFdsv8MAXGyDwwBcrKvDAFdst8MAXGyMAwBXbYQDCAMMAwDcrQgDDAMAnEwMVn//wAh//IB2QLHAiYASAAAAQYBMn4AAD+wCitYtO8g/yACXbKvIAFyto8gnyCvIANdtO8g/yACcrTvIP8gAnG2DyAfIC8gA3K0MCBAIAJdsjAgAXEwMVkAAAEAPP83AfICvAAdAemwCitYsgEdAyuyIAEBcrLfAQFxsv8BAV2yDwEBcrIQAQFdsnABAV2yMAEBXbIQHQFdst8dAXGyHx0BcbL/HQFdsv8dAXGyDx0BcrI/HQFxsiAdAXKyMB0BXbAdELEIBvSwBNCwARCwBdCwBS+wARCwCdCwCS+yCwkdERI5shkdARESObAZL7AN3LKvDQFxsi8NAV2yrw0BXbAZELAT3LKvEwFdsm8TAV2ywBMBcbIcHQkREjmyTx4BXbKQHwFxshAfAXGygB8BcrKgHwFyssAfAXJZALAARViwAS8bsQEUPlmwAEVYsAovG7EKCD5ZsAEQsQID9LIEAQoREjmwBC+yTwQBXbTfBO8EAl2yLwQBcbSvBL8EAl20TwRfBAJxtL8EzwQCcbEHA/SwChCxCQP0sAoQsBbcstAWAV2ygBYBXbQgFjAWAl2wENyyTxABcbKPEAFdsAoQsBzQMDEBsAorWLJIFwFdtCkXORcCXbJZFwFdsskXAXK0aBh4GAJdskkYAV20iRiZGAJxtqoYuhjKGANxstoYAXKyKBsBcrJIGwFyslkbAXJZALYpFzkXSRcDXbLJFwFysloXAV20aBh4GAJdtqgYuBjIGANxstgYAXKySRgBXbKJGAFxslUbAXK2Jhs2G0YbA3ITIRUhFTMVIxUhFSMGFRQWMzI3Fw4BIyImNTQ2NyE8AZ/+6v39ARsbOhYUEhgTD0EjODsuKf7ZArx6o3qrehYzEhkMPgwXMikmNxEAAgAh/zcB2QICACkAMAHVsAorWLIfFwMrsm8XAV2yLxcBcrJvFwFyso8XAXKyTxcBcrTvF/8XAnGyEBcBXbIwFwFdspAfAV2y0B8BXbJQHwFyspAfAXKy0B8BcrIvHwFysu8fAXGysB8BcrJwHwFysvAfAV2ysB8BXbJwHwFdthAfIB8wHwNdsgAXHxESObAAL7ICABcREjmyEBcfERI5sBAvsATcsBAQsArcshMXABESObAXELEjBPSwLdCwHxCwLtyyMC4BXbSgLrAuAl2yIDIBXVkAsABFWLAaLxuxGhA+WbAARViwEy8bsRMIPlmwAEVYsA0vG7ENCj5ZsBMQsCncsADQsgITKRESObANELAJ3LIjGhMREjmwIy+yICMBcrRgI3AjAl2yUCMBcrQAIxAjAnG0QCNQIwJxsBMQsCbcQQkAXwAmAG8AJgB/ACYAjwAmAARxtE8mXyYCXbbPJt8m7yYDXbIvJgFysr8mAXKwGhCwKtxBCQBQACoAYAAqAHAAKgCAACoABHG0QCpQKgJdsiAqAXKysCoBcrbAKtAq4CoDXbAjELAt3EENAA8ALQAfAC0ALwAtAD8ALQBPAC0AXwAtAAZxsi8tAXJBCQBvAC0AfwAtAI8ALQCfAC0ABF0wMSUGBwYVFB4BNjcXDgEjIiY1NDY3JicmNTQ2MzIeAhUUBgchHgEzMjY3AyIGBzM2JgHJGSkwDBUfFBMPQCM5OxgWdjc4fnImSDgiBQX+1AM7QilBEY8zMQW6BCkrFA8fLQ0VDAEKPgwYNykcLhEBRUd7hIQULk46FTAaP0AZDQEaPTM2Ov//ADwAAAHgA2YCJgAoAAABBgLEGwAAVrAKK1iyIA4BckELAF8ADgBvAA4AfwAOAI8ADgCfAA4ABV2y3w4BcbK/DgFysu8OAXKy/w4BcbIPDgFysv8OAV20IA4wDgJdsiAOAXG0oA6wDgJdMDFZAAD//wAh//IB2QLcAiYASAAAAQYBMCYAACawCitYtN8i7yICcbTvIv8iAl207yL/IgJysr8iAXGyQCIBXTAxWQAA//8AJv/yAjgDZgImACoAAAEGAmRuAAATsAorWLSPL58vAl2yIC8BXTAxWQD//wAh/ywB4ALcAiYASgAAAQYBLzcAACawCitYst8vAV2yvy8BXbIPLwFythAvIC8wLwNdtGAvcC8CcTAxWQAA//8AJv/yAjgDawImACoAAAEGAmJUAABUsAorWLJPNwFxtq83vzfPNwNyQQsAXwA3AG8ANwB/ADcAjwA3AJ8ANwAFXUEJAM8ANwDfADcA7wA3AP8ANwAEcbIPNwFysv83AV20ADcQNwJdMDFZ//8AIf8sAeAC0AImAEoAAAEGATEjAAA1sAorWLL/NgFdsl82AV1BCQDPADYA3wA2AO8ANgD/ADYABHGyDzYBcrLfNgFdsr82AV0wMVkAAAD//wAm/u8COALKAiYAKgAAAQcCwgDaAAAANLAKK1i0ACYQJgJdtt8m7yb/JgNdtG8mfyYCXbLfJgFxsr8mAV2yUCYBcbQwJkAmAl0wMVkAAP//ACH/LAHgAw0CJgBKAAABDwLCAaMB/cABAB+wCitYsvAtAXGykC0BXbSgLbAtAnG04C3wLQJdMDFZAP//ADwAAAJOA2YCJgArAAABBgJkVQAALrAKK1iyIBUBcrL/FQFdtm8VfxWPFQNdst8VAXGyABUBXbJAFQFdsiAVAV0wMVkAAP///9MAAAHtA2YCJgBLAAABBgJklwAADLAKK1iyQCABXTAxWQACAAIAAAKpArwAEwAXAQmwCitYsgwRAyuyYBEBcbKQEQFxsgARAV2wERCwAdCwANyybwABcrK/AAFdsBEQsRAG9LAX0LAE0LKQDAFxshAMAXGykAwBXbLwDAFdstAMAV2yAAwBXbJgDAFxsmAMAXKywAwBcbAMELENBvSwFNCwBdCwDBCwCNCwCdyyUBkBXbLPGQFdshAZAXK0cBmAGQJdshAZAXFZALAARViwAy8bsQMUPlmwAEVYsBAvG7EQCD5ZshcDEBESObAXL7KvFwFdtN8X7xcCXbJPFwFdss8XAXGyBAMXERI5sAQvsAHQsAMQsAbQsAQQsAjQsAQQsBbcsAvQsBAQsA3QsBcQsQ8D9LAWELAS0DAxEzM1MxUhNTMVMxUjESMRIREjESMFNSEVAkuJAQCJSkqJ/wCJSwHU/wACVmZmZmZS/fwBJf7bAgRlZWUAAf/6AAAB+AK8AB4B1rAKK1iyEhwDK7LgHAFdsqAcAXGyvxwBcrLfHAFyskAcAV2yABwBXbIgHAFdsBwQsAHQsADcsBwQsRsE9LAI0LAE0LAF3LJAEgFxsuASAV2yABIBXbJAEgFdsm8SAXKyvxIBcrJgEgFdsiASAV2ykBIBXbQAEhASAnGyYBIBcbKgEgFxsBIQsRME9LIfHwFdsj8fAV2ywCABXbSQIKAgAl2ycCABcrJQIAFyWQCwAEVYsAwvG7EMED5ZsABFWLADLxuxAxQ+WbAARViwGy8bsRsIPlmyBAMMERI5sAQvQQsADwAEAB8ABAAvAAQAPwAEAE8ABAAFXbAB0LAEELAH3LJgBwFxsiAHAXKyCAwbERI5sBsQsBPQsAwQsRcC9LAHELAd0DAxAbAKK1i0Jg42DgJdtOYO9g4CXbQGDhYOAnG0Bw4XDgJdstcOAV2yxw4BcbRnDncOAnKytQ8BcbQHDxcPAl20ahV6FQJxtGgWeBYCcbRJFlkWAnFZALLWDgFdQQkABwAOABcADgAnAA4ANwAOAARdtOcO9w4CXbQHDhcOAnGyxw4BcbRnDncOAnKytg8BcbQHDxcPAl20aRV5FQJxQQkASAAWAFgAFgBoABYAeAAWAARxAzM1MxUzFSMVMz4BMzIeAhURIxE0JiMiBgcRIxEjBkqCoaEEGEY2JjonE4IiLSE3CYJKAoE7O1B1ICYULk86/skBHD02LSP+wQIx////5wAAAT4DWAImACwAAAEGAsirAAA2sAorWLQwB0AHAnG0IAcwBwJdtt8H7wf/BwNdtO8H/wcCcrKABwFytAAHEAcCcbKABwFdMDFZAAD////lAAABKAKSAiYA6QAAAQYAcakAAESwCitYsAcvtK8HvwcCXbIPBwFysv8HAXK2vwfPB98HA3Ky/wcBXbIABwFdtCAHMAcCXbAG3LRgBnAGAl2y8AYBXTAxWQABABb/NgD8ArwAFgGlsAorWLsAAgAGABYABCuybwIBcbQgAjACAl2ykAIBXbJvFgFxspAWAV20IBYwFgJdshIWAhESObASL7IvEgFxtAASEBICXbAG3LIvBgFdsq8GAV2wEhCwDNyyrwwBXbJvDAFdssAMAXGyTxcBXbQPFx8XAl20cBiAGAJdspAYAXG0sBjAGAJdtDAYQBgCcrJQGAFxWQCwAEVYsAAvG7EAFD5ZsABFWLAVLxuxFQg+WbAD0LAVELAP3LQgDzAPAl2ybw8BcrLQDwFdsoAPAV2wCdyyjwkBXbIACQFyMDEBsAorWLQoEDgQAl22uBDIENgQA3K0CRAZEAJdslkQAV22WRFpEXkRA12yiREBcbapEbkRyREDcbYqEToRShEDXbQLERsRAl2ymxEBcbJHFAFytCgUOBQCcrRYFGgUAnJZALQoEDgQAl2yWBABXbQJEBkQAl22uRDJENkQA3JBDQAoABEAOAARAEgAEQBYABEAaAARAHgAEQAGXbS4EcgRAnG0CREZEQJdtJkRqRECcbKKEQFxskMUAXK0JRQ1FAJytFUUZRQCchMzESMOARcUFjMyNxcOASMiJjU0NjcjSokOFxoBFhQRGBQPQSM5Oi4pIwK8/UQMJBkSGQw+DBgzKSY3EQACAA3/NgDzAscAFgAiAl2wCitYuwACAAQAFgAEK7SfAq8CAnK0bwJ/AgJysgACAV2yMAIBXbSfFq8WAnK0bxZ/FgJysjAWAV2yABYBXbISFgIREjmwEi+07xL/EgJxsAbcsi8GAV2yrwYBXbIvBgFxsq8GAXGwEhCwDNyy7wwBXbKvDAFdsk8MAXKyEAwBcrJwDAFdsBYQsBfQsBcvQR0ALwAXAD8AFwBPABcAXwAXAG8AFwB/ABcAjwAXAJ8AFwCvABcAvwAXAM8AFwDfABcA7wAXAP8AFwAOcUENAA8AFwAfABcALwAXAD8AFwBPABcAXwAXAAZysB3csvAdAXG0AB0QHQJyslAdAXK20B3gHfAdA120AB0QHQJdspAdAXG2cB2AHZAdA122MB1AHVAdA3GyHyMBXbSAJJAkAl20wCTQJAJdsnAkAXFZALAARViwAC8bsQAQPlmwAEVYsBUvG7EVCD5ZsAPQsBUQsA/csoAPAV2ywA8BcbQgDzAPAl2yIA8BcbAJ3LKPCQFdsAAQsCDcQQkAwAAgANAAIADgACAA8AAgAARdtAAgECACcbSgILAgAnG2cCCAIJAgA3KwGtyybxoBcrIPGgFxsvAaAXEwMQGwCitYtEgQWBACXbK4EAFytCkQORACXbRIEVgRAl20aRF5EQJdtIkRmRECcbSrEbsRAnG0Kxs7GwJyWQCyFgsBckENACkAEAA5ABAASQAQAFkAEABpABAAeQAQAAZdtroQyhDaEANyQQkASAARAFgAEQBoABEAeAARAARdtKgRuBECcbSJEZkRAnG0Jxs3GwJytEkcWRwCchMzESMOARUeATMyNxcOASMiJjU0NjcjAzQ2MzIWFRQGIyImRoINFxgBFhQRGBMPQCM5Oy4pHhMrJiYvLyYmKwH0/gwOJBcSGQw+DBgzKSY3EQKBHSkpHR0nJ///ADkAAADoA1wCJgAsAAABBgJn/QAAOLAKK1i0IAQwBAJdtO8E/wQCcbIPBAFytt8E7wT/BANdtL8EzwQCcbKABAFytiAEMARABANyMDFZAAEARgAAAMgB9AADAHiwCitYuwACAAQAAwAEK7IAAgFdtG8CfwICcrLgAgFdsjACAV2yAAMBXbRvA38DAnKy4AMBXbIwAwFdsh8EAV2yTwQBXbKwBQFxtIAFkAUCXbJwBQFxstAFAV1ZALAARViwAC8bsQAQPlmwAEVYsAMvG7EDCD5ZMDETMxEjRoKCAfT+DP///+n/9AF5A2YCJgAtAAABBgJk2QAANLAKK1i0vxrPGgJdtI8anxoCXbIPGgFyQQkAAAAaABAAGgAgABoAMAAaAARdsiAaAXEwMVn////m/zABJgLcAiYBLQAAAQYBL6oAAAywCitYsgAXAV0wMVn//wA8/u8CYQK8AiYALgAAAQcCwgChAAAAK7AKK1iy/w8BXbTvD/8PAnGybw8BXbKfDwFxss8PAV22IA8wD0APA10wMVkAAAD//wA5/u8B7QK8AiYATgAAAQYCwncAAD+wCitYsgAPAV2y/w8BXbavD78Pzw8DcbJfDwFyst8PAXKyPw8BcrJPDwFxtK8Pvw8CXbJADwFdsiAPAV0wMVkA//8APAAAAfcDZgImAC8AAAEGAsMsAAAnsAorWLKPCgFxsv8KAXKy/woBXbL/CgFxtDAKQAoCXbIgCgFyMDFZAP//AD3/8gFNA2YCJgBPAAABBgLDCgAAP7AKK1iy/xQBXUERAI8AFACfABQArwAUAL8AFADPABQA3wAUAO8AFAD/ABQACHGyDxQBcrYgFDAUQBQDXTAxWQD//wA8/u8B9wK8AiYALwAAAQYCwnkAACmwCitYtq8GvwbPBgNxsk8GAXKynwYBXbL/BgFxsv8GAV2yQAYBXTAxWQAAAP//AD3+7wEnArwCJgBPAAABBgLCIwAAOLAKK1hBDQCvABAAvwAQAM8AEADfABAA7wAQAP8AEAAGcbIPEAFysl8QAV2y/xABXbIgEAFyMDFZ//8APAAAAfcCvAImAC8AAAEGAs1uAAAqsAorWLLgDAFdso8MAXKybwwBcbL/DAFysv8MAXGywAwBcbJwDAFxMDFZAAD//wA9//IBbgK8AiYATwAAAQYCzQ0AAGWwCitYstAQAXFBCQCvABAAvwAQAM8AEADfABAABF22PxBPEF8QA3GynxABckEJAI8AEACfABAArwAQAL8AEAAEcbL/EAFdtA8QHxACcbZfEG8QfxADXbJgEAFytBAQIBACcjAxWQAAAAABAAMAAAICArwADQD7sAorWLsAAwAGAAIABCtBCwAAAAIAEAACACAAAgAwAAIAQAACAAVdspACAV1BCwAAAAMAEAADACAAAwAwAAMAQAADAAVdspADAV2wAxCwB9CwBtywAhCwCdyyEAkBcbLwCQFdsoAJAV2yYAkBcrJgCQFxsAIQsAzQsA3cWQCwAEVYsAMvG7EDFD5ZsABFWLAKLxuxCgg+WbIFAwoREjmwBS+y6AUBXbLZBQFxsokFAXGyqgUBXbI5BQFxsigFAXKymAUBXbJIBQFdsADQsgEFABESObIEBQAREjmwBRCxBgP0sA3QsgcGDRESObAKELEJA/SyDAYNERI5MDETNxEzFTcVBxUhFSE1BwNEiWRkATL+RUQBPi0BUfVDfULRevEsAAEABv/yAT8CvAAXAXOwCitYuwADAAQAAgAEK7LwAgFyQQsAAAACABAAAgAgAAIAMAACAEAAAgAFXbKwAgFdtIACkAICXbKwAwFdsvADAXK0gAOQAwJdQQsAAAADABAAAwAgAAMAMAADAEAAAwAFXbADELAH0LAG3LACELAP3LIwDwFxsq8PAV2y8A8BXbIADwFxsmAPAV2wAhCwFtCwF9yyYBcBcVkAsABFWLADLxuxAxQ+WbAARViwEi8bsRIIPlmyBQMSERI5sgcFAV2yeAUBcbL3BQFdtIUFlQUCXbAFELAA0LIBAAUREjmyBAUAERI5sAUQsAbQsqcGAV2wF9CymRcBXbIHBhcREjmwEhCxCwL0shYXBhESOTAxAbAKK1iyeBQBXbSJFJkUAl2yiRQBcbJZFAFytnoUihSaFANyssoUAXK0rBS8FAJyWQC2eBSIFJgUA12yiBQBcbJ5FAFyQQkAigAUAJoAFACqABQAugAUAARysssUAXKyXBQBchM3ETMVNxUHFRQWMzI2NxcOASMiJj0BBwZPgmBgEhQMFxEOEEIjOTxPATM1AVT9QH0/myMgBAdmCBA1PYo0//8APP/7AlUDZgImADEAAAEHAsMAygAAAEmwCitYsjAUAXGyjxQBXbJ/FAFxsv8UAXGy/xQBckEJAK8AFAC/ABQAzwAUAN8AFAAEcbL/FAFdsgAUAV2y4BQBXbIgFAFdMDFZAP//ADkAAAHtAtACJgBRAAABBwB2AKQAAAA4sAorWLQQGyAbAl2y/xsBXbJPGwFysv8bAXKyrxsBcrLvGwFxtL8bzxsCXbIwGwFxskAbAV0wMVkAAP//ADz+7wJVAsECJgAxAAABBwLCAMIAAAArsAorWLbfEO8Q/xADXbLfEAFxsp8QAV20fxCPEAJxsgAQAV2yIBABXTAxWQAAAP//ADn+7wHtAgICJgBRAAABBwLCAIoAAABDsAorWLJ/FwFxtk8XXxdvFwNytn8XjxefFwNdst8XAXK2zxffF+8XA3G23xfvF/8XA12yDxcBcbYgFzAXQBcDXTAxWQAAAP//ADz/+wJVA2YCJgAxAAABBgLEYAAAQrAKK1iyYBIBcrJvEgFdsq8SAXGy/xIBcbTvEv8SAnKy3xIBcbL/EgFdsg8SAXGyABIBXbQgEjASAnGyIBIBXTAxWQAA//8AOQAAAe0C3AImAFEAAAEGATA0AAA4sAorWLQQGSAZAl2yvxkBXbL/GQFdsm8ZAXKyDxkBcrLfGQFdsn8ZAV20YBlwGQJxskAZAV0wMVn//wAm//ICeANYAiYAMgAAAQYCyGsAAFOwCitYsCMvslAjAV2yMCMBcbIgIwFysr8jAXGyTyMBXbbfI+8j/yMDcbIPIwFyts8j3yPvIwNdspAjAXG0ACMQIwJxsiAjAV2yACMBXbAi3DAxWQD//wAh//IB+AKSAiYAUgAAAQYAcS8AAFKwCitYsCEvQQkArwAhAL8AIQDPACEA3wAhAARdsk8hAXGyDyEBcrTPId8hAnKyryEBcrRvIX8hAnGy/yEBXbYgITAhQCEDXbIQIQFysCDcMDFZAAD//wAm//ICeANSAiYAMgAAAQcCxwCDAAAAZbAKK1iwJC+yACQBXbL/JAFdtt8k7yT/JANxsg8kAXKyjyQBcrbfJO8k/yQDcrK/JAFysl8kAXK0jySfJAJxtJ8kryQCXbIgJAFxQQkAIAAkADAAJABAACQAUAAkAARdsCncMDFZAP//ACH/8gH4ArwCJgBSAAABBgE2VQAAUbAKK1iwIi+0byJ/IgJdsk8iAXG2ryK/Is8iA3K07yL/IgJxsg8iAXKy/yIBXUELAAAAIgAQACIAIAAiADAAIgBAACIABV2yECIBcrAn3DAxWQAAAAACACb/8gNpAsoADgAnAZmwCitYsh4PAyuyPw8BcbJ/DwFdtBAPIA8CXbJQDwFxsA8QsBfcss8XAV2y3xcBcbJPFwFysm8XAXKy/xcBcbLvFwFdsi8XAV2yvxcBcrEGB/SwDxCwDtCwHdCyUB4BcbQQHiAeAl2wDxCxJQb0sCHQsB4QsCLQsCIvsB4QsCbQsCYvsk8oAV2yDykBXbKvKQFdslApAV2yICkBcVkAsABFWLAeLxuxHhQ+WbAARViwGi8bsRoUPlmwAEVYsCcvG7EnCD5ZsABFWLASLxuxEgg+WbAaELEDA/SwEhCxCwP0sB4QsR8D9LIhHicREjmwIS+0TyFfIQJxtK8hvyECXbIvIQFxtN8h7yECXbJPIQFdsp8hAXG0vyHPIQJxsSQD9LAnELEmA/QwMQGwCitYtAcEFwQCXbKXCAFdsscIAV20BwkXCQJdtEgUWBQCcbKoFAFxtEgZWBkCcbIYGQFyWQC0CAQYBAJdspcIAV2yxwgBXbQHCRcJAl2yqBQBcbRJFFkUAnGyGRQBcrRGGVYZAnGyFhkBcrKnGQFxAS4BIyIGFRQeAjMyNjcVDgEjIi4CNTQ2MzIWFyEVIRUzFSMVIRUBxRU8JUlQEic8Kx01HRNDIExwSSSajyc5FgGf/ur9/QEbAjcLDnV9NVlAJAcMfwcHNGCGUq+9CQV6o3qregADACH/8gMmAgIADQAzAD0CIbAKK1iyJBYDK7RPFl8WAnK0XxZvFgJdsq8WAV2yMBYBXbAWELEABfSycCQBXbLQJAFdsk8kAXKykCQBXbYQJCAkMCQDXbLwJAFdsggWJBESObAIL7EoBPSyDigIERI5shwIKBESObAkELAv0LAvL7AoELA30LAkELA63LSgOrA6Al20IDowOgJdskA6AXGy0D8BXVkAsABFWLAZLxuxGRA+WbAARViwES8bsREIPlmxBQH0sBkQsQsB9LIOERkREjmyHBkRERI5sBkQsB/QsBEQsDLQsjcfMhESObA3L7QvNz83AnG0jzefNwJdsi83AXK0bzd/NwJxsCjcQQkAYAAoAHAAKACAACgAkAAoAARdQQ0AAAAoABAAKAAgACgAMAAoAEAAKABQACgABnGyICgBcrAyELAr3EEJAF8AKwBvACsAfwArAI8AKwAEcbRPK18rAl22zyvfK+8rA12yvysBcrIvKwFysB8QsDTcsrA0AXK0QDRQNAJdsiA0AXK2wDTQNOA0A11BCQBQADQAYAA0AHAANACAADQABHEwMQGwCitYsmgTAXG0yBPYEwJxsmgYAXG0yBjYGAJxsoUiAXJBCQAmACIANgAiAEYAIgBWACIABHGydiIBcrKnLgFdWQCyaBMBcbTJE9kTAnGyZxgBcbTHGNcYAnFBCQAnACIANwAiAEcAIgBXACIABHGytS4BXbKmLgFdtlcuZy53LgNdNxQeAjMyNjU0JiMiBgEOASMiLgI1NDYzMhYXPgEzMh4CFRQGByEeATMyNjcXDgEjIhMiBgczNDY1NCanDBgnGzMyLjcwNgEIGU86PFg7HXxwQlAXF1FAJkg4IgUF/tMDPEIpQRErHmc6b3QzMQW6ASn6ITgqF0pQRVVI/vAhKSZFYjt/iS0bHSsULk46FTAaP0AZDVUYIQGoPTMECAQuMv//ADwAAAJKA2YCJgA1AAABBwLDAIAAAAA9sAorWEEPAJ8AJACvACQAvwAkAM8AJADfACQA7wAkAP8AJAAHcbaPJJ8kryQDXbL/JAFdtDAkQCQCXTAxWQD//wA5AAABXgLQAiYAVQAAAQYAdjsAAHCwCitYQQkAzwAVAN8AFQDvABUA/wAVAARxsg8VAXK07xX/FQJyQREAjwAVAJ8AFQCvABUAvwAVAM8AFQDfABUA7wAVAP8AFQAIXbKvFQFyQQsAAAAVABAAFQAgABUAMAAVAEAAFQAFXbIQFQFxMDFZ//8APP7vAkoCxgImADUAAAEHAsIAqAAAAD6wCitYsv8gAV20zyDfIAJxsl8gAV207yD/IAJysn8gAXFBCQAAACAAEAAgACAAIAAwACAABF2ygCABcTAxWf//ADn+7wFeAf8CJgBVAAABBgLCGQAAL7AKK1iy/xEBcrKvEQFdsv8RAV1BCwAAABEAEAARACAAEQAwABEAQAARAAVdMDFZAP//ADwAAAJKA2YCJgA1AAABBgLEFgAAV7AKK1i0zyLfIgJdst8iAXGy7yIBckEJAG8AIgB/ACIAjwAiAJ8AIgAEXbK/IgFysv8iAV1BCwAAACIAEAAiACAAIgAwACIAQAAiAAVdtCAiMCICcTAxWQD//wAhAAABagLcAiYAVQAAAQYBMOUAAESwCitYsv8TAV2yDxMBcrSvE78TAl2y/xMBcrSvE78TAnFBCwAAABMAEAATACAAEwAwABMAQAATAAVdtIATkBMCXTAxWf//ABv/8gHzA2YCJgA2AAABBwLDAIoAAAA4sAorWEEJAL8AMgDPADIA3wAyAO8AMgAEcbSPMp8yAl223zLvMv8yA12yDzIBcbQgMjAyAl0wMVkAAP//ABn/8gGKAtACJgBWAAABBgB2XwAANLAKK1i0ACsQKwJdtK8rvysCcbRfK28rAl2y/ysBcrTvK/8rAl2ycCsBcrQgKzArAnEwMVn//wAb//IB8wNmAiYANgAAAQYCZCUAAB2wCitYsu83AXGynzcBXbQgNzA3Al2yUDcBXTAxWQAAAP//ABn/8gGKAtwCJgBWAAABBgEv+gAAKLAKK1hBCQAQAC8AIAAvADAALwBAAC8ABF20YC9wLwJxsiAvAXEwMVkAAQAb/y4B8wLKAEAEabAKK1iyHQcDK0ENADAAHQBAAB0AUAAdAGAAHQBwAB0AgAAdAAZdsuAdAV2ywB0BXbIQHQFdshAdAXGwHRCxAAb0tjAHQAdQBwNdsB0QsA/QsA8vsAcQsRYG9LAHELA40LA4L7IgHTgREjmyJAcdERI5sCQvsCvcssArAV2yACsBcbIgKwFdsCQQsDLcskAyAXG0IDIwMgJdsjU4HRESObKvQgFdshBCAXGyYEIBclkAsABFWLAMLxuxDBQ+WbAARViwNS8bsTUIPlmyAzUMERI5tikDOQNJAwNxshoDAXG0ugPKAwJytNsD6wMCXbRaA2oDAnG06QP5AwJxsskDAV2yqQMBcrAMELETA/SyGQw1ERI5sgUZAXG2dhmGGZYZA3G2lhmmGbYZA12y1hkBcrRHGVcZAnG0BxkXGQJdtGcZdxkCXbL2GQFdsjYZAXGylhkBckEJAKUAGQC1ABkAxQAZANUAGQAEcUEPAAUAGQAVABkAJQAZADUAGQBFABkAVQAZAGUAGQAHcrA1ELAg0LA1ELAp3LKAKQFdtCApMCkCcbIgKQFyQQkAAAApABAAKQAgACkAMAApAARdsC/ctC8vPy8CcbA1ELE+A/QwMQGwCitYsogEAV20KAU4BQJdsigFAXGyCQkBcbIpCQFxshoJAXGyCAoBcbKWDwFdtGgQeBACXbIWGwFxtFYbZhsCcrJXGwFdspQeAXKyBR4BcrR2HoYeAnGy9x8BXbIHHwFxtsUi1SLlIgNdsgUiAXGyhiIBXbSmIrYiAl2y9iIBXbTjI/MjAnG0hCOUIwJdssQjAV20pSO1IwJdtNUj5SMCXbIVIwFxsvYjAV20piO2IwJxtHUmhSYCcbImJgFxtkYmViZmJgNxtAcmFyYCXUEJAEcAJgBXACYAZwAmAHcAJgAEXbI3JgFxQREABwAnABcAJwAnACcANwAnAEcAJwBXACcAZwAnAHcAJwAIXbI4NAFdspg0AV2y+TQBXbaaNKo0ujQDcbSaNKo0AnK0fTSNNAJxsg00AXK0Zzl3OQJdWQCyiAMBXbKIBAFdtCgFOAUCXbIpBQFxshUJAXGyBgkBcbInCQFxsgcKAXG2WBBoEHgQA12yiRABXbKIEQFdslcbAV2yFxsBcbRXG2cbAnK0eB6IHgJxsggeAXKymB4BcrIIHwFxsvkfAV200yLjIgJdsoUiAV2yBSIBcbamIrYixiIDXbL2IgFdtpYjpiO2IwNdtNYj5iMCXbIWIwFxtKYjtiMCcbKHIwFdsscjAV205yP3IwJxtAgmGCYCXUEJAEgAJgBYACYAaAAmAHgAJgAEXbIoJgFxtEgmWCYCcbI5JgFxsmkmAXG0eiaKJgJxtAgnGCcCXUEJAEgAJwBYACcAaAAnAHgAJwAEXbQpJzknAl2yODQBXbL4NAFdtKg0uDQCcbZ5NIk0mTQDcbKZNAFysgo0AXKyqjQBcrKYOAFdtHY5hjkCXbZHOVc5ZzkDXbKFOgFdssRAAXElNC4ENTQ+AjMyFhcHLgEjIgYVFB4EFRQGDwEeARUUDgIjIic3FjIzMjY1NCc3LgEnNx4DMzI2AWovR1NHLyI/VjU9bCMrFlgzMDMvR1NHL2dYEikvFyg2Hx8hCQcMBSYWVjBEZRksCyMsMRo9QbwgKCEjM0w7M0syGBUUcw4XJiAeKCIkM0s4X2gNIgQjJBciFwwGMAESDBwEUQIaDnUGDgwIKQABABn/LgGKAgIAOwUnsAorWLIaBwMrtjAaQBpQGgNdtMAa0BoCXbIQGgFdsvAaAV2wGhCxAAT0sn8HAV2yMAcBXbAaELAN0LANL7AHELETBPSyHRoHERI5siEHGhESObAhL0ENAA8AIQAfACEALwAhAD8AIQBPACEAXwAhAAZdsCjcsiAoAV2yHygBcbKgKAFxssAoAV2wIRCwL9yywC8BcbQgLzAvAl2yMgcaERI5sAcQsDXQsDUvsi89AXGyvz0BXbKPPQFdsnA9AXGywD0BcVkAsABFWLAKLxuxChA+WbAARViwMi8bsTIIPlmyAzIKERI5tGoDegMCXbRJA1kDAl20iQOZAwJxsAoQsBHctsAR0BHgEQNdsrARAXK0QBFQEQJdQQkAUAARAGAAEQBwABEAgAARAARxshYKMhESOUEJACYAFgA2ABYARgAWAFYAFgAEXbRmFnYWAnK0xRbVFgJyshMWAXKwMhCwHdCwMhCwJtyywCYBcbJgJgFyQQkAAAAmABAAJgAgACYAMAAmAARdsiAmAXGygCYBXbIeMiYREjmwHi+wJhCwLNyybywBcrQvLD8sAnGwHhCwMdywMhCwOdy0TzlfOQJdQQsAXwA5AG8AOQB/ADkAjwA5AJ8AOQAFcUEJAM8AOQDfADkA7wA5AP8AOQAEXbS/Oc85AnIwMQGwCitYtEgEWAQCcbSJBJkEAnGyygQBcbQIBRgFAl20aAV4BQJdtKgFuAUCXbLoBQFxtEkFWQUCcUENAAgACAAYAAgAKAAIADgACABIAAgAWAAIAAZdQQkAiAAIAJgACACoAAgAuAAIAARxtOkI+QgCXbQICRgJAl20iQmZCQJxspcOAV20JhU2FQJdtAcXFxcCXbSnF7cXAl20phi2GAJdssYYAXG0BxgXGAJdtOcY9xgCXbQHGxcbAl1BCQAHABwAFwAcACcAHAA3ABwABF20hxyXHAJxtEYfVh8CXbQGHxYfAnK0Bx8XHwJdtGcfdx8CXbSlILUgAl22pSC1IMUgA3G0JiA2IAJdtGYgdiACXbTGINYgAl20ByAXIAJdtEUjVSMCcbQmIzYjAnG0ZiN2IwJxtmYjdiOGIwNytAcjFyMCXbRHI1cjAnK0ByQXJAJdsogxAV2ymTEBXbQpMTkxAnGy2TEBcbIqMQFytMox2jECcrRLMVsxAnG06zH7MQJxsowxAXKy+DYBcVkAtIgEmAQCcbRKBFoEAnGyygQBcbQIBRgFAl20aAV4BQJdtEgFWAUCcbSpBbkFAl2y6QUBcbSFCJUIAnG0BggWCAJdQQkAJwAIADcACABHAAgAVwAIAARdtOcI9wgCXbSnCLcIAnG0BwkXCQJdspgOAV20JxU3FQJdtAcXFxcCXbSnF7cXAl205hj2GAJdssYYAXG0BxgXGAJdtKcYtxgCXbQIGxgbAl1BCQAIABwAGAAcACgAHAA4ABwABF20iByYHAJxtAUfFR8CcrRmH3YfAl205h/2HwJdtAcfFx8CXbRHH1cfAl20pSC1IAJxQQkABwAgABcAIAAnACAANwAgAARdtGcgdyACXbTHINcgAl2yxyABcbSoILggAl20aCN4IwJxtAkjGSMCXUEJACkAIwA5ACMASQAjAFkAIwAEcbRJI1kjAnKyiSMBcrRqI3ojAnK0CCQYJAJdsogxAV2yKDEBcrKZMQFdQQkAKQAxADkAMQBJADEAWQAxAARxtMkx2TECcrbaMeox+jEDcbRpNHk0Al2y9DYBcbIFNgFyslc2AV0lNC4ENTQ2MzIWFwcuASMiFRQeBBUUBg8BHgEVFA4CIyInNxYyMzI2NTQnNy4BJzceATMyNgEIIjI8MiJYUzlcGh0XRiQ6IjI8MiJGRRIpLxcoNh8fIQkHDAUmFlYxLEwYJBdMKB0jihQYFBUlOS1KThgPXgkULRIWExYjOCxAUwsiBCMkFyIXDAYwARIMHARTBBcQYQ0ZFv//ABv/8gHzA2YCJgA2AAABBgLELwAAQLAKK1iy/zABXbKfMAFdsg8wAXJBCQAgADAAMAAwAEAAMABQADAABF1BCQBwADAAgAAwAJAAMACgADAABHEwMVn//wAZ//IBigLcAiYAVgAAAQYBMPMAAFKwCitYQQsAAAApABAAKQAgACkAMAApAEAAKQAFXbRvKX8pAnKy/ykBcrTvKf8pAl20vynPKQJysv8pAXG0DykfKQJytGApcCkCcbJAKQFxMDFZAAAAAQAL/y4CLQK8AB0A27AKK1i7AAcABgAAAAQrsAAQsALcsAcQsAXcsggHABESObAHELAM0LAML7Ac3LJPHAFdsAnQsAwQsBPcsAwQsBrcsh0ABxESOVkAsABFWLADLxuxAxQ+WbAARViwES8bsREKPlmwAEVYsB0vG7EdCD5ZsAMQsQID9LAG0LAdELAI0LIJHREREjmwCS9BDQAvAAkAPwAJAE8ACQBfAAkAbwAJAH8ACQAGXbARELAX3LAJELAc3DAxAbAKK1iyNgkBXbImCgFdsjcKAV1ZALI2CQFdsjAKAV2yJAoBXTMRIzUhFSMRIwceARUUDgIjIic3FjIzMjY1NCc32M0CIswbGCkvFyg2Hx8hCQcMBSYWVjkCQnp6/b4rBCMkFyIXDAYwARIMHARfAAEABf8uAVgCdwAsAQiwCitYuwAIAAQAKgAEK7QAKhAqAl2wKhCwAdCwANy0AAgQCAJdsAgQsATQsAXctEAFUAUCXbAqELAP3LIQDwFdskAPAV2wFtCwFi+wJty0DyYfJgJdsk8mAV2wE9CwEtCwFhCwHdywFhCwJNywJhCwJ9CyLy0BXVkAsABFWLAELxuxBBA+WbAARViwJy8bsScIPlmwAEVYsBsvG7EbCj5ZsAQQsAHQsAQQsAPcsAQQsQcB9LAnELELAfSwJxCwEtCyEycbERI5sBMvsBsQsCHcsBMQsCbcsAcQsCvQMDEBsAorWLJXFAFdsncUAV2yWCgBXVkAsnMUAV2yZBQBXbJVFAFdslkoAV0TMzU3FTMVIxUUFjMyNjcXDgEPAR4BFRQOAiMiJzcWMjMyNjU0JzcuAT0BIwVFgnp6FR0UHRIXEywaEikvFyg2Hx8hCQcMBSYWVjIxL0UB9F4lg27ANC4ICGMJDAUiBCMkFyIXDAYwARIMHARUCUdF/P//AAsAAAItA2YCJgA3AAABBgLELgAAQbAKK1i2XwpvCn8KA3G0rwq/CgJytn8KjwqfCgNdst8KAXKyDwoBcrbfCu8K/woDXbQPCh8KAnG0IAowCgJdMDFZAAAA//8ABf/yAXcC0wAmAFcAAAEGAs0WFwA9sAorWEEPAC8AGAA/ABgATwAYAF8AGABvABgAfwAYAI8AGAAHXUEJAK8AGAC/ABgAzwAYAN8AGAAEXTAxWQAAAP//ADn/9AI6A1gCJgA4AAABBgLIVQAAUbAKK1iyUBgBcrZvGH8YjxgDXbJPGAFxtt8Y7xj/GANxsg8YAXKyvxgBcrJ/GAFysr8YAXGy/xgBXbYAGBAYIBgDXbQQGCAYAnKyYBgBcTAxWQAAAP//ADT/8gHxApICJgBYAAABBgBxLgAAVLAKK1iwHS+yvx0BXbIvHQFxtG8dfx0CcUEJAK8AHQC/AB0AzwAdAN8AHQAEcrIPHQFysk8dAXG07x3/HQJdtiAdMB1AHQNdtBAdIB0CcrAc3DAxWf//ADn/9AI6A2sCJgA4AAAABgJiPQAAAP//ADT/8gHxAtACJgBYAAAABgExJAAAAP//ADn/9AI6A14CJgA4AAABBwJoAIQAAABtsAorWLAVL7KQFQFytI8VnxUCXbSPFZ8VAnGy/xUBcbIPFQFytO8V/xUCcrJ/FQFyst8VAXGy/xUBXUEJABAAFQAgABUAMAAVAEAAFQAEXbQQFSAVAnKyIBUBcbAd3LAVELAl3LAdELAq3DAxWQD//wA0//IB8QLnAiYAWAAAAQYBM18AAGCwCitYsBovthAaIBowGgNdtO8a/xoCXbIPGgFytO8a/xoCcrJvGgFyQQkAjwAaAJ8AGgCvABoAvwAaAARxtF8abxoCXbIgGgFysjAaAXGwINywGhCwJtywIBCwLNwwMVn//wA5//QCOgNSAiYAOAAAAQYCx2oAAF2wCitYsBkvQQkAzwAZAN8AGQDvABkA/wAZAARdQQsAvwAZAM8AGQDfABkA7wAZAP8AGQAFcbIPGQFysv8ZAXKyrxkBcrJ/GQFxtgAZEBkgGQNdskAZAV2wHtwwMVkAAAD//wA0//IB8QK8AiYAWAAAAQYBNkcAAFSwCitYsB4vtq8evx7PHgNdtG8efx4CcbIPHgFysu8eAXKyjx4BcrKvHgFxsv8eAV2yfx4BXUELAAAAHgAQAB4AIAAeADAAHgBAAB4ABV2wI9wwMVkAAQA5/zcCOgK8ACQAzbAKK1iyARoDK7IQAQFxsmABAXKyEAEBXbJgAQFxsuABAV2yQAEBXbABELEABPSyQBoBXbL/GgFxsg8aAXGyEBoBXbJgGgFysgcBGhESObIVGgEREjmwFS+wCdywFRCwD9yyFxoBERI5sBoQsRsG9LI/JQFdsrAmAV2y0CYBXbLQJgFxsjAmAXJZALAARViwGy8bsRsUPlmwAEVYsBcvG7EXCD5ZsABFWLASLxuxEgo+WbAbELAA0LIHABcREjmwEhCwDtywFxCxIQP0MDEBMxEUBgcGBwYVFB4BNjcXDgEjIiY1NDcmNREzERQeAjMyNjUBuIIkIB4rLQsWHxQTD0EjODs1/YkPIDAgPzgCvP48RGIgHg8fKg0VDAEKPgwYNyk3JgbtAdX+Rik5Iw9GTgABADT/NwIOAfQAKQEAsAorWLIJKQMrsv8pAV22DykfKS8pA3G0TylfKQJysn8pAXKyMCkBXbIQKQFdsCkQsQAE9LJwCQFxsjAJAV2yLwkBcbL/CQFdsk8JAXKykAkBcbKQCQFdshAJAV2wCRCxCAT0sAkQsA3QsA0vsAgQsB/QsBvQsBsvsBHcsBsQsBXcspArAV2yXysBcbLvKwFdstArAV2yECsBclkAsABFWLAALxuxABA+WbAARViwIy8bsSMIPlmwAEVYsBgvG7EYCj5ZsCMQsQQC9LAAELAI0LAjELAe0LAO0LAYELAU3LIfCCMREjkwMQGwCitYshkmAV2yCiYBXVkAtAgmGCYCXRMRFBYzMjY3ETMRFBYXIw4BFR4BNxcOASMiJjU0NjcnIw4BIyIuAjURth0qJTEMgggIEh0bASsoEw9AIzk7Ni8VBBdSOCY8KBUB9P7kPTYsIAFD/qQpTyAKJRkaGRQ+DBgzKSk6EEQmMhQuTjsBN/////4AAAJSA1gCJgA8AAABBgLFOAAAdLAKK1iwDC+yQAwBcrJ/DAFdsq8MAXGy3wwBcrL/DAFytt8M7wz/DANxsg8MAXJBCQDPAAwA3wAMAO8ADAD/AAwABF1BCQAAAAwAEAAMACAADAAwAAwABF2yYAwBcbQgDDAMAnGwGNyyEBgBcbLAGAFdMDFZ//8AGwAAAgADZgImAD0AAAEHAsMAhgAAAD+wCitYsv8QAV1BCwC/ABAAzwAQAN8AEADvABAA/wAQAAVxtm8QfxCPEANdso8QAXG0MBBAEAJdsiAQAXEwMVkAAAD//wAfAAABpwLQAiYAXQAAAQYAdm0AADqwCitYslAQAV2y/xABXbIPEAFysv8QAXK0jxCfEAJysu8QAXG0zxDfEAJdshAQAXK0ABAQEAJxMDFZAAD//wAbAAACAANcAiYAPQAAAQYCZ34AADywCitYsv8MAV2yDwwBcrKvDAFdsv8MAXKyrwwBcbQwDEAMAl1BCQAwAAwAQAAMAFAADABgAAwABHIwMVn//wAfAAABpwLHAiYAXQAAAQYBMlsAAEOwCitYQQkAzwAMAN8ADADvAAwA/wAMAARdsg8MAXKy/wwBcrRvDH8MAl2yjwwBcrTPDN8MAnGyIAwBXbIwDAFxMDFZAP//ABsAAAIAA2YCJgA9AAABBgLEHAAANLAKK1iyDw4BckEJAF8ADgBvAA4AfwAOAI8ADgAEXbS/Ds8OAnKy/w4BXbQgDjAOAl0wMVn//wAfAAABpwLcAiYAXQAAAQYBMAMAAE2wCitYsg8OAXJBCQDPAA4A3wAOAO8ADgD/AA4ABHJBDQCvAA4AvwAOAM8ADgDfAA4A7wAOAP8ADgAGXbKfDgFysu8OAXGyIA4BXTAxWQAAAAABAAwAAAFzAsQAFQEysAorWLsAEgAEABMABCuykBMBXUEJAAAAEwAQABMAIAATADAAEwAEXbKgEwFxssATAV2wExCwAdCwANywExCwCNyyEAgBcbJwCAFdsuAIAV2yoBIBcUEJAAAAEgAQABIAIAASADAAEgAEXbLAEgFdspASAV20TxdfFwJdst8XAV1ZALAARViwAS8bsQEQPlmwAEVYsAUvG7EFFD5ZsABFWLASLxuxEgg+WbAFELEMAfSwARCxFAH0MDEBsAorWLYoAzgDSAMDXbSYA6gDAnG0CQMZAwJdtCgEOAQCXbLYBAFdspgEAXFZAEEJAAcAAwAXAAMAJwADADcAAwAEXbSXA6cDAnGy1gQBXbKmBAFxssYEAXFBCQAHAAQAFwAEACcABAA3AAQABF2ylwQBcbKJCQFxEzM1NDYzMhYXBy4BIyIOAhURIxEjDEVQTC0+GxoXIhQUFwsDgkUB9BxfVQ0LZQgHDBklGP4MAYYAAf/M/zACLALKACoBfbAKK1i7AAAABQATAAQrskAAAV2wABCwAdCyJgEBXbAL0LALL7JAEwFdsBMQsBLQsBMQsBTQsBQvsBMQsBbQsucWAV2wIdCwIS+ycCEBXbAWELEoBfSwABCwKtCwKi9ZALAARViwHC8bsRwUPlmwAEVYsAYvG7EGCj5ZshYcBhESObAWL7ETAfSwANCwBhCxDwH0sBwQsSQB9LAWELAo0DAxAbAKK1i0BwMXAwJdsucDAV20BgQWBAJdsoYEAV2yRgQBcbQHBRcFAl2yFwwBcbTnDPcMAnGyiBkBXbSZGakZAnG0ShlaGQJdslgaAV2ySRoBXbRpGnkaAl1ZALQIAxgDAl2y6AMBXbQIBBgEAl2yiQQBXbJJBAFxtAgFGAUCXbQEDBQMAnK21QzlDPUMA3GyFgwBcbJ2DAFxssYMAXGypBkBcUEJAEYAGQBWABkAZgAZAHYAGQAEXbKWGQFxsocZAV1BCQBFABoAVQAaAGUAGgB1ABoABF2yGCIBcQEDDgMjIi4CJzceATMyNjcTIzUzNz4DMzIeAhcHJiMiBg8BMxUBVkcGFyk9LA4pKicMFRcqHCQoCT1OYAsGFSU6KxApKigPIDEuIBkGBXcBhv5YJT8vGwQGCQVpCgkxOQF+bkMlNyUSBQkLB2ETHyghbv//ACb/8gI4A2YCJgAqAAABBwLDAOMAAABcsAorWLbfKu8q/yoDXUENAK8AKgC/ACoAzwAqAN8AKgDvACoA/wAqAAZxsg8qAXKybyoBXbKPKgFxtJ8qryoCXUELAAAAKgAQACoAIAAqADAAKgBAACoABV0wMVkAAP//ACH/LAHgAtACJgBKAAABBwB2AKUAAABSsAorWEEJABAAKwAgACsAMAArAEAAKwAEXba/K88r3ysDXbKPKwFxsk8rAXKy/ysBcrKvKwFysu8rAXGy/ysBXbJvKwFdshArAXKyMCsBcTAxWf//ABv+7wHzAsoCJgA2AAABBgLCfQAAN7AKK1iygC4BcbKwLgFysv8uAV20ny6vLgJdtAAuEC4CXbIwLgFysjAuAXG2MC5ALlAuA10wMVkA//8AGf7vAYoCAgImAFYAAAEGAsJRAAA2sAorWLLvJwFytI8nnycCXbL/JwFxsg8nAXJBCwAAACcAEAAnACAAJwAwACcAQAAnAAVdMDFZAAD//wAL/u8CLQK8AiYANwAAAQcCwgCRAAAAPrAKK1i23wjvCP8IA120vwjPCAJxsj8IAXKy/wgBcrKfCAFysg8IAXKyXwgBcbR/CI8IAl20IAgwCAJdMDFZ//8ABf7vAVgCdwImAFcAAAEGAsIxAAAwsAorWLIPGAFyst8YAV2yjxgBcrL/GAFdQQkAIAAYADAAGABAABgAUAAYAARdMDFZAAH/8P8wAMcB9AAOATuwCitYuwABAAQAAAAEK7IAAAFdsg8AAXK0zwDfAAJdtp8ArwC/AANyss8AAXGy4AABXbQwAEAAAl2y4AEBXbIPAQFytM8B3wECXbafAa8BvwEDcrLPAQFxtDABQAECXbIAAQFdsAAQsAfQsAcvsnAQAXGysBABcbSAEJAQAl20YBBwEAJyWQCwAEVYsAEvG7EBED5ZsABFWLAFLxuxBQo+WbEKAvQwMQGwCitYtKYDtgMCcbQHAxcDAl22ZgR2BIYEA3K0BwQXBAJdtMcE1wQCXbSHBJcEAnG0awx7DAJysogNAXJZALQIAxgDAl20qQO5AwJxtAgEGAQCXbSIBJgEAnG0yQTZBAJdtmkEeQSJBANytGYMdgwCcrKFDQFyQQ0AJgANADYADQBGAA0AVgANAGYADQB2AA0ABnITMxEUBiMiJzUyFjMyNjVFgkhPHiIEBgMtGwH0/fdbYAdtAToz//8AJgHPALkCxQIGAiIAAAABADwCJgF8AtwACAFksAorWLAIL7IACAFdsALcsvACAV2yrwIBcrRvAn8CAnGyjwIBXbLvAgFxslACAXKyUAIBcbKwAgFxsgAIAhESObTpAPkAAnGyAQIIERI5QQkAhwABAJcAAQCnAAEAtwABAARxtAcBFwECcUEJAMUAAQDVAAEA5QABAPUAAQAEcbQFARUBAnKwA9yyPwMBcrKfAwFxsgUIAhESObAIELAH3LKvBwFxsk8HAXKyDwcBcVkAsAcvspAHAXKyLwcBXbJvBwFdsq8HAV2ybwcBcbKvBwFxsu8HAXGyzwcBcbKPBwFxsk8HAXGyjwcBXbJPBwFdsg8HAV2y0AcBcrKwBwFysADctAAAEAACcbIQAAFysrAAAXGysAABXbJQAAFdsAcQsAPQsgUABxESOTAxAbAKK1i0ZgF2AQJxtAkEGQQCcbRJBFkEAnK0BAYUBgJxtEcGVwYCclkAtEgEWAQCcrRJBlkGAnITMxcjLwEPASO3Vm9nJxERLWMC3LZCMTFCAAEAPAImAYUC3AAIAUywCitYsAIvsAjcsnAIAXKyUAgBXbTgCPAIAl2yEAgBcrJvCAFxshAIAXGysAgBXbSgCLAIAnGy0AgBcbRACFAIAnGyAAgCERI5tOYA9gACcbIBAggREjm0SgFaAQJyQQkAygABANoAAQDqAAEA+gABAARxtAoBGgECcrQIARgBAnGwAhCwA9xBCQAAAAMAEAADACAAAwAwAAMABHKyUAMBXbZwA4ADkAMDcbTgA/ADAl2yBQIIERI5sAgQsAfcWQCwAS+ykAEBcrIvAQFdsm8BAV2yrwEBXbJvAQFxsq8BAXGy7wEBcbLPAQFxso8BAXGyTwEBcbKPAQFdsk8BAV2yDwEBXbLQAQFysrABAXKwA9y0AAMQAwJxshADAXKysAMBcbKwAwFdslADAV2yBQMBERI5sAfQMDEBsAorWLQFBBUEAnG0CQYZBgJxWQEjJzMfAT8BMwEKW3NuJxASLWUCJrZCMTFCAAEAPAI0AZEC0AAPAUiwCitYsA8vsADQtIYAlgACXbAPELAH3LKwBwFdslAHAXKyjwcBcbbQB+AH8AcDXbJQBwFdsjAHAXGwBtCymQYBXVkAsAwvsvAMAV2yMAwBcbJPDAFxsg8MAV2yTwwBXbJPDAFysm8MAV2yLwwBXbJvDAFxsvAMAXGyEAwBcbIwDAFyshAMAXKwANyyDwABXbJvAAFdsrAAAXGyEAABcrAMELAD3LJvAwFdshADAXGwABCwBtAwMQGwCitYtGcBdwECcUEJAEYACQBWAAkAZgAJAHYACQAEcbQHChcKAl2yGA0BXbRpDnkOAnG0Sg5aDgJxWQC0ZgF2AQJxQQkASAAJAFgACQBoAAkAeAAJAARxsggKAV20CA0YDQJdQQkASQAOAFkADgBpAA4AeQAOAARxsugPAV20CA8YDwJxsvkPAV20KQ85DwJxEx4BMzI2NxcOAyMiJid7ET0iIjkPPAMbLDsiQl4OAtAeHR4dGxgvJBZDOQABADwCPQDiAscACwC1sAorWLAAL7AG3LZwBoAGkAYDXbYwBkAGUAYDcbLwBgFxtAAGEAYCcrJQBgFyspAGAXG20AbgBvAGA120AAYQBgJdsrAGAXJZALAJL7IQCQFxsnAJAXKyDwkBXbJPCQFdss8JAXGyzwkBcrLvCQFxsi8JAXGyLwkBXbKQCQFysrAJAXGy8AkBXbLQCQFdsAPcsg8DAXGybwMBcrLwAwFxMDEBsAorWLRJBFkEAnK0KwQ7BAJyWRM0NjMyFhUUBiMiJjwrJiYvLyYmKwKBHSkpHR0nJwACADwCKQEaAucACwAXAtOwCitYsAAvsgAAAV2wBtyykAYBcbKwBgFytg8GHwYvBgNdtK8GvwYCXbJwBgFyslAGAXGycAYBXbAAELAM3LSvDL8MAl2wBhCwEty0oBKwEgJdWQCwCS+ysAkBcrIPCQFdsk8JAV2y7wkBcrJvCQFxsq8JAXGyzwkBcrLPCQFxso8JAXGyTwkBcbJvCQFdsi8JAV2yjwkBXbKQCQFysnAJAXKwA9yyjwMBckELAA8AAwAfAAMALwADAD8AAwBPAAMABV2y8AMBcbLwAwFdsAkQsA/csAMQsBXcMDEBsAorWLRoAXgBAl22CQEZASkBA12yWQEBXUELADgAAgBIAAIAWAACAGgAAgB4AAIABV1BFQAHAAQAFwAEACcABAA3AAQARwAEAFcABABnAAQAdwAEAIcABACXAAQACl1BEQAGAAUAFgAFACYABQA2AAUARgAFAFYABQBmAAUAdgAFAAhdtgYHFgcmBwNdQQsAVgAHAGYABwB2AAcAhgAHAJYABwAFXbbHB9cH5wcDckELAAcACAAXAAgAJwAIADcACABHAAgABV20aAp4CgJdslgLAV1BCwAJAAsAGQALACkACwA5AAsASQALAAVdtIkLmQsCXVkAslYBAV22BwEXAScBA120ZwF3AQJdtDYCRgICXUEJAGYAAgB2AAIAhgACAJYAAgAEXbYHAhcCJwIDXbJXAgFdtGYEdgQCXUENAAcABAAXAAQAJwAEADcABABHAAQAVwAEAAZdtIcElwQCXUERAAcABQAXAAUAJwAFADcABQBHAAUAVwAFAGcABQB3AAUACF22xgfWB+YHA3K2CAcYBygHA122WAdoB3gHA122CAgYCCgIA120OQhJCAJdQQsACAAKABgACgAoAAoAOAAKAEgACgAFXbZZCmkKeQoDXUELAAgACwAYAAsAKAALADgACwBIAAsABV20iAuYCwJdslkLAV0TNDYzMhYVFAYjIiY3FBYzMjY1NCYjIgY8OTYzPDs0NTpIGA8RFhcQDxgChyo2MS8nNzMrEBEQEREREAABADz/OwEiAAoAEQHOsAorWLAOL7AA3LJwAAFxsi8AAXGyDwABcrKQAAFdtAAAEAACXbAOELAC3LIvAgFxsi8CAV2yrwIBcbAOELAI3LKvCAFdsu8IAV2ycAgBXbAAELAR3FkAsABFWLAALxuxAAg+WbLvAAFysAvcsn8LAXGyXwsBcrLfCwFdtK8LvwsCcrIfCwFytCALMAsCXbLgCwFysAXcsg8FAXKyTwUBcbKPBQFdMDEBsAorWEEJAGgADAB4AAwAiAAMAJgADAAEXUEJACkADAA5AAwASQAMAFkADAAEXbTJDNkMAnJBDQAoAA0AOAANAEgADQBYAA0AaAANAHgADQAGXbSoDbgNAnG0yA/YDwJxsrgPAXK06Q/5DwJdtCgQOBACXbSIEJgQAl206BD4EAJxsrgQAXK0aRB5EAJdtMkQ2RACcVkAtEgMWAwCXbTIDNgMAnJBCQBpAAwAeQAMAIkADACZAAwABF20Kgw6DAJdQQ0AKAANADgADQBIAA0AWAANAGgADQB4AA0ABl20qA24DQJxtIkNmQ0CcbTnD/cPAl2ytw8BcrQmEDYQAl20xhDWEAJxQQkAZwAQAHcAEACHABAAlwAQAARdtOcQ9xACcbK3EAFyJQYVFBYzMjcXDgEjIiY1NDY3AQdMFhQSGBMPQSM4OzcwChY5EhkMPgwXMikpOhEAAQA8AkQBiALTABcBWbAKK1iwAC+yAAABXbAM3LJPDAFdsq8MAV20DwwfDAJdsnAMAXFZALAPL7JwDwFystAPAV2ycA8BcbKwDwFxsi8PAV2yzw8BcbIPDwFdso8PAXKykA8BcbLwDwFdtAAPEA8CcbKwDwFdslAPAXKyMA8BcrAI3LIPCAFxsk8IAXKybwgBXbKvCAFxsAPQsAMvtg8DHwMvAwNdspADAXGwC9CwCy9BCwBfAAsAbwALAH8ACwCPAAsAnwALAAVxsAMQsBTcsA8QsBfQsBcvsuAXAXIwMQGwCitYQQsACAABABgAAQAoAAEAOAABAEgAAQAFXbYFDRUNJQ0DXbQ2DUYNAl2yVw0BXbRoEXgRAl22GRYpFjkWA11ZAEENAAcAAQAXAAEAJwABADcAAQBHAAEAVwABAAZdtDgNSA0CXbYJDRkNKQ0DXbJZDQFdtGkReRECXbYWFiYWNhYDXRM+ATMyHgIzMjY3Fw4BIyIuAiMiBgc8HzUYFCUkIhIOHRAUHTEXFCYkJBIPIBECkiUcDhAODA9GIBgNEA0NEAACADwCOwGPArwABAAJAMiwCitYsAQvsAHcsg8BAV2ysAEBcbJQAQFxsAQQsAnctA8JHwkCXbLvCQFxso8JAV2wBtyyMAYBcbKQBgFdWQCwBC+yEAQBcbKwBAFxsvAEAXGykAQBcrIvBAFdsu8EAXKyDwQBXbJPBAFdsrAEAXKyEAQBcrLQBAFxsjAEAXGy8AQBXbLQBAFdsADctg8AHwAvAANdsi8AAXG2jwCfAK8AA12wBdCwBBCwCdAwMQGwCitYtAkAGQACXbSFA5UDAl20igWaBQJxWRMzFQcjNzMVByNfd0xO1X52UQK8EHGBEHH///7PAjb/iALQAAcAdv6TAAAAAAACAAwAAAI/AsEABQALATiwCitYsgQBAyuyXwEBcbL/AQFxss8BAXGyEAQBXbIQBAFxsgIBBBESObKIAgFdssgCAV2yWAIBXbL4AgFdsgMEARESObJXAwFdsscDAV2y9wMBXbABELAG0LJFBgFxtMYG1gYCcbLHBgFdtEkGWQYCXbIWBgFdQQkABgAGABYABgAmAAYANgAGAARxspUGAV2yVAYBcbAEELAH0LKIBwFdtMkH2QcCcUEJAAkABwAZAAcAKQAHADkABwAEcbKaBwFdslsHAXGySgcBcbTJB9kHAl2yGQcBXbK4BwFdtEYHVgcCXbIKBAEREjlZALAARViwAi8bsQIUPlmwAEVYsAAvG7EACD5ZsAbcsAIQsArQsnoKAXEwMQGwCitYsugIAV20CAgYCAJxsngIAXGyeQkBcVkAsncIAXEzNRMzExUlIQMnIwcM8U/z/l8BDnAXBRhHAnr9hkd0ASpkZQABADoAAALQAsoAMwJpsAorWLITCQMrsh8JAV2y/wkBXbIACQFdsAkQsADQsAAvtDATQBMCXbJwEwFdsgATAV2yUBMBcbATELAc0LAcL7ATELEkB/SwCRCxLAf0sh8kLBESObAfL7JPHwFdtA8fHx8CXbIxLCQREjmwMS+yQDEBXbQAMRAxAl1ZALAARViwDi8bsQ4UPlmwAEVYsDMvG7EzCD5ZsQAB9LIxDjMREjmwMS+0LzE/MQJdsi8xAXGyzzEBXbAD3LK/AwFdsBnQsAAQsBzQsDMQsB3QsDEQsB/QsA4QsSkD9DAxAbAKK1iySAIBcrSoBLgEAl20CAQYBAJxslgFAV2yyAUBXbSpBbkFAl22yAbYBugGA120SQZZBgJxsrcHAV202QvpCwJdsogMAV205hD2EAJxsoYRAV201hHmEQJdtsYW1hbmFgNdslcXAV22pxe3F8cXA120RxdXFwJxtKYYthgCXbQHGBcYAnGyiCEBXbKIIgFdsogmAV20qCa4JgJdtAomGiYCcbQIJxgnAl20CCcYJwJxtAkoGSgCcbQFKhUqAnG0ByoXKgJdsocvAV1ZALJGAgFytKkEuQQCXbQJBBkEAnGyWAUBXbapBbkFyQUDXbRJBVkFAnG2yAbYBugGA12ytwcBXbTXC+cLAl2yhwwBXbTnEPcQAnGyhxEBXbK3FQFdssgWAV202RbpFgJdslgXAV20qBe4FwJdsskXAV20SRdZFwJxtKkYuRgCXbQJGBkYAnGyhiIBXbKIJgFdtKgmuCYCXbQIJhgmAnG0CCcYJwJdtAgnGCcCcbQIKhgqAl20CCoYKgJxsocvAV03Mxc1Jy4DNTQ+AjMyHgIVFA4CDwEVNzMVITU+AzU0LgIjIgYVFB4CFxUhOmlVLh40JxYvV3pKTntULRgnMxsxVWr+1Bo3LR0ULEc0WWAcLDcb/tVuDRwJDi5CVTRJdVItL1R2SDRTQC0OChwNbssEGi1DLyVIOSJmZS1DLRkEywABABP/+gKWAfQAHQDZsAorWLIdEQMrsk8dAV2yLx0BcrIPHQFysi8dAV2y8B0BXbIQHQFxsB0QsAfcsnAHAV2wHRCxDgT0sn8RAXGywBEBXbIQEQFxsBEQsRAE9LARELAX3LIQFwFdsBbQsB0QsBzcWQCwAEVYsBsvG7EbED5ZsABFWLAQLxuxEAg+WbAARViwCi8bsQoIPlmxAwH0sBsQsRwB9LAO0LAS0LAbELAW3DAxAbAKK1i0qAu4CwJdtIkLmQsCXbIYGAFdWQBBCQCIAAsAmAALAKgACwC4AAsABF2yFxgBXSUUFjMyNjcXDgEjIiY1ESMRIxEjIgYHJz4BMyEVIwI2Eg4KGQkUFD8tOCqMgg4SGwxME0s1AeNTnBwWBAJaCRM8NAEc/noBhhQYMDM3bv//ADwAAAHgA1gCJgAoAAABBgLFFgAAWrAKK1iwDC+2XwxvDH8MA12y/wwBXbL/DAFxsg8MAXKy/wwBcrLfDAFxQQkArwAMAL8ADADPAAwA3wAMAARdtCAMMAwCXbIQDAFxsBjcsvAYAXGywBgBXTAxWQAAAAEAC//5Ar4CvAAlAVKwCitYuwAAAAYAAQAEK7ABELAD3LAAELAG3LAAELAI0LABELAQ3LKQEAFdshAQAV2ycBABXbIQEAFxslAQAXGyFgEQERI5sBYvsBAQsR0H9LLwJwFxWQCwAEVYsAQvG7EEFD5ZsABFWLAALxuxAAg+WbAARViwEy8bsRMIPlmwBBCxAwP0sAfQsgsEExESObALL7KQCwFdslALAV2wExCxGgL0sAsQsSID9DAxAbAKK1i01g3mDQJdtNUO5Q4CXbIlDgFxsvYOAV20Bg4WDgJxtNYR5hECXbIGEQFysvcRAV20BxEXEQJxsgYSAXG01xLnEgJdsnccAXGyeCABcVkAtNcN5w0CXbTWDuYOAl2y9w4BXbTYEegRAl20CBEYEQJxsggRAXKy+REBXbQIEhgSAl2y+BIBXbIIEgFxtNkS6RICXbIZEgFxsnUcAXGyeSABcSEjESM1IRUjFT4BMzIeAhUUBiMiJic1HgEzMjY1NC4CIyIGBwFhic0CIswQRDYnSzwlcn8cGwgHIREyNRIgLBoXMwsCQnp6jwYQFDNXQ3R7AgJ1AgE6OSIrGAgMBv//ADwAAAHTA2YCJgFMAAABBwLDAIAAAAAzsAorWLafCq8KvwoDcbIfCgFdtt8K7wr/CgNxsg8KAXK2jwqfCq8KA120MApACgJdMDFZAAAAAAEAJv/yAiUCygAkAjawCitYshIKAyu0QBJQEgJdssASAV2yDxIBcrTfEu8SAnGycBIBXbIAEgFdsuASAV2wEhCwANCwAC+ybwoBXbTfCu8KAnGyTwoBcrIPCgFyso8KAV2yLwoBcrJQCgFdsAoQsRsH9LASELAc0LAcL7AbELAe0LAeL7IvJgFdspAmAXGysCYBcVkAsABFWLAPLxuxDxQ+WbAARViwBS8bsQUIPlmwDxCxFgP0shwPBRESObAcL7JPHAFdtN8c7xwCXbKvHAFdsi8cAXGyXxwBcbEdAfSwBRCxIQP0MDEBsAorWLKICAFdsjgIAXGyiAwBXbIoDAFxstgMAXGyiAwBcrKZDAFytAgTGBMCcbRmGHYYAnGyFxgBXbQHGBcYAnG2NxhHGFcYA3GyFhkBXbQGGRYZAnGyZRoBcrKHGgFdtjcaRxpXGgNxslcaAXK2VR9lH3UfA3KyFh8BXbIHHwFdtKcftx8CXbSmILYgAl1BCQAmACAANgAgAEYAIABWACAABHFZALKICAFdsjkIAXGyhgwBcrKHDAFdsicMAXGy1wwBcbKXDAFyssgTAV2y2RMBXbQJExkTAnG06hP6EwJdshgYAV20CBgYGAJxsmgYAXG2ORhJGFkYA3GyehgBcbQIGRgZAl20CBkYGQJxsogaAV2yWRoBcrY6GkoaWhoDcbJqGgFyshYfAV2ydh8BcrSnH7cfAl1BCQAnACAANwAgAEcAIABXACAABHGytiQBXbaHJJckpyQDXSUOAyMiLgI1ND4CMzIWFwcuASMiDgIHIRUhHgEzMjY3AiUPLTM2GkF0VzQ6XXM6PFobGhdHLSM/MSMHARP+6gtnWC1GFh0LEQoFJ1eLY2eLVSUQC3cLDRUsQi1wWWsSDf//ABv/8gHzAsoCBgA2AAD//wBKAAAA0wK8AgYALAAAAAMAEwAAARYDWAALABcAGwE9sAorWLsAGgAGABsABCuyjxsBcbKQGwFdsiAbAV2wGxCwANCwAC+2HwAvAD8AA3JBCQAvAAAAPwAAAE8AAABfAAAABHG20ADgAPAAA12yAAABcbAG3LLABgFdslAGAXGy0AYBcbJgBgFysAAQsAzcQRMADwAMAB8ADAAvAAwAPwAMAE8ADABfAAwAbwAMAH8ADACPAAwACV20bwx/DAJxtt8M7wz/DANdsu8MAXGwEtyy0BIBcbLAEgFdslASAXGyYBIBcrKPGgFxsiAaAV2ykBoBXbQ/HE8cAl20DxwfHAJdshAdAXG0QB1QHQJxsnAdAV20oB2wHQJdssAdAXJZALAARViwGC8bsRgUPlmwAEVYsBsvG7EbCD5ZsBgQsAncsAPcsq8DAV2yLwMBXbIwAwFysA/QsAkQsBXQMDETNDYzMhYVFAYjIiY3NDYzMhYVFAYjIiYHMxEjEx8dHB8fHB0fjB8cHR8fHRwfUImJAxgfISEfHiAgHh8hIR8eICA+/UT////p//QBDAK8AgYALQAAAAL/8//2A5ACvAAvAEIB0LAKK1iyJi8DK7KfLwFxst8vAXGy/y8BXbK/LwFdso8vAV2yny8BcrJ/LwFxskAvAV2yAC8BXbAvELAa3LJPGgFdsQEE9LAaELAO3LIfDgFdsn8OAV2wLxCxQAb0sBzQspAmAV2yMCYBcbIQJgFxst8mAXGyjyYBXbKfJgFytAAmECYCXbJQJgFxsnAmAV22MCZAJlAmA12wJhCxNQf0si9EAV1ZALAARViwGi8bsRoUPlmwAEVYsAsvG7ELCD5ZsABFWLApLxuxKQg+WbAaELEBA/SwCxCxEgP0siEaKRESObAhL7KQIQFdslAhAV20ACEQIQJdtNAh4CECXbQAIRAhAnGwKRCxMAP0sCEQsToD9DAxAbAKK1i0Jgc2BwJdsnYHAXG0KRY5FgJdtCgXOBcCXbKYFwFdtGYjdiMCXbL1JAFdsgUkAXK0ZiR2JAJdtAYkFiQCcbIXJAFyssUnAV201ifmJwJdssYnAXG0RydXJwJxsmczAXGyeTgBcVkAtCgHOAcCXbJ4BwFxtCYWNhYCXbQnFzcXAl2ylxcBXbRmI3YjAl20ZyR3JAJdsvckAV20ByQXJAJxshckAXKyyCcBcbbJJ9kn6ScDXbJlMwFxASMOAwcOAyMiJic3HgEzMjY3PgM3IRU+AzMyHgIVFAYjIi4CJyM3Mj4CNTQuAiMiDgIHFR4BAaqVBAoRHBYOIyYlEBcfDw8GDAYQHwsPFhEKAgGdBRcbHAwxXEcqlYsMJCswFiXNHDImFRclMhsHFBQRBAslAkJfnH1gIxceEgcHB3YCAhATFlWEt3r7AQMCAhQzV0N4egECBANwCxssICIrGAgCAgMB0QMDAAIAPP/2A6sCvAAcAC8BUbAKK1iyCQQDK7LfCQFxspAJAV2yQAkBcrAJELEIBvSwANCy/wQBXbIfBAFxst8EAXGwBBCxBQb0sAHQsAkQsBTctKAUsBQCXbRAFFAUAl2yIBQBXbJwFAFdsjAUAXGyEBQBcrEiB/SwCRCwLNCyHzABXVkAsABFWLAFLxuxBRQ+WbAARViwAi8bsQIIPlmwAEVYsBcvG7EXCD5ZsgYFAhESObAGL7JPBgFdsgAGAXKxAQP0sAUQsAjQsg8FFxESObAPL7AXELEdA/SwDxCxJwP0MDEBsAorWLRnEXcRAl2y9RIBXbKlEgFytGYSdhICXbQHEhcSAl20BxIXEgJxtFUVZRUCcrbGFdYV5hUDXbLHFgFdsnglAXFZALRnEXcRAl20ZxJ3EgJdtAcSFxICcbKnEgFytsgV2BXoFQNdsmkVAXKyyBYBXbJmIAFxsnklAXEBIREjETMRIREzET4DMzIeAhUUBiMiLgInNzI+AjU0LgIjIg4CBxUeAQHF/wCJiQEAiQUXGxwMMVxHKpSMDjA3OhfNHzMkExQkMx4HFBQRBAslATH+zwK8/u8BEf72AQMCAhIwVEN4cwIDBQNtChkpHyAnFggCAgQBwQMDAAEACwAAAswCvAAZATOwCitYshEBAyuyMAEBXbJPAQFyso8BAV2yzwEBcrJvAQFxsjABAXKy8AEBcbABELEABvSwARCwA9ywABCwBtywABCwCNCywBEBcbIAEQFdsmARAV20MBFAEQJdsuARAV2y8BEBcbIwEQFysBEQsRIG9LIvGwFdsq8bAV2yUBsBcVkAsABFWLAELxuxBBQ+WbAARViwAC8bsQAIPlmwBBCxAwP0sAfQsgsEABESObALL7AAELAS0LALELEWAvQwMQGwCitYtCYNNg0CcbQHDRcNAl2ylw0BXbImDgFxtIYOlg4CcrQHDhcOAl2ylw4BXbRHDlcOAnGyeBQBcVkAsjYNAXG0Bw0XDQJdspcNAV2yJw0BcbKWDgFyspcOAV2yJw4BcbRHDlcOAnGyhw4BcrJ5FAFxISMRIzUhFSMVPgEzMh4CHQEjNTQmIyIGBwFhic0CIswZVzwqRjMciTA2JkIUAkJ6erEPGhYuSjT4zjw7ERH//wA8AAACYQNmAiYALgAAAQcCwwCaAAAAN7AKK1iyrxMBcbZfE28TfxMDXbJPEwFxQQ0ArwATAL8AEwDPABMA3wATAO8AEwD/ABMABl0wMVkAAAD////3//kCRgNqAiYBXAAAAQYCySwAACWwCitYtO8l/yUCcrbfJe8l/yUDXbS/Jc8lAnK0MCVAJQJdMDFZAAAAAAEAPP9RAkMCvAALAUewCitYsgYBAyuyIAEBcrI/AQFxsh8BAXKy/wEBcbQQASABAl2y0AEBXbJAAQFdsAEQsQIG9LJQBgFxtCAGMAYCcrTvBv8GAnGyHwYBcrJwBgFxskAGAV20EAYgBgJdsAYQsQUG9LILAQYREjmwCy+ynwsBXbAI3LQvCD8IAl2ywAgBcbIJCAsREjlBGQBHAAkAVwAJAGcACQB3AAkAhwAJAJcACQCnAAkAtwAJAMcACQDXAAkA5wAJAPcACQAMcbQHCRcJAnKyCgsIERI5ttcK5wr3CgNxQQkABwAKABcACgAnAAoANwAKAARysj8MAV2y0A0BcrL/DQFdsi8NAXGy8A0BcrKwDQFdsqANAXJZALAARViwAi8bsQIUPlmwAEVYsAsvG7ELCD5ZsQMD9LACELAF0LALELAI0LALELAK3LIfCgFxMDEzETMRMxEzESMHIyc8ifWJyA9YFAK8/b4CQv1Er6///wAAAAACXQLBAgYAJAAAAAIAPP/2Ah4CvAAWACcBYrAKK1iyDBYDK7KwDAFdsr8MAXGy3wwBcUENAAAADAAQAAwAIAAMADAADABAAAwAUAAMAAZdspAMAV2ycAwBXbAMELAB0LABL7LfFgFxsh8WAXGy/xYBXbYgFjAWQBYDXbIAFgFdsBYQsSUG9LAE0LAMELEcB/SyHygBXVkAsABFWLABLxuxARQ+WbAARViwES8bsREIPlmwARCxAgP0sgcBERESObAHL7ARELEXAvSwBxCxIQL0MDEBsAorWLL2CQFdtGcJdwkCXbRnCncKAl2y9woBXbQHChcKAnGyFwoBcrRFDlUOAnG0tQ7FDgJxtsYO1g7mDgNdstYOAXGypw4BcbK3DgFysqYPAXFZALL3CQFdtAYKFgoCcbIWCgFytGcKdwoCXbL3CgFdtsgO2A7oDgNdtEgOWA4Ccba4DsgO2A4DcbJIDgFysqkOAXGyuQ4BcrKpDwFxsmUaAXGyah4BcRMhFSEVPgEzMh4CFRQOAiMiLgInNzI+AjU0LgIjIgYHFR4BPAGv/toRMRg4XkMmJ0lnQBEzOTgW1RotIhQWJjEcDioICy0CvHqSAwYWM1M8O1g6HgIEBgVgDRsqHiQsGQgFAtUDAv//ADz/9gIpAsYCBgAlAAAAAQA8AAAB0wK8AAUAlrAKK1i7AAIABgADAAQrsvACAV2yAAIBcbQgAjACAnK0MAJAAgJdsgACAV20IAMwAwJysgADAV2y8AMBXbIAAwFxtDADQAMCXbADELAF3LJwBQFdsmAFAXGyEAUBcbJQBQFdssAFAXKyHwYBXbLgBwFdWQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbAFELEAA/QwMQEhESMRIQHT/vKJAZcCQv2+ArwAAgAA/4MCogK8AA8AFQGusAorWLIODAMrspAOAV2yUA4BcbKPDgFxst8OAXGyDw4BcbLPDgFdsuAOAV2ycA4BXbKgDgFysA4QsA/QsA8vsAHcsh8BAXFBCwAgAAEAMAABAEAAAQBQAAEAYAABAAVdsrABAXGyjwwBcbLPDAFdst8MAXGyoAwBcrAMELAG0LAGL7JgBgFdsATcsr8EAXFBCwAvAAQAPwAEAE8ABABfAAQAbwAEAAVdshAEAXGwDhCxEAb0sAwQsBLcsi8SAXKyLxIBXbKvEgFdslAXAV204BfwFwJdspAXAXJZALAARViwDC8bsQwUPlmwAEVYsAMvG7EDCD5ZsATcsiAEAV2yoAQBXbAB0LADELEVA/SwB9CwFRCwDtCwDBCxEgP0MDEBsAorWLJ1EwFxtLUTxRMCcbRGE1YTAnGy1hMBcbJHEwFdtGcTdxMCXbLUFAFxsvUUAV20RRRVFAJxtGYUdhQCXbTWFOYUAl20BhQWFAJxsmYUAXG0thTGFAJxskcUAV2ylxQBXbL2FQFdtAYVFhUCcVkAtLgTyBMCcbJIFAFdtGgUeBQCXbZIFFgUaBQDcQUjJyEHIzUzPgMnIREzIxEjDgEHAqJhD/4+D2FKByAgFgEBo1nimwYtF319ffcLTIvRj/2+Aciy4zP//wA8AAAB4AK8AgYAKAAAAAH/+QAAA00CvAAZAgWwCitYuwANAAQADgAEK7JgDQFysh8NAXKycA0BXbIQDQFdsA0QsALQsA0QsArcskAKAV2wBNC0egSKBAJdQQ0AqgAEALoABADKAAQA2gAEAOoABAD6AAQABl20CgQaBAJxtFkEaQQCXbKZBAFdsAXctIAFkAUCXbRjBXMFAnG04AXwBQJdtAAFEAUCcbJQBQFxshAFAV2yBwUCERI5spYHAV2wChCwCdy2cAmACZAJA12yEAkBXbbQCeAJ8AkDXbQACRAJAnGycA4BXbIfDgFysmAOAXKyEA4BXbAOELAR3LJPEQFdsBLctt8S7xL/EgNdtA8SHxICcbZ/Eo8SnxIDXbIfEgFdsBEQsBfQtCoXOhcCcUELALUAFwDFABcA1QAXAOUAFwD1ABcABV20BRcVFwJxsBbcsh8WAV223xbvFv8WA120DxYfFgJxtn8WjxafFgNdtE8WXxYCcbRsFnwWAnGwDhCwGdCyFBYZERI5si8bAV2yEBsBcVkAsABFWLABLxuxARQ+WbAARViwDS8bsQ0IPlmyDAENERI5sAwvspAMAV2wAtC0SgJaAgJdsAEQsATQsgcCDBESObANELAK0LIZAQ0REjmwGS+yTxkBXbAP0LRFD1UPAl2wDRCwEdCyFBkPERI5sAEQsBfQMDEBsAorWLJZCwFdWQCyaAMBXbJnEAFdATMRNxMzAwcXEyMDIxEjEQcDIxM3JwMzEzMBXoIjkZqjLzm4paEngiShoLc2NKufkScCvP7JDgEp/s0iKv7DATD+0AE8Dv7SATMnJQE9/tUAAQAS//IB6wLIADkCbbAKK1iyGyoDK7KgKgFxso8qAV2y3yoBXbIfKgFxsg8qAXKyXyoBcbL/KgFdsr8qAV2yACoBcbJAKgFxsiAqAXGyABsBcbJAGwFxsoAbAXGywBsBcbKQGwFysr8bAV2y3xsBXbIwGwFysqAbAXGyYBsBcbIgGwFxsuAbAV2yEBsBXbIAKhsREjmwAC+wGxCxCgf0sCoQsBHQsBEvsh4bABESObKWHgFdsBsQsCLQsCIvsTMH9LJgOwFyWQCwAEVYsBYvG7EWFD5ZsABFWLAnLxuxJwg+WbIBFicREjmwAS+yLwEBcbJPAQFdsl8BAXGxAAH0sBYQsQ0D9LIeAAEREjmwJxCxLgP0MDEBsAorWLKWCwFdtAcYFxgCXbTkGfQZAnG2RRlVGWUZA3GylhkBXbQmGTYZAnGylh0BcrLnHQFdtjcdRx1XHQNxsuceAV2yliABcbanILcgxyADcbYXICcgNyADcrKVIQFxttYk5iT2JANdsmckAXG2Zyt3K4crA12ymCsBXbKHMAFxspk1AXG0uTXJNQJxWQC2RwhXCGcIA3GylwsBXbKWDAFdQQkAWAAQAGgAEAB4ABAAiAAQAARdspkQAV2yKRABcrQHGBcYAl2ylhkBXbImGQFxQQkANwAZAEcAGQBXABkAZwAZAARxtOcZ9xkCcbKZHQFdsukdAV2ymR0BcrY6HUodWh0DcbLpHgFdtjYgRiBWIANxspYgAXG0tiDGIAJxthYgJiA2IANysqcgAXGy+CQBXbTZJOkkAl2yaiQBcbSGK5YrAl20Zyt3KwJdsocwAXGyZTEBcbS6Nco1AnGynDUBcRM1MzoBPgE3PgE1NCYjIgYHJz4DMzIeAhUUBgcVHgEVFA4CIyImJzceATMyPgI1NCYnJiIjeBgJGhsaCCMyPTItThQjCyk1PiAsVEIoNz1BSS5LYjNCbB0jF1Y7Fi0kFkZaDAwPATZrAQMCCCkjMCMYC3QGDg0IEChDNDRYFAUNVkg5UTQZFg93CxcLGSgcLzACAQABADwAAAJdArwADwIKsAorWLIOBgMrsk8GAXKy3wYBcbL/BgFdsg8GAXGyHwYBcrIABgFysiAGAV2wBhCxBwb0sATQstQEAXG2RARUBGQEA3G0tQTFBAJxsoYEAV2yNwQBXbI2BAFxtAUEFQQCcbJEBAFytFMEYwQCcrJzBAFxsiAOAV2ycA4BXbLgDgFdsgAOAXKy7w4BcbIQDgFxsmAOAXKyUA4BXbKQDgFdssAOAXKwDhCxDwb0sAzQsokMAV22ugzKDNoMA3GySwwBcrRcDGwMAnKyfAwBcbZLDFsMawwDcbQJDBkMAl2yOQwBXbK4DAFdsk8QAV2yHxABXbLAEQFxsnARAV2ywBEBXbLwEQFxsqARAV1ZALAARViwBy8bsQcUPlmwAEVYsA8vG7EPCD5ZsAcQsAzQsgEMDxESObAPELAE0LIJBAcREjm0BAkUCQJdsoQJAV2ykwkBXTAxAbAKK1iyZQMBcbQGAxYDAnGy9wMBXbKnAwFytAgLGAsCXbKYCwFdsvgLAV2yqAsBcbTZC+kLAl2yGQsBcbJ5CwFxtrkLyQvZCwNxtFkLaQsCcrIKCwFxtLsLywsCclkAsvgDAV20CAMYAwJxsqgDAXKyagMBcbQFCxULAl2ydQsBcbS1C8ULAnKy9gsBXbS2C8YLAnGylwsBXbTXC+cLAl2yFwsBcbKnCwFxstcLAXG0VwtnCwJyATcjBwEjETMRBzM3ATMRIwHUCAUv/vtniQoGMQEFZokBhFte/n8CvP6DXmEBev1E//8APAAAAl0DagImAVEAAAEGAslZAAApsAorWLIAHgFyst8eAXGy/x4BXbIAHgFdtIAekB4CXbQgHjAeAl0wMVkAAAD//wA8AAACYQK8AgYALgAAAAH/8//5AjMCvAAdAQmwCitYshwaAyuyHxoBcrKvGgFxshAaAV2wGhCxAQT0sBoQsA7csh8OAV2yfw4BXbIQHAFdshAcAXGyHxwBcrKvHAFxsuAcAV2yQBwBcrJgHAFxsBwQsR0G9LI/HwFdsj8fAXFZALAARViwGi8bsRoUPlmwAEVYsB0vG7EdCD5ZsABFWLALLxuxCwg+WbAaELEBA/SwCxCxEgP0MDEBsAorWLJHBAFdsnYHAXG0Jgg2CAJdtCgVOBUCXbQoFjgWAl20iBeYFwJdtNgX6BcCXbQpFzkXAl1ZALJIBAFdsngHAXG0KQg5CAJdtCYVNhUCXbQnFjcWAl20JRc1FwJdspYXAV201xfnFwJdASMOAwcOAyMiJic3HgEzMjY3PgM3IREjAaqVBAoRHBYOIyYlEBcfDw8GDAYQHwsPFhEKAgGdiQJCX5x9YCMXHhIHBwd2AgIQExZVhLd6/UT//wA8AAAC5AK8AgYAMAAA//8APAAAAk4CvAIGACsAAP//ACb/8gJ4AsoCBgAyAAAAAQA8AAACQwK8AAcAs7AKK1iyBgMDK7IgAwFysj8DAXGyHwMBcrL/AwFxtBADIAMCXbLQAwFdskADAV2wAxCxAgb0slAGAXG0IAYwBgJytO8G/wYCcbIfBgFysnAGAXGyQAYBXbQQBiAGAl2wBhCxBwb0sj8IAV2ywAkBcbL/CQFdsi8JAXGy0AkBcrKwCQFdsqAJAXJZALAARViwBC8bsQQUPlmwAEVYsAIvG7ECCD5ZsAQQsQED9LACELAH0DAxASMRIxEhESMBuvWJAgeJAkL9vgK8/UT//wA8AAACIwLGAgYAMwAA//8AJv/yAhYCygIGACYAAP//AAsAAAItArwCBgA3AAAAAf/3//kCRgK8ABYCNbAKK1iyBRUDK7JPFQFysp8VAXKy3xUBcrK/FQFysm8VAXKy/xUBcbKPFQFxsrAFAV20AAUQBQJxsnAFAXGyMAUBcrIGBQFdsr8FAXK0KQU5BQJdskEFAV2ywAUBcbJQBQFxsuAFAV20gAWQBQJdshAFAV2yARUFERI5shcBAV2wBRCxBAf0slcEAV2yDhUFERI5sA4vsBUQsBbctGAWcBYCcrIQFgFdttAW4BbwFgNdtAAWEBYCcbSDFpMWAl20hBaUFgJyskQWAXJBCwAwABYAQAAWAFAAFgBgABYAcAAWAAVxsnAWAV1BCQAAABYAEAAWACAAFgAwABYABHKywBYBckEJAKAAFgCwABYAwAAWANAAFgAEcbIvGAFdWQCwAEVYsBYvG7EWFD5ZsABFWLALLxuxCwg+WbIBCxYREjmwFhCwBNCwCxCxEgP0MDEBsAorWLIFAAFxshcAAV2y9wABXbIJAwFxshcGAV22VghmCHYIA12yFwgBXbL3CAFdshYJAV20Zgl2CQJdsgcJAV20Jwk3CQJdslcJAV20hwmXCQJytOcJ9wkCcrJXCgFdspcTAV2ylxQBXbIoFAFdsjkUAXFZALL3AAFdtGgAeAACXbIYCAFdsvgIAV20aQh5CAJdsloIAV2yCAkBXbJICQFdthkJKQk5CQNdtlkJaQl5CQNdtOoJ+gkCcrSLCZsJAnKyWQoBXbbVD+UP9Q8DcrTnD/cPAnGyBw8BcrKZEwFdsigUAV0BFzM3EzMDDgMjIiYnNx4BMzI3ATMBJhQGEGmNuhYpLzonISkYIxEcEC8T/vqhAYdbXgEy/hw5VDcbCQ9vCQRKAf8AAwAa/+wDCQLQACUANABBArewCitYshsIAyuyAAgBcbI/CAFdss8IAV2yrwgBcbLvCAFxss8IAXKyzwgBcbIfCAFxtI8InwgCXbJgCAFdsuAIAV20oAiwCAJdspAbAV204BvwGwJdsgAbAXG0UBtgGwJxsgAbAXKykBsBcrKQGwFxsjAbAXGysBsBXbJQGwFdshAbAV2yJQgbERI5sCUvsuAlAXGwENCwJRCxJAX0sBPQsCQQsCrQsBsQsTIG9LAlELA40LAIELE/BvSyD0MBXbJPQwFdsk9DAXFZALAlL7AARViwES8bsREUPlmyAyURERI5sAMvsi8DAXGyDRElERI5sA0vsBbQsBYvsAMQsCDQsCAvsBYQsSYB9LAgELEtAfSwAxCxNQH0sA0QsTwB9DAxAbAKK1iySAUBXbRIBVgFAnG0OAVIBQJyslkFAV2yyQUBXbJIBgFdtskG2QbpBgNdskgKAV2yOAsBcbJJCwFdsskLAV2yxRgBXbRGGFYYAl201hjmGAJdtEYYVhgCcbLEGQFdskYZAV2yRhkBcrJGHQFdsscdAV2yRh4BXbI2HgFxslceAV2yxx4BXbIILwFyssovAXGyOy8BcbI4MAFxsikwAXGyKTMBcbI7MwFxsvo0AXGy9j0BcbIGPQFysuc9AXGyNj4BcbInPgFxtCZANkACcVkAslgFAV2ySQUBXbRJBVkFAnG0OQVJBQJyssoFAV2ySAYBXbTYBugGAl2yyQYBXbJHCgFdsncKAXKyNgsBcbJHCwFdsscLAV20RxhXGAJdsscYAV20RxhXGAJxskcZAV2yxxkBXbJHGQFyskkdAV2yyR0BXbLIHgFdtEkeWR4CXbI5HgFxsjUvAXGyBi8BcrQnMDcwAnG0KTM5MwJxsvk0AXG06T35PQJxsgs9AXKyKT4BcbI6PgFxsiZAAXGyN0ABcSUOASMiLgI1ND4CMzIWFzUzFT4BMzIeAgcWDgIjIiYnFSMTDgEHERYyFz4DJzYmATI2NxEuASMiBhUUFgFOEygXMFI9IyNBWjcNJgyGEzEPMVI9IgEBJkJXMhAlD4a5CiIMCRkLHDAkFAEBQP7fCCELChoLN0pETAMCIUVpSERrSygCA1VYBQMjR2lFR2xJJQMEYgImAQID/qwCAQEULEIvUFr+pQEEAVMCAVVdUVj//wAKAAACbgK8AgYAOwAAAAEAPP+DApkCvAALALewCitYsgkEAyuyEAkBXbIfCQFyst8JAV20MAlACQJdsiAJAXKwCRCwC9CwCy+wAdyyHwEBcUELACAAAQAwAAEAQAABAFAAAQBgAAEABV2ysAEBcbIgBAFysj8EAXKyHwQBcrIQBAFdtDAEQAQCXbAEELEFBvSwCRCxCAb0WQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbAB3LKgAQFdsiABAV2wAhCxCgP0sAfQsAUQsAjQMDEFIychETMRMxEzETMCmWEP/hOJ8YlafX0CvP2+AkL9vgABAC4AAAIiArwAFQC0sAorWLIJFQMrss8VAXGyUBUBXbIwFQFdsBUQsQAG9LJQCQFdsuAJAV2yAAkBcbSACZAJAl2yMAkBXbJgCQFysAkQsQgG9LAM0LIPFwFdWQCwAEVYsAAvG7EAFD5ZsABFWLALLxuxCwg+WbIPAAsREjmwDy+xBAL0sAAQsAjQMDEBsAorWLI5EQFxtIgSmBICcrY5EkkSWRIDcVkAsjkRAXGyOBIBcbRJElkSAnG0ihKaEgJyExUUFjMyNjcRMxEjEQ4BIyIuAjURty82JkMUiYkaVzwqRTMcArzePDsREQEz/UQBGg8ZFS9JNAEJAAEAPAAAAyECvAALAQ2wCitYsgYBAyuyEAEBcbIAAQFdsiABAXKyQAEBXbIgAQFdsAEQsQIG9LIgBgFdsmAGAV2yEAYBcbIgBgFyso8GAXGy7wYBcbKvBgFxsq8GAV2yYAYBcbKQBgFdskAGAV2yAAYBXbJgBgFysAYQsQUG9LAK3LKQCgFdsu8KAXGyrwoBXbKPCgFxsq8KAXGyYAoBXbJgCgFxsmAKAXKxCQb0sh8MAV2ywA0BcbJgDQFdso8NAXGyLw0BcbKvDQFxsq8NAV20gA2QDQJdsqANAXKyYA0BcbLADQFyWQCwAEVYsAIvG7ECFD5ZsABFWLAALxuxAAg+WbEDA/SwAhCwBdCwAxCwB9CwBRCwCdAwMTMRMxEzETMRMxEzETyJpYmliQK8/b4CQv2+AkL9RAABADz/gwN9ArwADwEYsAorWLIGAQMrtgABEAEgAQNdsiABAXKyQAEBXbABELECBvSyQAYBXbKQBgFdsiAGAXKyjwYBcbLvBgFxsq8GAXGyrwYBXbJgBgFxsmAGAV22AAYQBiAGA12yYAYBcrAGELEFBvSwCtyykAoBXbKvCgFxsu8KAXGyrwoBXbKPCgFxsmAKAV2yYAoBcbJgCgFysQkG9LAKELAM0LAML7AO3LIfDgFxQQsAIAAOADAADgBAAA4AUAAOAGAADgAFXbKwDgFxsk8RAXGyrxEBXbJgEQFdssARAXFZALAARViwAi8bsQIUPlmwAEVYsA8vG7EPCD5ZsQsD9LAI0LAE0LACELAF0LAJ0LAPELAO3LKgDgFdsiAOAV0wMTMRMxEzETMRMxEzETMVIyc8iaWJpYlcYA8CvP2+AkL9vgJC/b73fQAC//z/9gKBArwAFgApAWOwCitYsg4WAyuyfxYBXbI/FgFxsl8WAXGyHxYBXbIAFgFdsBYQsAHQsAEvsBYQsScG9LAE0LIQDgFxsrAOAV2yUA4BXbIADgFdspAOAV2y8A4BXbJwDgFxspAOAXGwDhCxHAf0spArAXFZALAARViwAi8bsQIUPlmwAEVYsBEvG7ERCD5ZsAIQsQED9LIJAhEREjmwCS+0AAkQCQJdspAJAV200AngCQJdslAJAV20AAkQCQJxspAJAXGwERCxFwP0sAkQsSED9DAxAbAKK1i0Zwt3CwJdsgQMAXKy9gwBXbIWDAFytGcMdwwCXbQHDBcMAnGyxg8BXbTXD+cPAl20Rw9XDwJxtLcPxw8CcbKnGgFxsmgaAXGyeB8BcVkAtGcLdwsCXbRnDHcMAl2y9wwBXbQHDBcMAnGyFwwBcrbID9gP6A8DXbRID1gPAnG0uA/IDwJxsmUaAXGypRoBcbJ6HwFxEyM1IRU+AzMyHgIVFAYjIi4CJzcyPgI1NC4CIyIOAgcVHgGbnwEoBRcbHQwxW0cqlIwOMDc5GM0cMiYVFyUyGwcUFBEECyUCQnr7AQMCAhQzV0N4egEEBgZpCxssICIrGAgCAgMB0QMDAAMAPP/2AuECvAADABYAJQHLsAorWLIOBAMrsiAEAXKyHwQBcrYgBDAEQAQDXbIABAFdsAQQsAPQsAMvspADAV2yvwMBcbI/AwFdsvADAV2ycAMBXbJQAwFdsQIG9LAEELEFBvRBDQAAAA4AEAAOACAADgAwAA4AQAAOAFAADgAGXbIfDgFysnAOAV2yIA4BcrAOELEaB/SwBRCwItC0wCfQJwJdsmAnAXK0PydPJwJxssAnAXGyECcBXbJwJwFxtHAngCcCXVkAsABFWLAFLxuxBRQ+WbAARViwAy8bsQMIPlmwAEVYsBEvG7ERCD5ZsAUQsADQsgkFERESObAJL7QACRAJAl2ykAkBXbTQCeAJAl2yUAkBXbQACRAJAnGykAkBcbARELEXA/SwCRCxHwP0MDEBsAorWLRnC3cLAl2yJQwBcrRmDHYMAl2y9gwBXbQGDBYMAnGyFgwBcrLUDwFytsYP1g/mDwNdtEcPVw8CcbRoHHgcAnG0uBzIHAJxWQC0Zwt3CwJdtGcMdwwCXbL3DAFdtAcMFwwCcbInDAFyshgMAXKyyA8BXbRID1gPAnG02Q/pDwJdstoPAXK2RRlVGWUZA3GypRkBcbJpHAFxsnocAXG0uhzKHAJxATMRIwEzFT4BMzIeAhUUBiMiLgInNzI2NTQuAiMiBgcVHgECWImJ/eSJCzAXMltEKI6MDiwzNhfEOUcUIi4bDiYICx8CvP1EArz7AgYUM1dCenkBBAYGaTU+ISoYCQUD0QMDAAIAPP/2AiICvAAUACcBebAKK1iyDBQDK7IgFAFysh8UAXGy/xQBXbI/FAFxsgAUAV22IBQwFEAUA12wFBCxJQb0sALQQQ0AAAAMABAADAAgAAwAMAAMAEAADABQAAwABl2ykAwBXbJQDAFxsnAMAXGysAwBXbJwDAFdspAMAXGyIAwBcrAMELEaB/SyHygBXVkAsABFWLABLxuxARQ+WbAARViwDy8bsQ8IPlmyBwEPERI5sAcvslAHAV200AfgBwJdtAAHEAcCcbKQBwFdtAAHEAcCXbKQBwFxsA8QsRUD9LAHELEfA/QwMQGwCitYtGcJdwkCXbIVCgFysvYKAV20BgoWCgJxsgYKAXK0Zwp3CgJdssYNAV20tg3GDQJxtNcN5w0CXbRHDVcNAnGypxgBcbJoGAFxsngcAXFZALRnCXcJAl2yFgoBcrRnCncKAl2y9woBXbQHChcKAnGyBwoBcrbIDdgN6A0DXbRIDVgNAnG0uA3IDQJxsqUYAXGyZhgBcbJ6HAFxEzMVPgMzMh4CFRQGIyIuAic3Mj4CNTQuAiMiDgIHFR4BPIkFFxscDDFcRyqViw4vODkYzRwyJhUXJTIbBxQUEQQLJQK8+wEDAgIUM1dDeHoBBAYGaQsbLCAiKxgIAgIDAdEDAwABABT/8gIYAsoAJAHQsAorWLISGgMrsrASAV2y8BIBcbJQEgFysu8SAXKynxIBcbIPEgFysjASAXKysBIBcbJAEgFdsgASAV2wEhCxAQb0tm8afxqPGgNdsu8aAV20DxofGgJysp8aAXGyzxoBXbLvGgFysrAaAV2wGhCwCtCwCi+wARCwI9CyJBoSERI5sCQvsi8mAV1ZALAARViwDS8bsQ0UPlmwAEVYsBcvG7EXCD5ZsgANFxESObAAL7RvAH8AAl22DwAfAC8AA3G03wDvAAJdsk8AAV2yXwABcbANELEGA/SwFxCxHgP0sAAQsSQB9DAxAbAKK1iyGAMBXbIWCQFysogJAV20KAk4CQJytEYPVg8CcbKHDwFdsqcPAXGyhxABXbKHFAFdsjcUAXG05xT3FAJxstYbAXKyhxsBXbL3GwFysrgbAXKy6BsBcrIYIQFdWQCyGAMBXbIYBAFdtAkIGQgCcbL4CQFdtlkJaQl5CQNdtAkJGQkCcbIJCQFytIoJmgkCXbYaCSoJOgkDcrRGD1YPAnGypg8BcbKHDwFdsocQAV2yiBQBXbI4FAFxtOgU+BQCcbLFGwFytOUb9RsCcrKWGwFdstYbAXKyhxsBXbK3GwFyshchAV0TIS4DIyIGByc+ATMyHgIVFA4CIyImJzceATMyPgI3IYIBDQMbLkQrNlAZHSNqNEV1VTA4XnpCOV0cJBdOMydCMyAE/vIBmihDMBsXDnQSGSZXi2RojFQkFA13CxMWL0gzAAIAPP/yA1sCygAWACYCZ7AKK1iyCREDK7IfEQFxso8RAXGyABEBXbLQEQFysBEQsBTQsBQvsv8UAV2ysBQBcbETBvSwANCwERCwAdCyMAkBXbQACRAJAl2yjwkBcbJgCQFystAJAXK2YAlwCYAJA120MAlACQJysBEQsRcG9LAJELEfB/SyHycBXbJwKAFxsjAoAV1ZALAARViwFi8bsRYUPlmwAEVYsAQvG7EEFD5ZsABFWLATLxuxEwg+WbAARViwDC8bsQwIPlmyABYTERI5sAAvsl8AAXG0vwDPAAJxsi8AAXGyTwABXbESA/SwDBCxHAP0sAQQsSQD9DAxAbAKK1iySAIBXbKYAgFdsvgCAV20CAIYAgJxskgDAV20qAO4AwJdsvgDAV2ymQMBXbKVBgFyspYGAV2y9gYBXbKGBgFysscGAXGylQsBcrKXCwFdsvcLAV2yxwsBcbLFGQFdsjYZAXGylhkBcbS3GccZAnGyxBoBcbJ1GgFxspUaAXGyZhoBcbSmGrYaAnG0uB3IHQJxtGkdeR0CcbKXHgFdsskhAV2yaCIBcbJ5IgFxsqkiAXGydSUBcbJmJQFxsqYlAXGylyUBcbLHJgFdWQC0BwIXAgJxtKYDtgMCXbJHAwFdspcDAV2yxgYBcbL3BgFdspcGAXKymAsBXbL4CwFdsskLAXGymQsBcrKKCwFysvkOAV2ylxkBcbS3GccZAnGyxBoBcbJmGgFxtpYaphq2GgNxsncaAXGydh0BcbKmHQFxtLcdxx0CcbKYHgFdsskhAV2yeSIBcbJqIgFxsqoiAXGyeCUBcbKpJQFxspolAXGyyCYBXRMzPgEzMh4CFRQGIyIuAicjESMRMxMUHgIzMjY1NC4CIyIGxV0NjoBMbEUhkI5CZUYoBl2JiekPITcoSUUNIDcqSEcBn4+cNGCGUq+9LFByRf7bArz+ojVZQCRygDNYQiV1AAIABQAAAgcCxgAWACUCDLAKK1iyAAwDK7IwAAFxsgAAAV2yUAABcbJQAAFdsiAAAV2wABCxAQb0sgAMAV2ybwwBcrQPDB8MAnGyMAwBcbIgDAFdsAwQsAXQsAUvsh8FAV20RwVXBQJdsncFAV2wBNC20QThBPEEA3KyAQQBcbJBBAFysmIEAXGykgQBXbTjBPMEAl2ygwQBXbSUBKQEAnG0hASUBAJysgUEAXKyBQQBXbLVBAFdsiYEAXGyxgQBXbJ2BAFysmYEAV2y9gQBcbJ1BAFdsjUEAXGyhQQBcbIUBAFdshQEAXK2owSzBMMEA3K0QwRTBAJxtLIEwgQCcbQiBDIEAnKycQQBcbLRBAFxshAEAXG0UARgBAJysAEQsCLQsgcMIhESObIZBwFdsAwQsRwH9LLgJwFxsrAnAV2y0CcBXVkAsABFWLARLxuxERQ+WbAARViwAS8bsQEIPlmyAhEBERI5sAIvsAEQsATQsAIQsAfQsBEQsRcD9LACELAi3EEJAA8AIgAfACIALwAiAD8AIgAEcbRvIn8iAl0wMQGwCitYspQDAV2y9AMBXbIUAwFxsoUDAV2yBQMBcbLmAwFdsggIAXGyGQkBcbKICgFdttgO6A74DgNdtCcZNxkCcrKnGgFxsmYfAXFZALIKCAFxtAoJGgkCcbKICgFdstcOAV2y9w4BXbQqGToZAnKyqRoBcbJmHwFxISMRBwMjPwEuAzU0PgIzMh4CFwciDgIVFB4COwE1LgECB4lIkp+QPCA4KhgsTmw/ESwvLRK8GzAkFRQkMBwzCxcBFRP+/ukrCCE0Ry0/VjUXAgQGBWkKGCohHysbDNkCA///ABf/+AHHAf4CBgBEAAAAAgAh//IB+ALXAB8AKwLHsAorWLIGDAMrsn8MAXKyfwwBXbJfDAFysl8MAV2ynwwBcrLgDAFdsAwQsSAF9LIADCAREjmyEAYBXbJgBgFdssAGAV2ygAYBXbIwBgFdsuAGAV2yAAYBcbIWDAYREjmwFi+wBhCxJgX0suAtAXGyry0BXbIQLQFysqAtAXGywC0BcVkAsBYvsABFWLAJLxuxCQg+WbJfFgFdsq8WAV2yAxYJERI5sAMvsBYQsBPQsBMvsBYQsRcC9LATELEaAvSyHwMJERI5sAkQsSMB9LADELEpAfQwMQGwCitYtCQENAQCcbTlBPUEAl2yhgQBXbQGBBYEAnGydwQBXbJ2BQFdtOYF9gUCXbQGBRYFAnGyhwUBXbLXBwFdtNcH5wcCcbLZCgFdsmcLAV2yyAsBcbJJCwFxspcOAV20aA94DwJxskgQAV20qBC4EAJdshgQAXGyZhgBXbJXGAFdtncYhxiXGANdsscYAV2yhCEBcrJVIQFxsoUhAXGyRiEBcbSXIachAnGypSIBcbSmIrYiAl2yViIBcbKXIgFxsrkkAV2yqCUBXbJYJQFxspglAXGyqSUBcbLIJwFxsrknAXGyVisBcbSXK6crAnFZALTlBPUEAl2ydgQBXbQGBBYEAnGyhwQBXbQnBDcEAnGyhgUBXbJ3BQFdtOcF9wUCXbIHBQFxtNgH6AcCcbLZCAFdstgKAV2yOAoBcrRXC2cLAl2yyQsBcbKZDgFdsscPAV20NxBHEAJdtqcQtxDHEANdshcQAXG0ZxB3EAJxtGgYeBgCXUEJAJgAGACoABgAuAAYAMgAGAAEXbJZGAFdsokYAV2yViEBcbSGIZYhAnGyhiEBcrKnIQFxsqYiAV2ypiIBcbK3IgFdslciAXGylyIBcbK3JAFdsqYlAV20liWmJQJxslclAXG0uCfIJwJxslkrAXGyqSsBcbKaKwFxEz4BMzIWFRQGIyImNTQ+BDc+ATcXDgEHDgMHFxQWMzI2NTQmIyIGjh1POFtrem90ehQlMz9IKDRKEgUUSj8mOioZBhwyNDYvLDM3NQGWLCdvdYeMmqNWelQyHQwEBQ8RdBENBQIOJEE1okBUTEhBRkgAAwA5//gB1gH8ABMAHgApAs2wCitYsgYTAyuyUAYBcbIQBgFdsg8GAXGy7wYBcbJvBgFysk8GAXKyLwYBcbKvBgFdsnAGAXGyUAYBXbIwBgFdsk8TAXKyLxMBcbIPEwFxsm8TAXKyHxMBcrYQEyATMBMDXbATELEUBPSwKdCyCQYpERI5sAYQsA3QsA0vthANIA0wDQNxsRoE9LAGELEiBPSyTyoBXbIgKwFyssArAV1ZALAARViwAy8bsQMQPlmwAEVYsBAvG7EQCD5ZsikDEBESObApL7RvKX8pAnG0zynfKQJdtI8pnykCXbAe3LIgHgFyQQkAYAAeAHAAHgCAAB4AkAAeAARdtkAeUB5gHgNxsgkpHhESObAQELAX3LRPF18XAl2yLxcBcrbPF98X7xcDXUEJAF8AFwBvABcAfwAXAI8AFwAEcbADELAl3LbAJdAl4CUDXbRAJVAlAl2yICUBckEJAFAAJQBgACUAcAAlAIAAJQAEcTAxAbAKK1i0BgQWBAJdssYEAV20JwQ3BAJdtKcEtwQCXbLEBQFdtKUFtQUCXbLVBQFdtAUFFQUCcbLlBQFxQQ0ApQAFALUABQDFAAUA1QAFAOUABQD1AAUABnK0BgUWBQJdtOYF9gUCXbTGBdYFAnGy9gUBcbQnBTcFAl20BgcWBwJxtOYH9gcCcrRGC1YLAnG0BgsWCwJytGYLdgsCcraWC6YLtgsDcrLnCwFxsocLAXK0ZQ51DgJxssYOAV20Bw4XDgJdtKcOtw4CXbQnDjcOAnJZALQGBBYEAl22pgS2BMYEA120JwQ3BAJdtKYFtgUCXbLWBQFdtMYF1gUCcbQnBTcFAl2yxwUBXbTnBfcFAl20BwUXBQJxtAgHGAcCcbQFCxULAnK0pQu1CwJytEYLVgsCcbLmCwFxtIYLlgsCcrRnC3cLAnK0KA44DgJytAkOGQ4CXbapDrkOyQ4DXbRpDnkOAnETPgEzMhYVFAYHFR4BFRQGIyImJzceATMyNjU0JisBNzI2NTQmIyIGBxU5I2M5bl0oKzYwc38qXiN/DhgSNi4nMkNFICkjLhcbCwHzAwY/PyNCDwQMPTBLSgUEYwICHh8aIVAfGBobAgFpAAEAOQAAAXwB9AAFAI2wCitYuwACAAUAAwAEK7I/AgFxsv8CAV2yPwIBcrQAAhACAl2yQAIBXbL/AwFdsj8DAXKyPwMBcbQAAxADAl2yQAMBXbADELAF3LJQBQFxsnAFAXKy8AUBXbJQBQFdsi8HAV2ysAcBXVkAsABFWLAFLxuxBRA+WbAARViwAi8bsQIIPlmwBRCxAAL0MDEBIxEjESEBfL2GAUMBgf5/AfQAAv/+/44CKgH0AA8AFwGPsAorWLIODAMrsh8OAXKyjw4BXbJvDgFysm8OAV2y/w4BXbJ3DgFyshAOAV2wDhCwD9CwDy+wAdyyYAEBckELACAAAQAwAAEAQAABAFAAAQBgAAEABV20bwx/DAJytm8MfwyPDANdsh8MAXKyTwwBXbL/DAFdshAMAV2wDBCwB9C0aAd4BwJdsokHAV206gf6BwJxsqoHAV20CQcZBwJxspkHAXG06Af4BwJdshgHAV2wBtCwBi+wBNyybwQBckELAC8ABAA/AAQATwAEAF8ABABvAAQABV2wDhCxEAT0sAwQsBLcsu8SAXGwF9CyphcBcbIQGQFxWQCwAEVYsAwvG7EMED5ZsABFWLADLxuxAwg+WbAE3LLABAFdskAEAV2y4AQBcbAB0LADELEOAvSwB9CwDhCwENCwEC+wDBCxEgH0MDEBsAorWLKICQFdtGgJeAkCcbLpCQFdsugKAV20CAoYCgJxtGgKeAoCcbSJCpkKAnFZALRmCXYJAnGyhwkBXbQHChcKAnG0hwqXCgJxBSMnIQcjNTM+AzUhETMHESMOAwcCKl8P/rAPXzsIGRkSAVxJy2kCCg8UDHJycuULNVyIXf5/BgEZJFFMQhb//wAh//IB2QICAgYASAAAAAH/+gAAAroB9AAZBAywCitYuwAXAAQAGAAEK7IfGAFysk8YAXKyfxgBXbIvGAFxsv8YAXG0ABgQGAJdsBgQsAHQtAQBFAECcbKmAQFysucBAV2y+AEBXbJ6AQFdsscBAXGyBwEBcrRkAXQBAnG0hAGUAQJdshQBAV2wAtCyRwIBXbLYAgFdtOkC+QICXbJpAgFytMoC2gICcbbbAusC+wIDcrJ7AgFytAwCHAICcbSLApsCAl2yWgIBcbJ6AgFxsmkCAXGyOQIBcrIIAgFdsrYCAV2y4wIBcbAG0LInBgFdsokGAV2ymwYBXbTpBvkGAl20ZwZ3BgJxsucGAXGwGBCwCdCyBAYJERI5shgEAV2yRwQBXbK2BAFdsAYQsAfQttQH5Af0BwNyssUHAXKyBwcBcrKHBwFdsvcHAV2ylgcBXbRlB3UHAnGyhAcBcrQDBxMHAnG0ABcQFwJdsi8XAXGyfxcBXbJPFwFysgAXAXKy4BcBcbKQFwFysBcQsAzQsBcQsBTQsvYUAV2yVxQBcbKnFAFdtAoUGhQCcbIbFAFdtGsUexQCcbSKFJoUAl2yhxQBcbLXFAFdskYUAXGydRQBXbAT0LLSEwFxsgMTAXG21BPkE/QTA3K0hBOUEwJdtOUT9RMCXbQlEzUTAnKydRMBcrIVEwFdsgYTAV2yZxMBXbIXEwFysjcTAV2ySRMBXbKHEwFxstcTAV2yRhMBcbJ2EwFdssUTAXKyVRMBcrK1EwFxssQTAXGyVBMBcbJjEwFxsoMTAXKychMBcbIQEwFxsA/QtDgPSA8CXbJYDwFxstgPAXG06Q/5DwJdsgkPAXGymQ8BcbIpDwFdsrkPAV2yug8BcbKqDwFdshoPAXGyeQ8BXbI5DwFysskPAXGySQ8BcbQIDxgPAl2y+A8BcbKoDwFxsncPAXGylQ8BXbAO0LLYDgFdsggOAV2yiQ4BXbI5DgFysloOAXGy2g4BcbKbDgFdsgwOAXGyHQ4BcbbbDusO+w4DcrR7DosOAnKyGg4BXbLKDgFyskkOAXGyyQ4BcbI4DgFxsqcOAV2ylw4BcbIRDA8REjmySBEBXbJZEQFdshcRAV20hxGXEQJdsj8bAV2yEBsBcVkAsABFWLAKLxuxChA+WbAARViwGC8bsRgIPlmwAdCyFgoYERI5sBYvtC8WPxYCXbLpFgFdtMIW0hYCXbAM0LZbDGsMewwDcbbMDNwM7AwDXbL7DAFdtAsMGwwCcbRKDFoMAl20aQx5DAJdshEMFhESObKXEQFdsBEQsATQsAoQsAfQsAwQsAnQsAoQsA7QsBgQsBTQsBYQsBnQMDEBsAorWLImAgFxsicDAXGyGAMBcbJ4EAFdstgQAV2yaRABXbInEgFxWQCyFwMBcbJnEAFdNwcjPwEvATMXMzUzFT8BMw8BHwEjJyMVIzXyZpKDIjNni10rfCZeim0nM3mVZit8y8vlHibLy8vVDsfLICjhz8/ZAAEAFv/1AY8B/QAsAtywCitYshIjAyu0UBJgEgJxsqASAXGyLxIBcbLfEgFdsq8SAXKy0BIBcbKAEgFxsmASAV2yEBIBXbJgIwFxsi8jAXGyfyMBXbLfIwFdsv8jAV2yryMBcrJgIwFdsoAjAXGyoCMBcbIAEiMREjmwAC+wEhCxBQT0sCMQsAzQsAwvshcSABESObQHFxcXAl2wEhCwG9CwGy+2EBsgGzAbA3GxKQT0siAuAXJZALAARViwDy8bsQ8QPlmwAEVYsCAvG7EgCD5ZsgEPIBESObABL7QvAT8BAnG0DwEfAQJytI8BnwECXbSvAb8BAnKwANy0EAAgAAJxtGAAcAACXbAPELEIAfSyFwEAERI5sCAQsScB9DAxAbAKK1iyeAsBcrSYC6gLAnK0BhAWEAJdtKYQthACXbQnEDcQAl1BCQDHABAA1wAQAOcAEAD3ABAABF20pBG0EQJdQQkAxQARANUAEQDlABEA9QARAARdtAURFRECcrLlEQFytAYRFhECXUEJAAYAEQAWABEAJgARADYAEQAEcbTmEfYRAnG0xhHWEQJytCcRNxECXbQGFBYUAnFBCQBGABUAVgAVAGYAFQB2ABUABHG0JRk1GQJxspYZAXK0BxkXGQJdtgYdFh0mHQNytAcdFx0CXbSnHbcdAl1ZALJ4CwFdsnkLAXK0mQupCwJytKUQtRACXbTlEPUQAl20xhDWEAJdQQkABwAQABcAEAAnABAANwAQAARdQQkApgARALYAEQDGABEA1gARAARdQQkABgARABYAEQAmABEANgARAARxQQkABwARABcAEQAnABEANwARAARdtOcR9xECcbQHERcRAnK0CRQZFAJxtEgVWBUCcbRpFXkVAnG0JRk1GQJxtAcZFxkCXbKXGQFytAgdGB0CXbSoHbgdAl20CB0YHQJysikdAXK0CB4YHgJdtKgiuCICXbSoI7gjAl2ytSQBcrKXJAFdsoUoAXI3NTMyNjU0JiMiBgcnPgEzMhYVFA4CBxUeARUUDgIjIiYnNx4BMzI1NCYjbT0jLSgpJzwSHB5jOFZVCRQdFDUsGjVQNzdRGxwXQShbL0DPWxwXGxcUC2MRGUA9ESMgGQcEDD0zIDcoGBcPZQ0QOhoYAAEAOQAAAegB9AAPAV2wCitYsg4GAyuyPwYBcrIPBgFxsk8GAXGyLwYBcbIfBgFyskAGAV20EAYgBgJdsAYQsQcE9LAE0LRmBHYEAnGydwQBXbQGBBYEAnGyVQQBcbKQDgFdtBAOIA4CXbQ/Dk8OAnKyLw4BcbIfDgFyskAOAV2yEA4BcbJwDgFxsnAOAXKwDhCxDwT0sAzQtAkMGQwCXbQJDBkMAnG0yQzZDAJdtGkMeQwCcbI/EAFdspARAV2y0BEBXbLQEQFxWQCwAEVYsAcvG7EHED5ZsABFWLAPLxuxDwg+WbAHELAM0LIBDwwREjmwDxCwBNCyCQcEERI5tlsJawl7CQNxtMoJ2gkCXbQBCREJAl0wMQGwCitYtEQDVAMCcrK2AwFxtCYDNgMCcrKGAwFytIcDlwMCXbToC/gLAl1ZALK4AwFxtCkDOQMCcrTqA/oDAl20SgNaAwJysooDAXK05Qv1CwJdJTcjDwEjETMVBzM/ATMRIwFmBQMrslKCBgQptFKC5EdJ4gH07kRH6/4M//8AOQAAAegCwAImAXEAAAEGAsoxAAAnsAorWLQvHz8fAnGyDx8BcrL/HwFdsl8fAXGyIB8BXbJAHwFdMDFZAAABADkAAAHtAfQADgJTsAorWLsAAgAEAAMABCuyPwIBcbL/AgFdsj8CAXK0AAIQAgJdskACAV2y/wMBXbI/AwFysj8DAXG0AAMQAwJdskADAV2wAhCwBtCwAhCwDtCy9w4BcbLXDgFdslgOAXGyiQ4BXbKaDgFdshoOAV206Q75DgJdtAkOGQ4CcbI3DgFxtKcOtw4CcbJ2DgFdskYOAXGwDdCy8g0BcbJyDQFytNMN4w0CcbJjDQFytLQNxA0CcUEJACUADQA1AA0ARQANAFUADQAEcrIFDQFdQQsAtQANAMUADQDVAA0A5QANAPUADQAFcrJmDQFdsjcNAXGy1w0BXbKGDQFdtJYNpg0CcbJ1DQFdtEUNVQ0CcbTlDfUNAl2ykw0BXbJjDQFxsgINAXGycg0BcbKBDQFyshANAXGwCdCydwkBcbIoCQFdsgoJAXGySgkBcrJqCQFyshkJAXGyCAkBXbL1CQFdsoQJAV2wCNCySAgBcbK4CAFxtkoIWghqCANysvoIAV2yiggBXbQMCBwIAnG0fQiNCAJysv0IAXGy7AgBcbKbCAFdshoIAV1BCQDKAAgA2gAIAOoACAD6AAgABHKy6QgBXbIICAFdsqcIAV20Jwg3CAJdsgsJBhESObIXCwFdsnAQAV2yLxABXbLQEAFdsvAQAXFZALAARViwBS8bsQUQPlmwAEVYsAIvG7ECCD5ZsgEFAhESObABL7QvAT8BAl2ywAEBXbAG0LTMBtwGAl22WwZrBnsGA3GwBRCwCNCyCwYBERI5sAIQsA7QMDEBsAorWLL2DAFdWTcjFSMRMxU/ATMPAR8BI94jgoIfdYt5MziHlc/PAfTVDse+JifpAAH/7//6AcsB9AATATCwCitYshASAyuy3xABXbJvEAFxsi8QAXG0TxBfEAJyskAQAV2wEBCwAdyyTwEBXbLQAQFdsBAQsAjQsAgvsj8IAV20rwi/CAJdsi8SAXGybxIBcbJPEgFysBIQsRME9LIQFQFystAVAXGysBUBcbJwFQFysjAVAXJZALAARViwES8bsREQPlmwAEVYsBMvG7ETCD5ZsABFWLAGLxuxBgg+WbARELEAAvSwBhCxCwL0MDEBsAorWLIGBAFytEcEVwQCXbTmBfYFAl1BCQBHAAUAVwAFAGcABQB3AAUABF2y9wUBcUEJAEgADQBYAA0AaAANAHgADQAEXVkAtEgEWAQCXUEJAEgABQBYAAUAaAAFAHgABQAEXbToBfgFAl2y+QUBcbRmDXYNAl20Rw1XDQJdASMOAyMiJzcWMzI+AjchESMBSWMGECM8MDoYEBAOFB4VDQMBV4IBgUeMb0UPbAYiWJd0/gwAAQA5AAACYgH0ABUCBLAKK1iyFAsDK7JwFAFxtAAUEBQCXbLPFAFxsjAUAV2yUBQBXbJQFAFxshAUAXG0IAswCwJdshALAXGyAAsBXbIEFAsREjmyBQsUERI5tEoFWgUCcbQJBRkFAnGwCxCwCtyybwoBcrQvCj8KAl2yzwoBXbINCxQREjmytQ0BcrRlDXUNAnGyZQ0BXbIWDQFdtCYNNg0CcbKGDQFdtMUN1Q0CcbTlDfUNAl20BA0UDQJxspQNAV2yDwsUERI5shIUCxESObJpEgFdspsSAV206hL6EgJdtAoSGhICcbRpEnkSAnGyiRIBXbAUELEVBPSyEBcBXbIvFwFdslAXAXKy0BcBXVkAsABFWLANLxuxDRA+WbAARViwCi8bsQoIPlmwDRCwB9CwAtCyBQ0KERI5sAUvsA/QshUPAV2wDRCwEtCwChCwFdAwMQGwCitYsnYCAV2ydgMBXbQHAxcDAnGyOAYBXbKYBgFdsrgGAV20CAYYBgJxsrgGAXGy+AYBcbJYBgFysnkGAV206Qb5BgJdsnkHAV2yGQcBcbLJBwFxstoHAXGy1Q4BcbKWDgFdssYOAXGyhw4BXbKYEQFdWQCyCAMBcbIZAwFxsjgGAV2ymAYBXbJYBgFytAkGGQYCcbK5BgFxsnoGAV20ygbaBgJxsscHAXGylw4BXbTHDtcOAnGylxEBXSU3Iw8BIy8BIxcVIxEzHwEzPwEzESMB5QgFKF4vZyYGDXSHcxwEHWqIfeVoVpubVmfmAfS8P0G6/gwAAQA5AAAB4AH0AAsA7rAKK1iyCgMDK7IgAwFysh8DAXKy/wMBXbQPAx8DAnGyPwMBcrIQAwFdsgADAXKyMAMBXbADELECBPSwBtCyEAoBXbKQCgFdsj8KAXKy/woBXbIvCgFxsh8KAXKyUAoBcbIwCgFdsnAKAXGygAoBcrAKELELBPSwB9Cy0A0BXbKwDQFdsu8NAV2ykA0BXbJQDQFysnANAXJZALAARViwBS8bsQUQPlmwAEVYsAIvG7ECCD5ZsgYFAhESObAGL7JfBgFxtO8G/wYCXbRPBl8GAl20YAZwBgJyshAGAXKxAQL0sAUQsAjQsAIQsAvQMDElIxUjETMVMzUzESMBXqOCgqOCgsXFAfS8vP4M//8AIf/yAfgCAgIGAFIAAAABADkAAAHbAfQABwC3sAorWLIGAwMrsv8DAV2yXwMBcbJPAwFysh8DAXGyEAMBXbQwA0ADAl2wAxCxAgT0spAGAV2y/wYBXbIPBgFyss8GAXGyTwYBcrIwBgFdshAGAV2wBhCxBwT0srAJAV2y4AkBcbJvCQFxsu8JAV2yDwkBcbJPCQFxsiAJAXKy0AkBXbKQCQFdsnAJAXJZALAARViwBC8bsQQQPlmwAEVYsAIvG7ECCD5ZsAQQsQEC9LACELAH0DAxASMRIxEhESMBWZ6CAaKCAYH+fwH0/gz//wA5/zgB+wICAgYAUwAA//8AIf/yAZsCAgIGAEYAAAABAAEAAAGhAfQABwC7sAorWLsAAgAFAAMABCu0MAJAAgJdsr8CAXKyTwIBcrIQAgFdsoACAV2wAhCwANy04ADwAAJxsnAAAXG2IAAwAEAAA12ygAMBXbJPAwFysr8DAXK0MANAAwJdshADAV2wAxCwBdy07wX/BQJxti8FPwVPBQNdsn8FAXGyvwkBXbKfCQFxsg8JAXKyUAkBcbJwCQFdWQCwAEVYsAYvG7EGED5ZsABFWLADLxuxAwg+WbAGELEFAvSwAdAwMQEjESMRIzUhAaGNho0BoAGB/n8BgXP////3/zMB5gH0AgYAXAAAAAMAHP84AqACvAAeACsANwTQsAorWLIUBgMrsuAGAV2yLwYBXbSPBp8GAl2yHwYBcrJvBgFysk8GAXKyzwYBXbJfBgFdskAGAV2yoAYBXbJwBgFdsnAUAV200BTgFAJdtEAUUBQCcbKQFAFxtN8U7xQCcbKfFAFysi8UAXGyzxQBcrJvFAFyssAUAXGycBQBcbIAFAFxspAUAV2yQBQBXbQAFBAUAl2yHgYUERI5sB4vsAvQsB4QsR0E9LAO0LAdELAj0LToI/gjAl20CCMYIwJxsBQQsSkE9LIsKQFdsB4QsC/QtOcv9y8CXbQHLxcvAnGwBhCxNQT0siM1AV2yLzgBXbIQOQFdspA5AXGyUDkBcbI/OQFdssA5AXGyADkBcrKQOQFdsgA5AXFZALAARViwDC8bsQwUPlmwAEVYsAkvG7EJED5ZsABFWLAeLxuxHgo+WbAARViwAy8bsQMIPlmwCRCwEdCwAxCwGdCwERCwH9xBCQDAAB8A0AAfAOAAHwDwAB8ABF20QB9QHwJdQQkAUAAfAGAAHwBwAB8AgAAfAARxsiAfAXKwGRCwJty0TyZfJgJdsi8mAXJBCQDPACYA3wAmAO8AJgD/ACYABF1BCQBfACYAbwAmAH8AJgCPACYABHGwAxCwLNyyLywBckEJAF8ALABvACwAfwAsAI8ALAAEcUEJAM8ALADfACwA7wAsAP8ALAAEXbRPLF8sAl2wCRCwMty0QDJQMgJdQQkAUAAyAGAAMgBwADIAgAAyAARxQQkAwAAyANAAMgDgADIA8AAyAARdsiAyAXIwMQGwCitYtAgEGAQCXbSIBJgEAl2yCAQBcbLIBAFxtGkEeQQCXbTpBPkEAl20qQS5BAJxstkEAXKyCAUBcbTpBfkFAl2yGQUBcbToB/gHAl1BCQBoAAgAeAAIAIgACACYAAgABF2yCAgBcbSoCLgIAnK06Qj5CAJdtOUS9RICXbSlErUSAnFBCQBmABIAdgASAIYAEgCWABIABF1BCQAGABIAFgASACYAEgA2ABIABHGyxhIBcbQHEhcSAl205RP1EwJdtGYTdhMCXbQGExYTAnG0VhNmEwJyspUXAXGyhhcBcbRnF3cXAl2yBxcBcbSoKLgoAnGyySgBcbRqKHooAnFBCQCnACsAtwArAMcAKwDXACsABF2yyisBcbLENAFxtGc0dzQCcbSnNLc0AnGyxTYBcbKGNgFxtKY2tjYCcbRnNnc2AnFZALQIBBgEAl1BCQBpAAQAeQAEAIkABACZAAQABF206QT5BAJdsgkEAXG2qQS5BMkEA3Gy2QQBcrLKBAFytOgF+AUCXbQJBRkFAnG05wf3BwJdtGUIdQgCXbIFCAFxtIYIlggCXbTmCPYIAl20pgi2CAJytIUSlRICXbTlEvUSAl1BCQAGABIAFgASACYAEgA2ABIABHG0BxIXEgJdtGcSdxICXbanErcSxxIDcbTmE/YTAl20ZxN3EwJdsgcTAXGyVxMBcrKIFwFxtGkXeRcCXbTpF/kXAl2yCRcBcbJ5FwFyspoXAXG0qCe4JwJdtGUodSgCcbamKLYoxigDcbTGK9YrAl20pyu3KwJdssorAXG0aTR5NAJxtKk0uTQCcbLMNAFxtKQ2tDYCcbZlNnU2hTYDcbLGNgFxsic2AV0FDgEjIiY1NDYzMhc1MxU+ATMyFhUUDgIjIiYnFSMTIgYHER4BMzI2NTQmAzI2NxEmIyIGFRQWAR4RJQ9bYmxmHBSAEhwNY2QbNEsxCSMLgJ4KDwsIFQwwLSz3CxMLExQuMS0GBgKChoCEBMLDAwJ1hT9lSCYDBMECXwMC/soCAU9cTkX+wgMCATUER1ZOU///AAgAAAIFAfQCBgBbAAAAAQA5/44CIQH0AAsAnLAKK1iyCQQDK7JgAQFysk8JAXKyzwkBcbJvCQFysv8JAV2yEAkBXbIwCQFdsAkQsAvQsAsvsALcskACAV2yTwQBcrIfBAFxsm8EAXKy/wQBXbQwBEAEAl2yEAQBXbAEELEFBPSwCRCxCAT0WQCwAEVYsAUvG7EFED5ZsABFWLACLxuxAgg+WbAB3LACELEKAvSwB9CwBRCwCNAwMQUjJyERMxEzETMRMwIhXw/+hoKbgklycgH0/n8Bgf5/AAEAIQAAAcAB9AAXAW+wCitYsgsXAyuyLxcBcbJPFwFysn8XAV2ybxcBcrAXELEABPSyEAsBcbLPCwFxsm8LAXKyTwsBcrIvCwFxsuALAV2yMAsBcbALELEKBPSwDtCyTxgBXbIgGQFysuAZAXGyABkBclkAsABFWLAALxuxABA+WbAARViwDS8bsQ0IPlmyEQANERI5sBEvsQYB9LAAELAK0LIOEQoREjkwMQGwCitYsqQDAXK0ZQN1AwJysrUDAXKyhgMBcrTGA9YDAnJBCQAIABMAGAATACgAEwA4ABMABF2yqBMBcrSKE5oTAnG0CBQYFAJdtikUORRJFANdtIkUmRQCcbTJFNkUAnG0qhS6FAJxWQC0ZQN1AwJytMUD1QMCcrKGAwFytKYDtgMCcrQoEzgTAl2yqBMBcrQJExkTAl2y+hMBXbSKE5oTAnFBCwAIABQAGAAUACgAFAA4ABQASAAUAAVdtIgUmBQCcbTIFNgUAnG0qRS5FAJxExUUHgIzMjY3NTMRIzUOASMiLgI9AaMFDxsWHSsOgoIPPjQlOigVAfRyHy0dDg4K0f4MxAsbEChCMqoAAQA5AAACuQH0AAsBJ7AKK1iyBgEDK7JfAQFxsj8BAXKyXwEBcrIfAQFysv8BAV20DwEfAQJxsiABAV2wARCxAgT0sq8GAV2yrwYBcbI/BgFysp8GAXKyXwYBcrIfBgFysv8GAV2yzwYBcrKABgFdsAYQsQUE9LAK3LJQCgFxsp8KAXKyLwoBXbKvCgFdss8KAXKyrwoBcbKACgFdtAAKEAoCcbEJBPSyTwwBXbIPDAFdskANAXKyUA0BXbTADdANAl2yUA0BcbLvDQFdsm8NAV2ybw0BcbIvDQFdsq8NAV2yrw0BcbIQDQFxsoANAV20AA0QDQJyssANAXGykA0BcVkAsABFWLACLxuxAhA+WbAARViwAC8bsQAIPlmxAwL0sAIQsAXQsAMQsAfQsAUQsAnQMDEzETMRMxEzETMRMxE5gn2CfYIB9P5/AYH+fwGB/gwAAQA5/44DAQH0AA8BBbAKK1iyCQQDK7JgAQFysoAJAV2yrwkBXbKvCQFxsj8JAXKyzwkBcrIfCQFysl8JAXKy/wkBXbKfCQFyskAJAV2yAAkBXbAJELEIBPSwDdyyUA0BcbLPDQFysq8NAXGyrw0BXbKfDQFysi8NAV20AA0QDQJxsoANAV2wD9CwDy+wAtyyQAIBXbJABAFdsj8EAXKyXwQBcbJfBAFysv8EAV20DwQfBAJxsh8EAXKyAAQBXbIgBAFdsAQQsQUE9LANELEMBPSyrxEBcbJwEQFdWQCwAEVYsAUvG7EFED5ZsABFWLACLxuxAgg+WbAB3LACELEOAvSwC9CwB9CwBRCwCNCwDNAwMQUjJyERMxEzETMRMxEzETMDAV4P/aWCfYJ9gkhycgH0/n8Bgf5/AYH+fwAC//v/+QIGAfQACQAcAf6wCitYshIYAyuyXxgBXbL/GAFdsn8YAV2yjxgBcbJAGAFdsBgQsQAE9LJAEgFdsrASAXGy8BIBcbJAEgFystASAXGyEBIBcbQAEhASAl2ycBIBcrASELEFBfSwABCwCtCwGBCwGtyy8B4BcbJwHgFyWQCwAEVYsBsvG7EbED5ZsABFWLAVLxuxFQg+WbECAfSyDRsVERI5sA0vsAfcQQkAQAAHAFAABwBgAAcAcAAHAARdQQkAwAAHANAABwDgAAcA8AAHAARdtAAHEAcCcUERAFAABwBgAAcAcAAHAIAABwCQAAcAoAAHALAABwDAAAcACHGwGxCxGgL0MDEBsAorWLRpA3kDAnK0pQ+1DwJdtGUPdQ8CcbQGDxYPAl20hg+WDwJxtCcPNw8CXbSnD7cPAnFBCQCmABAAtgAQAMYAEADWABAABF2yVhABckEJAAcAEAAXABAAJwAQADcAEAAEXbI2EwFxsoYTAXK0BxMXEwJdtEcTVxMCcbQHFBcUAl1ZALRpBnkGAnK0pg+2DwJdQQkAZgAPAHYADwCGAA8AlgAPAARxQQkABwAPABcADwAnAA8ANwAPAARdtKcPtw8CcbSmELYQAl1BCQAHABAAFwAQACcAEAA3ABAABF2yVxABcrQIExgTAl22ORNJE1kTA3GyiRMBcrQIFBgUAl03FjMyNjU0IyIHNT4BMzIeAhUUBiMiJicRIzUz6xwdMCxZIxkYMhQ0SC0UbYA5VCNu8G0GISNBB10EAxcqOSFbWgQDAYFzAAMAOf/5AoYB9AAKAB0AIQJfsAorWLITHAMrsiATAXK0ABMQEwJdsg8TAXGyTxMBcbI/EwFysr8TAXKyHxMBcrIvEwFxss8TAV2y0BMBcrKQEwFxtjATQBNQEwNdsBMQsQUF9LIgHAFysv8cAV2yDxwBcbJPHAFxsj8cAXKyHxwBcrIvHAFxsr8cAXKyABwBcrYgHDAcQBwDXbAcELEdBPSwCtCwHBCwIdyyUCEBcbIwIQFdshAhAXGyMCEBcbKwIQFxspAhAXGxIAT0sh8iAV2y4CMBcrKQIwFdsu8jAV2yHyMBXbKPIwFxsq8jAV2y0CMBcbLwIwFxsnAjAXJZALAARViwHS8bsR0QPlmwAEVYsCEvG7EhCD5ZsABFWLAYLxuxGAg+WbECAfSyDh0YERI5sA4vsAjcQQkAQAAIAFAACABgAAgAcAAIAARdQQkAwAAIANAACADgAAgA8AAIAARdtAAIEAgCcUERAFAACABgAAgAcAAIAIAACACQAAgAoAAIALAACADAAAgACHGwHRCwHtAwMQGwCitYtKUQtRACXUEJAAYAEAAWABAAJgAQADYAEAAEXbJ2EAFxtKYQthACcbTHENcQAl20xRHVEQJdtGURdRECcrSmEbYRAl20BxEXEQJdsncRAXG0RRVVFQJxsmYVAXG0BxUXFQJdtKcVtxUCcrQHFhcWAl1ZALQGEBYQAl20xhDWEAJdtKYQthACcbQnEDcQAl20pxC3EAJdsncQAXG0BxEXEQJdtMcR1xECXbJ3EQFxtGcRdxECcrQIFRgVAl2yaBUBcbRJFVkVAnG0qhW6FQJytAgWGBYCXTcWMzI2NTQmIyIHNT4BMzIeAhUUDgIjIiYnETMhMxEjux4bLSQkKiEbGDEUM0QqEhg2Vj85UyOCAUmCgm0GISMgIQddBAMXKjkhLUQtFwQDAfT+DAACADn/+QHVAfQACQAaAhuwCitYshIZAyuycBIBXbKAEgFxsnASAXKyPxIBcbKwEgFxsuASAV22MBJAElASA120ABIQEgJdsBIQsQUF9LL/GQFdsj8ZAXGyTxkBcrIfGQFxtDAZQBkCXbLgGQFdsBkQsRoE9LAJ0LIfGwFdsv8bAXGycBwBcrKwHAFxWQCwAEVYsBovG7EaED5ZsABFWLAVLxuxFQg+WbECAfSyDRoVERI5sA0vsAfcQQkAQAAHAFAABwBgAAcAcAAHAARdQQkAwAAHANAABwDgAAcA8AAHAARdtAAHEAcCcUERAFAABwBgAAcAcAAHAIAABwCQAAcAoAAHALAABwDAAAcACHEwMQGwCitYsokDAXK0ZwR3BAJysokGAXJBCQBlAA8AdQAPAIUADwCVAA8ABHG05Q/1DwJytAYPFg8CXbSmD7YPAnG0Jw83DwJdtKcPtw8CXbTGENYQAl2yVhABcrQHEBcQAl20pxC3EAJdspQTAXKyNRMBcbSlE7UTAnK0BxMXEwJdsocTAXK0BxQXFAJdWQCyhwMBcrRjBHMEAnK0aAZ4BgJytOUP9Q8CckENAGYADwB2AA8AhgAPAJYADwCmAA8AtgAPAAZxQQkABwAPABcADwAnAA8ANwAPAARdtKcPtw8CXbSmELYQAl20BxAXEAJdtMcQ1xACXbJXEAFytAgTGBMCXbKIEwFytKgTuBMCcrI8EwFxtAgUGBQCXTcWMzI2NTQjIgc1PgEzMh4CFRQGIyImJxEzux4bMCtYIRsYMRQ0SC0UbIE5UyOCbQYhI0EHXQQDFyo5IVtaBAMB9AABABf/8gGqAgIAGwHdsAorWLINEwMrsnANAV2yAA0BcbJADQFxspANAXGyUA0BcrJPDQFyss8NAXKybw0BcrIvDQFysjANAXKycA0BcbIgDQFxspANAV2yUA0BXbIADQFdsA0QsQEE9LKPEwFdst8TAV2ybxMBcrTPE98TAnKyTxMBcrL/EwFdtK8TvxMCXbJvEwFdsi8TAXKwExCwCNCwCC+wARCwGtCyGxMNERI5sBsvspAdAXGycB0BcVkAsABFWLAKLxuxChA+WbAARViwEC8bsRAIPlmyABAKERI5sAAvtC8APwACcbQPAB8AAnK0jwCfAAJdtK8AvwACcrAKELEEAfSwEBCxFwH0sAAQsBvcst8bAXG0YBtwGwJdshAbAXEwMQGwCitYsqgDAXG06Af4BwJytOYL9gsCXbIGCwFxtIcLlwsCXbIXCwFxtIcLlwsCcbQHCxcLAnK05wz3DAJdsgYOAXG05g72DgJxtOcO9w4CXVkAsqgDAXG0iAeYBwJdsukHAXKy/AcBcrQFCxULAnK05gv2CwJdtIcLlwsCXbQHCxcLAnG0hwuXCwJxtOcM9wwCXbTpDvkOAl2yCQ4BcbTpDvkOAnG0qBK4EgJdtKgTuBMCXbL1FAFyspcUAV20Zhl2GQJxEzMuASMiBgcnNjMyFhUUBiMiJic3HgEzMjY3I226BTg3JjoWI0JwcG58bC9gHCAXPyBANgW7ASwyNhIMXi6Fg4SEExFmDQ82OQACADn/8gK8AgIAFgAiAzWwCitYshQFAyuy8AUBcbQ/BU8FAnGybwUBcrIQBQFdssAFAV2ygAUBXbAFELAI0LAIL7J/CAFxsqAIAXK0IAgwCAJdsQcE9LAL0LAFELAM0LSAFJAUAl20EBQgFAJdsj8UAXGybxQBcrIfFAFysmAUAV20wBTQFAJdsgAUAXGwBRCwF9y07xf/FwJxtA8XHxcCcrI/FwFdtC8XPxcCcbSvF78XAl2wFBCxHQX0suAkAXGyoCQBcVkAsABFWLAPLxuxDxA+WbAARViwCi8bsQoQPlmwAEVYsAAvG7EACD5ZsABFWLAHLxuxBwg+WbILCgcREjmwCy+0TwtfCwJxtO8L/wsCXbRPC18LAl2xBgH0sAAQsRoB9LAPELEgAfQwMQGwCitYsngCAV20CAIYAgJxtCgCOAICcrTpAvkCAl206AP4AwJdQQkACAADABgAAwAoAAMAOAADAARxsigDAXKyeQMBXbIIDQFxsqgNAXG0iQ2ZDQJdshkNAXGyeg0BXbTrDfsNAl206Q75DgJdsgoOAXGyBhEBcbQGERYRAnK05xH3EQJdsocRAXGylhUBcrTnFfcVAl2yhxUBcbQHFRcVAnKydxYBXbIHFgFxsocWAXGylhgBcbLGGAFxstYYAXK0Zxh3GAJxsqcYAXGytxkBXbLYGwFxtLgcyBwCcbQIHBgcAnK0qB64HgJxsskeAXGy+R4BcrRpH3kfAnG0ZiJ2IgJxsvYiAXKypyIBcbLHIgFxWQCyeAIBXbToAvgCAl2yGAIBcbI4AgFysgkCAXGyKgIBcrQoAzgDAnGyOAMBcrTpA/kDAl20CQMZAwJxsnYNAV205g32DQJdsqYNAXG0hw2XDQJdtAcNFw0CcbTmDvYOAl205hH2EQJdsgcRAXGyhxEBcbToFfgVAl2yCBUBcbKIFQFxtAkVGRUCcrKZFQFysggWAXGyeRYBXbTpFvkWAl2yiRYBcbRmGHYYAnGyphgBcbLGGAFxspcYAXGy1xgBcrK3GQFdstgbAXG0AxwTHAJytLYcxhwCcbLIHgFxsrkeAXGyqh4BcbL7HgFytGgieCICcbKpIgFxsskiAXGy+SIBcgUiLgInIxUjETMVMz4BMzIeAhUUBgMUFjMyNjU0JiMiBgHgOE8zGwRMgoJNCmdpOVI2GWzNKTQuKCYzLiwOHjhQMsoB9LxhaSZFYjt/iQEISVFEVk1NRgACAAoAAAHDAgIAEAAbAt2wCitYsg8IAyuyfwgBcrJfCAFysn8IAV2yvwgBcbL/CAFdsl8IAV2yLwgBcbLfCAFxsoAIAXGyLw8BcbIQDwFxsA8QsRAE9LIBCBAREjm0BQEVAQJxtEYBVgECcbSFAZUBAl20ZQF1AQJxsAgQsAPQsAMvtkADUANgAwNdsALQsnECAXGyYgIBcbICAgFxskICAXKygwIBcrKDAgFdsuQCAV1BCQDFAAIA1QACAOUAAgD1AAIABHK0BQIVAgJyshUCAV2yRQIBcbLWAgFdsmYCAV2yNwIBcbLHAgFdsgYCAV2ylQIBcrJ1AgFdtpUCpQK1AgNxtGUCdQICcrJUAgFxssMCAXGy8wIBXbQjAjMCAnKykgIBXbLSAgFxshECAXGyUQIBcrThAvECAnGyBQgQERI5tEgFWAUCcbSoBbgFAl20SAVYBQJdsBAQsBHQsAgQsRgF9LJAHQFysmAdAXJZALAARViwCy8bsQsQPlmwAEVYsBAvG7EQCD5ZsgALEBESObAAL7SjALMAAl2yUAABcbAQELAC0LAAELAR3EEPAF8AEQBvABEAfwARAI8AEQCfABEArwARAL8AEQAHcbaPEZ8RrxEDckELAI8AEQCfABEArwARAL8AEQDPABEABV2yBREAERI5tKcFtwUCXbJHBQFdslYFAV2wCxCxFQH0MDEBsAorWLJYBAFytOkE+QQCcbQIBhgGAl20qAa4BgJxspgGAXKymQYBcbQIBxgHAl20CAkYCQJdQQkAiAAJAJgACQCoAAkAuAAJAARdQQkAKAAJADgACQBIAAkAWAAJAARxsokJAXKymgkBcrRIClgKAnG0KQo5CgJxtAcXFxcCcbK0GQFyWQC0CAYYBgJdspkGAXK2mgaqBroGA3G0CAcYBwJdtAcJFwkCXbSnCbcJAl20Jwk3CQJxsogJAXK0RgpWCgJxtCcKNwoCcbQJFxkXAnGyuxcBcrK2GQFyJQ8BIz8BLgE1NDYzMhYXESMRNS4BIyIGFRQWNwFBPGCbYTExQHl9MFMfggsaDC0yNzW9DLGdJQhNOltWCgb+DgEBigUEJiYmJAH//wAh//IB2QK+AiYASAAAAQYAahntAH6wCitYsCAvsq8gAXJBDQBfACAAbwAgAH8AIACPACAAnwAgAK8AIAAGXbbfIO8g/yADcbQgIDAgAl2wLNyycCwBcrIQLAFxWQCwKS+yPykBcrJ/KQFyQQkAjwApAJ8AKQCvACkAvwApAARxsl8pAXKyHykBcrKAKQFysDXQMDEAAAAB//T/MAHyArwAKQFYsAorWLISJwMrskAnAV2yICcBXbIAJwFdsCcQsAHQsADQsAAvsCcQsSYE9LAI0LAE0LAF0LAFL7IgEgFdsgASAV2yQBIBXbJgEgFdsBIQsR4E9LAY0LAYL7IfKgFdWQCwAEVYsAMvG7EDFD5ZsABFWLAmLxuxJgg+WbAARViwFS8bsRUKPlmyDAMmERI5sAwvspAMAV2y0AwBXbJQDAFdtAAMEAwCXbIEAwwREjmwBC+wAdCwBBCwB9yyCQwmERI5sBUQsRsC9LAMELEiAvSwBxCwKNAwMQGwCitYtgYOFg4mDgNdstYOAV2yNw4BXbTnDvcOAl20Bg8WDwJdstYPAV2yNw8BXbQGExYTAl20BxQXFAJdWQCy5A4BXbLVDgFdsvUOAV22Fg4mDjYOA12yBw4BXbIFDwFdshYPAV2yNg8BXbLXDwFdtAgTGBMCXbIIFAFdshkUAV0DMzUzFTMVIxUzPgEzMh4CFREUBiMiJzUyFjMyNj0BNCYjIgYHESMRIwxKgqGhBBdINiY6JhNITx4iBAcEKxshLSE5CIJKAlhkZFCCICYULk86/upbYAdtATEs5j02LCP+9gII//8AOQAAAXwC0AImAWwAAAEGAHZoAABIsAorWLQAChAKAl207wr/CgJxsg8KAXKy/woBckEJAM8ACgDfAAoA7wAKAP8ACgAEXbKvCgFyso8KAXGyIAoBcbJACgFdMDFZAAEAJf/yAbMCAgAgAfKwCitYshAIAyu2IBAwEEAQA12ykBABXbLQEAFdsk8QAXKyABABcbKwEAFdsnAQAV2yABABXbJwEAFysBAQsADQsAAvssAIAXGyjwgBXbJPCAFysm8IAV2yQAgBXbIgCAFdsAgQsRoE9LAX0LAXL7IYCBAREjmwGC+ykCIBcVkAsABFWLANLxuxDRA+WbAARViwAy8bsQMIPlmwDRCxFAL0shgDDRESObAYL7SPGJ8YAl20Lxg/GAJxtG8YfxgCcbTPGN8YAl20DxgfGAJytK8YvxgCcrAZ3LKgGQFythAZIBkwGQNxtGAZcBkCXbADELEdAvQwMQGwCitYsvgFAV2y6QUBcrLpBgFdtGcKdwoCXbLICgFdtMgK2AoCcbLZCgFdtMgL2AsCXbQnFjcWAnG0Zht2GwJxtMYb1hsCcbRnG3cbAl2ylxsBXbIXGwFxspYcAV2ydhwBcbJnHAFxssggAV2y2SABXVkAtOgF+AUCXbLpBQFysugGAV2y1woBXbTHCtcKAnG0aAp4CgJdssYLAV2y1wsBXbLYEQFdsvgRAV2y6REBXbQpFjkWAnGydRsBcbIWGwFxsmYbAXGydxsBXbKXGwFdtMcb1xsCcbJ2HAFxspccAV2yZxwBcbLmHwFdsvcfAV205iD2IAJdspcgAV0lDgEjIi4CNTQ+AjMyFhcHLgEjIgYHMxUjHgEzMjY3AbMeWi08WDkcIj5YNjZIGx4XMx0vQwrExQlBOiIyEx8WFyZFYjs/YkQjEg5qCwwwNlgwPBEM//8AGf/yAYoCAgIGAFYAAP//ADQAAADaAscCJgDp/gABBgEy+AAAUbAKK1i0zwTfBAJxQRUAbwAEAH8ABACPAAQAnwAEAK8ABAC/AAQAzwAEAN8ABADvAAQA/wAEAApysv8EAV2yDwQBcrIABAFdtCAEMAQCXTAxWQAAAAADABUAAAEqAsgACwAXABsBR7AKK1i7ABoABAAbAAQrss8bAXG0Lxs/GwJxsp8bAXKyDxsBcbJvGwFysg8bAXKwGxCwANCwAC+0rwC/AAJxsAbcsjAGAV2ysAYBcrKwBgFdsrAGAXGyMAYBcrAAELAM3LbPDN8M7wwDXUENAC8ADAA/AAwATwAMAF8ADABvAAwAfwAMAAZdsg8MAV22Lww/DE8MA3G07wz/DAJxtA8MHwwCcrAS3LIwEgFdsrASAXKysBIBXbKwEgFxsjASAXKyDxoBcrQvGj8aAnGyzxoBcbIPGgFxsm8aAXKynxoBcrIPHAFdsmAdAV2yUB0BcrLwHQFdWQCwAEVYsBgvG7EYED5ZsABFWLADLxuxAxQ+WbAARViwGy8bsRsIPlmwAxCwCdy2Lwk/CU8JA12yHwkBcbJwCQFxsuAJAXGwAxCwD9CwCRCwFdAwMRM0NjMyFhUUBiMiJjc0NjMyFhUUBiMiJgczESMVHyAgHx8gIB+XHyAgHx8gIB9PgoICgh8nJx8eJyceHycnHx4nJ3D+DP////D/MADZAscCJgEtAAABBgEy9wAAO7AKK1i0IA8wDwJysgAPAV2yDw8BcrTPD98PAl2y/w8BXbRgD3APAnK0oA+wDwJxtiAPMA9ADwNdMDFZAAAC/+//+QLlAfQAIAArAq+wCitYsiAfAyuyryABXbKfIAFxsu8gAXGy/yABXbJ/IAFdsm8gAXKwIBCwCNCwCC+0QAhQCAJdsrAIAV2yIAgBcbJwCAFytJAIoAgCcbLwCAFdsnAIAV20AAgQCAJdsrAIAXKwIBCxDwT0sp8fAXGybx8BcrL/HwFdsq8fAV2wHxCwENyy7xABcbAfELAX0LAXL7I/FwFdsCAQsCTQsAgQsSoF9LIQLQFdsnAtAXJZALAARViwHy8bsR8QPlmwAEVYsBUvG7EVCD5ZsABFWLALLxuxCwg+WbIDHwsREjmwAy+wHxCxEAL0sBUQsRoC9LADELAh3EERAFAAIQBgACEAcAAhAIAAIQCQACEAoAAhALAAIQDAACEACHFBCQBAACEAUAAhAGAAIQBwACEABF1BCQDAACEA0AAhAOAAIQDwACEABF20ACEQIQJxsAsQsScB9DAxAbAKK1i05AX0BQJytIUFlQUCcbQGBRYFAl20ZgV2BQJxtCcFNwUCXbSnBbcFAl20hQaVBgJxtKYGtgYCXbLWBgFdtGYGdgYCcbQHBhcGAl2yxwYBXbJXBgFysoUJAXKyNgkBcbSmCbYJAnK0BwkXCQJdtEcJVwkCcbKXCQFytAcKFwoCXbJWEwFdtGcTdxMCXbLXEwFdttcU5xT3FANdtAgdGB0CcbKJKwFyWQC0pgW2BQJdtAcFFwUCXbRnBXcFAnG05wX3BQJytGYGdgYCcbJGBgFytAcGFwYCXUEJAKcABgC3AAYAxwAGANcABgAEXbSHBpcGAnGyVwYBcrQICRgJAl20iAmYCQJytjkJSQlZCQNxtKoJugkCcrQIChgKAl22WBNoE3gTA12y2RMBXbLYFAFdtOkU+RQCXbQHHRcdAnGygikBcrRjKXMpAnKyiSsBcrRqK3orAnIBPgEzMh4CFRQGIyImJxEjDgMjIic3FjMyPgI3IRMiBxUeATMyNjU0AcsYMRQ0SC0UbIE5UyNjBhAjPDA6GBAQDhQeFQ0DAVc8IxkOHQ4wKwFCBAMXKjkhW1oEAwGBR4xvRQ9sBiJYl3T++Ad5AwIhI0EAAgA5//kC+wH0ABgAIgKesAorWLIYEwMrshAYAV2yMBgBXbIfGAFysj8YAXKy/xgBXbIvGAFxspAYAV2ygBgBcrJwGAFxslAYAXGwGBCwCNCwCC+0QAhQCAJdsrAIAV2yIAgBcbKwCAFytJAIoAgCcbTgCPAIAl2ycAgBXbQACBAIAl2ycAgBcrAYELEXBPSwD9CyMBMBXbIfEwFysj8TAXKy/xMBXbQPEx8TAnGyEBMBXbIAEwFysiATAXKwExCxFAT0sBDQsAgQsR4F9LAYELAi0LJQJAFxspAkAXGysCQBXbIQJAFdWQCwAEVYsBQvG7EUED5ZsABFWLARLxuxEQg+WbAARViwCy8bsQsIPlmyAxQLERI5sAMvshADAXKyFRQRERI5sBUvtOAV8BUCcbRPFV8VAl2yXxUBcbIQFQFytGAVcBUCcrTgFfAVAnKxEAL0sBQQsBfQsAsQsRsB9LADELAg3EEJAEAAIABQACAAYAAgAHAAIAAEXUERAFAAIABgACAAcAAgAIAAIACQACAAoAAgALAAIADAACAACHFBCQDAACAA0AAgAOAAIADwACAABF20ACAQIAJxMDEBsAorWLQGBRYFAl20pgW2BQJdtGYFdgUCcbQnBTcFAl20RQZVBgJyQQkApgAGALYABgDGAAYA1gAGAARdtIYGlgYCcbQHBhcGAl1BCQAmAAkANgAJAEYACQBWAAkABHG0BgoWCgJdsokcAXK0Zx13HQJyWQC0ZQV1BQJxtAYFFgUCXbSmBbYFAl20hgWWBQJxtAcGFwYCXUEJAKcABgC3AAYAxwAGANcABgAEXbSHBpcGAnG0RwZXBgJyQQkAKQAJADkACQBJAAkAWQAJAARxtAkKGQoCXbKFHAFytGQddB0CcrRqH3ofAnKyix8BcgE+ATMyHgIVFAYjIiYnNSMVIxEzFTM1MxEWMzI2NTQjIgcB4BgyFDRILRRtgDlUI6OCgqOCHB0wLFkjGQFBBAMXKjghW1oEA8fHAfS6uv55BiEjQAcAAf/0AAAB8gK8AB4BErAKK1iyEhwDK7JAHAFdsiAcAV2yABwBXbAcELAB0LAA0LAAL7AcELEbBPSwCNCwBNCwBdCwBS+yIBIBXbIAEgFdskASAV2yYBIBXbASELETBPSyHx8BXVkAsABFWLACLxuxAhQ+WbAARViwGy8bsRsIPlmyDAIbERI5sAwvslAMAV2ykAwBXbQADBAMAl2y0AwBXbIEAgwREjmwBC+wAdCwBBCwB9yyCQwbERI5sBsQsBPQsAwQsRcC9LAHELAd0DAxAbAKK1i0Bg4WDgJdsjYOAV2yJw4BXbTnDvcOAl2yFg8BXbIHDwFdWQCy1A4BXbIlDgFdsvUOAV20Bg4WDgJdsuYOAV2yNw4BXbQGDxYPAl0DMzUzFTMVIxUzPgEzMh4CFREjNTQmIyIGBxEjESMMSoKhoQQXSDYmOiYTgiEtITkIgkoCWGRkUIIgJhQuTzr+/+Y9Niwj/vYCCP//ADkAAAHtAtACJgFzAAABBwB2AIMAAABHsAorWLQQEyATAnK2jxOfE68TA120jxOfEwJxsv8TAXK07xP/EwJxsg8TAXKy/xMBXbIAEwFdtCATMBMCcbQwE0ATAl0wMVkAAAD////3/zMB5gLAAiYAXAAAAQYCyg8AAECwCitYQQsAvwAlAM8AJQDfACUA7wAlAP8AJQAFXbSAJZAlAnFBCwAQACUAIAAlADAAJQBAACUAUAAlAAVyMDFZAAEAOf9RAdsB9AALAVmwCitYsgYBAyuyHwEBcbJPAQFysv8BAV2yXwEBcbIQAQFdtDABQAECXbABELECBPSyMAYBXbLPBgFxsk8GAXKyDwYBcrL/BgFdshAGAV2ykAYBXbAGELEFBPSyCwEGERI5sAsvtn8LjwufCwNdtA8LHwsCXbAI3LQvCD8IAl2yCQsIERI5tOcJ9wkCcUEJAAcACQAXAAkAJwAJADcACQAEckERAEcACQBXAAkAZwAJAHcACQCHAAkAlwAJAKcACQC3AAkACHGyCgsIERI5QQkAxwAKANcACgDnAAoA9wAKAARxtAcKFwoCcrLgDQFxsrANAXKybw0BcbIPDQFxspANAXKycA0BcrKQDQFdstANAV1ZALAARViwAi8bsQIQPlmwAEVYsAsvG7ELCD5ZsQMC9LACELAF0LALELAI0LALELAK3LIfCgFxsr8KAV2y3woBcbJ/CgFxMDEzETMRMxEzESMHIyc5gp6ClA9YFAH0/n8Bgf4Mr68AAgAA//YCdALVABwALwGUsAorWLISGgMrsp8aAV2yfxoBcbL/GgFdsl8aAXGyIBoBXbKAGgFdsBoQsAHQsADcsBoQsS0G9LAI0LAE0LAF3LIQEgFxtHASgBICXbQQEiASAl2yUBIBXbKwEgFdsjASAXGykBIBcbASELEiB/SyEDEBXVkAsAMvsABFWLAVLxuxFQg+WbINAxUREjmwDS+ycA0BXbIQDQFxspANAXGywA0BcbJQDQFxsuANAV2yMA0BXbIwDQFysgQDDRESObAEL7JPBAFdsi8EAV2wAdCwBBCxBwL0sBvQsBUQsR0D9LANELEnAvQwMQGwCitYtGcPdw8CXbIVEAFysqUQAXK0BhAWEAJxtCYQNhACcrRnEHcQAl2y9xABXbRGE1YTAnGythMBcrbHE9cT5xMDXbLGFAFdtGcgdyACcbKpJQFxWQC0Zw93DwJdsvYQAV20JhA2EAJytGcQdxACXbQHEBcQAnGyFxABcrbIE9gT6BMDXbRIE1gTAnGyuRMBcrLJFAFdsncfAXGyZSABcbJ2IAFxsqklAXERMzUzFTMVIxU+AzMyHgIVFAYjIi4CJxEjATI+AjU0LgIjIg4CBxUeAY6JyMgFFxscDDFcRyqViw4vODkYjgFbHDImFRclMhsHFBQRBAslAohNTXNaAQMCAhMyVEJ4egEEBgYCDv5bCxssICIrGAgCAgMB0QMDAAL/+//5AgYCvAAYACICGbAKK1iyEBYDK7L/FgFdsl8WAV2yfxYBXbJAFgFdsuAWAV2wFhCwAdCwANywFhCxGQT0sAjQsATQsAXcsuAQAV20ABAQEAJdsvAQAXGyQBABcrJAEAFdshAQAXGysBABcbAQELEeBfSy8CQBcVkAsABFWLADLxuxAxQ+WbAARViwEy8bsRMIPlmyCwMTERI5sAsvsgQDCxESObAEL7AB0LAEELAH3LAX0LATELEbAfSwCxCwINxBCQDAACAA0AAgAOAAIADwACAABF20ACAQIAJxtlAgYCBwIANdQQ8AUAAgAGAAIABwACAAgAAgAJAAIACgACAAsAAgAAdxMDEBsAorWLQGDRYNAl2yRg0BXbSmDbYNAl1BCwB2AA0AhgANAJYADQCmAA0AtgANAAVxtCcNNw0CXbSFDpUOAnG0Bg4WDgJdQQkApgAOALYADgDGAA4A1gAOAARdtEYRVhECcbKGEQFytAcRFxECXbI3EQFxtAcSFxICXbK4HAFysogdAXKyVx8BcrKIHwFysrkfAXJZALSmDbYNAl2ydg0BcbSmDbYNAnFBCwAHAA0AFwANACcADQA3AA0ARwANAAVdQQkApgAOALYADgDGAA4A1gAOAARdtAcOFw4CXbQIERgRAl22OBFIEVgRA3G0CBIYEgJdsrMcAXKyYx0BcrKDHQFyslUdAXKyWR8BcrJqHwFysoofAXKyuh8BcgMzNTMVMxUjFT4BMzIeAhUUBiMiJicRIxMWMzI2NTQjIgcFboKgoBgyFDRILRRtgDlUI27wHB0wLFkjGQH0yMhdVQQDFyo5IVtaBAMBl/7WBiEjQQcAAwAm//ICeALKAA8AGAAhAkGwCitYsggAAyuyAAABXbJ/AAFdsv8AAXGyLwABcrTPAN8AAnGyTwABXbJQAAFdsjAAAV20UAhgCAJdsrAIAV2yQAgBcrJwCAFysuAIAV20gAiQCAJdtCAIMAgCXbIACAFdsAgQsRAH9LAAELEYB/SwGdCwEBCwIdCyTyIBXbLwIwFysj8jAXKyYCMBcbKQIwFxWQCwAEVYsAMvG7EDFD5ZsABFWLALLxuxCwg+WbADELETA/SyGAMLERI5sBgvsk8YAV203xjvGAJdtg8YHxgvGANxtG8YfxgCXbKvGAFxso8YAXGxGQH0sAsQsRwD9DAxAbAKK1iy+AEBXbKYAgFdsqgCAXGyeQIBcrKmBQFxsnYFAXKylwUBXbKXCQFdsqYKAXGymA0BXbL4DQFdsngNAXKyGBEBXbJJEQFxshgSAV2yaBIBcbJZEgFxsooSAXG0VhVmFQJxsocVAXGyFxYBXbJHFwFxskYaAXGyFxoBXbI3GgFxtFUbZRsCcbKFGwFxslgeAXGyiB4BcbIYHwFdtDkgSSACcVkAspcCAV2ypwIBcbKXBQFdsqcFAXGymAkBXbJ5CQFysqoKAXGymA0BXbL4DQFdsqkNAXGyeQ0BcrIYEQFdskgRAXGyGBIBXbRYEmgSAnGyiBIBcbIYFQFdtFgVaBUCcbKJFQFxshgWAV2yShcBcbIXGgFdtDcaRxoCcbJVGwFxsoUbAXGyZxsBcbRVHmUeAnGyhR4BcbIXHgFdshcfAV2yRiABcbI3IAFxEzQ2MzIeAhUUBiMiLgIlLgEjIg4CBxUeATMyPgI3JpqPS3BKJJuOTHBJJAHCCFBBHTQpGwQIUj8dNSkbAwFer700YIZSr700YIaLWWAULEcybl9eEytINwADACH/8gH4AgIADwAYAB8DALAKK1iyCAADK7JfAAFdsj8AAXKyfwABcrKfAAFysl8AAXKyfwABXbLgAAFdsgAAAXKygAgBXbIACAFxsq8IAXGyzwgBcbLgCAFdsjAIAV2yEAgBXbAIELEfBfSwENCwABCxGQX0sBjQsq8hAV2yzyEBXbJvIQFdshAhAXJZALAARViwAy8bsQMQPlmwAEVYsAsvG7ELCD5ZsAMQsRMB9LQsEzwTAl2yGAMLERI5sBgvtC8YPxgCXbQPGB8YAnG0rxi/GAJxtG8YfxgCcbTPGN8YAl207xj/GAJxtI8YnxgCcrAZ3LJQGQFxsAsQsRwB9DAxAbAKK1i0yAHYAQJxtMkB2QECXbToAvgCAl20yALYAgJxtMkC2QICXbTFBdUFAl205gX2BQJdtsYF1gXmBQNxtGcFdwUCcrTGCdYJAl20xgnWCQJxsucJAXG0xgrWCgJdtMgN2A0CXbTJDdkNAnG0yQ7ZDgJdtGgReBECcbSoEbgRAnG0axF7EQJytGoSehICcrRmFXYVAnK0Zhd2FwJysvMaAXG0ZRp1GgJytEYaVhoCcbLmGgFxsocaAV20YhtyGwJytEUbVRsCcbL1GwFxtKcbtxsCXbKJHQFytGodeh0CcrRoHngeAnK0SR5ZHgJxtOke+R4CcbKJHgFyWQC0xgHWAQJdtMcB1wECcbTGAtYCAl205wL3AgJdtscC1wLnAgNxtMUF1QUCcUEJAMcABQDXAAUA5wAFAPcABQAEXbLnBQFxtGcFdwUCcrToCfgJAl20yQnZCQJdtskJ2QnpCQNxtMkK2QoCXbTIDdgNAnG0yQ3ZDQJdsuoNAXG0yQ7ZDgJdtMoO2g4CcbRoEXgRAnK0aRF5EQJxtKkRuRECcbRpEnkSAnK0ahV6FQJytGoXehcCcrLmGgFxtGYadhoCcrZnGncahxoDXbRHGlcaAnGy9xoBcbSnG7cbAl20RxtXGwJxsvcbAXGyhR0BcrRoHXgdAnK0ZB50HgJytOUe9R4CcbKGHgFytEceVx4CcTc0NjMyHgIVFAYjIi4CJS4BIyIOAgcVHgEzMjY3IXxwPFg6HXtwPFg7HQFRCDMqEyIbEwMGOCgmOQb6f4kmRWI7f4kmRWJiPDcMGywgUjY5MT4AAf/z//sCqwLFABcBbbAKK1iyFwIDK7IQFwFxsnAXAV2y8BcBXbJSFwFdtAIXEhcCXbKQFwFdskAXAV2ywBcBcrJQFwFxsm8CAXGy/wIBcbLPAgFxsk8CAXGyfwIBcrIAFwIREjm2ZwB3AIcAA11BCQAmAAAANgAAAEYAAABWAAAABHG21gDmAPYAA12yAQIXERI5ttkB6QH5AQNdspcBAV2wAhCwA9y2oAOwA8ADA3G2cAOAA5ADA11BCQBAAAMAUAADAGAAAwBwAAMABHGycAMBcrIQAwFdtAADEAMCcrbQA+AD8AMDXbQAAxADAnGyBQIXERI5sBcQsQgE9LAXELAQ3FkAsABFWLADLxuxAxQ+WbAARViwDS8bsQ0UPlmwAEVYsAEvG7EBCD5ZsAXQtCsFOwUCXbANELEUA/QwMQGwCitYspQEAV20ZQR1BAJxsngKAV2yigoBcVkAsncEAXGymAQBXbKFCgFxsncKAV2yhgsBXbJ3CwFdBSMBMxMXMz8BPgMzMhYXBy4BIyIGBwFbYv76n4wSBBBFECIrNiQmMBUeER0QFx4NBQLB/mV3eOU2SSwTDAt0CQYjKAAB//n/+wIfAf0AFgFjsAorWLIWAgMrsr8CAXKyTwIBcrLgAgFdskACAV2ycBYBcbKQFgFdtNAW4BYCXbJQFgFysrAWAXGyQBYBXbIAAhYREjm0RgBWAAJxsgECFhESObTpAfkBAl20CQEZAQJdsAIQsAPcshADAV2y8AMBXbQAAxADAnG0YwNzAwJytlADYANwAwNxtIADkAMCXbTAA9ADAnFBCQAgAAMAMAADAEAAAwBQAAMABHKyBRYCERI5sBYQsAnctAoJGgkCcbJcCQFdst8JAV206wn7CQJdtGoJegkCcbJFCQFdsBYQsBDcWQCwAEVYsAMvG7EDED5ZsABFWLANLxuxDRA+WbAARViwAS8bsQEIPlmwBdC0CwUbBQJdsA0QsRMC9DAxAbAKK1i0CAoYCgJdtAgLGAsCXbRIC1gLAl2yyQsBXbSqC7oLAl1ZALQGChYKAl20RgtWCwJdtqYLtgvGCwNdtAcLFwsCXQUjAzMTFzM/AT4DMzIWFwcmIyIGBwEhT9mXXREEDxcRHyUvIRgsDhISEBEfEAUB+f76TU9HNkwvFQkIagkcJgACADz/fgLSA2oAFAAjA0uwCitYsg4GAyu0EAYgBgJdsv8GAV2yDwYBcbIfBgFyst8GAXGyTwYBcrJABgFdsgAGAXKwBhCxBwb0sATQtkQEVARkBANytAUEFQQCcbKGBAFdsjYEAXGyNgQBXbS1BMUEAnG2RARUBGQEA3Gy1AQBcbJzBAFxsmAOAXK0EA4gDgJdsnAOAV2y4A4BXbLvDgFxspAOAV20QA5QDgJdshAOAXGywA4BcrIADgFysA4QsRQG9LAM0LKJDAFdtroMygzaDANxtksMWwxrDANxsnwMAXG2SwxbDGsMA3K0CQwZDAJdsjkMAV2yuAwBXbAOELAP0LAPL7AS3LYgEjASQBIDXbLgEgFxsAYQsCPQsCMvsi8jAXGyryMBXbJvIwFxsBXQsmYVAXGyRhUBcbI3FQFxsikVAV2yphUBXbS2FcYVAnGyVRUBcbK1FQFdsCMQsBvctAAbEBsCcbIvGwFdsrAbAV2y4BsBXbAa0LQmGjYaAl1ZALAARViwBy8bsQcUPlmwAEVYsBMvG7ETCD5ZsAcQsAzQsgETDBESObATELAE0LIJBwQREjmyhAkBXbQDCRMJAl2ykwkBXbATELEOAvSwExCwEtyyIBIBXbKgEgFdsAcQsB7csBXctA8VHxUCXbIQFQFxsB4QsBjcsBUQsBrQsBovMDEBsAorWLL2AwFdtAYDFgMCcbJnAwFxsqcDAXK0CAsYCwJdspgLAV222AvoC/gLA12yGAsBcbKoCwFxstgLAXGyCQsBcbJ5CwFxtLkLyQsCcbRZC2kLAnK0uwvLCwJyspYWAV2yhBwBcbL1HAFdtAYcFhwCcbamHLYcxhwDcbIHHAFdspccAXGyCCEBXbIIIQFxtqghuCHIIQNxsvohAV20iiGaIQJxWQC0CAMYAwJxsvkDAV2yaQMBcbRUC2QLAnK0tQvFCwJytLYLxgsCcbQHCxcLAl2ylwsBXbbXC+cL9wsDXbQHCxcLAnGydwsBcbKnCwFxstcLAXGylxYBXbIIHAFdsvgcAV2ymBwBcbS4HMgcAnGyGRwBcbKpHAFxsgocAXGyihwBcbIIIQFdsoghAXGyCSEBcUEJAJkAIQCpACEAuQAhAMkAIQAEcbL6IQFdshohAXEBNyMHASMRMxEHMzcBMxEzFQcjNyMDHgEzMjcXDgEjIi4CJwHUCAUv/vtniQoGMQEFZnVgXi1t0AQnH0MHbwtdUilEMyEEAYRbXv5/Arz+g15hAXr9tx/WggNqIBw7ET86DBsuIgACADn/jgJTAsAAFAAkAsawCitYsg4GAyuyPwYBcrIvBgFxsk8GAXGyDwYBcbIfBgFyQQkAEAAGACAABgAwAAYAQAAGAARdsAYQsQcE9LAE0LRmBHYEAnGydwQBXbQGBBYEAnGyVQQBcbJwDgFyQQkAEAAOACAADgAwAA4AQAAOAARdsh8OAXK0Pw5PDgJysi8OAXGycA4BcbIQDgFxspAOAV2wDhCxFAT0sAzQtAkMGQwCXbRpDHkMAnG0yQzZDAJdtAkMGQwCcbAOELAP0LAPL7AS3LLgEgFdtiASMBJAEgNdsAYQsCTQsCQvsg8kAXKyDyQBXbJwJAFysBXQttYV5hX2FQNdsscVAV20ZhV2FQJxtIQVlBUCcbAkELAc3LIwHAFxsk8cAV2yTxwBcrLQHAFdspAcAXGwG9CyRxsBXbJ/JgFdWQCwAEVYsAcvG7EHED5ZsABFWLATLxuxEwg+WbAHELAM0LIBDBMREjmwExCwBNCyCQQHERI5tAEJEQkCXbATELEOAvSwExCwEtywBxCwH9yyTx8BcbAV3LIPFQFdslAVAXGysBUBcbAfELAY3LKPGAFdsBUQsBvQsBsvMDEBsAorWLKFAwFysrYDAXFBCQAmAAMANgADAEYAAwBWAAMABHK0hwOXAwJdtOcD9wMCXbToC/gLAl20JxY3FgJxsjYXAXGyRhoBcbSGHZYdAnG0Bx0XHQJdtGcddx0CcbSnHbcdAnG0Jx03HQJytAgiGCICXUEJAIgAIgCYACIAqAAiALgAIgAEcbRpInkiAnFZALSIA5gDAl2yuAMBcbTpA/kDAl1BCQAqAAMAOgADAEoAAwBaAAMABHKyigMBcrTnC/cLAl20CB0YHQJdtKgduB0CcbQoHTgdAnJBCQBpAB0AeQAdAIkAHQCZAB0ABHG0CCIYIgJdQQkAiAAiAJgAIgCoACIAuAAiAARxtGkieSICcSU3Iw8BIxEzFQczPwEzETMVByM3IwMeATMyNjcXDgEjIi4CJwFmBQMrslKCBgQptFJrYF4tXIsHIRocIQZjDF4/HzouIAbkR0niAfTuREfr/n8fxnICwCcgICYZQT8OHzAj//8AAP/2AnQC1QIGAZcAAAAC//v/+QIGArwAGAAiAlKwCitYshAWAyuyLxYBcbJPFgFyss8WAV20fxaPFgJdsq8WAV2yXxYBXbIfFgFysv8WAV22IBYwFkAWA12wFhCwAdCwANywFhCxGQT0sAjQsATQsAXcshAQAXFBCwAAABAAEAAQACAAEAAwABAAQAAQAAVdso8QAV2yHxABcrIvEAFxsq8QAV2y4BABXbKwEAFxsvAQAXGwEBCxHgX0WQCwAEVYsAMvG7EDFD5ZsABFWLATLxuxEwg+WbILAxMREjmwCy+yBAMLERI5sAQvsAHQsAQQsAfcsBfQsBMQsRsB9LALELAg3LZQIGAgcCADXUEJAMAAIADQACAA4AAgAPAAIAAEXbQAIBAgAnFBDwBQACAAYAAgAHAAIACAACAAkAAgAKAAIACwACAAB3EwMQGwCitYtKUNtQ0CXbJ1DQFxtKUNtQ0CcbQGDRYNAl2yRg0BXbQnDTcNAl20hw2XDQJxtMUO1Q4CXbSFDpUOAnG0pg62DgJdQQkABwAOABcADgAnAA4ANwAOAARdsoQRAXK2NhFGEVYRA3G0BxEXEQJdtAcSFxICXbKJHAFytFgdaB0CcrJXHwFysmgfAXKyiR8BcrK5HwFyWQCydQ0BcbSGDZYNAnG0Bw0XDQJdskcNAV20pw23DQJdtKcNtw0CcbTGDtYOAl1BCQAHAA4AFwAOACcADgA3AA4ABF20hw6XDgJxtAgRGBECXbY5EUkRWREDcbKKEQFytAkSGRICXbK1HAFysoYcAXKyYx0BcrJVHQFysrgfAXK0Wx9rHwJysosfAXIDMzUzFTMVIxU+ATMyHgIVFAYjIiYnESMTFjMyNjU0IyIHBW6CoKAYMhQ0SC0UbYA5VCNu8BwdMCxZIxkB9MjIXVUEAxcqOSFbWgQDAZf+1gYhI0EHAAIAPAAAAiMCxgAXAC4B67AKK1iyCBcDK7KQCAFdslAIAXGycAgBcbKwCAFdsnAIAV1BDQAAAAgAEAAIACAACAAwAAgAQAAIAFAACAAGXbIfFwFxsv8XAV2y3xcBcbYgFzAXQBcDXbIAFwFdsBcQsRYG9LAl0LILCCUREjmylgsBXbIOJQgREjm2aQ55DokOA12yOA4BXbAOELAM0LAML7AIELEcB/SyGRwlERI5si0lHBESObAZELAu0LAuL7IfLwFdWQCwAEVYsAMvG7EDFD5ZsABFWLAWLxuxFgg+WbIQAxYREjmwEC+yCwMQERI5spYLAV2wCxCwDdCwDS+yDhADERI5tmkOeQ6JDgNdsBAQsSoC9LADELEhAvSyLSohERI5sC0QsBjQsBgvtiAYMBhAGANdshkhKhESOTAxAbAKK1i21gbmBvYGA12yNgYBcbRnBncGAl2yVwYBcrKlCgFytEYKVgoCcbQmCjYKAnKypwoBcbZoDHgMiAwDXbRrDXsNAl2yjA0BXbLYGwFxsogfAXGyGR8BclkAsjUGAXG0ZwZ3BgJdttcG5wb3BgNdslcGAXK0SQpZCgJxsqkKAXGyqQoBcrQqCjoKAnKyhwwBXbRoDHgMAl22aA14DYgNA12yhBkBXbKGGgFdstUbAXGyGB8BcrKJHwFxEz4BMzIeAhUUBgcXBycGIyoBLgEnFSMTFz4BNTQuAiMiBgcVHgIyMzI2Nyc8KmUyNGlUNTIqQE9NKi0FFhgXBYnzPxEUGCcyGhQkCwQQEhEEDhoNOgK1CAkRM1tJRV4dWzptCQECAfEB3lwOLSMhKxoKAwLjAQIBAgNTAAIAOf84AfsCAgAWACkBlrAKK1iyCRYDK7IAFgFysj8WAXKy/xYBXbI/FgFxsl8WAXKyXxYBcbIfFgFxtiAWMBZAFgNdsgAWAV2wFhCxFQT0sCLQsALQQQsAAAAJABAACQAgAAkAMAAJAEAACQAFXbJwCQFysmAJAV22gAmQCaAJA12yCwkiERI5sg4iCRESObAOELAM0LAML7AJELEbBfSyGBsiERI5sigiGxESObAYELAp0LApL7IQKwFyspArAV2y0CsBcbLwKwFxWQCwAEVYsAYvG7EGED5ZsABFWLABLxuxARA+WbAARViwFS8bsRUKPlmwAEVYsBEvG7ERCD5ZsgIGERESObILEQYREjmwCxCwDdCwDS+yDgYRERI5shQRBhESObAGELEeAfSwERCxJQH0sigeJRESObAoELAX0LAXL7IYHiUREjmyZxgBXTAxAbAKK1i0hgeWBwJdtEYHVgcCcbQHBxcHAl2ydwcBXbKnBwFdsncIAV1ZALJ2BwFdtAcHFwcCXbaHB5cHpwcDXbRHB1cHAnGydwgBXbSpHLkcAnETMxczPgEzMhYVFAcXBycOASMiJicVIxMXPgE1NCYjIgYHFR4BMzI2Nyc5Xw8EGkczXl5GL0k3EicVHygUgu0wDxAsMSYrDA4hGwoTCC8B9DwmJHeEjkk4PUMFBwkKzQGJPBVBL0JIJibQCw0CAzkAAQA8AAAB1ANUAAkAnrAKK1i7AAMABgAEAAQrsvADAV2yAAMBcbQgAzADAnK0MANAAwJdtAADEAMCXbQgBDAEAnK0AAQQBAJdsvAEAV2yAAQBcbQwBEAEAl2wBBCwCNyycAgBXbJgCAFxshAIAXGyUAgBXbLACAFysAfcsuALAV1ZALAARViwBi8bsQYUPlmwAEVYsAMvG7EDCD5ZsAYQsQID9LAGELAH3DAxAQchESMRITczFQHUAf7yiQEqFVgCvHr9vgK8mJgAAQA5AAABfAKMAAcAlrAKK1i7AAEABQACAAQrsj8BAXGy/wEBXbI/AQFytAABEAECXbJAAQFdsv8CAV2yPwIBcrI/AgFxtAACEAICXbJAAgFdsAIQsAbcslAGAXGycAYBcrLwBgFdslAGAV2wBdyygAUBXbKwCQFdWQCwAEVYsAQvG7EEED5ZsABFWLABLxuxAQg+WbAEELEAAvSwBBCwBdwwMRMRIxEzNzMRv4bXFVcBgf5/AfSY/vUAAQAAAAAB9wK8AA0AmrAKK1i7AAYABgAHAAQrsgAHAXGyMAcBXbAHELAA3LIQAAFxssAAAXKyYAABcbJwAAFdslAAAV2yMAYBXbIABgFxsAYQsALQsAPcsAcQsAvQsArcsuAPAV1ZALAARViwDS8bsQ0UPlmwAEVYsAYvG7EGCD5ZsA0QsQAD9LICDQYREjmwAi+wBdy0YAVwBQJdsAjQsAIQsAvQMDEBIRUzFSMRIxEjNTMRIQH3/vLg4IlgYAGXAkK/Xf7aASZdATkAAQAAAAABlgH0AA0AubAKK1i7AAYABQAHAAQrsv8GAV2yrwYBXbYgBjAGQAYDXbLQBgFysAYQsALQsAPcshADAV2y/wcBXbKvBwFdstAHAXK2IAcwB0AHA12wBxCwC9CwCtywBxCwDdyy8A0BXbJwDQFyspANAV2yUA0BcbJQDQFdWQCwAEVYsA0vG7ENED5ZsABFWLAGLxuxBgg+WbANELEAAvSyAg0GERI5sAIvsAXcsmAFAXGyIAUBcrAI0LACELAL0DAxASMVMxUjFSM1IzUzNSEBlr2iooZTUwFDAYFvUMLCUOIAAQA8/4ECIgK8ACMBTbAKK1i7AAAABgABAAQrsi8AAXG23wDvAP8AA3G0AAAQAAJdsjAAAV223wHvAf8BA3GyLwEBcbQAARABAl2yMAEBXbABELAD3LJwAwFdshADAXGyYAMBcbLwAwFdslADAV2ywAMBcrAAELAG0LADELAO0LAOL7IADgFdshQOARESObAUL7AOELEbB/RZALARL7AARViwAy8bsQMUPlmwAEVYsAAvG7EACD5ZsAMQsQQD9LKgEQFdsiARAV2yCQMRERI5sAkvsBEQsRgD9LAJELEgA/QwMQGwCitYsvYLAV201wvnCwJdtNUM5QwCXbLGDwFdsgcQAV22xxDXEOcQA120VxBnEAJysokaAXGyiR0BcVkAsvYLAV201wvnCwJdtNYM5gwCXbLIDwFdsggQAV2yyBABXbTZEOkQAl20WhBqEAJysoYaAXGyiB0BcTMjESEVIRU+ATMyHgIVFAYjIiYnNR4BMzI2NTQuAiMiBgfFiQGX/vIQQzAqTj0lcn8bGwgHIRAzNBIgLBkYMgwCvHrLBhAXOWNMgYwCAnYCAUZKKTYfDQwGAAEAOf8rAfQB9AAiAU2wCitYuwAAAAQAAQAEK7QvAD8AAnGyTwABcrL/AAFdskAAAV2yTwEBcrL/AQFdtC8BPwECcbJAAQFdsAEQsAPcsvADAV2yUAMBcbAAELAG0LABELAO3LQADhAOAl2yEA4BcbLwDgFdstAOAV2yFgEOERI5sBYvsA4QsRwF9LLQJAFdWQCwAEVYsAMvG7EDED5ZsABFWLAALxuxAAg+WbAARViwEy8bsRMKPlmwAxCxBAL0sgkDABESObAJL7ATELEaAvSwCRCxHwL0MDEBsAorWLKmCwFdtAcLFwsCXbQmDDYMAnG0Zgx2DAJytAcMFwwCXbQGEBYQAnG05hH2EQJdtAcRFxECXbQHERcRAnFZALKmCwFdtAcLFwsCXbQmDDYMAnG0BwwXDAJdtGcMdwwCcrQIEBgQAnG0CBEYEQJdtAgRGBECcbTqEfoRAl0zIxEhFSMVPgEzMh4CFRQOAiMiJic1HgEzMjU0JiMiBge7ggE+vBA8MCZFNB4XNlc/HBsICCEQYjUtFy0MAfRzfgYPFjZcRj9gQCADAnABAYRHPAwGAAH/+f+DA1QCvAAdAiewCitYuwARAAQAEgAEK7IfEQFyshARAV2yYBEBcrARELAC0LARELAO3LJADgFdsATQtmoEegSKBANdQQ0AqgAEALoABADKAAQA2gAEAOoABAD6AAQABl20CgQaBAJxslkEAV2ymQQBXbAF3LJQBQFxtGMFcwUCcbIQBQFdtOAF8AUCXbQABRAFAnG0gAWQBQJdsgcFAhESObKWBwFdsA4QsAnctCQJNAkCcbQGCRYJAl221QnlCfUJA120AwkTCQJxtnAJgAmQCQNdsArQsAovsAzcsh8MAXFBCwAgAAwAMAAMAEAADABQAAwAYAAMAAVdsh8SAXKyEBIBXbJgEgFysBIQsBXcsk8VAV2wFtyyHxYBXbZ/Fo8WnxYDXbbfFu8W/xYDXbQPFh8WAnGwFRCwG9C0Khs6GwJxQQsAtQAbAMUAGwDVABsA5QAbAPUAGwAFXbQFGxUbAnGwGtyyHxoBXbbfGu8a/xoDXbQPGh8aAnG0TxpfGgJxtn8ajxqfGgNdtGwafBoCcbASELAd0LIYGh0REjmyLx8BXVkAsABFWLAALxuxABQ+WbAARViwEi8bsRIIPlmyEBIAERI5sBAvspAQAV2wAtCwABCwBNCyBwIQERI5sBIQsA3QsQkD9LANELAM3LKgDAFdsiAMAV2yHQASERI5sB0vsBPQsBIQsBXQshgdExESObAAELAb0DAxAbAKK1iyWQ8BXVkAsmgDAV2yZxQBXQEzETcTMwMHHwEzFSMnIwMjESMRBwMjEzcnAzMTMwFegiORmqMvOXFOYA89oSeCJKGgtzY0q5+RJwK8/skOASn+zSIqw/d9ATD+0AE8Dv7SATMnJQE9/tUAAf/6/44C0AH0AB0D8rAKK1i7ABsABAAcAAQrsv8cAXG0DxwfHAJysr8cAV2yfxwBXbYAHBAcIBwDXbAcELAB0LQEARQBAnGypgEBcrJHAQFdsscBAXGy+AEBXbJ5AQFdspgBAXGyCAEBXbLnAQFdsgcBAXK0ZAF0AQJxtIQBlAECXbIUAQFdsALQsrYCAV2ymAIBcbTpAvkCAl2yyQIBcbLaAgFxsloCAXG0iwKbAgJdtAwCHAICcbbbAusC+wIDcrJ7AgFysnoCAXGyaQIBcrJpAgFxsjkCAXKy2AIBXbIDAgFysuICAXGwBtCy5wYBcbTpBvkGAl2ymwYBXbKJBgFdsicGAV20ZgZ2BgJxsBwQsAnQsgQGCRESObKHBAFdskcEAV2ytgQBXbAGELAH0LKEBwFytIYHlgcCXbIHBwFysvcHAV20Zgd2BwJxssUHAXK21AfkB/QHA3K0AwcTBwJxsuAbAXGyHxsBcrK/GwFdsn8bAV22ABsQGyAbA12ykBsBcrAbELAM0LAbELAY0LL3GAFdstcYAV20ChgaGAJxshoYAV20ixibGAJdtGoYehgCcbLIGAFdskcYAXGyphgBXbJ2GAFdsBPQstQTAXG21BPkE/QTA3KyJRMBcrLFEwFyssUTAXG0hhOWEwJdshcTAXKyWBMBXbILEwFyskkTAV2y9xMBXbI2EwFysuYTAXGyZRMBcbJ1EwFyslUTAXKyhBMBcrQDExMTAnGycxMBcbAP0LJ2DwFxsvcPAV2yuQ8BXbI5DwFysikPAV2yqw8BXbQJDxkPAnGyyQ8BcbSYD6gPAnGyZw8BcbKFDwFdspMPAV2wDtCyKA4BcrRpDnkOAnGymg4BXbLKDgFysnsOAXK0DA4cDgJxsowOAXK22w7rDvsOA3KyGg4BXbLaDgFxsogOAV20OA5IDgJxsqcOAV2yEQ8MERI5sscRAV2ySREBXbJYEQFdshcRAV20hxGXEQJdsBMQsBTQsBQvsi8UAV2yTxQBXbAW3EELACAAFgAwABYAQAAWAFAAFgBgABYABV2yYBYBclkAsABFWLAHLxuxBxA+WbAARViwAS8bsQEIPlmwBxCwCtCwARCwHNCyGgocERI5sBovtC8aPxoCXbTpGvkaAl20CRoZGgJxtMIa0hoCXbAM0LZbDGsMewwDcUEJAMsADADbAAwA6wAMAPsADAAEXbQLDBsMAnG0aQx5DAJdshEMGhESObSHEZcRAl2wERCwBNCwDBCwCdCwChCwDtCwHBCwF9CxEwL0sBcQsBbcskAWAV2wGhCwHdAwMQGwCitYsicCAXGyGAMBcbRoEHgQAl2yJhIBcbKXEgFdWQCyFwMBcbJ3EAFdNwcjPwEvATMXMzUzFT8BMw8BHwEzFSMnIycjFSM18maSgyIzZ4tdK3wmXoptJzM7VF8PPWYrfMvL5R4my8vL1Q7HyyAobuVyz8/ZAAEAEv9RAesCyAA8Ax6wCitYshstAyuyABsBcbJAGwFxsoAbAXGywBsBcbKQGwFyst8bAV2yvxsBXbIwGwFysqAbAXGyYBsBcbIgGwFxsuAbAV2yEBsBXbKgLQFxsg8tAXKyHy0BcbLfLQFdso8tAV2yvy0BXbL/LQFdsl8tAXGyAC0BcbJALQFxsiAtAXGyABstERI5sAAvsBsQsQoH9LAtELAR0LARL7IeGwAREjmwGxCwItCwIi+yKi0bERI5sCovsCfctC8nPycCXbIoJyoREjlBEwBHACgAVwAoAGcAKAB3ACgAhwAoAJcAKACnACgAtwAoAMcAKAAJcUELAAcAKAAXACgAJwAoADcAKABHACgABXKy5ygBcbIpKicREjm01ynnKQJxQQsABwApABcAKQAnACkANwApAEcAKQAFcrAiELE2B/SyYD4BclkAsABFWLAWLxuxFhQ+WbAARViwKi8bsSoIPlmyARYqERI5sAEvsk8BAV203wHvAQJdsQAB9LAWELENA/SyHgEAERI5sCoQsCfQsCoQsCncsuApAXGyACkBXbJgKQFdsCoQsTED9DAxAbAKK1iylQsBXbQHGBcYAl20RRlVGQJxsuUZAXGylhkBXbI2GQFxsmYZAXGy9hkBcbQHGRcZAl2yJxkBcbKWHQFyspcdAV20RiBWIAJxQQkAlgAgAKYAIAC2ACAAxgAgAARxtCYgNiACcrI3IAFxshcgAXKyliEBcbI2JAFxsuYkAXG2ViRmJHYkA3Ky9yQBXbL3JAFxtCclNyUCXbJnNAFxsog0AXGymjgBcbS6OMo4AnFZALJmCAFxQQkAWAAQAGgAEAB4ABAAiAAQAARdspkQAV2yKRABcrQHGBcYAl2y9RkBcbQmGTYZAnG0BxkXGQJdspcZAV22RxlXGWcZA3Gy5xkBcbKZHQFdspodAXK0tSDFIAJxtjYgRiBWIANxsqcgAXG2FyAnIDcgA3Ky+CQBXbLoJAFxsjkkAXGy+SQBcbZZJGkkeSQDcrQoJTglAl20hi6WLgJdtGcudy4CXbKFNAFxsmY0AXG0uDjIOAJxspk4AXETNTM6AT4BNz4BNTQmIyIGByc+AzMyHgIVFAYHFR4BFRQOAg8BIycuASc3HgEzMj4CNTQmJyYiI3gYCRobGggjMj0yLU4UIwspNT4gLFRCKDc9QUkjOk0rDlgTLUgWIxdWOxYtJBZGWgwMDwE2awEDAggpIzAjGAt0Bg4NCBAoQzQ0WBQFDVZIMUk0HwalpAUSC3cLFwsZKBwvMAIBAAEAFv9RAY8B/QAtBC2wCitYshIkAyuyoCQBcbIvJAFxsn8kAV2y3yQBXbL/JAFdsq8kAXKyYCQBcbKAJAFxsmAkAV20UBJgEgJxsqASAXGyLxIBcbLfEgFdsq8SAXKy0BIBcbKAEgFxsmASAV2yEBIBXbIAJBIREjmwAC+wEhCxBQT0sCQQsAzQsAwvshcSABESObQHFxcXAl2wEhCwG9CwGy+2EBsgGzAbA3GyISQSERI5sCEvQQkAQAAhAFAAIQBgACEAcAAhAARdQQkAwAAhANAAIQDgACEA8AAhAARdsB7css8eAXK0Lx4/HgJdsk8eAXKy0B4BcbIfIR4REjlBGQBHAB8AVwAfAGcAHwB3AB8AhwAfAJcAHwCnAB8AtwAfAMcAHwDXAB8A5wAfAPcAHwAMcUETAAcAHwAXAB8AJwAfADcAHwBHAB8AVwAfAGcAHwB3AB8AhwAfAAlysiAhHhESObTnIPcgAnFBEwAHACAAFwAgACcAIAA3ACAARwAgAFcAIABnACAAdwAgAIcAIAAJcrAbELEqBPSyIC8BclkAsABFWLAPLxuxDxA+WbAARViwIS8bsSEIPlmyAQ8hERI5sAEvtC8BPwECcbSvAb8BAnK0bwF/AQJxtI8BnwECXbQPAR8BAnKwANy0YABwAAJdtBAAIAACcbAPELEIAfSyFwEAERI5sCEQsB7QsB4vsCEQsCDcsCEQsSgB9DAxAbAKK1iyeAsBXbRoC3gLAnJBCQAGABAAFgAQACYAEAA2ABAABF1BCQCmABAAtgAQAMYAEADWABAABF205xD3EAJdtOcQ9xACcbSkEbQRAl20xRHVEQJdtAURFRECcbTmEfYRAl205hH2EQJxtAYRFhECcrbGEdYR5hEDckEJAAcAEQAXABEAJwARADcAEQAEXbQnETcRAnG0BxQXFAJxtGYVdhUCcbRHFVcVAnG0JRk1GQJxtAcZFxkCXbQHHBccAl20pxy3HAJdsvUdAXK0Bh0WHQJdtGYddh0CcbQnHTcdAl20px23HQJdtIcdlx0CcbLnHQFyspklAXJZALJ4CwFdtGkLeQsCcrSlELUQAl1BCQAGABAAFgAQACYAEAA2ABAABF1BCQDGABAA1gAQAOYAEAD2ABAABF205xD3EAJxQQ0ApgARALYAEQDGABEA1gARAOYAEQD2ABEABl1BCQAGABEAFgARACYAEQA2ABEABHFBCQAHABEAFwARACcAEQA3ABEABF20BxEXEQJytAgUGBQCcbRIFVgVAnG0aRV5FQJxtEgWWBYCcbQlGTUZAnG0BxkXGQJdtAgcGBwCXbSoHLgcAl20KB04HQJdtKgduB0CXbQJHRkdAl1BCQBpAB0AeQAdAIkAHQCZAB0ABHG06R35HQJytKkjuSMCXbSoJLgkAl20liWmJQJytIcllyUCXbKGKQFyNzUzMjY1NCYjIgYHJz4BMzIWFRQOAgcVHgEVFAYPASMnLgEnNx4BMzI1NCYjbT0jLScpJz0SHB5jOFZVCRQdFDUsREgOWBMmORUcF0IoWi9Az1sdFxsWFQtkERlAPREjIBkHBAw9MzNPDqunBBMMZQ0ROhoZAAEAPP+DAnQCvAASAeuwCitYuwACAAYAAwAEK7IfAgFysu8CAV20AAIQAgJdskACAV2y7wMBXbIfAwFytAADEAMCXbJAAwFdsAIQsAbQsAIQsBLcsuQSAV2yHBIBcbLfEgFdst8SAXGynxIBXbK1EgFdsqESAV20IBIwEgJdsAjQskkIAV22agh6CIoIA12yOggBcbJcCAFytqoIugjKCANdspkIAV2yWAgBXbIlCAFxsAnctnAJgAmQCQNdtOMJ8wkCXbQDCRMJAnGy2gkBXbRFCVUJAnJBCQBAAAkAUAAJAGAACQBwAAkABHG0sAnACQJxshAJAV2yCwkGERI5tGYLdgsCXbTlC/ULAl20BQsVCwJxsBIQsA3cshMNAXGyBQ0BcbRlDXUNAl2yhg0BXbJWDQFdtAUNFQ0CXbTFDdUNAl204w3zDQJdsmANAXG2gA2QDaANA3GwDtCwDi+wENyyHxABcUELACAAEAAwABAAQAAQAFAAEABgABAABV1ZALAARViwBS8bsQUUPlmwAEVYsBEvG7ERCD5ZsgEFERESObABL7QvAT8BAl2wERCwAtCwARCwBtCwBRCwCNCyCwYBERI5sBEQsQ0D9LARELAQ3LKgEAFdsiAQAV2yqBIBXTAxAbAKK1iyRwcBXbIZBwFdWQCySAcBXRMjESMRMxE3EzMDBx8BMxUjJyPpJImJIMGczDY4kmpgD00BK/7VArz+yg4BKP7aJifP930AAQA5/44CBwH0ABICPrAKK1i7AAIABAADAAQrsj8CAXGy/wIBXbI/AgFytAACEAICXbJAAgFdsv8DAV2yPwMBcrI/AwFxtAADEAMCXbJAAwFdsAIQsAbQsAIQsBLQsjcSAXG0CRIZEgJxsooSAV2ymRIBXbJ3EgFdstcSAV2wDdCy0w0BcbLEDQFxsoQNAV2yVQ0BcbQlDTUNAnKylQ0BXbK2DQFxskYNAXGyVg0BXbLGDQFdsrcNAV2yZw0BXbL2DQFdsnYNAV2ylg0BcbJGDQFyQQsAtQANAMUADQDVAA0A5QANAPUADQAFcrL1DQFxsmUNAXKy5A0BcbRkDXQNAnG0cw2DDQJysgMNAXGyEg0BcbAJ0LL2CQFdsucJAV2yCgkBcbJqCQFyskoJAXK0GAkoCQJdsgcJAV2yhQkBXbJ1CQFxsAjQsukIAV2y+ggBXUEJAMoACADaAAgA6gAIAPoACAAEcrLsCAFxsn0IAXKyjggBcrL9CAFxtAwIHAgCcbIaCAFdtkoIWghqCANyspoIAV20Jwg3CAJdsqcIAV2yCwkGERI5soYLAV2wDRCwDtCwDi+wENxBCwAgABAAMAAQAEAAEABQABAAYAAQAAVdsmAQAXJZALAARViwBS8bsQUQPlmwAEVYsAIvG7ECCD5ZsgEFAhESObABL7QvAT8BAl2ywAEBXbAG0LAFELAI0LILBgEREjmwAhCwEdCxDQL0sBEQsBDcskAQAV0wMQGwCitYssUMAV205gz2DAJdsncMAV2ytwwBXVk3IxUjETMVPwEzDwEfATMVIycj3iOCgh91i3kzOERdXw9Bz88B9NUOx74mJ3blcgABADwAAALBArwAFgFUsAorWLsAAgAGAAMABCuyAAIBXbQwAkACAl2yAAMBXbQwA0ADAl2wAhCwBtCwAxCwEdCyAxEBXbJlEQFxskYRAXGyFREBXbJ0EQFxshMRAXGyAhEBcbIWAxEREjmwFi+yTxYBXbIAFgFdsAfQsBYQsBXcsArQsBEQsBLQsmkSAV2yehIBXbJKEgFxsosSAV2ynBIBXbIcEgFxsvsSAV2yCxIBcbQLEhsSAl2y6hIBXbJ5EgFxsmgSAXGyNRIBXbAM0LAL0LARELAN0LIZDQFdsA7QshYOAV2wERCwENCwEhCwE9CyHxcBXbIfGAFdWQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbIBBQIREjmwARCwBtCwC9CyBwYLERI5sAYQsAjQsAgvsgoLBhESObAFELAM0LIPBgEREjmwAhCwEtCwARCwFNCwARCwFtCwFi8wMRMjESMRMxE3NTMVNxMzAwcXEyMDIxUj+zaJiTZdFqKUqzY4xp+wGl0BK/7VArz+ygSFfQIBKP7aJif+twErfwABADkAAAI8AfQAFgFesAorWLsAAgAEAAMABCuyPwIBcbL/AgFdtAACEAICXbJAAgFdsv8DAV2yPwMBcbQAAxADAl2yQAMBXbACELAG0LAGL7ADELAR0LJlEQFytAYRFhECXbQEERQRAnGyYhEBcbIWAxEREjmwFi+yEBYBXbAH0LAWELAV3LAK0LARELAS0LRpEnkSAnGyGhIBXbZsEnwSjBIDcrTqEvoSAl20ChIaEgJxsgkSAV2ymRIBXbAM0LAL0LARELAN0LIZDQFdsA7Qsg8LDhESObARELAQ0LASELAT0LJAGAFdWQCwAEVYsAUvG7EFED5ZsABFWLACLxuxAgg+WbIBBQIREjmwAS+0LwE/AQJdsAbQQQkAawAGAHsABgCLAAYAmwAGAARdsAvQsgcGCxESObAGELAI0LAIL7IKCwYREjmwBRCwDNCyDwYBERI5sAIQsBLQsAEQsBPQsAEQsBbQsBYvMDE3IxUjETMVNzUzFT8BMw8BHwEjJyMVI+UqgoIqTBZciGA1OG6QYRpMz88B9NUEeHACx74mJ+nPdgABAAAAAAKpArwAFgE3sAorWLsAEwAGABQABCu0ABQQFAJxskAUAV2ykBQBXbAUELAB0LABL7AA0LAAL7QAExATAnGykBMBXbJAEwFdsBMQsAjQsATQsBQQsA/QspUPAV2yFQ8BXbIDDwFdsBDQssoQAXG22hDqEPoQA12yexABcbLbEAFxsh0QAXGyDBABcbQLEBsQAl22ehCKEJoQA12yahABcbK5EAFxsmkQAV2wCtCyGQoBXbIFBAoREjmwBS+wChCwCdCwDxCwC9CyGQsBXbAM0LINCQwREjmwDxCwDtCwEBCwEdBZALAARViwAy8bsQMUPlmwAEVYsBMvG7ETCD5ZsgQDExESObAEL7AB0LAEELAH3LISEwMREjmwEi+wCNCwCdCwAxCwCtCyDQgSERI5sBMQsBDQsAcQsBXQsBUvMDERMzUzFTMVIxU3EzMDBxcTIwMjESMRI4SJXV02sZa8QD3eqcQviYQCgzk5XaAOASj+2iYn/rcBK/7VAhsAAf/yAAAB+AK8ABYCWbAKK1i7ABMABAAUAAQrsuAUAV20MBRAFAJdtAAUEBQCXbAUELAB0LAA3LQAExATAl2y4BMBXbQwE0ATAl2wExCwCNCwBNCwBdywExCwENC0phC2EAJxstcQAV2y+BABcbL5EAFdtAkQGRACcbSKEJoQAl2yGhABXbLqEAFdslgQAXGyNxABcbJ3EAFxskYQAXGydRABXbAP0LLyDwFxsgIPAXG00w/jDwJxtGQPdA8CcUEJACUADwA1AA8ARQAPAFUADwAEcrTlD/UPAl2yBQ8BXbKmDwFxsjcPAXG0xw/XDwJdspcPAXFBCwC1AA8AxQAPANUADwDlAA8A9QAPAAVytmUPdQ+FDwNdtEUPVQ8CcbS0D8QPAnGykw8BXbJjDwFysnIPAXKygQ8BcrIQDwFxsAvQsnYLAXGyCAsBXbKICwFxsigLAV20CgsaCwJxskoLAXKy6QsBcbJ4CwFdsqgLAXGy5wsBXbL1CwFdsoQLAV2wCtCyCAoBXbJJCgFxtEoKWgoCcrIaCgFdsvsKAV2ynAoBXbQMChwKAnGy/QoBcbKOCgFytG0KfQoCcrLsCgFxsssKAXKyugoBcbKKCgFdttoK6gr6CgNysukKAV2yeAoBcbKoCgFxsg0LCBESObIWDQFdsgAYAV1ZALAARViwAy8bsQMUPlmwAEVYsAovG7EKED5ZsABFWLATLxuxEwg+WbIEAwoREjmwBC+wAdCwBBCwB9yyIAcBcrJgBwFxshIDExESObASL7QvEj8SAl2wCNCyDQgSERI5sBMQsBDQsAcQsBXQMDEDMzUzFTMVIxE/ATMPAR8BIycjFSMRIw5SgpmZHnKPeDM3h5V6I4JSAnJKSlD+/Q7HviYn6c/PAiIAAQAAAAACxAK8ABEBo7AKK1i7AA8ABgAQAAQrsgAQAV2yQBABXbAQELAB3LJADwFdsgAPAV2wDxCwBNCwDxCwDNyy2QwBXbIcDAFxsp8MAV2y3wwBcbJaDAFysuUMAV20IAwwDAJdsAbQspkGAV2yOgYBcbZqBnoGigYDXbRJBlkGAl2yJQYBcbAH3EEJAEAABwBQAAcAYAAHAHAABwAEcbJTBwFystUHAXGy2gcBXbTjB/MHAl20AwcTBwJxtLAHwAcCcbZwB4AHkAcDXbIQBwFdsgkHBBESObZmCXYJhgkDXbTlCfUJAl20BQkVCQJxsAwQsAvcskALAXK2oAuwC8ALA3KyUwsBcrLUCwFdstULAXGyFQsBcbTjC/MLAl2yAwsBcbYjCzMLQwsDcbQACxALAl2ywAsBXUEJAGAACwBwAAsAgAALAJAACwAEXVkAsABFWLACLxuxAhQ+WbAARViwDy8bsQ8IPlmwAhCxAQP0sg4PAhESObAOL7QvDj8OAl2wBNCwAhCwBtCyCQQOERI5sA8QsAzQMDEBsAorWLJHBQFdshgFAV1ZALJIBQFdEyM1IRE3EzMDBxcTIwMjESMRn58BKCDBnMw2OOmpzySJAkJ6/soOASj+2iYn/rcBK/7VAjEAAf/7AAACHQH0ABAB8bAKK1i7AAsABAAMAAQrsl8LAV2ysAsBcbYQCyALMAsDXbALELAA0LALELAI0LJ3CAFdtOoI+ggCXbSKCJoIAl2yGggBXbI2CAFdtEUIVQgCcbAH0LTCB9IHAnG04gfyBwJyspMHAV204wfzBwJxslQHAXG0xAfUBwJysoUHAV2yNQcBXbRlB3UHAnG0NgdGBwJxspcHAXGy1gcBXbQmBzYHAnKyBQcBXbJlBwFdsqUHAXG0RAdUBwJysrMHAXGycwcBXbLjBwFdtmIHcgeCBwNysvIHAV20AQcRBwJxsAPQtGkDeQMCcbI7AwFdsigDAV2y9wMBXbAC0LJ4AgFdtOoC+gICXbKKAgFdspsCAV20SwJbAgJysrwCAXG07QL9AgJytm0CfQKNAgNysh8CAXG0zQLdAgJxtOwC/AICcbIMAgFxtGsCewICcbTLAtsCAnK0SgJaAgJxtAkCGQICXbInAgFdsqcCAV2yBQMAERI5shcFAV2yXwwBXbKwDAFxthAMIAwwDANdsAwQsA7cspASAV1ZALAARViwDy8bsQ8QPlmwAEVYsAIvG7ECED5ZsABFWLALLxuxCwg+WbIKDwsREjmwCi+0Lwo/CgJdsADQsgUAChESObALELAI0LAPELEOAvQwMQGwCitYsnYGAXFZEz8BMw8BHwEjJyMVIxEjNTPrIHSMeTQ5hpV5JIJu8AEfDse+Jifpz88BgXP//wA8/4MCpgK8AgYCXwAAAAEAOf+OAi4B9AAPAQmwCitYsgkEAyuyEAkBXbKQCQFdsh8JAXKyPwkBcrL/CQFdslAJAXGyMAkBXbJwCQFxsoAJAXKwCRCxCAT0sADQshAEAV2yHwQBcrI/BAFysv8EAV20DwQfBAJxsjAEAV2yAAQBcrIgBAFysAQQsQUE9LAB0LAJELAL0LALL7JvCwFdsA3cQQsAIAANADAADQBAAA0AUAANAGAADQAFXbJgDQFyWQCwAEVYsAUvG7EFED5ZsABFWLACLxuxAgg+WbIGBQIREjmwBi+yXwYBcbTvBv8GAl20TwZfBgJdtGAGcAYCcrIQBgFysQEC9LAFELAI0LACELAO0LEKAvSwDhCwDdyyQA0BXTAxJSMVIxEzFTM1MxEzFSMnIwFeo4KCo4JOXw9ixcUB9Ly8/n/lcgABADwAAANcArwADQDZsAorWLICBwMrskACAXJBCQAQAAIAIAACADAAAgBAAAIABF2y/wIBcbLfAgFxsmACAXKyMAIBcbKQAgFdsAIQsADcsoAAAV2wAhCxAwb0sv8HAV2y3wcBcbIfBwFxQQkAEAAHACAABwAwAAcAQAAHAARdsAcQsQYG9LAK0LADELAL0LJwDwFdWQCwAEVYsAkvG7EJFD5ZsABFWLAGLxuxBgg+WbAJELAM0LEBA/SwBhCwA9CyCgkGERI5sAovsk8KAV2yzwoBcbJfCgFxtN8K7woCXbEFA/QwMQEhESMRIREjETMRIREhA1z+8on/AImJAQABlwJC/b4BJf7bArz+4wEdAAEAOQAAApwB9AANAOywCitYsgIHAyuyUAIBcbKAAgFysv8CAV2yHwIBcrI/AgFysi8CAXGyEAIBXbJwAgFxspACAV2yMAIBXbACELEDBPSyAAcBcrL/BwFdtA8HHwcCcbI/BwFysh8HAXKyIAcBcrIwBwFdshAHAV2wBxCxBgT0sArQsAMQsAvQsAIQsA3csvANAV2yUA0BXbKQDwFdWQCwAEVYsAkvG7EJED5ZsABFWLAGLxuxBgg+WbAJELAM0LEBAvSwBhCwA9CyCgkGERI5sAovsl8KAXG07wr/CgJdtE8KXwoCXbRgCnAKAnKyEAoBcrEFAvQwMQEjESM1IxUjETMVMzUhApy8gqOCgqMBPgGB/n/FxQH0vLwAAQA8/4EDoAK8ACYBPbAKK1iyAQYDK7IwAQFytO8B/wECcbIfAQFyshABAV2ycAEBcbJQAQFxsAEQsQIG9LIfBgFysv8GAXGyPwYBcbLQBgFdshAGAV2wBhCxBQb0sAEQsAnQsAIQsBHQsBEvsnARAV2y8BEBXbIQEQFxspARAV2yFwIRERI5sBcvsBEQsR4H9LLAKAFxsvAoAXJZALAUL7AARViwBy8bsQcUPlmwAEVYsAUvG7EFCD5ZsALQsAcQsQQD9LIgFAFdsqAUAV2yDAcUERI5sAwvsBQQsRsD9LAMELEjA/QwMQGwCitYttYO5g72DgNdtNYP5g8CXbJ2EwFysgcTAV201xPnEwJdtFcTZxMCcrKJIAFxWQCy9g4BXbTXD+cPAl2yCBMBXbRYE2gTAnK02RPpEwJdsnoTAXKyhR0BcbKJIAFxJRUjESMRIxEhET4BMzIeAhUUBiMiJic1HgEzMjY1NC4CIyIGBwJDifWJAgcQQzAqTj0lcn8bGwgHIRAzNBIgLBoXMgzk5AJC/b4CvP67BhAXOWNMgYwCAnYCAUZKKTYfDQwGAAEAOf8rAxQB9AAkAaSwCitYsgAFAyuyEAABXbLPAAFxsk8AAXKyDwABcrL/AAFdspAAAV2yMAABXbAAELEBBPSyTwUBcrIfBQFxsl8FAXGy/wUBXbQwBUAFAl2yEAUBXbAFELEEBPSwABCwCNCwABCwENCwEC+yABABXbLwEAFdsvAQAXGyGAUQERI5sBgvsn8YAV2wEBCxHgX0sm8mAXGysCYBcbJQJgFxWQCwAEVYsAcvG7EHED5ZsABFWLAVLxuxFQo+WbAARViwBC8bsQQIPlmwAdCwBxCxAgL0sgsHFRESObALL7AVELEcAvSwCxCxIQL0MDEBsAorWLKGDQFdsiYNAXGyBw0BXbIHDgFdtAcSFxICcbTmE/YTAl20hhOWEwJxsgcTAV20BxMXEwJxtKcTtxMCcbI3EwFytIgdmB0CcbSpHbkdAnG0qB+4HwJxWQCyJg0BcbIHDQFdsocNAV20CBIYEgJxsggTAV20CBMYEwJxtIgTmBMCcbTpE/kTAl20qRO5EwJxsjoTAXJBCQCHAB0AlwAdAKcAHQC3AB0ABHGymR8BcbSqH7ofAnEhIxEjESMRIRU+ATMyHgIVFA4CIyImJzUeATMyNTQmIyIGBwHbgp6CAaIQPDAkRDUgGDVXPxwbCAghEGI1LRcuDAGB/n8B9PEGDxY2XEY/YEAgAwJwAQGERzwMBgACACb/8gNLAsoAOQBLAuiwCitYshoQAyuyLxABcbJvEAFxsgAQAV2wEBCwNtyyIDYBcbEDB/SyLxoBcbJvGgFxsgAaAV2yCxAaERI5sh8aEBESObAaELAm0LAmL7IvJgFdsi4fCxESObIKLgFdsjk2GhESObA5L7SAOZA5AnGywDkBcbKAOQFdQQkAIAA5ADAAOQBAADkAUAA5AARdsBAQsToH9LI/Cx8REjmwGhCxRAf0sk9NAV1ZALAARViwOS8bsTkUPlmwAEVYsDEvG7ExCD5ZsABFWLApLxuxKQg+WbA5ELEAA/SwMRCxCAP0sCkQsBXcsrAVAV2ycBUBXbJQFQFxtBAVIBUCcbI/FTEREjmyLjEVERI5sgwuAV2yCz8uERI5sh8/LhESObApELEiA/SwFRCxSQP0MDEBsAorWLQHARcBAl2yBwIBXbIGBQFdsgcGAV2ySAwBXbSpDLkMAl2yOQwBcbQqDDoMAl2yKgwBcbI5DQFdsioNAV2yRhcBXbSmF7YXAnGyNR0BXbSlHbUdAl20JB40HgJxsjUeAV22pR61HsUeA12yJh4BXbJGHgFdslceAV2yGCwBXbJILAFdskguAV2yGS4BXbJZLgFdsgYvAV2y2DMBcbRoNHg0Al2yeTQBcbRoN3g3Al20aDh4OAJdsjg4AXG06Dj4OAJxshc8AV2yGEEBXbIYQgFdWQC0CAEYAQJdshgCAV2yCQIBXbIHBQFdsgcGAV22KQw5DEkMA12yOQwBcbSqDLoMAl2yKwwBcbIoDQFdsjkNAV2yRxcBXbKnFwFxsjgdAV20qh26HQJdsjgeAV2yWB4BXbJJHgFdtKkeuR4CXbIqHgFdssoeAV2yKh4BcbI7HgFxtIcllyUCXbJILAFdshksAV20SC5YLgJdshkuAV2yCS8BXbLYMwFxsng0AXG0aTR5NAJdtGc3dzcCXbRmOHY4Al22NzhHOFc4A3G05zj3OAJxshc8AV2yCD8BXbIXQQFdshdCAV0BIgYVFB4CMzI2Ny4DNTQ+AjMyHgIVFA4CBx4BMzI2NxcOASMiLgInDgEjIi4CNTQ2MxMUHgIXPgM1NC4CIyIGAWNQXSM4RyQLGQgXKR4RJUNeOj9dPB0aKTIXBQ0GHjYTKhZFNhQqKSMNIVE2UX5YLqGcZg0bJhoXKB0RChgnHTM8AlB0djpdQCMCBA8xQk8sTHRQKStMZzw4X0ozDAEBEQ1rFhcGDBIMFxkyXodVr73+qR4/OjESEDE9SSgiPS0aXAACACD/8gK0AgIANABCArywCitYshgOAyuyjw4BcrLPDgFyso8OAV2yQA4BXbIQDgFdsA4QsC/csv8vAV2yfy8BcbKPGAFyss8YAXKyLxgBXbQAGBAYAl2yQBgBXbIALxgREjmwAC+yoAABXbLwAAFdsnAAAXGwLxCxAwX0sgsOGBESObIdGA4REjmwGBCwIdCwIS+yJwsdERI5sA4QsTUE9LI4Cx0REjmwGBCxOwX0sq9EAV1ZALAARViwNC8bsTQQPlmwAEVYsBMvG7ETED5ZsABFWLAqLxuxKgg+WbAARViwJC8bsSQIPlmwNBCxAAH0sCoQsQgB9LI4EyoREjmyJyoTERI5sgs4JxESObAkELEdAfSwExCxPgH0MDEBsAorWLRJDFkMAl2yuQwBXbQqDDoMAl2yqgwBXbTKDNoMAl2yCBEBXbL4EQFdtAgRGBECcbKIEgFdsgcUAV2yhxQBXbKFFQFdsjUVAXGylhUBXbImFQFxtEYVVhUCcbRmFXYVAnKyBxUBXbIYJgFdspgmAV2yFycBXbKXJwFdspUoAV2yFigBXbTILdgtAl2yuC0BcbKoLQFysrktAV20yDHYMQJxtMkx2TECXbTIMtgyAl206DL4MgJxshg4AV2yGTkBXVkAQQkAKQAMADkADABJAAwAWQAMAARdQQkAqQAMALkADADJAAwA2QAMAARdsvYRAV20BhEWEQJxsgcRAV2yhxIBXbIHFAFdsocUAV2yhRUBXbQmFTYVAnGyBxUBXbKXFQFdtEcVVxUCcbQHIBcgAnGyGCYBXbKYJgFdspknAV2yGicBXbIYKAFdspkoAV20yC3YLQJdsrktAV2yuS0BcbKpLQFytMcx1zECXbTHMdcxAnG0xDLUMgJysuUyAV20xjLWMgJdsvYyAV1BCQDGADIA1gAyAOYAMgD2ADIABHGyFTgBXbIWOQFdAQ4BFRQeAjMyNjcuATU0PgIzMh4CFRQOAgcWNjcXDgEjIiYnDgEjIi4CNTQ+AjcXFBYXPgE1NCYjIg4CARA4MhQiMBwIGAcbKBQvTjk3Sy0UEhwkEhY4Ex4UOSwpPhUgUSw+YEIiGjpbQXojHiAoISAWHBAGAZQER0skOioWBAUUVjknUkMsIjlLKiI+NCcLCQsSWRIVFxMXEyZFYjs6XkUoA/YtSBgVUzYtPBQhLAABACb/UQIWAsoAIgJcsAorWLITCwMrsrATAV22ABMQEyATA12ycBMBXbLvEwFxskATAV2yEBMBcbKQEwFdsvATAV2wExCwANCwAC+yAAsBXbLPCwFxsu8LAXGyQAsBXbIgCwFdsgYLExESObAGL7IgBgFdsAPctC8DPwMCXbIEAwYREjm05wT3BAJxQQsABwAEABcABAAnAAQANwAEAEcABAAFckETAEcABABXAAQAZwAEAHcABACHAAQAlwAEAKcABAC3AAQAxwAEAAlxsgUGAxESObbXBecF9wUDcUELAAcABQAXAAUAJwAFADcABQBHAAUABXKwCxCxGgf0shAkAXGyMCQBcrIQJAFdWQCwAEVYsBAvG7EQFD5ZsABFWLADLxuxAwg+WbAE3LLgBAFxsmAEAV2yAAQBXbADELAG0LAQELEXA/SwAxCxHwP0MDEBsAorWLRmB3YHAl20iAiYCAJdsvgIAXKyOQgBcbQIFBgUAnG0BxgXGAJdtgcZFxknGQNxsvYcAV20BhwWHAJxtKcctxwCXbInHAFxtAcdFx0CXbInHQFxtNch5yECXbTXIuciAl1ZALRnB3cHAl20iAiYCAJdsjgIAXGy+QgBcrTqCPoIAnG0CBQYFAJxsvkUAV20KRQ5FAJxtEoUWhQCcbKHGAFdtAgYGBgCXbSoGbgZAl20CRkZGQJxsioZAXGyJhwBcbSnHLccAl2y9xwBXbYGHRYdJh0DcbQHHRcdAl2yiB0BXbbGIdYh5iEDXbL3IQFdsvQiAV201SLlIgJdtAUiFSICcbamIrYixiIDXbZ3IocilyIDXSUOAQ8BIycuAzU0PgIzMhYXBy4BIyIGFRQeAjMyNjcCFhhFJg5YEzNZQiY5W3A4PFMbGxc/LVNlGDFJMC0+Fx0REwSkqAkyV35VZ4tVJRALdAsKdnw2WT8jEg4AAQAh/1EBmwICAB8BnLAKK1iyEAoDK7IQEAFdsnAQAV2yLxABcrIwEAFdsuAQAV2yEBABcbAQELAA0LAAL7KfCgFysi8KAXKynwoBXbJvCgFdsk8KAXKy4AoBXbIwCgFdsgUKEBESObAFL7AC3LLPAgFytC8CPwICXbLQAgFxsgMCBRESOUEVAEcAAwBXAAMAZwADAHcAAwCHAAMAlwADAKcAAwC3AAMAxwADANcAAwAKcbIEBQIREjm05wT3BAJxsAoQsRcF9LLQIQFdtGAhcCECXbKwIQFxWQCwAEVYsA0vG7ENED5ZsABFWLACLxuxAgg+WbAD3LACELAF0LANELEUAvSwAhCxHAH0MDEBsAorWLQIBxgHAl2yKAcBcbKaBwFxtOgM+AwCcbKGFgFxshceAXFZALQIBxgHAl20yAfYBwJytCkHOQcCcbKZBwFxtOYM9gwCXbRmDHYMAnG05gz2DAJxsvYMAXKy2BEBXbQIERgRAnG06RH5EQJdsokWAXGy1h4BXbIWHgFxshQfAXG21h/mH/YfA12yBh8BcbKXHwFdsscfAV0lBg8BIycuAzU0NjMyFhcHLgEjIgYVFB4CMzI2NwGbJjgOWBMtPicRcm03QxsfFy0dNjgOHC0eIS4SHxsLqKYILENYNH+JEg5qCwxHTiA2KBcRDAABAAv/gwItArwACwC6sAorWLsABgAGAAsABCuywAsBcrALELAB3LLABgFysAYQsATcst8EAV2wBhCwB9CwBy+wCdyyHwkBcUELACAACQAwAAkAQAAJAFAACQBgAAkABV2ysAkBcbLwDQFdsk8NAV2yLw0BcbIvDQFdsmANAV2y8A0BcbLQDQFxWQCwAEVYsAIvG7ECFD5ZsABFWLAKLxuxCgg+WbACELEBA/SwBdCwChCxBgP0sAoQsAncsiAJAV2yoAkBXTAxEyM1IRUjETMVIycj2M0CIsxXYA9xAkJ6ev44930AAQAB/44BoQH0AAsA5bAKK1i7AAYABQALAAQrshALAV2yvwsBcrJPCwFysoALAV20MAtACwJdsAsQsAHctO8B/wECcbJ/AQFxti8BPwFPAQNdsoAGAV2yvwYBcrJPBgFyshAGAV20MAZABgJdsAYQsATctiAEMARABANdsnAEAXG04ATwBAJxsAYQsAfQsAcvsAnctFAJYAkCXbJgCQFysg8NAXKyvw0BXbKfDQFxsnANAV2yUA0BcVkAsABFWLACLxuxAhA+WbAARViwCi8bsQoIPlmwAhCxAQL0sAXQsAoQsQYC9LAKELAJ3LJACQFdMDETIzUhFSMRMxUjJyOOjQGgjVRfD2wBgXNz/vLlcv////4AAAJSArwCBgA8AAAAAf/5/zgB8gH0AAsBarAKK1i7AAgABAALAAQrsgALAV2yUAsBXbALELAA0LJoAAFdsnkAAXGyqQABXbJJAAFxtOoA+gACcbJaAAFxsvoAAV2ymQABcbLpAAFdsnkAAV2ymAABXbJIAAFdsicAAV2wAdy0gAGQAQJdtlABYAFwAQNxtmMBcwGDAQNytMAB0AECcbLwAQFdtAABEAECcbIQAQFdQQkAIAABADAAAQBAAAEAUAABAARyslAIAV2yAAgBXbIDCwgREjmwCBCwB9CyKAcBXbK4BwFdslkHAV2yuQcBcbLKBwFdsqsHAXGy2QcBXbRpB3kHAnG2CQcZBykHA3GyCAcBXbJ3BwFdshYHAXKwBtyynwYBXbQPBh8GAnGy3wYBcrRsBnwGAnKyiwYBcrJPDQFdss8NAV2yLw0BXVkAsABFWLABLxuxARA+WbAARViwCi8bsQoKPlmyAwEKERI5sAEQsAbQsgsKARESObALELAI0DAxAzMTFzM3EzMDFSM1B5ddEgQOVYy1ggH0/tddXwEn/gvHxwAB//4AAAJSArwAEQIZsAorWLsADQAGABAABCuyHxABcrJ/EAFxsp8QAXKyMBABXbAQELAB0LAC0LL4AgFdshgCAV2yeQIBXbIKAgFxshsCAXG0KgI6AgJdsokCAXGyuAIBXbLIAgFxsrcCAXGyRgIBcbAD3EELAJAAAwCgAAMAsAADAMAAAwDQAAMABXGycAMBXUELADAAAwBAAAMAUAADAGAAAwBwAAMABXG0ggOSAwJdttAD4APwAwNdtAADEAMCcbIQAwFdsvADAXFBCQAAAAMAEAADACAAAwAwAAMABHK0UANgAwJysp8NAXKyfw0BcbIfDQFysjANAV2yBRANERI5sA0QsArQsAnQsgUJAXGydgkBXbIXCQFdsrgJAXGySAkBcbL3CQFdsrcJAV2yhgkBcbQlCTUJAl2yFAkBcbAI3LRvCH8IAnGy/wgBXbQPCB8IAnGy3wgBcbSNCJ0IAl2wDRCwDNywEBCwEdyyYBMBXbKwEwFdWQCwAEVYsAMvG7EDFD5ZsABFWLAPLxuxDwg+WbIQAw8REjmwEC+wAdyyBQMPERI5stMFAXGwAxCwCNCwARCwCtCwEBCwDdAwMQGwCitYskgBAV1BCwB4AAEAiAABAJgAAQCoAAEAuAABAAVdsskBAV2y9QQBXbQFBBUEAnG2NQRFBFUEA3GyxgQBXbJXBwFdQQ0AdwAKAIcACgCXAAoApwAKALcACgDHAAoABl1ZEzMDMxMXMzcTMwMzFSMVIzUjSYnUo4AOBQ98k9SKm4mbASYBlv75SkwBBf5qW8vLAAH/+f84AfIB9AARAZOwCitYuwANAAQAEAAEK7JQEAFdsgAQAV2wEBCwAdC0aAF4AQJdsALQspgCAV2yeQIBcbTpAvkCAl2ymQIBcbJaAgFxtOoC+gICcbJJAgFxsqkCAV2ySAIBXbJ4AgFdsicCAV2wA9y0wAPQAwJxshADAV22YwNzA4MDA3K0gAOQAwJdtlADYANwAwNxQQkAIAADADAAAwBAAAMAUAADAARysvADAV20AAMQAwJxslANAV2yAA0BXbANELAK0LRnCncKAl2yBQEKERI5sAnQsigJAV2yWQkBXbRpCXkJAnGyugkBcbKrCQFxssoJAV2y2QkBXbYJCRkJKQkDcbIICQFdsrgJAV2yFgkBcrAI3LRsCHwIAnK0DwgfCAJxsp8IAV2y3wgBcrKLCAFysmgIAV2wDRCwDNywEBCwEdyyLxMBXbJPEwFdss8TAV1ZALAARViwAy8bsQMQPlmwAEVYsA8vG7EPCj5ZsgEPAxESObABL7IFDwMREjmwAxCwCNCwARCwCtCwARCwENyyYBABcbAN0DAxOwEDMxMXMzcTMwMzFSMVIzUjQ3fBl10SBA5VjLV4eIJ4AfT+111fASf+DFB4eAABAAr/gwKUArwAEwMisAorWLIJEwMrsj8TAXK0DxMfEwJxss8TAXKyjxMBXbIfEwFyspAJAV2yrwkBXbQCCRIJAl2ycAkBXbRACVAJAl2yABMJERI5sBMQsAHQtKYBtgECXbRnAXcBAl2yVgEBXUEJAMUAAQDVAAEA5QABAPUAAQAEXbQFARUBAnG0hQGVAQJdsALctjACQAJQAgNxstACAV2y4gIBXbQCAhICAnGy0wIBcbJkAgFxQQsAJAACADQAAgBEAAIAVAACAGQAAgAFcrJzAgFxtAMCEwICcrZyAoICkgIDXbLwAgFdshACAV2y8AIBcUEJAJAAAgCgAAIAsAACAMAAAgAEcbIIEwkREjmySAgBXbKWCAFdtGYIdggCXbIEAAgREjmwCRCwB9CylwcBXbIoBwFdtAoHGgcCcbJZBwFdskgHAV20Jgc2BwJxtEUHVQcCcbAG3EEJADsABgBLAAYAWwAGAGsABgAEcrLcBgFxss8GAXGy/wYBXbQPBh8GAnG0jQadBgJdsnwGAXGyawYBcbJ2BgFdsAkQsArQsAovsAzcsh8MAXFBCwAgAAwAMAAMAEAADABQAAwAYAAMAAVdsAkQsA7csnwOAXGy7Q4BXbavDr8Ozw4DXbIfDgFdsj8OAXGyjw4BXbKcDgFdsmsOAXGydg4BXbIQCAAREjmyCBABXbATELAS3LLTEgFxsmQSAXGyeRIBXUEJADQAEgBEABIAVAASAGQAEgAEcrJzEgFxtIISkhICXbLwEgFdtAASEBICcbJAFQFdshAVAV1ZALAARViwAi8bsQIUPlmwAEVYsBIvG7ESCD5ZsgQCEhESObKVBAFdshQEAXGyEBICERI5sgsQAXGymhABXbIIEAFdsgAEEBESObACELAG0LIIBBAREjmwEhCwDdCxCQP0sA0QsAzcsqAMAV2yIAwBXTAxAbAKK1iyFwIBcbbVA+UD9QMDXbKWAwFdsocDAV20aQ95DwJdtAkPGQ8CcbKaDwFdsvoPAV2y9REBXbQHERcRAnFZALKXAwFdsvcDAV20BwMXAwJxtGgPeA8CXbKYDwFdtAgRGBECcRMDMx8BPwEzAxczFSMnIy8BDwEj4cOlbBgXcZXKjG5gD1p7Gxp8lQFkAVjKR0fK/q/x933YSkrYAAEACP+OAhcB9AATArOwCitYsgkTAyuyfxMBXbL/EwFdsg8TAXGysAkBXbJCCQFdsg8JAXGyAAkBXbIgCQFdsmAJAV2yABMJERI5sgsAAV22GgAqADoAA3GyOAABXbATELAB0LTlAfUBAl2ylgEBXbQGARYBAl2yhwEBXbTGAdYBAl22JQE1AUUBA3G2tQHFAdUBA3GydQEBcbAC3LKAAgFdQQsAQwACAFMAAgBjAAIAcwACAIMAAgAFcrKTAgFdsvQCAV2yBQIBcbTKAtoCAl20JAI0AgJysuMCAV2yEwIBcbRDAlMCAnGyEAIBXbIQAgFysggJExESObIKCAFdsigIAV20Jgg2CAJxsgQACBESObIHBAFxsAkQsAfQtAsHGwcCXbYqBzoHSgcDcbIoBwFdsAbcsgkGAXG2bAZ8BowGA3KyfwYBcbKcBgFdshsGAXG0xQbVBgJdtOQG9AYCXbAJELAK0LAKL7AM3LJgDAFyQQsAIAAMADAADABAAAwAUAAMAGAADAAFXbAJELAO3LLsDgFdtEwOXA4CcrJ/DgFxtK8Ovw4CXbIMDgFxshoOAXGyWg4BcbIQCAAREjmwExCwEty2YxJzEoMSA3KyExIBcbJaEgFxsvsSAV22yhLaEuoSA12yBRIBcbKTEgFdslASAXKycBIBcbIfFQFdWQCwAEVYsAIvG7ECED5ZsABFWLANLxuxDQg+WbIEAg0REjmyBgQBcbIQDQIREjmyAAQQERI5tCYANgACcbACELAG0LIIBBAREjmwDRCxCQL0sA0QsAzcskAMAV2wDRCwEtCy9xMBXTAxAbAKK1iyGQABXbTpAPkAAl2y1gQBXbIXBAFxsvYIAV2ylwgBXbQJDxkPAl2yiQ8BXbIZEAFdsocRAV1ZALKHBQFdtAgPGA8CXbKJDwFdtAgQGBACXbKIEQFdEyczHwE/ATMHFzMVIycjLwEPASOqlptBHB5EjZdaWV8PO00eIE2OAQD0a0ZGa/CR5XJ4Skp4AAEAC/+DAzQCvAAPAM6wCitYsg0EAyuyMA0BXbRwDYANAl2ysA0BcbANELAP0LAPL7AB3LIfAQFxQQsAIAABADAAAQBAAAEAUAABAGAAAQAFXbKwAQFxsjAEAV2yPwQBcrRwBIAEAl2ysAQBcbLQBAFdsAQQsAXcsAQQsQkG9LAI3LQgCDAIAl2wDRCxDAb0WQCwAEVYsAYvG7EGFD5ZsABFWLAMLxuxDBQ+WbAARViwAi8bsQIIPlmwAdyyoAEBXbIgAQFdsAYQsQUD9LAJ0LACELEOA/SwC9AwMQUjJyERIzUhFSMRMxEzETMDNGEP/hPMAeOO8YlafX0CQnp6/jgCQv2+AAEAAf+OAncB9AAPAI6wCitYsg4DAyuyMA4BXbAOELAA0LAAL7AB3LQwA0ADAl2wAxCwBdy2LwU/BU8FA12wAxCxCgT0sAjcsmAIAV2wDhCxCwT0sk8RAV2yHxEBXVkAsABFWLAHLxuxBxA+WbAARViwAi8bsQIIPlmwAdywBxCxCAL0sATQsAIQsQsC9LAHELAM0LALELAO0DAxBSMnIREjNSEVIxEzETMRMwJ3Xw/+hY0BeGmcgklycgGBc3P+8gGB/n8AAQAu/4MCeQK8ABkA+rAKK1iyEwkDK7IwEwFdtIATkBMCXbJvEwFdsuATAV2yUBMBXbJgEwFysgATAXGwExCxEgb0sADQsm8JAV2yzwkBcbJQCQFdsjAJAV2wCRCxCgb0sBMQsBXQsBUvsBfcsh8XAXFBCwAgABcAMAAXAEAAFwBQABcAYAAXAAVdsrAXAXFZALAARViwCi8bsQoUPlmwAEVYsBgvG7EYCD5ZsgMKGBESObADL7EOAvSwChCwEtCwGBCxFAP0sBgQsBfcsqAXAV2yIBcBXTAxAbAKK1i2OQZJBlkGA3G0igaaBgJyWQCyOgUBcbI4BgFxtIgGmAYCcrRJBlkGAnEBDgEjIi4CNREzFRQWMzI2NxEzETMVIycjAZkaVzwqRTMciS82JkMUiVdgD3EBGg8ZFS9JNAEJ3jw7EREBM/2+930AAQAh/44CFAH0ABsBwLAKK1iyCxsDK7J/GwFdsm8bAXKyTxsBcrIvGwFxskAbAV2wGxCxAAT0suALAV2yLwsBcbJPCwFysm8LAXKyzwsBcbIQCwFxskALAV2yMAsBcbALELEKBPSwCxCwDdCwDS+wD9xBCwAgAA8AMAAPAEAADwBQAA8AYAAPAAVdsmAPAXKwChCwEtBZALAARViwAC8bsQAQPlmwAEVYsBAvG7EQCD5ZshUAEBESObAVL7EGAfSwABCwCtCwEBCxDAL0sBAQsA/cskAPAV0wMQGwCitYtrUDxQPVAwNytGYDdgMCcrKmAwFysocDAXK0KBc4FwJdtKgXuBcCcbKoFwFytAkXGRcCXbL5FwFdtIkXmRcCcUELAAgAGAAYABgAKAAYADgAGABIABgABV20yBjYGAJxtKkYuRgCcbSLGJsYAnFZALKGAwFysrYDAXK0ZwN3AwJysqcDAXK0xwPXAwJyQQkACAAXABgAFwAoABcAOAAXAARdsvkXAV1BCQCJABcAmQAXAKkAFwC5ABcABHGyqRcBckELAAgAGAAYABgAKAAYADgAGABIABgABV1BCQCpABgAuQAYAMkAGADZABgABHETFRQeAjMyNjc1MxEzFSMnIzUOASMiLgI9AaMFDxsWHSsOglRfD2gPPjQlOigVAfRyHy0dDg4K0f5/5XLECxsQKEIyqgABAC4AAAJIArwAHQDpsAorWLIWCQMrshAJAV2yQAkBXbAJELEKBvSyQBYBXbJwFgFdshAWAV2ykBYBXbIdCRYREjmwHS+wDtCwHRCwHNywEdCwFhCxFQb0sBnQssAfAV1ZALAARViwCi8bsQoUPlmwAEVYsBgvG7EYCD5ZsgAKGBESObAAL7EOAvSwD9ywDhCwEdCwChCwFdCwABCwG9CwABCwHdwwMQGwCitYtAgFGAUCXbKYBQFdsokFAV20CAYYBgJdspgGAV2yiQYBXbI5BgFxWQC0CAUYBQJdtIkFmQUCXbQIBhgGAl20iQaZBgJdsjoGAXElBiIjIi4CNREzFRQWFzUzFT4BNxEzESMRBgcVIwEQCA4ILEg0HIkpMF0ZKw6JiRs3XfMBFS9JNAEJ3jk6BHZwBQ0KATP9RAEaEAyEAAEAIAAAAeAB9AAcAV+wCitYshUJAyuyPwkBcrJ/CQFysl8JAXKyEAkBXbIwCQFdsAkQsQoE9LIQFQFxsj8VAXKyMBUBcbIwFQFdshAVAV2yHAkVERI5sBwvsA7QsBwQsBvcsrAbAV2yUBsBcrAR0LAVELEUBPSwGNC0AB4QHgJysuAeAXFZALAARViwCi8bsQoQPlmwAEVYsBcvG7EXCD5ZsgAKFxESObAAL7EOAfSwD9ywDhCwEdCwChCwFNCwABCwGtCwABCwHNwwMQGwCitYtAgFGAUCXbSJBZkFAnG0yQXZBQJxtIgGmAYCcUEJAAkABgAZAAYAKQAGADkABgAEXbSpBrkGAnGy6QYBcbL3DQFxWQC0CAUYBQJdtCkFOQUCXbSJBZkFAnG0yQXZBQJxQQkACQAGABkABgApAAYAOQAGAARdQQkAqQAGALkABgDJAAYA2QAGAARxtIoGmgYCcbLqBgFxsvcNAXE3BiIjIi4CPQEzFRQWFzUzFTY3NTMRIzUGBxUj3wkRCSU6KBWCGCVMIhGCgg8kTJ8BEChCMqpyODkFdnEGDNH+DMQLC3MAAQA8AAACMAK8ABUBELAKK1iyFQkDK7QwFUAVAl2ygBUBXbJgFQFxsk8VAXGyYBUBcrLgFQFdsmAVAV20ABUQFQJdssAVAXKwFRCxAAb0sk8JAXGyTwkBcrQwCUAJAl2yEAkBXbAJELEIBvSwDNCyXxcBXbLwFwFdWQCwAEVYsAsvG7ELFD5ZsABFWLAILxuxCAg+WbAA0LIPCwgREjmwDy+yUA8BXbQADxAPAl2ykA8BXbEEAvQwMQGwCitYtAYRFhECXbI2EQFxspcRAV2ylBIBcrKFEgFytAYSFhICXbJmEgFxspcSAV22NxJHElcSA3FZALQHERcRAl2ylxEBXbI3EQFxsjYSAXG0BxIXEgJdspcSAV20hxKXEgJyITU0JiMiBgcRIxEzET4BMzIeAhURAacvNiZDFImJGlc8KkUzHN48OxER/s0CvP7mDxkVL0k0/vf//wA5AAAB7QK8AgYASwAAAAIAAP/yAvQCygArADYCN7AKK1iyKA8DK7I/DwFdsgAPAV2yQA8BXbAPELEABvSy4CgBXbRAKFAoAl2ykCgBXbQAKBAoAl2wKBCwCdCwCS+wDxCwFdywGNyyfxgBcbaQGKAYsBgDXbQgGDAYAl2wF9ywFRCwG9ywDxCwINCwKBCxLAX0sAAQsDbQst84AV2yYDgBcbKgOAFxWQCwAEVYsCUvG7ElFD5ZsABFWLAMLxuxDAg+WbI2JQwREjmwNi+yTzYBXbEAAvSwDBCxBQP0sAAQsA/QsBjcsDYQsCDQsCUQsTMC9DAxAbAKK1i0BwIXAgJdtEYDVgMCcbbHA9cD5wMDXbaYDqgOuA4DXbJoDgFxtAgSGBICXbKoEgFxtAgTGBMCXbL4EwFdtNkT6RMCXbS6E8oTAnG0WCJoIgJxskkiAV2ySCMBXbS4I8gjAnGyiCMBcrJGJgFdtKYmtiYCXbQGJhYmAnGyVyYBXbInJgFxspcmAXGyNicBcbKWJwFxtNc15zUCXVkAtAcCFwICXbTWA+YDAl2yVgMBcbLHAwFdskcDAXG0Jgg2CAJdtCcJNwkCXbaYDagNuA0DXbKYDgFdsmgOAXG0qQ65DgJdQQkACAASABgAEgAoABIAOAASAARdsqkSAXG0CBMYEwJdttgT6BP4EwNdtLgTyBMCcbJGIgFdslciAXGyRyMBXbS3I8cjAnG0BiYWJgJxtEcmVyYCXbSnJrcmAl2yJyYBcbKXJgFxtAcnFycCcbI3JwFxtNg16DUCXQEeAzMyNjcXDgEjIiYnIy4DNTY3Mw4BFxQeAjc+AzMyFhUUBgcnNjU0LgIjIgYHAVcDGS5FLy1LISMtaj6JnQggMkIpEQIWcwwJAQYSIh0EKUZmQoaFBQV8Aw8hMiJJSgMBJShEMhsbFnQaHZyXARkqNx0xGw4iDggUEAoDRXFQLJmSHDwicxMUHzcqGWNdAAIABv/yAmQCAgAnADECuLAKK1iyHQYDK7LwHQFxsnAdAV2y0B0BXbIvHQFyspAdAV20AB0QHQJdspAdAXKysB0BcrAdELAA0LAAL7JvBgFdsv8GAV2yLwYBcrKPBgFyst8GAXGyvwYBXbLfBgFytAAGEAYCXbAGELAL3LKPCwFxtA8LHwsCXbAP3LIPDwFxQQkAIAAPADAADwBAAA8AUAAPAARdtKAPsA8CXbAO3LJfDgFdsAsQsBLcsu8SAV2yUBIBXbAGELAV0LAGELEhBPSwK9CwHRCwL9yyQC8BcrQgLzAvAl20oC+wLwJdsi8zAV2yLzMBcbJPMwFdspAzAV1ZALAARViwGC8bsRgQPlmwAEVYsAMvG7EDCD5ZshUYAxESObAVL7AG3LAVELAP3LIrGAMREjmwKy+0byt/KwJxtC8rPysCcbSPK58rAl2wIdyyICEBckEJAGAAIQBwACEAgAAhAJAAIQAEXUENAAAAIQAQACEAIAAhADAAIQBAACEAUAAhAAZxsAMQsCTcsr8kAXK2zyTfJO8kA11BCQBfACQAbwAkAH8AJACPACQABHGyLyQBcrRPJF8kAl2wGBCwKNyysCgBcrbAKNAo4CgDXbIgKAFyQQkAUAAoAGAAKABwACgAgAAoAARxtEAoUCgCXTAxAbAKK1i06AX4BQJdtKgIuAgCcbRICVgJAl1BCQCpAAkAuQAJAMkACQDZAAkABHG06Rb5FgJxsuoWAXK0Jhs2GwJxQQkAZgAbAHYAGwCGABsAlgAbAARytEcbVxsCcVkAtOgF+AUCXUEJAKkACAC5AAgAyQAIANkACAAEcbRICVgJAl1BCQCoAAkAuAAJAMgACQDYAAkABHG0xg3WDQJdtGYbdhsCckEJACcAGwA3ABsARwAbAFcAGwAEcbKYGwFytKUntScCXbJWJwFdtGcndycCXSUOASMiJicjIiY9AT4BNzMOARUUFjM+ATMyHgIVFAYHIR4BMzI2NwMiBgczNDY1NCYCVB5nOm5xCQdNUwEODm0OEBklDnpkJkg4IgUF/tUDOkIpQRGPMy8FuAEpKxghdmhGQgcbIBEMIRgUHGZmFC5OOhUwGj9AGQ0BGj0zBAgELjIAAgAA/1EC9ALKAC4AOQL+sAorWLIrEgMrsj8SAV2yQBIBXbIAEgFdsBIQsQAG9LLgKwFdspArAV20QCtQKwJdtAArECsCXbArELAJ0LAJL7IPEisREjmwDy+wDNy0Lww/DAJdsg0MDxESOUETAEcADQBXAA0AZwANAHcADQCHAA0AlwANAKcADQC3AA0AxwANAAlxtOcN9w0CcUEPAAcADQAXAA0AJwANADcADQBHAA0AVwANAGcADQAHcrIODwwREjm21w7nDvcOA3FBDwAHAA4AFwAOACcADgA3AA4ARwAOAFcADgBnAA4AB3KwEhCwGNywG9yyfxsBcbaQG6AbsBsDXbQgGzAbAl2wGtywGBCwHtywEhCwI9CwKxCxLwX0sAAQsDnQst87AV2yoDsBcbJgOwFxWQCwAEVYsCgvG7EoFD5ZsABFWLAMLxuxDAg+WbI5KAwREjmwOS+yTzkBXbEAAvSwDBCxBQP0sAwQsA3csgANAV2yYA0BXbLgDQFxsAwQsA/QsAAQsBLQsBvcsDkQsCPQsCgQsTYC9DAxAbAKK1i0BwIXAgJdtEUDVQMCcbTWA+YDAl2yxwMBXbJ4EAFxsqkQAV2yiRABcbKoEQFdsmkRAXG0KBU4FQJdsqgVAXG22BboFvgWA120CRYZFgJdtLoWyhYCcbQIFxgXAl2ySCUBXbRYJWglAnG0uCbIJgJxspUpAXGypikBXbYGKRYpJikDcbRHKVcpAl2ytykBXbQGKhYqAnGyRyoBXbI3KgFxtNc45zgCXVkAtAcCFwICXbJWAwFxtscD1wPnAwNdtCcINwgCXbKHEAFdspgQAV22aBB4EIgQA3GyqRABXbKpEQFdsmkRAXFBCQAIABUAGAAVACgAFQA4ABUABF2yqBUBcbQIFhgWAl222BboFvgWA120uhbKFgJxtAgXGBcCXbJHJQFdslclAXGyhiYBcrS3JscmAnGytikBXbQGKRYpAnG0RylXKQJdsqcpAV2yJykBcbJHKgFdtAcqFyoCcbI3KgFxtNk46TgCXQEeAzMyNjcXDgEPASMnLgEnIy4DNTY3Mw4BFxQeAjc+AzMyFhUUBgcnNjU0LgIjIgYHAVcDGS5FLy1LISMlUi8OWBNodgYgMkIpEQIWcwwJAQYSIh0EKUZmQoaFBQV8Aw8hMiJJSgMBJShEMhsbFnQVGgWkqBOXggEZKjcdMRsOIg4IFBAKA0VxUCyZkhw8InMTFB83KhljXQACAAb/UQJkAgIAKgA0A3iwCitYsiAJAyuy0CABXbKwIAFytAAgECACXbIvIAFysnAgAV2ykCABXbLwIAFxspAgAXKwIBCwANCwAC+yLwkBcrLfCQFysr8JAV2y3wkBcbL/CQFdso8JAXKybwkBXbQACRAJAl2yBgkgERI5sAYvtMAG0AYCXbAD3LQvAz8DAl2yBAMGERI5QRMARwAEAFcABABnAAQAdwAEAIcABACXAAQApwAEALcABADHAAQACXGyBQYDERI5sAkQsA7cso8OAXG0Dw4fDgJdsBLcsg8SAXG0oBKwEgJdQQkAIAASADAAEgBAABIAUAASAARdsBHcsl8RAV2wDhCwFdyy7xUBXbJQFQFdsAkQsBjQsAkQsSQE9LAu0LAgELAy3LQgMjAyAl20oDKwMgJdskAyAXKyTzYBXbIvNgFdsi82AXGykDYBXVkAsABFWLAbLxuxGxA+WbAARViwAy8bsQMIPlmwBNyywAQBXbIgBAFxsmAEAV2ygAQBcbADELAG0LIYAxsREjmwGC+0jxifGAJdsAncsBgQsBLcsi4bAxESObAuL7SPLp8uAl20Ly4/LgJxtM8u3y4CXbRvLn8uAnGwJNxBDQAAACQAEAAkACAAJAAwACQAQAAkAFAAJAAGcbIgJAFyQQkAYAAkAHAAJACAACQAkAAkAARdsAMQsCfcQQkAXwAnAG8AJwB/ACcAjwAnAARxsi8nAXJBCQDPACcA3wAnAO8AJwD/ACcABF2yDycBcbK/JwFytk8nXydvJwNdsBsQsCvctsAr0CvgKwNdQQkAUAArAGAAKwBwACsAgAArAARxtEArUCsCXbKwKwFysiArAXIwMQGwCitYtOgH+AcCXbQIBxgHAnG2CAcYBygHA3K06Aj4CAJdtAkIGQgCcbTIC9gLAnG0SAxYDAJdtMkM2QwCcbSqDLoMAnG0yBDYEAJdtOoZ+hkCcbLqGQFytIUelR4CckEJACYAHgA2AB4ARgAeAFYAHgAEcbRmHnYeAnJZALIoBwFytOkH+QcCXbQJBxkHAnG0CgcaBwJytAgIGAgCcbTpCPkIAl20yQvZCwJxtEgMWAwCXUEJAKgADAC4AAwAyAAMANgADAAEcbTHENcQAl206Bn4GQJxQQkAJwAeADcAHgBHAB4AVwAeAARxtGcedx4CcrSlKrUqAl22VypnKncqA10lDgEPASMnLgEnIyImPQE+ATczDgEVFBYzPgEzMh4CFRQGByEeATMyNjcDIgYHMzQ2NTQmAlQXQykOWBNQUwgHTVMBDg5tDhAZJQ56ZCZIOCIFBf7VAzpCKUERjzMvBbgBKSsSGwempw9wWUZCBxsgEQwhGBQcZmYULk46FTAaP0AZDQEaPTMECAQuMv//AEoAAADTArwCBgAsAAAAAQA8/zECQgK8ACABeLAKK1i7AAcABgAIAAQrsi8IAXGyHwgBcrIwCAFdsAgQsBfcsi8XAV2y7xcBcbKvFwFdshAXAXGyEBcBXbEABPSyLwcBcbIfBwFysjAHAV2wBxCwC9CwFxCwDtCyOg4BcbLODgFdstoOAV20SQ5ZDgJxsvUOAV2wDdyyXA0BcrIfDQFdQQkATwANAF8ADQBvAA0AfwANAARxtL8Nzw0CcbZ/DY8Nnw0DXbTsDfwNAl20DA0cDQJxstoNAXGyJw0BXbIQDgsREjmyHAgXERI5sBwvshAiAXFZALAARViwCi8bsQoUPlmwAEVYsAcvG7EHCD5ZsABFWLAaLxuxGgo+WbIGCgcREjmwBi+wC9CwChCwDdCyEAsGERI5sBoQsR4C9DAxAbAKK1iydw8BXbLVEwFxtHYThhMCXbTWE+YTAl20pxO3EwJdsucZAV1ZALJ5DwFdstYTAXG0dxOHEwJdtKcTtxMCXbTXE+cTAl20aRl5GQJdsukZAV0lNC4CKwERIxEzETcTMwMHMx4DHQEUBiMiJzUzMjYBqBQuSTQkiYkgwZzFPTQwRSwVcWAdHw8/PUwxUzoh/tUCvP7KDgEo/ugoDCxEYUEbjIYGb04AAQA5/y8B2gH0ACABi7AKK1i7AAUABAAGAAQrsk8GAXKy/wYBXbQvBj8GAnG0AAYQBgJdsAYQsBXcsnAVAXKy8BUBXbJwFQFdshAVAXGy0BUBcbIwFQFxsQAE9LL/BQFdtC8FPwUCcbJPBQFytAAFEAUCXbAFELAJ0LAVELAM0LQpDDkMAl20BQwVDAJxsAvQtIoLmgsCXbTLC9sLAnKy/AsBcbTtC/0LAnK2bQt9C40LA3K0DAscCwJxtAoLGgsCXbJ6CwFxtCcLNwsCXbIODAkREjmyGwYVERI5sBsvWQCwAEVYsAgvG7EIED5ZsABFWLAFLxuxBQg+WbAARViwGC8bsRgKPlmyBAgFERI5sAQvtC8EPwQCXbAJ0LAIELAL0LIOCQQREjmwGBCxHwL0MDEBsAorWLI4CgFdtMYQ1hACcbTmF/YXAnG0BxcXFwJdtIcXlxcCXbY3F0cXVxcDcbTHF9cXAnFZALTGENYQAnG0CBcYFwJdtIgXmBcCXbI4FwFxtEkXWRcCcbTJF9kXAnG06hf6FwJxJTQmJyMVIxEzFT8BMw8BFx4DHQEUBiMiJic1HgEzMgFSODwjgoIfdYt6LiknLxoJXVUPIREGDAVaG1dTBcoB9NkOy8UgAgsuPUcjEXtyAwRuAQEAAf/z/34ClQK8ACIBKrAKK1iyHBoDK7KvGgFxsh8aAXKy7xoBXbIwGgFdshAaAV2wGhCxAQT0sBoQsA7csn8OAV2yHw4BXbIQHAFdshAcAXGyHxwBcrKvHAFxsjAcAV2yYBwBcbJAHAFysBwQsB3QsB0vsCDctiAgMCBAIANdsBwQsSIG9LKvJAFdWQCwAEVYsBovG7EaFD5ZsABFWLALLxuxCwg+WbAARViwIS8bsSEIPlmwGhCxAQP0sAsQsRID9LAhELEcAvSwIRCwINyyICABXbKgIAFdMDEBsAorWLJHBAFdsncHAXGydggBcbQnCDcIAl20KBU4FQJdtCkWORYCXbTYF+gXAl20iReZFwJdWQC0KAg4CAJdsnoIAXG0JxU3FQJdtCcWNxYCXbKWFwFdsocXAV0BIw4DBw4DIyImJzceATMyNjc+AzchETMVByM3IwGqlQQKERwWDiMmJRAXHw8PBgwGEB8LDxYRCgIBnWJgXi1aAkJfnH1gIxceEgcHB3YCAhATFlWEt3r9tx/WggAB/+//jgIqAfQAGAFKsAorWLISEAMrst8QAV2ybxABcbIvEAFxtE8QXxACcrJAEAFdsBAQsAHcsk8BAV2y0AEBXbAQELAI3LSvCL8IAl2yPwgBXbJPEgFysi8SAXGybxIBcbASELAT0LATL7AW3LYgFjAWQBYDXbLgFgFdsBIQsRgE9FkAsABFWLAQLxuxEBA+WbAARViwFy8bsRcIPlmwAEVYsAYvG7EGCD5ZsBAQsQEC9LAGELELAvSwFxCxEgL0sBcQsBbcMDEBsAorWLIGBAFytEcEVwQCXbL3BAFxtOUF9QUCXUEJAEcABQBXAAUAZwAFAHcABQAEXbL3BQFxtGgNeA0CXbRJDVkNAl1ZALRIBFgEAl2y+AQBcbIIBAFyQQkASAAFAFgABQBoAAUAeAAFAARdtOkF+QUCXbL5BQFxQQkARgANAFYADQBmAA0AdgANAARdASMOAyMiJzcWMzI+AjchETMVByM3IwFJYwYQIzwwOhgQEA4UHhUNAwFXX2BeLVABgUeMb0UPbAYiWJd0/n8fxnIAAQA8/zACTgK8ABkBA7AKK1iyABMDK7IwAAFxsmAAAXKy3wABcbL/AAFxsiAAAV2yQAABcrKQAAFdskAAAV2yHxMBcbL/EwFdst8TAXGyIBMBXbJAEwFdsgYTABESObAGL7QgBjAGAl2wABCxDwb0sBMQsRIG9LAW0LAPELAX0LIfGgFdsj8aAV2ywBsBXVkAsABFWLAVLxuxFRQ+WbAARViwEi8bsRIIPlmwAEVYsAMvG7EDCj5ZsQoC9LIWEhUREjmwFi+yTxYBXbTfFu8WAl2yXxYBcbLPFgFxsRED9LAVELAY0DAxAbAKK1iylgIBcbQHAhcCAl2y1wIBXVkAstgCAV20CQIZAgJdspkCAXEFFAYjIiYnNTIWMzI+AjURIREjETMRIREzAk5ITg4hEQQHBBUZDQP/AImJAQCJFVtgAwRtAQwYIxYBJf7bArz+4wEdAAEAOf8wAeAB9AAWAVawCitYsgkEAyuyEAkBXbKQCQFdsh8JAXKyLwkBcbI/CQFysv8JAV2yUAkBcbIwCQFdsnAJAXGygAkBcrAJELEIBPSwANCyEAQBXbIfBAFysj8EAXKy/wQBXbQPBB8EAnGyMAQBXbIABAFysiAEAXKwBBCxBQT0sAHQsg8ECRESObAPL7LQGAFdspAYAV2y7xgBXbKwGAFdslAYAXKycBgBclkAsABFWLAFLxuxBRA+WbAARViwAi8bsQIIPlmwAEVYsA0vG7ENCj5ZsgYFAhESObAGL7RPBl8GAl2yXwYBcbRgBnAGAnKyEAYBcrEBAvSwBRCwCNCwDRCxEwL0MDEBsAorWLQHCxcLAl20pwu3CwJxsoYMAXK0BwwXDAJdtMcM1wwCXbRnDHcMAnJZALQICxgLAl20qAu4CwJxtAgMGAwCXbTIDNgMAl2yiQwBcrRqDHoMAnIlIxUjETMVMzUzERQGIyInNTIWMzI2NQFeo4KCo4JITx4iBAcEKxvFxQH0vLz991tgB20BMSwAAQA8/34CtQK8ABAA5LAKK1iyCgMDK7LfAwFxsv8DAV2yHwMBcUEJABAAAwAgAAMAMAADAEAAAwAEXbADELECBvSwBtBBCQAQAAoAIAAKADAACgBAAAoABF2yMAoBcbLfCgFxspAKAV2yQAoBcrJgCgFysAoQsRAG9LAH0LAKELAL0LALL7AO3LLgDgFxtiAOMA5ADgNdWQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbIGBQIREjmwBi+yzwYBcbJfBgFxsk8GAV2xAQP0sAUQsAjQsAIQsA/QsQoC9LAPELAO3LKgDgFdsiAOAV0wMQEhESMRMxEhETMRMxUHIzcjAcX/AImJAQCJZ2BeLV8BJf7bArz+4wEd/bcf1oIAAQA5/44CRQH0ABABHbAKK1iyCQQDK7IQCQFdspAJAV2y/wkBXbIfCQFyslAJAXGyMAkBXbJwCQFxsoAJAXKwCRCxCAT0sADQshAEAV2y/wQBXbQPBB8EAnGyHwQBcrIwBAFdsgAEAXKyIAQBcrAEELEFBPSwAdCwCRCwC9CwCy+wDtyy4A4BXbAN0EEJAGoADQB6AA0AigANAJoADQAEXUEJACwADQA8AA0ATAANAFwADQAEXbJKDQFysukNAV2yfxIBXbKwEgFdWQCwAEVYsAUvG7EFED5ZsABFWLACLxuxAgg+WbIGBQIREjmwBi+yXwYBcbTvBv8GAl20TwZfBgJdtGAGcAYCcrIQBgFysQEC9LAFELAI0LACELAP0LEKAvSwDxCwDtwwMSUjFSMRMxUzNTMRMxUHIzcjAV6jgoKjgmVgXi1WxcUB9Ly8/n8fxnIAAQAu/4MCIgK8ABkA67AKK1iyCRkDK7LPGQFxslAZAV2yMBkBXbAZELEABvSyUAkBXbLgCQFdtIAJkAkCXbIwCQFdsmAJAXKwCRCxCAb0sBDQsA7QsA4vsAzcQQsALwAMAD8ADABPAAwAXwAMAG8ADAAFXbK/DAFxshAMAXGyDxsBXVkAsABFWLAALxuxABQ+WbAARViwCy8bsQsIPlmyEwALERI5sBMvsQQC9LAAELAI0LALELAM3LKgDAFdsiAMAV2wCxCxDwP0MDEBsAorWLRIFlgWAnGyOhYBcbSKFpoWAnJZALI4FgFxtEkWWRYCcbSKFpoWAnITFRQWMzI2NxEzESMHIzUzNQ4BIyIuAjURty82JkMUiXAPYFYaVzwqRTMcArzePDsREQEz/UR996APGRUvSTQBCQABACH/jgHAAfQAGQGVsAorWLITBwMrshATAXGyzxMBcbJvEwFysk8TAXKyLxMBcbIvEwFysuATAV2yMBMBcbATELESBPSwANCyLwcBcrJ/BwFdsi8HAXGyTwcBcrJvBwFysAcQsQgE9LIYBxMREjmwGC+wFdyyjxUBcrYvFT8VTxUDXbJPGgFdsuAbAXGyABsBclkAsABFWLAILxuxCBA+WbAARViwFS8bsRUIPlmyAwgVERI5sAMvtMAD0AMCXbEOAfSwCBCwEtCwFRCwFtyyQBYBXbAVELAZ3LIPGQFxsq8ZAXGyTxkBcrJvGQFdMDEBsAorWEEJAAgABAAYAAQAKAAEADgABAAEXbSIBJgEAnFBCQAJAAUAGQAFACkABQA5AAUABF20iQWZBQJxtGMMcwwCcrKzDAFysqQMAXKyhQwBclkAQQkACAAEABgABAAoAAQAOAAEAARdtKkEuQQCcbSLBJsEAnFBCQAIAAUAGAAFACgABQA4AAUABF1BCQCJAAUAmQAFAKkABQC5AAUABHG0pgy2DAJytmgMeAyIDANyJQ4BIyImPQEzFRQeAjMyNjc1MxEjByM1MwE+Dz40SlKCBQ8bFh0rDoJ4D19kzwsWTVqfZxwqHQ4OCsD+DHLUAAEAPP9+A1gCvAAaA4KwCitYshQLAyu04BTwFAJdsgAUAXGyEBQBXbK/FAFxtjAUQBRQFANdsjAUAXGyIBQBcrLwCwFdsh8LAXGyMAsBcUELAAAACwAQAAsAIAALADAACwBAAAsABV2yIAsBcrIEFAsREjm0ZgR2BAJxstYEAXG0BwQXBAJdssYEAXK0lgSmBAJxshYEAXGy9QQBcrIFCxQREjmyOAUBcbIYBQFystkFAXGy+QUBXbRJBVkFAnGyqQUBcbTaBeoFAnKyeQUBcbIZBQFxsrkFAXJBCQBoAAUAeAAFAIgABQCYAAUABHKyiAUBcbQIBRgFAl2yOAUBcrALELEKBPSyDQsUERI5svUNAV2yBQ0BcbRmDXYNAl201g3mDQJdtAYNFg0CXbK3DQFdskYNAV20tg3GDQJxsoUNAV2ykw0BXbITDQFxsg8FBBESObISFAsREjm0uRLJEgJxtNkS6RICXbKKEgFdshsSAXGynBIBXbIaEgFdsvoSAV2yChIBcbRpEnkSAl2yCRIBXbJJEgFdsBQQsBXQsBUvsBjctiAYMBhAGANdsBQQsRoG9FkAsABFWLANLxuxDRQ+WbAARViwCi8bsQoIPlmwDRCwCNCyJggBcbAB0LIFCg0REjmwBS+wD9CwDRCwEtCwChCwGdCxFAL0sBkQsBjcsiAYAV2yoBgBXTAxAbAKK1iyhQMBXbJ1AwFxtAYDFgMCXbJ2AwFdsvYDAV2yFgMBcbTYBugGAl2yCQYBXbKZBgFdsvkGAV2yGgYBXbR6BooGAl2yGgYBcbJ6BgFxstQOAXGyNA4BcrbUDuQO9A4DcrL1DgFdsqUOAXG05Q71DgJxskUOAXK0ZQ51DgJyssUOAXKyZg4BXbLGDgFdtgYOFg4mDgNxsmYOAXG0tg7GDgJxslYOAXKyhg4BcrKmDgFytAcOFw4CXbJXDgFdsrcOAV20Rw5XDgJxslQPAXGyJQ8BcbS1D8UPAnGyxg8BXbJnDwFdsmgQAV2ypxEBXbIYEQFxsmgRAXGy2BEBcVkAsngDAV2yiQMBXbIIBgFdsngGAV2ymAYBXbL4BgFdsngGAXGyGQYBXbKJBgFdtOYO9g4CcbKGDgFysqYOAXKy9g4BcrK3DgFdtEcOVw4Ccba3DscO1w4DcbRXDmcOAnK0OA5IDgJysngOAXK0tw/HDwJxsmcRAXGy1xEBcbKoEQFdATcjBwMjAycjFxEjETMTFzM3EzMRMxUHIzcjAlsPBiuVLJ0sBRSCfbshBB6xfHRgXi1sAWuLcP77AQZviv6UArz+wFBSAT79tx/WggABADn/jgLLAfQAGgH8sAorWLIUCwMrtiALMAtACwNdshALAXGyAAsBXbIQFAFxtAAUEBQCXbLPFAFxtjAUQBRQFANdslAUAXGycBQBcbIECxQREjmyBQsUERI5tEoFWgUCcbQJBRkFAnGwCxCwCtyybwoBcrQvCj8KAl2yzwoBXbINCxQREjmylQ0BXbRlDXUNAnGytQ0BcrKGDQFdshYNAV20Jg02DQJxtOUN9Q0CXbTFDdUNAnGyZQ0BXbQEDRQNAnGyDwsUERI5shIUCxESObJqEgFdtGoSehICcbKaEgFdtOoS+hICXbQKEhoSAnGwFBCwFdCwFS+wGNyy4BgBXbYgGDAYQBgDXbAUELEaBPRZALAARViwDS8bsQ0QPlmwAEVYsBkvG7EZCD5ZsA0QsAfQsALQsBkQsArQsgUKDRESObAFL7AP0LIWDwFdsA0QsBLQsBkQsRQC9LAZELAY3DAxAbAKK1iydgIBXbQGAxYDAnGydwMBXbI4BgFdslgGAXKymQYBXbTpBvkGAl20CQYZBgJxsrkGAXGy+QYBcbJ6BgFdssoGAXGy2wYBcbJ5BwFdsrkHAV2ylg4BXbKHDgFdsogRAV2ymREBXVkAsngDAV20CAMYAwJxtOgG+AYCXbS4BsgGAnGy+AYBcbQJBhkGAnGyegYBXbJaBgFystsGAXGylw4BXSU3Iw8BIy8BIxcVIxEzHwEzPwEzETMVByM3IwHlCAUoXi9nJgYNdIdzHAQdaohpYF4tVeVoVpubVmfmAfS8P0G6/n8fxnL//wBCAAAAxAK8AgYCzgAA//8AAAAAAl0DagImACQAAAEGAsktAABVsAorWLR/HI8cAnFBCQC/ABwAzwAcAN8AHADvABwABHJBDQCvABwAvwAcAM8AHADfABwA7wAcAP8AHAAGXbJ/HAFytE8cXxwCcbYgHDAcQBwDXTAxWQAAAP//ABf/+AHHAsACJgBEAAABBgLKEQAAXLAKK1hBCQAgAD8AMAA/AEAAPwBQAD8ABHKyfz8BXba/P88/3z8DXbI/PwFxsv8/AV2ynz8BXbIAPwFdQQkAYAA/AHAAPwCAAD8AkAA/AARxtiA/MD9APwNdMDFZ//8AAAAAAl0DWAImACQAAAEGAsU7AAB5sAorWLAOL0ELAAAADgAQAA4AIAAOADAADgBAAA4ABV20nw6vDgJxtt8O7w7/DgNytt8O7w7/DgNxsg8OAXJBDQCvAA4AvwAOAM8ADgDfAA4A7wAOAP8ADgAGXbQwDkAOAnK0EA4gDgJxsBrcsvAaAXGyEBoBcTAxWQAAAP//ABf/+AHHAr4CJgBEAAABBgBqB+0AcrAKK1iwMC+2vzDPMN8wA12y/zABcrJ/MAFdsv8wAV2ynzABXbYgMDAwQDADXbA83LLAPAFdshA8AXFZALA5L7IfOQFysl85AXKyfzkBcrI/OQFyQQkAjwA5AJ8AOQCvADkAvwA5AARxsoA5AXKwRdAwMQAA////4wAAAzMCvAIGAIgAAP//ABf/8gLuAgICBgCoAAD//wA8AAAB4ANqAiYAKAAAAQYCyQ4AAE+wCitYsoAaAXJBDQCvABoAvwAaAM8AGgDfABoA7wAaAP8AGgAGXbL/GgFxsl8aAV2yrxoBcbYQGiAaMBoDXbQQGiAaAnK0sBrAGgJxMDFZAP//ACH/8gHZAsACJgBIAAABBgLKHQAAJ7AKK1i0ny+vLwJytl8vby9/LwNdtt8v7y//LwNxtAAvEC8CcTAxWQAAAgAl//ICUALKAAoAKQGEsAorWLIcJgMrsg8mAXKy3yYBcbJgJgFdskAmAV2wJhCxAgf0skAcAV2ykBwBXbLgHAFdst8cAXGyDxwBcrJAHAFyssAcAV20YBxwHAJdshAcAV2ycBwBcrAcELEKBvSwC9CwCy+wJhCwEtCwEi+yYCsBcbKAKwFxWQCwAEVYsBcvG7EXFD5ZsABFWLAhLxuxIQg+WbIpFyEREjmwKS+xAAL0sCEQsQcC9LAXELEOA/QwMQGwCitYsjUFAXG0BgUWBQJxskYFAXGyCA0BXUEJAKgAEQC4ABEAyAARANgAEQAEcbKWGQFysjcZAV2y9xkBXbQmHzYfAnKyxx8BcbIoIwFxsqkjAV2yeSMBcrSoJLgkAl2ymCQBcVkAtDcFRwUCcbIIDQFdsigRAV2ySBEBXbKYEQFxsjkRAV2yqREBcbTJEdkRAnGyuxEBcbI3GQFdsvcZAV20KB84HwJysmkfAXGyyR8BcbKoIwFdsigjAXGyeSMBcrKoJAFdspgkAXGyuSQBXRMGFRQeAjMyNjU3LgEjIgYHJz4DMzIeAhUUDgIjIi4CNTQ2N7gDDx8wIkZLAQZWWjRQFx0PLTc9H0VuTSghR21MRGRCIAUFASgUEh85LBtkYXFXYB8OdQkSDgkpWYpgVYdeMixQcEQcOyAAAgAi//IB2gICABkAIAJFsAorWLIIEAMrsjAQAV2ybxABXbIvEAFysm8QAXKyTxABckEJAM8AEADfABAA7wAQAP8AEAAEcbIPEAFyso8QAXKyEBABXbJQEAFdsBAQsADQsAAvsjAIAV2ycAgBXbKwCAFdsvAIAV2ysAgBcrLvCAFxsi8IAXKyTwgBcrJvCAFysg8IAXKyzwgBcbKQCAFystAIAV2ykAgBXbJQCAFdshAIAV2y0AgBcrAIELEdBPSwE9CwEBCwHty0Lx4/HgJdtK8evx4CXbJPHgFyWQCwAEVYsAMvG7EDED5ZsABFWLALLxuxCwg+WbITAwsREjmwEy+wAxCwFty0QBZQFgJdQQkAUAAWAGAAFgBwABYAgAAWAARxtsAW0BbgFgNdsiAWAXKysBYBcrALELAa3LRPGl8aAl2yLxoBcrbPGt8a7xoDXUEJAF8AGgBvABoAfwAaAI8AGgAEcbK/GgFysBMQsB3cQQ0AAAAdABAAHQAgAB0AMAAdAEAAHQBQAB0ABnFBCQBgAB0AcAAdAIAAHQCQAB0ABF2yIB0BcjAxAbAKK1i0ZQV1BQJytOYF9gUCXbRmBXYFAnG0ZwV3BQJdtOYJ9gkCXbTnCfcJAnFBCQAIAA4AGAAOACgADgA4AA4ABHG0SQ5ZDgJyWQC0ZQV1BQJytOcF9wUCXbRnBXcFAnG06An4CQJdtOgJ+AkCcbRoCngKAl1BCQAIAA4AGAAOACgADgA4AA4ABHG0SA5YDgJytjgZSBlYGQNdtGkZeRkCXbSqGboZAl0TPgEzMh4CFRQGIyIuAjU0NyEuASMiBgcTMjY3IwYWMh5nOjxYORx8aydLOyQKAS8FO0IpPxGSMjMBvQUvAckYISZFYjt/iRYyUzwqMT44HQz+6UU0NkP//wAl//ICUANYAiYB6QAAAQYCxUMAAGOwCitYsCovshAqAXJBCwAAACoAEAAqACAAKgAwACoAQAAqAAVdsr8qAV2yryoBcbL/KgFxst8qAV2yfyoBXbRAKlAqAnKyYCoBcbYAKhAqICoDcbA23LLwNgFxshA2AXEwMVkA//8AIf/yAdkCvgImAer/AAEGAGoE7QCHsAorWLAhL7L/IQFyQQkAzwAhAN8AIQDvACEA/wAhAARxsg8hAXJBCQAAACEAEAAhACAAIQAwACEABF20ICEwIQJxsC3csnAtAXKyEC0BcVkAsCovsj8qAXKyfyoBckEJAI8AKgCfACoArwAqAL8AKgAEcbJfKgFysh8qAXKygCoBcrA20DAxAP////kAAANNA1gCJgFPAAABBwLFAK8AAABHsAorWLAaL7JfGgFdtJ8arxoCcbIPGgFysn8aAXKyzxoBcbTfGu8aAl20ABoQGgJdtBAaIBoCcbAm3LIQJgFxssAmAV0wMVkAAAD////6AAACugK+AiYBbwAAAQYAamntAMKwCitYsBovskAaAXKyXxoBXUEJAM8AGgDfABoA7wAaAP8AGgAEXbTfGu8aAnG2nxqvGr8aA3Ky/xoBcrIPGgFytm8afxqPGgNxsn8aAV20ABoQGgJdsqAaAXG2ABoQGiAaA3GwJtyyMCYBcrJwJgFyshAmAXFBCQDAACYA0AAmAOAAJgDwACYABF1ZALAjL7I/IwFysn8jAXJBCQCPACMAnwAjAK8AIwC/ACMABHGyXyMBcrIfIwFysoAjAXKwL9AwMQAA//8AEv/yAesDWAImAVAAAAEGAsX+AABQsAorWLA6L7YAOhA6IDoDcbJfOgFxst86AV22IDowOkA6A3KykDoBXUENAAAAOgAQADoAIAA6ADAAOgBAADoAUAA6AAZdsEbcsu9GAXEwMVn//wAT//UBjwK+AiYBcAAAAQYAatftAJiwCitYsC0vsqAtAXGyfy0BXbbfLe8t/y0DXUEJAM8ALQDfAC0A7wAtAP8ALQAEcbIPLQFysr8tAV1BCQAAAC0AEAAtACAALQAwAC0ABF2ygC0BcbJgLQFxsDncshA5AXFZALA2L7I/NgFysn82AXJBCQCPADYAnwA2AK8ANgC/ADYABHGyXzYBcrIfNgFysoA2AXKwQtAwMQABACL/8gH6ArwAKQF9sAorWLIaJAMrsmAaAV20MBpAGgJdst8aAXGyEBoBXbKAGgFdsqAaAV2wGhCxBQf0skAkAV2ynyQBXbLfJAFxsv8kAXGyfyQBXbKgJAFdsmAkAV2yCSQaERI5sAkvsBoQsBHQsBEvsAzQsvoMAXGyCgwBcrQsDDwMAnKyHwwBcbINDAFxsksMAXKymQwBXbL5DAFdsCQQsA7QsA4vshMJERESObQFExUTAl2yMCsBXbJwKwFxWQCwAEVYsA8vG7EPFD5ZsABFWLAfLxuxHwg+WbEAA/SyFQ8fERI5sBUvsAjcsA8QsQ4C9LAR0DAxAbAKK1iyeQsBXbKnEgFxtAYXFhcCcbI2FwFxsnYXAXK0BxcXFwJdtgUYFRglGANxtAcYFxgCXbLHHAFdsgclAXKyGCUBclkAsnYLAV2yqRIBcbJ2FwFytAcXFxcCXbQHFxcXAnGyNxcBcbQHGBcYAl2yJxgBcbLIHAFdsoYlAV20BiUWJQJytlclZyV3JQNdNzI+AjU0JisBNT8BByM1IRUPARU3Mh4CFRQOAiMiLgInNx4D3h40JxZYVVGcLTvPAa+qLS4sSTQdJ0hlPxY2NjIRIA4lKitsDhwoGzkuOq4rDHVLvCAEChkwSTA2VTwgBQkPCngIDQoGAAEACv8sAcYB9AAiAgiwCitYshcfAyuybxcBcrKvFwFdsi8XAXKyTxcBcrJfFwFxss8XAXKyjxcBcrKvFwFysBcQsQME9LJvHwFysv8fAV2yXx8BcbL/HwFxsq8fAXKy3x8BcbIfHwFxss8fAXKyjx8BckEJAB8AHwAvAB8APwAfAE8AHwAEcrIGHxcREjmwBi+wFxCwDtCwDi+wCdC06gn6CQJdtAoJGgkCcbTrCfsJAnFBEQALAAkAGwAJACsACQA7AAkASwAJAFsACQBrAAkAewAJAAhytGsJewkCcbKNCQFytM0J3QkCcbSrCbsJAnG0iwmbCQJdshgJAV2yOAkBXbAfELAL0LALL7AGELAQ0LIvJAFdsk8kAV2yDyQBXVkAsABFWLAMLxuxDBA+WbAARViwHC8bsRwKPlmxAAH0shIMHBESObASL7AF3LJgBQFdsAwQsQsB9LAO0DAxAbAKK1iymAgBXbSHD5cPAnG0BhQWFAJxshcUAV1BCQBnABQAdwAUAIcAFACXABQABF20BhUWFQJxtAcVFxUCXbRnFXcVAl20JRk1GQJytMYZ1hkCXbRHGVcZAl22RyBXIGcgA3JZALSID5gPAnGyFxQBXUEJAGcAFAB3ABQAhwAUAJcAFAAEXbQHFBcUAnG0SBlYGQJdtMgZ2BkCXbQpGTkZAnKyZSABcrRmIHYgAl20RyBXIAJyFzI2NTQrATU/AQcjNSEVDwEVNzIeAhUUDgIjIiYnNx4BvztKoEB1NkmrAYyLKB8iQTIeJ0dkPS1aJi4bQWY5NG81sTEHbka5HQIDGzJILTdXPSAUFmcOFf//ADwAAAJdA1gCJgFRAAABBgLIagAAIrAKK1iyABMBXbJPEwFdst8TAXG0ABMQEwJxsiATAV0wMVkAAP//ADkAAAHoApICJgFxAAABBgBxNgAAO7AKK1iyLxMBcbI/EwFyQQsAvwATAM8AEwDfABMA7wATAP8AEwAFXbIPEwFytBATIBMCXbJAEwFdMDFZAP//ADwAAAJdA1gCJgFRAAABBgLFWgAAO7AKK1iwEC+yABABXbL/EAFdst8QAXGyjxABcrKvEAFxtG8QfxACXbSAEJAQAl20IBAwEAJdsBzcMDFZAP//ADkAAAHoAr4CJgFxAAABBgBqK+0AcLAKK1iwEC+2IBAwEEAQA12yXxABcbKfEAFxsv8QAV2yoBABcbQAEBAQAnGwHNyyDxwBcbJwHAFyWQCwGS+yHxkBcrJfGQFysn8ZAXKyPxkBckEJAI8AGQCfABkArwAZAL8AGQAEcbKAGQFysCXQMDH//wAm//ICeANYAiYAMgAAAQYCxVwAAEKwCitYsCAvsmAgAXG0byB/IAJdtt8g7yD/IANdsgAgAV2ygCABXbQgIDAgAl2wLNyyQCwBcrLwLAFxshAsAXEwMVkAAP//ACH/8gH4Ar4CJgBSAAABBgBqHO0AgrAKK1iwHi+y/x4BXbSvHr8eAnJBCQBfAB4AbwAeAH8AHgCPAB4ABF207x7/HgJxsg8eAXK0IB4wHgJdtAAeEB4CcbAq3LKAKgFdWQCwJy+yHycBcrJfJwFysn8nAXKyPycBckEJAI8AJwCfACcArwAnAL8AJwAEcbKAJwFysDPQMDEAAP//ACb/8gJ4AsoCBgGZAAD//wAh//IB+AICAgYBmgAA//8AJv/yAngDWAImAZkAAAEGAsVdAABHsAorWLAiL7IgIgFxsgAiAV223yLvIv8iA120byJ/IgJdsmAiAXGygCIBXbQgIjAiAl2wLtyyQC4BcrLwLgFxshAuAXEwMVkA//8AIf/yAfgCvgImAZoAAAEGAGoc7QB2sAorWLAgL7L/IAFdsg8gAXJBCQBfACAAbwAgAH8AIACPACAABF20zyDfIAJxtCAgMCACXbQAIBAgAnGwLNxZALApL7I/KQFysn8pAXJBCQCPACkAnwApAK8AKQC/ACkABHGyXykBcrIfKQFysoApAXKwNdAwMQAA//8AFP/yAhgDWAImAWYAAAEGAsX0AABTsAorWLAlL7KQJQFdsnAlAXG07yX/JQJyso8lAXK0sCXAJQJxsgAlAXFBCQAgACUAMAAlAEAAJQBQACUABF2yACUBXbAx3LLwMQFxshAxAXEwMVkA//8AF//yAaoCvgImAYYAAAEGAGrc7QCZsAorWLAcL0ENAK8AHAC/ABwAzwAcAN8AHADvABwA/wAcAAZdsm8cAXK0bxx/HAJdsk8cAXJBDQAAABwAEAAcACAAHAAwABwAQAAcAFAAHAAGXbQAHBAcAnGwKNyycCgBclkAsCUvsh8lAXKyXyUBcrJ/JQFysj8lAXJBCQCPACUAnwAlAK8AJQC/ACUABHGygCUBcrAx0DAxAAAA////9//5AkYDWAImAVwAAAEGAshCAAAvsAorWLQAGhAaAl2yvxoBcrTPGt8aAl20rxq/GgJxtCAaMBoCcrQAGhAaAnEwMVkA////9/8zAeYCkgImAFwAAAEGAHEaAAAysAorWLKPGQFdsq8ZAXKyXxkBXbbPGd8Z7xkDcrIPGQFytgAZEBkgGQNxslAZAXEwMVkAAP////f/+QJGA1gCJgFcAAABBgLFPwAAcbAKK1iwFy9BCQAQABcAIAAXADAAFwBAABcABHK03xfvFwJdtN8X7xcCcUEJAL8AFwDPABcA3wAXAO8AFwAEcrKvFwFxQQsAAAAXABAAFwAgABcAMAAXAEAAFwAFXbJgFwFxtgAXEBcgFwNxsCPcMDFZAAAA////9/8zAeYCvgImAFwAAAEGAGoM7QBbsAorWLAWL0EJAM8AFgDfABYA7wAWAP8AFgAEcbIPFgFytO8W/xYCXbQgFjAWAl1BDwAQABYAIAAWADAAFgBAABYAUAAWAGAAFgBwABYAB3KwItyyECIBcTAxWQD////3//kCRgNSAiYBXAAAAQYCx1MAAFywCitYsBsvQQ0ArwAbAL8AGwDPABsA3wAbAO8AGwD/ABsABnG0DxsfGwJysv8bAXKyjxsBXUEJAK8AGwC/ABsAzwAbAN8AGwAEcrI/GwFxtAAbEBsCXbAg3DAxWf////f/MwHmArwCJgBcAAABBgE2QgAAPrAKK1iwGi+0ABoQGgJxtq8avxrPGgNxtr8azxrfGgNdtK8avxoCcrIQGgFyskAaAV20ABoQGgJdsB/cMDFZAAD//wAuAAACIgNYAiYBYAAAAQYCxT0AAI2wCitYsBYvQQ0AEAAWACAAFgAwABYAQAAWAFAAFgBgABYABnJBCQCvABYAvwAWAM8AFgDfABYABF2y/xYBcrL/FgFdQQsAAAAWABAAFgAgABYAMAAWAEAAFgAFXbRgFnAWAnFBCQAAABYAEAAWACAAFgAwABYABHGwItyy7yIBcbIQIgFxssAiAV0wMVkAAAD//wAhAAABwAK+AiYBgAAAAQYAagDtAHmwCitYsBgvtCAYMBgCXUEJAG8AGAB/ABgAjwAYAJ8AGAAEXbTvGP8YAl2yIBgBcrIwGAFxsCTcsi8kAXKyECQBcVkAsCEvsh8hAXKyXyEBcrJ/IQFysj8hAXJBCQCPACEAnwAhAK8AIQC/ACEABHGygCEBcrAt0DAxAAAAAAEAPP+DAdMCvAAJANuwCitYuwACAAYABwAEK7QgAjACAnK0AAIQAgJdsvACAV2yAAIBcbQwAkACAl2wAhCwA9CwAy+wBdyyHwUBcUELACAABQAwAAUAQAAFAFAABQBgAAUABV2ysAUBcbQABxAHAl20MAdABwJdsvAHAV2yAAcBcbQgBzAHAnKwBxCwCdyyUAkBXbJwCQFdshAJAXGyYAkBcbLACQFysuALAV1ZALAARViwCS8bsQkUPlmwAEVYsAYvG7EGCD5ZsAkQsQAD9LAGELECA/SwBhCwBdyyoAUBXbIgBQFdMDEBIREzFSMnIxEhAdP+8lhgD3IBlwJC/jj3fQK8AAEAOf+OAXwB9AAJAL+wCitYuwAEAAUACQAEK7I/CQFysv8JAV20AAkQCQJdskAJAV2wCRCwAdyyUAEBcbJwAQFysvABAV2yUAEBXbI/BAFysv8EAV2yQAQBXbQABBAEAl2wBBCwBdCwBS+yLwUBcbAH3LJgBwFyQQsAIAAHADAABwBAAAcAUAAHAGAABwAFXbKwCwFdWQCwAEVYsAEvG7EBED5ZsABFWLAILxuxCAg+WbABELECAvSwCBCxBAL0sAgQsAfcskAHAV0wMRMhFSMRMxUjJyM5AUO9Wl8PcgH0c/7y5XL//wA8//YC4QNYAiYBZAAAAQcCxQCYAAAAb7AKK1iwJi+0ICYwJgJytG8mfyYCXbLfJgFdtp8mrya/JgNxtH8mjyYCcrLvJgFysg8mAXKyTyYBcbK/JgFdQQkAEAAmACAAJgAwACYAQAAmAARdsgAmAXG0gCaQJgJdsDLcsu8yAXGyDzIBcTAxWQAAAP//ADn/+QKGAr4CJgGEAAABBgBqaO0AhbAKK1iwIi+yACIBXbJfIgFdtO8i/yICXbTvIv8iAnG0DyIfIgJysr8iAXK0fyKPIgJxtK8ivyICXbIfIgFdshAiAXG0ICIwIgJdsC7cWQCwKy+yHysBcrJfKwFysn8rAXKyPysBckEJAI8AKwCfACsArwArAL8AKwAEcbKAKwFysDfQMDEAAAAAAQAK/zECZAK8ACEDWLAKK1iyFQgDK7JAFQFdsgYVAV2y/xUBcrIvFQFdsgAVAXGyUBUBcbIQFQFdsBUQsQAH9LKPCAFdss8IAXKyHwgBcbL/CAFyshEVCBESObJIEQFdsgkIFRESObIaCQFxsgURCRESObAIELAH3LKCBwFdstMHAXFBCQA0AAcARAAHAFQABwBkAAcABHKyeQcBXbJkBwFxsnMHAXGy8AcBXbQABxAHAnGykAcBXbAIELAK0LSmCrYKAl22NwpHClcKA122Zgp2CoYKA12ylQoBXUEJAMUACgDVAAoA5QAKAPUACgAEXbQFChUKAnGwC9y2MAtAC1ALA3GykAsBXbRyC4ILAl2y0wsBcbITCwFxsmQLAXFBCwAkAAsANAALAEQACwBUAAsAZAALAAVytAMLEwsCcrJzCwFxsgILAXGyEAsBXbbQC+AL8AsDXUEJAJAACwCgAAsAsAALAMAACwAEcbLwCwFxsg0JERESObAVELAQ0LKHEAFdskgQAV2ymBABXbIXEAFxQQkAJgAQADYAEABGABAAVgAQAARxsA/cQQkAOwAPAEsADwBbAA8AawAPAARysnwPAXGy/w8BXbQPDx8PAnGyzw8BcbKfDwFdso0PAV2y3A8BcbJrDwFxsnYPAV2yGwgVERI5sBsvsmAjAV1ZALAARViwCy8bsQsUPlmwAEVYsAcvG7EHCD5ZsABFWLAYLxuxGAo+WbIFBwsREjmyCwUBcbKaBQFdsg0LBxESObIXDQFdspUNAV2yCQ0FERI5sAsQsA/QshENBRESObAYELEfAvQwMQGwCitYspkCAV2ymAMBXbL5BAFdspoEAV2y9QYBXbRmBnYGAl2yBgYBcbKXBgFdtIQMlAwCXbbVDOUM9QwDXbRmDHYMAl2yFw0BXbKJDgFdshcSAV20ZxJ3EgJdtGYTdhMCXbJXEwFdsmUWAXG0dhaGFgJxtHYXhhcCcbIXFwFdsscXAV2yRxcBclkAspgCAV2ymQMBXbKYBAFdspcGAV2y9wYBXbQHBhcGAnGy9gwBXbRnDHcMAl201wznDAJdshYNAV2y9w4BXbKIDgFdtAgOGA4CcbZXE2cTdxMDXbR4FogWAnGyaRYBcbR4F4gXAnGyGRcBXbLJFwFdskoXAXIFNCYvAg8BIxMDMx8BPwEzAxceARUUBiMiJic1MhYzMjYBxB4ORxwafJXXw6VsGBdxlcqCGRxRUQ8hEQQHBCscFSJAF3RKStgBZAFYykdHyv6v1SdYK1tgAwRtASoAAQAI/zAB+wH0ACACwbAKK1iyAxcDK7IvAwFxsm8DAXKyTwMBcrJwAwFdslADAXGybxcBcrL/FwFdsk8XAXKyCBcDERI5sAgvsiAIAV2wAxCxDwT0shgXAxESObJ7GAFxsgoYAV2yORgBcbIgAxcREjm2FiAmIDYgA12ySSABXbJVIAFdsiUgAXGyFBggERI5sBcQsBbcshMWAXGydBYBcbJqFgFxsvsWAV20yhbaFgJdsukWAV22YxZzFoMWA3KykxYBXbJQFgFysBcQsBnQtLUZxRkCcbKWGQFdtAYZFhkCXbJ4GQFxtmcZdxmHGQNdtEYZVhkCXba2GcYZ1hkDXbTlGfUZAl2yBRkBcUEJACUAGQA1ABkARQAZAFUAGQAEcbAa3LIQGgFdsuIaAV2ykxoBXUELAEMAGgBTABoAYwAaAHMAGgCDABoABXK0JBo0GgJytMoa2hoCXbIEGgFxsvMaAV2yQxoBcbITGgFxshAaAXKygBoBXbJQGgFxshwgGBESObQHHBccAnGwAxCwH9CySh8BXbAe3LTFHtUeAl2yGx4BcbKcHgFdtmwefB6MHgNysnseAXGyCh4BcbL1HgFdsuQeAV2yPyIBXbIfIgFdslAiAXFZALAARViwGi8bsRoQPlmwAEVYsAYvG7EGCj5ZsABFWLAWLxuxFgg+WbIqAwFxsAYQsQwB9LIUFhoREjmyHBoWERI5siYcAXGyFhwBXbQFHBUcAnGyGBwUERI5sjcYAXGwGhCwHtCyIBwUERI5MDEBsAorWEEJAEcAAABXAAAAZwAAAHcAAAAEXbRnAXcBAl20BwQXBAJdtIYFlgUCcbQHBRcFAl20ZwV3BQJyspYbAV2y1xwBXbKWIAFdtAYgFiACcVkAtEcAVwACXbQIBBgEAl20CAUYBQJdtIkFmQUCcbRqBXoFAnKy5xgBXbQGGxYbAnGylxsBXSUeARUUBiMiJzUWMjMyNic0Ji8CDwEjEyczHwE/ATMHAbsWHkxQHyIFCQUqHwEZDiIiH02OopabQRweRI2XgCBUJVhfB2gBJB4bNRUzSEh4AQD0a0ZGa/AAAQAo//IB/ALIADsBpbAKK1iyKhkDK7LPGQFxsg8ZAXKyLxkBcrLvGQFxsjAZAV2yUBkBXbAZELEGB/SykCoBcrIwKgFdsu8qAXGyLyoBcrJQKgFdshAqAV2ywCoBXbKAKgFdsCoQsA/QsA8vsBkQsCDQsCAvsuAgAV2yOhkqERI5sDovsh0gOhESObAgELExB/RZALAARViwJS8bsSUUPlmwAEVYsBQvG7EUCD5ZsQsD9LI6JRQREjmwOi+yTzoBXbKvOgFdsi86AXGyXzoBcbE7AfSyHTo7ERI5sCUQsS4D9DAxAbAKK1hBCQBoAA4AeAAOAIgADgCYAA4ABF20aBd4FwJdsvkXAV2yCRcBcbKpFwFytjgeSB5YHgNxsvkeAV2yCR4BcbQpHjkeAnKySh4BcrKZHwFdsjkiAXFZAEEJAGgADgB4AA4AiAAOAJgADgAEXbZoF3gXiBcDXbL4FwFdsggXAXGyqBcBcrKmGwFxtLcbxxsCcbIIHgFxsvkeAV20SR5ZHgJxsjoeAXG2Kh46HkoeA3KymB8BXbKWIgFdtEciVyICcbLXIgFxspgrAV0BKgEHDgEVFB4CMzI2NxcOAyMiLgI1NDY3NS4BNTQ+AjMyHgIXBy4BIyIGFRQeAhceATsBFQGADwwMWEkVIy8bM1MXJQ4rNj0hPGFFJUdBOjgnQ1cwHTszKQskGUwkNzwQGSESETYSGAE2AQI0LhomGQwZC2wJEQ8JGTNPNklZDQUWWDQwQyoSCA0PB20LEyQqFB4WDgMFAWsAAQAh//UBmgH9ACsCDrAKK1iyHxIDK7K/EgFdsr8SAXKybxIBXbQvEj8SAnKynxIBXbIAEgFysBIQsQUE9LJwHwFdshAfAXGyLx8BcrIwHwFxtOAf8B8CXbIwHwFdshAfAV2wHxCwDNCwDC+wEhCwGdCwGS+2EBkgGTAZA3GyKxIfERI5sCsvshYZKxESObQKFhoWAl2wGRCxJgT0WQCwAEVYsBwvG7EcED5ZsABFWLAPLxuxDwg+WbIpHA8REjmwKS+0DykfKQJysq8pAXK0Lyk/KQJxtI8pnykCXbAA3LQQACAAAnG0YABwAAJdsA8QsQgB9LIWKQAREjmwHBCxIwH0MDEBsAorWLSHC5cLAl20yQvZCwJdtAgQGBACXbQIERgRAl20KBE4EQJytAkRGRECcrQIFxgXAl2yiBcBcbQKGBoYAnG0KBo4GgJdtOga+BoCcbQJGhkaAl20CRoZGgJxtMka2RoCcbSqGroaAnJBCQAIABsAGAAbACgAGwA4ABsABF20yCDYIAJdWQCydgsBXbSHC5cLAl20yAvYCwJdtAgQGBACXbQIERgRAl1BCQAIABEAGAARACgAEQA4ABEABHK0CBcYFwJdsokXAXG0BhoWGgJdtAYaFhoCcbTmGvYaAnG0phq2GgJytCcaNxoCXbTHGtcaAnFBCQAHABsAFwAbACcAGwA3ABsABF20xyDXIAJdsnggAV0lIg4CFRQWMzI2NxcOASMiJjU0Njc1LgE1NDYzMhYXBy4BIyIGFRQWOwEVARIgKxoKLS0oQhccGlI3bmgvMigmXE8+XR4cEj0nKSctIz3PBg0TDRofEg5lDxpVQjM7DgQOPyNAQRkRYwsUFhsXHVsAAf/z/zACPgK8ACoBNbAKK1iyACkDK7QQACAAAl2yAAABcrIQAAFxsu8pAV20ECkgKQJdsgApAXKyBikAERI5sAYvsAAQsQ8G9LApELERBPSwKRCwHty0bx5/HgJdtA8eHx4CXbLPHgFdtB8eLx4CcbKwLAFdspAsAXFZALAARViwKS8bsSkUPlmwAEVYsBsvG7EbCD5ZsABFWLADLxuxAwo+WbEKAvSwKRCxEQP0sBsQsSED9DAxAbAKK1iypgIBcbKGAgFytAcCFwICXbLXAgFdspcCAXGyRxQBXbQnGDcYAl20KCQ4JAJdtColOiUCXbKIJgFdtNgm6CYCXbKZJgFdWQC0CQIZAgJdtMkC2QICXbKJAgFytJoCqgICcbJIFAFdtCgYOBgCXbQmJDYkAl20JyU3JQJdspYmAV2yhyYBXQUUBiMiJic1MhYzMj4CNREjDgMHDgMjIiYnNxYzMjY3PgM3IQI+SE4OIREFBwQVGAwElQQLEx0VDyIkJBAXKg8WDQ4PHw0PFhEKAgGdFVtgAwRtAQwXIxcCQl+cfWAjFx4SBwgHdQUQFBZVhLd6AAH/7/8wAcsB9AAeAYmwCitYshIQAyuyLxABcbRPEF8QAnKybxABcbLfEAFdskAQAV2wEBCwAdyyTwEBXbLQAQFdsBAQsAjcsj8IAV20rwi/CAJdsi8SAXGybxIBcbJPEgFyshcQEhESObAXL7YgFzAXQBcDXbASELEeBPSyMCABcrLQIAFxsrAgAXGyECABcrJwIAFyWQCwAEVYsBAvG7EQED5ZsABFWLAGLxuxBgg+WbAARViwFS8bsRUKPlmwEBCxAQL0sAYQsQsC9LAVELEbAvQwMQGwCitYsgUEAXKy9gQBcbRHBFcEAl20RwVXBQJdtOcF9wUCXbL3BQFxQQkASAANAFgADQBoAA0AeAANAARdtEgOWA4CXbaWFKYUthQDcbRmFHYUAnK0BxQXFAJdWQC0SARYBAJdsgkEAXJBCQBIAAUAWAAFAGgABQB4AAUABF206AX4BQJdsvgFAXFBCQBHAA0AVwANAGcADQB3AA0ABF20Rg5WDgJdtKgUuBQCcbQJFBkUAl2ymRQBcbRqFHoUAnIBIw4DIyInNxYzMj4CNyERFAYjIic1MhYzMjY1AUljBhAjPDA6GBAQDhQeFQ0DAVdITx4iBAcEKxsBgUeMb0UPbAYiWJd0/fdbYAdtATEsAAEAAP/7A14CvAAVAx2wCitYsgsUAyuy4AsBXbIvCwFdspALAV2yAAsBXbITFAsREjmyuRMBXbLJEwFxskoTAXKy+xMBXbKqEwFytAkTGRMCcbJZEwFxsmgTAV20JhM2EwJdshIUCxESObJUEgFystUSAXGyRRIBcbIFEgFdtNUS5RICXbLGEgFxtFYSZhICcbLGEgFdsjcSAXGyFxIBXbZ3EocSlxIDXbL2EgFdtAYSFhICcbKGEgFysqYSAXG05hL2EgJxsqUSAV1BCQAVABIAJQASADUAEgBFABIABHKydRIBcbK1EgFytCQSNBICXbJjEgFysgETEhESObIEFAsREjmymAQBXbJZBAFxtKoEugQCcbQqBDoEAnKyegQBcbJqBAFystoEAXGyiQQBcbKJBAFdsmcEAV2yRgQBXbIFCxQREjm0xQXVBQJxthUFJQU1BQNyspUFAXGyRgUBcbIXBQFdsqcFAV2ydwUBXbL3BQFdssYFAV205gX2BQJxsmUFAXKydQUBcbQEBRQFAnGyYwUBcbIMCxQREjmytgwBXbJWDAFxtCgMOAwCXbIODAFdssYMAXGy9gwBXbJFDAFysqUMAXKyDQsUERI5skoNAXKyug0BcbJbDQFysmwNAXK0Kw07DQJdsgsNAV2yqg0BXbJIDQFdsmcNAV2yCAwNERI5sAsQsQoG9LIQBAUREjmwFBCxFQf0sk8XAV2yLxcBXVkAsABFWLAVLxuxFRQ+WbAARViwEi8bsRIIPlmwAdCyrwEBXbAVELAE0LQrBzsHAl2wARCwCNCwBBCwCtCwEhCwDdCwBBCwENAwMQGwCitYsgQAAV2ydAABcbI1AAFxshcAAV2yJwABcbJnAAFxslgAAV2yBgEBXbI0BgFdsnUGAV2yJgYBXbKWBgFdtAYGFgYCcbIHBgFdsvcGAV20BgcWBwJxsgcHAV20Jwc3BwJdtNcH5wcCXbIJCAFdskcJAV2yCQkBXbLJCQFxskcKAV2yGA4BcbI3EgFdWQCyBgABXbInAAFxsncAAXGylwYBXbL3BgFdtCgHOAcCXbQqCDoIAl2yxAkBcRMXMzcTMxMXMzcTMwMjAycjBwMjAzPyDQQOelp4DgQPVYvBXH0RBRF8YcCVATV8fgGF/nl8fgGF/T8BhWts/nwCwQAB//j/+wLZAfQAFQIRsAorWLIGDwMrtnAGgAaQBgNdstAGAV2ycAYBcbLQBgFxslAGAXKyJgYBcbIoBgFdsvQGAV2yIAYBcrKgBgFxsjAGAXGysAYBXbIwBgFdspAGAXKybw8BcrLfDwFysgAGDxESObSmALYAAl2ydwABXbIXAAFxskYAAXGyZgABXbIWAAFdsiUBAV2yAwYPERI5srcDAV2yJwMBXbAGELAF3LSjBbMFAl2y3wUBcUEJACUABQA1AAUARQAFAFUABQAEcbIjBQFdsjAFAV2yBwYPERI5sqYHAXGyGwcBXbIMBwFdtOcH9wcCXbI2BwFdslYHAXGyCAYPERI5tIsImwgCXbQKCBoIAl2yJwkBXbILDwYREjmyDQ8GERI5slYNAXKydg0BcbIHDQFxskYNAXG0BQ0VDQJdtIQNlA0CXbIODwYREjmwDxCwENyy0BABcrQEEBQQAnGy+hABXbZgEHAQgBADcrKQEAFdsnAQAXGyEg8GERI5shUPBhESObJZFQFxsjkVAXGykBcBXbIPFwFdsk8XAV2ycBcBXbLQFwFdWQCwAEVYsBAvG7EQED5ZsABFWLANLxuxDQg+WbAS0LAD0LAQELAV0LAF0LANELAI0LAVELAL0LJmCwFdMDEBsAorWLJ3AQFdtAoEGgQCXbQDERMRAl2yFREBcVkAsjYBAV2yJwEBXbJ3AQFdtAUEFQQCXQETFzM/ATMDIwMnIwcDIwMzHwEzPwEBo1sSBA5Ad5pgZQ0FDGBjoY1JDAURUwH0/wBTVP/+BwEYP0D+6QH5+1la+gABADz/gwKaArwACwDlsAorWLIGAwMrQQkAEAADACAAAwAwAAMAQAADAARdsh8DAXKyPwMBcbL/AwFxsiADAXKy0AMBXbADELECBvSyUAYBcbTvBv8GAnGyHwYBcrJwBgFxQQkAEAAGACAABgAwAAYAQAAGAARdtCAGMAYCcrAGELAH0LAHL7AJ3LIfCQFxQQsAIAAJADAACQBAAAkAUAAJAGAACQAFXbKwCQFxsAYQsQsG9FkAsABFWLAELxuxBBQ+WbAARViwAi8bsQIIPlmwBBCxAQP0sAIQsArQsQYD9LAKELAJ3LKgCQFdsiAJAV0wMQEjESMRIREzFSMnIwG69YkCB1dgD3ECQv2+Arz9vvd9AAEAOf+OAi4B9AALAMywCitYsgYDAyuy/wMBXbJfAwFxsk8DAXKyHwMBcbIQAwFdtDADQAMCXbADELECBPSycAYBXbJPBgFyss8GAXGyDwYBcrL/BgFdspAGAV2yMAYBXbIQBgFdsAYQsAfQsAcvtm8HfwePBwNdsAncsmAJAXJBCwAgAAkAMAAJAEAACQBQAAkAYAAJAAVdsAYQsQsE9FkAsABFWLAELxuxBBA+WbAARViwAi8bsQIIPlmwBBCxAQL0sAIQsArQsQYC9LAKELAJ3LJACQFdMDEBIxEjESERMxUjJyMBWZ6CAaJTXw9nAYH+fwH0/n/lcgABADz/gwKIArwAGQF6sAorWLIUCAMrsi8IAXGyTwgBcrIPCAFxst8IAXGyEAgBXbQwCEAIAl2wCBCxBwb0sAvQtAAUEBQCXbJgFAFdsuAUAV2yLxQBcbLfFAFxsg8UAXGyYBQBcbKAFAFdtDAUQBQCXbJgFAFyssAUAXKwFBCwFdCwFS+wF9yyHxcBcbKwFwFxQQsAIAAXADAAFwBAABcAUAAXAGAAFwAFXbAUELEZBvRZALAARViwCi8bsQoUPlmwAEVYsAcvG7EHCD5Zsg4KBxESObAOL7JQDgFdtAAOEA4CXbEDAvSwBxCwGdCxFAP0sBkQsBfcsqAXAV2yIBcBXTAxAbAKK1i0BRAVEAJxtEUQVRACcbSFEJUQAnK0BxAXEAJdsjURAXG0BhEWEQJxsmYRAXFBCQAHABEAFwARACcAEQA3ABEABF1ZALSFEJUQAnK0BxAXEAJdtAcQFxACcbI1EQFxtAYRFhECcUEJAAcAEQAXABEAJwARADcAEQAEXbJnEQFxJTQmIyIGBxEjETMRPgEzMh4CHQEzFSMnIwGnLzYmQxSJiRpXPCpFMxxYYA9y3jw7ERH+zQK8/uYPGRUvSTSP933//wA5/44CPQK8AgYCYAAA//8APAAAAmEDZgImAC4AAAEHAsMAkgAAADiwCitYtt8T7xP/EwNdsh8TAV22rxO/E88TA3FBCQBfABMAbwATAH8AEwCPABMABF2yIBMBcTAxWQAA//8AOQAAAe0C0AImAE4AAAEHAHYAugAAADewCitYsk8TAXG07xP/EwJxsv8TAXKy/xMBXbSfE68TAnK0jxOfEwJxtAATEBMCXbIQEwFyMDFZAAAA//8APAAAAuQDZgImADAAAAEHAsMBAgAAADWwCitYsk8aAXG0rxq/GgJxsv8aAXKyjxoBXbTvGv8aAnGyfxoBcbL/GgFdtBAaIBoCXTAxWQD//wA5AAAC8wLQAiYAUAAAAQcAdgEeAAAAN7AKK1iy/yoBXbKPKgFxsv8qAXKyPyoBXbTvKv8qAnGyTyoBcbaPKp8qryoDXbQAKhAqAl0wMVkAAAD//wA8AAACIwNmAiYAMwAAAQcCwwCAAAAALrAKK1iyACwBXbLfLAFxsv8sAV2y/ywBcbSfLK8sAnGysCwBXbQwLEAsAl0wMVn//wA5/zgB+wLQAiYAUwAAAQcAdgCXAAAAObAKK1iyDyUBcrTvJf8lAnKyTyUBcbKPJQFytK8lvyUCcUEJABAAJQAgACUAMAAlAEAAJQAEXTAxWQAAAQA8//ICdQLJADIBCLAKK1iyHAoDK7IfCgFysh8KAXGyTwoBcbL/CgFdtCAKMAoCXbIACgFdsoAcAV1BCQAAABwAEAAcACAAHAAwABwABF2yYBwBcrJAHAFyshUKHBESObQGFRYVAl2wFRCwANCyCgABXbLTAAFdsAoQsQkG9LIxChwREjmwMS+wGNCyBxgBXbIWGAFdspUYAV2yJAocERI5sCQvsBwQsS0H9LJPMwFdshA0AV1ZALAARViwEC8bsRAUPlmwAEVYsAkvG7EJCD5ZsABFWLAfLxuxHwg+WbAQELEDAfSyMBAfERI5sDAvsBncsB8QsCXcsjAlAV2wJNCyOyQBXbAfELEqA/SwGRCwMtAwMQEuASMiDgIVESMRND4CMzIeAhcPARU3HgEVFAYjIi4CJzceAzMyNjU0JisBNQGjEj0lIyoWB4kaO11CM1FDOBuHIyNRYXt2DigpJAobChwdHAsyN0pMMgI6EBIZLT8m/k8B3jlXPB8PGyMUsx0FCAZiWmx7BAgKBXIFBwQDNzQ3MlP//wA2AOYBMQFZAgYAEAAAAAEAbQDnAicBWgADAEawCitYsgIDAyuyXwIBcbJvAgFdsv8CAV2yrwIBXbL/AwFdsm8DAV1ZALADL7JwAwFdsg8DAXKy8AMBXbKwAwFdsQAC9DAxEyEVIW0Buv5GAVpzAAEAbQDnAscBWgADAC2wCitYsgIDAyuyrwIBXbIQAgFxWQCwAy+yDwMBcrJwAwFdsrADAV2xAAL0MDETIRUhbQJa/aYBWnMAAQAmAioAuQMfABEAzbAKK1iyAAYDK7QAABAAAl20nwCvAAJxsvAAAV2ykAABXbQPBh8GAnGy3wYBcbSfBq8GAnGyjwYBXbQABhAGAl2wABCwDNCwDC+wC9CyDwYAERI5si8TAV1ZALALL7KwCwFdshALAXGycAsBXbYQCyALMAsDXbAD3LALELAM3LADELAP3LKvDwFdsjAPAXGyMA8BXTAxAbAKK1i0KAQ4BAJyQQkAaAAJAHgACQCIAAkAmAAJAARxWQC0KQQ5BAJytGYJdgkCcbSHCZcJAnETFAYjIiY1ND4CNxcOAQcyFrknHSUqGSMmDiAUHAIUIQJqHSMvJyg4JRUFNggjFCMAAQAmAc8AuQLFABEAnrAKK1iyBgADK7LfAAFxso8AAV20AAAQAAJdsrAAAXGy8AYBXbQABhAGAnGysAYBcbKQBgFdtAAGEAYCXbAAELAM0LAML7AL0LIPAAYREjlZALAARViwAy8bsQMUPlmwC9ywDNywAxCwD9yyPw8BcbI/DwFdsqAPAV0wMQGwCitYtIcJlwkCcVkAtCcENwQCcrSICZgJAnG0aQl5CQJxEzQ2MzIWFRQOAgcnPgE3BiYmJx4kKhkjJw0hFB8CFCMChB0kMCcoOCUVBTcJHhcBIf//ACb/iQC5AH8DBwIiAAD9ugBJsAorWLIvEwFdsm8TAV1ZALKQAwFdshADAXKyzwMBcbKvAwFysk8DAV2yzwMBcrI/AwFysr8DAV2yMAMBcbIgAwFdsgADAV0wMQAAAP//ACYCKgFmAx8AJwIhAK0AAAEGAiEAAAAfsAorWLSvAL8AAl2ybwABcbRAElASAl2yLyUBXTAxWQAAAP//ACYBzwFmAsUAJwIiAK0AAAEGAiIAAAAasAorWLRPAF8AAl2ybwABcbSgErASAl0wMVn//wAm/4kBZgB/ACcCIgCt/boBBwIiAAD9ugCWsAorWLJPAAFdsm8AAXG0rwC/AAJdslASAV2yTyUBXbIvJQFdWQCyMAMBcbIAAwFdsr8DAV2yPwMBcrLPAwFysq8DAXKyzwMBcbJPAwFdshADAXKykAMBXbIgAwFdsjAVAXGyABUBXbK/FQFdsj8VAXKyzxUBcrKvFQFyss8VAXGyTxUBXbIQFQFyspAVAV2yIBUBXTAxAAAAAQAo/zgB1QK8ABUAkLAKK1iyDRIDK7SgErASAl2wEhCwBNCyLw0BXbANELAF0LANELAK0LAKL7LgCgFdsBIQsBXQsBUvWQCwAEVYsAQvG7EEFD5ZsABFWLAQLxuxEAo+WbIBBBAREjmwAS+wCNCwARCxFAH0sAvQMDEBsAorWLR1B4UHAnG0dgyGDAJxWQC0dQeFBwJxtHgMiAwCcRMzFyc1MxUHNzMVIycXEQcjJxE3ByModDQQfA8zdXcxDxBcEBA0dAIBEDaVlTYQcBAy/pHIyQFuMhAAAQAo/zgB1QK8ACUBXrAKK1iyGh0DK7SgHbAdAl2wHRCwIdCwIS+wA9CwAy+wHRCwJdCwB9CyLxoBXbAaELAS0LAK0LAaELAW0LAWL7LgFgFdsA7QsA4vWQCwAEVYsAgvG7EIFD5ZsABFWLAcLxuxHAo+WbIFCBwREjmwBS+xAgH0sAUQsAzQsAIQsA/QsAUQsCPcsBTQsCMQsSAB9LAX0DAxAbAKK1iymgEBcbR7AYsBAnG2eAaIBpgGA3GyqQYBcbKVCwFxtHYLhgsCcbR1EIUQAnGylxABcbR1E4UTAnGylhMBcbR1GIUYAnGylhgBcbR4H4gfAnGymR8BcbR4JIgkAnGymSQBcVkAspkBAXG0ewGLAQJxQQkAdQAGAIUABgCVAAYApQAGAARxtHYLhgsCcbKXCwFxtnkQiRCZEANxtHUThRMCcbKXEwFxtnoYihiaGANxtnofih+aHwNxspUkAXG0diSGJAJxEzcHIzUzFyc1MxUHNzMVIycXFQc3MxUjJxcVByMnNTcHIzUzFyfAEDR0dDQQfA8zdXcxDw8xd3UzDxFaERA0dHQ0EAFzLQ9wDzKYmDIPcA8tVC0PcA8ybsjJbTIPcA8tAAEASQCfAXoB0AATACewCitYsgoAAyuyAAABXbIwAAFdsgAKAV2yMAoBXVkAsA8vsAXcMDETND4CMzIeAhUUDgIjIi4CSRgqNx8gOCkYGCk4IB83KhgBNyI4KBcVJzkkJDgnFRUnOP//ADX/9QL3AI4AJgARCwAAJwARARsAAAEHABECKwAAAGOwCitYsn8AAV2yDwABXbJgAAFysqAAAXKy3wYBcbK/BgFdsm8GAXG07wb/BgJdslAYAXGyUBgBcrJNGAFdsq8YAXGyjxgBXbIvGAFxspAYAXKywBgBcbKgGAFdsjAYAV0wMVkAAAD//wAz//IEpwLKACYAfBEAACcAfAGi/o0AJwB8Ayb+jQEHAs8BTwAAAHmwCitYsD4vsk8+AV2yrz4BXbBI3LA+ELBS3LBIELBX3LKwYAFdWQCwAEVYsAUvG7EFFD5ZsABFWLAuLxuxLgg+WbAFELAP3LAW3LAFELAc3LAuELAk3LAuELA13LAkELA73LAkELBD0LAuELBN0LBU3LBDELBa3DAxAAABAB0AJgEQAekABwDDsAorWLICAAMrsq8AAXKyoAABXbLgAAFdsq8CAXKy4AIBXbACELAB3LK/AQFdshsBAV2ygAEBcbAAELAE3LKPBAFxsvAEAV2wAhCwBtCwBi+y8AYBXbABELAH0LAHL7IvCQFdWQCwBy+y7wcBcbAB3LSAAZABAl20QAFQAQJdsgABBxESORmwAC8Ysg4AAV2wARCwAtywABCwBNAZsAQvGLAHELAG3DAxAbAKK1iyBgUBXbIHBgFdsggHAV1ZALIHBQFdEzcXDwEfAQcdoEtTMDBbTQED5j5+KSR6QAABACIAJgEWAekABwDgsAorWLIAAgMrsq8AAV2ybwABXbIQAAFdtEAAUAACXbJvAgFdsr8CAXGyEAIBXbRAAlACAl2wAhCwAdyyFQEBXbJQAQFysrABAV2wABCwBNyy/wQBXbKABAFxsAIQsAbQsAYvsv8GAV2wARCwB9CwBy+yFAcBXbIvCQFdWQCwAS+y7wEBcbAH3LRAB1AHAl20gAeQBwJdsgAHARESORmwAC8YsAEQsALcsiYCAV2wABCwBNAZsAQvGLAHELAG3LL/BgFxsikGAV0wMQGwCitYsggCAV2yCAMBXVkAsgYDAV0BByc/AS8BNwEWoExUMDBcTgEM5j1/KSR7PwAB/1v/8gFfAssAAwDisAorWLIBAwMrsAEQsADQtJgAqAACXbIpAAFdsikAAXGyygABXbSqALoAAnG0ywDbAAJxsuwAAXGyWwABcbQ6AEoAAnGyOgABXbK5AAFdspkAAXGy1gABXbJGAAFdsp8DAXGy7wMBXbLPAwFdsAMQsALQtEQCVAICcbLFAgFdtKUCtQICcbImAgFdtJcCpwICXbJJAgFdspYCAXGytgIBXbQlAjUCAnGyNQIBXbTEAtQCAnGy4wIBcVkAsABFWLAALxuxABQ+WbAARViwAi8bsQIIPlmwABCwAdCwAhCwA9AwMQEXAScBClX+UlYCyzL9WTUAAQAp/5wBdAFHAAwAmLAKK1iyCQEDK7JAAQFdshABAV2wARCwANCwAC+yfwABXbABELAG3LI/BgFdskAJAV2yEAkBXbAJELAK0LAKL1kAsABFWLAILxuxCAw+WbAL3LKfCwFxsn8LAXGyDwsBcrLvCwFxsu8LAV2y4AsBcrJgCwFdsArcsj8KAXKwAdCwCBCwBdyyXwUBXbKQBQFdsgMIBRESOTAxOwE1Nw8BJzczETMVIUhhCh47MZ5VWP7UpC4gJ01v/rlkAAEAMv+cAWwBRwAaAV6wCitYsgAVAyuygAABcrJAAAFdsm8AAXGysAABcrIQAAFxsqAAAV2yPxUBXbL/FQFysr8VAXGyfxUBXbLvFQFxskAVAV2wFRCwCtCwCi+yBAAKERI5tNYE5gQCXbRGBFYEAl20ZQR1BAJxsvUEAV2wABCwB9CwBy+wABCwD9xZALAARViwGC8bsRgMPlmwCNyyDwgBcrJ/CAFxsu8IAXGynwgBcbLvCAFdsuAIAXKyYAgBXbAH3LI/BwFysArQsBgQsBHcst8RAXKyMBEBcjAxAbAKK1i0RgJWAgJdtNcC5wICXbQGGRYZAl20Jxk3GQJdsvcZAXGyBxkBcrL1GgFxsgUaAXK0BhoWGgJdtCcaNxoCXVkAtEkCWQICXbTZAukCAl202gPqAwJdtJgUqBQCXbIGGQFdthcZJxk3GQNdsvcZAXGyBxkBckEJAAcAGgAXABoAJwAaADcAGgAEXSUUBg8BFTczFSE1PgM1NCMiBgcnPgEzMhYBXDwqLztq/scaQDclOBswEiIjTyRHTcg7VCYZBAtlRxIwNzoaMRELWhUTQQABADj/lQFuAUAAIAIfsAorWLIWHgMrtJAWoBYCXbTQFuAWAnGyYBYBcrIAFgFyssAWAV20MBZAFgJdshAWAV2wFhCwA9yyPx4BcbLfHgFysp8eAXG0MB5AHgJdshAeAV2yBx4WERI5sAcvsBYQsA7QsA4vsArQsB4QsA3QsA0vshEOBxESOVkAsABFWLANLxuxDQw+WbAb3LLvGwFdsp8bAXGyfxsBcbLvGwFxsg8bAXKy4BsBcrJgGwFdsADcsm8AAV2yEw0bERI5sBMvtA8THxMCXbAG3LIQBgFysgAGAXGwDRCwDNyyYAwBXbAP0DAxAbAKK1hBCQAGABQAFgAUACYAFAA2ABQABF2ylhQBckEJAEcAFABXABQAZwAUAHcAFAAEXbQ3FEcUAnK0dxSHFAJytDQVRBUCcrQlFTUVAl20VRVlFQJytAYVFhUCXbRGFVYVAl2yhhUBXbTFGNUYAnG0VRhlGAJysuYYAXFBCQAHABgAFwAYACcAGAA3ABgABF20pxi3GAJxsugfAXFZALIFFAFdtDUURRQCcrYWFCYUNhQDXbR2FIYUAnJBCQBHABQAVwAUAGcAFAB3ABQABF20VxRnFAJyspcUAXJBCQAHABUAFwAVACcAFQA3ABUABF20WBVoFQJyQQkACAAYABgAGAAoABgAOAAYAARdtKgYuBgCcbTJGNkYAnG0WhhqGAJysvUfAXGyBR8BcrbGH9Yf5h8DcbIXHwFxFzI2Ny4BKwE1PwEHIzUhFQ8BFTceARcOAyMiJic3FqksJQEBJjMqSSs6cwEbVyIeNDsBAR0xQiMnQxgXKQwcFxcaJlAZBl8+XBIFAwI7NiQ0IhANC1oTAAIAEv+cAZIBSAAKABIApLAKK1iyAQQDK7L/AQFdsAEQsADctEAEUAQCXbIwBAFysAQQsAXcsn8FAXG0TwVfBQJdso8FAV2wBBCwEtCwB9CwARCwCdCwBRCwENCyJxABXbI2EAFdWQCwAEVYsAcvG7EHDD5ZsAPcsu8DAV2ynwMBcbLvAwFxsn8DAXGyDwMBcrJgAwFdshIHAxESObASL7AE3LAB0LASELAG0LASELAJ0DAxBSMVIzUjNRMzETMnNyMPAjczAZJMZc/aWkyxBgUWMCQ0NRZOTkMBG/77VjUxQiAIAAEAAv/yAioCygAxAiewCitYsgkpAyuyzykBcbLvKQFxsn8pAXKyjykBXbI/KQFxsh8pAV22Lyk/KU8pA3KynykBcrJwKQFdsvApAXGwKRCwLNCwAdCyQAkBXbIQCQFxssAJAXGyLwkBcrJPCQFyslAJAXGycAkBXbLwCQFxssAJAXKxEAT0sBHQsBEvslARAV2wLBCxFwT0stgXAV2wGNCwGC+wKRCxGgT0sAkQsCHQsCEvsCkQsCrQsCovsp8qAV2wARCwMdCwMS+ynzEBXVkAsABFWLAGLxuxBhQ+WbAARViwJi8bsSYIPlmyEAYmERI5sBAvso8QAV2y/xABXbI/EAFxtK8QvxACXbQvED8QAl2yXxABcbAB0LAGELENAfSwEBCwE9yy3xMBcbAQELAX3LIfFwFysgAXAV2y0BcBXbAa3LLfGgFxsCYQsR0B9LAaELAp0LAXELAs0LATELAw0DAxAbAKK1iyegMBcbQGDhYOAnG0Rg5WDgJxsnYOAXG0BQ8VDwJxtKcPtw8CXbInDwFxtNUb5RsCXbQFGxUbAnGy9hsBXbKXGwFdtAUcFRwCcbbWHOYc9hwDXbInHAFxsngoAXGy+SgBclkAsmYDAXG0CQ4ZDgJxtEkOWQ4CcbJ5DgFxtKgPuA8CXbQIDxgPAnGy+Q8BXbIpDwFxsjoPAXGy9hsBXbQHGxcbAnGy9hwBXbYGHBYcJhwDcbZ3IIcglyADXbJ5KAFxskooAXKy+igBchMzPgMzMhYXBy4BIyIGByEHIwYUHQEzByMeATMyNjcXDgMjIiYnIzczNTwBNyMiPg85TFsxNFEbIxY6JzxWFgEDGvkB5hq8FFdIKj0YGw8qLjAWbpcaXCAxAVIB20JaORoQC2cJCTxDXQgPCRpdQkMSDmULEQoFdYBdGggQCAACAC3/8gHvAsoAGQAyAg6wCitYsi0SAyuyHxIBXbLPEgFysBIQsQUE9LLALQFxshAtAXGyMAUtERI5sDAQsDHQsDEvsADQsAAvsgIFLRESObAtELAM0LAML7AtELEfBPSyFx8SERI5shwfEhESObAcELAb0LAbL7AZ0LAZL7ASELAl0LAlL1kAsABFWLAqLxuxKhQ+WbAARViwDy8bsQ8IPlmyHCoPERI5sBwvsj8cAXG0Lxw/HAJdtK8cvxwCXbAZ3LLQGQFdsgAZAV2wGNyy3xgBcbAC0LAPELEIAfSwHBCwGtyy3xoBcbAqELEhAfSwHBCwMNAwMQGwCitYtAkQGRACXbQIERgRAl2ymBEBcbLYEQFxtCkRORECXbaJEZkRqREDcrQIJBgkAnG0BisWKwJdtCcrNysCXbJXKwFdtLcrxysCcbLVLAFxQQsABgAsABYALAAmACwANgAsAEYALAAFXbSWLKYsAnK0BywXLAJxWQCyhgsBXbJ3CwFdspcLAV20CRAZEAJdQQkACAARABgAEQAoABEAOAARAARdstgRAXGymREBcbSJEZkRAnKyqhEBcrQqIzojAl20iSSZJAJdsgkkAXGy2SQBcrQqJDokAl2yGiQBcbS6JMokAnKy+iQBcrQGKxYrAl20tivGKwJxtCcrNysCXbJXKwFdtAYsFiwCXbYnLDcsRywDXba3LMcs1ywDcbKXLAFyARUjDgEVFBYzMjY3Fw4BIyImNTQ+AjcjPQIzPgE1NCMiBgcnPgMzMhYVFAYHMxUB7/kOFSw2NT8WHRlaUl5kBwsLBEn6DxZQKDkYJRAhKDcnWFwZD04BQV0OLhQaHxMMYg4YSEgQHxsSBl05XQ4uFjgRDGIIDQoFQkQgPRBdAAIAFwAAAiMCxgAcACkBcrAKK1iyChYDK7IfFgFdsm8WAV2y/xYBXbIfFgFxst8WAV2yPxYBXbJQFgFdspAWAXGwFhCwGtCwAdCyAAoBXbKACgFdsh8KAV2yPwoBXbRAClAKAl2yAAoBcbKQCgFxsBYQsRUE9LAR0LAS0LASL7IgEgFdsBoQsBnQsBkvsBzQsBEQsB3QsAoQsSMF9LIvKwFdWQCwAEVYsAUvG7EFFD5ZsABFWLAVLxuxFQg+WbIPBRUREjmwDy+wG9CwAdywDxCwEdywFNywF9CwERCwGtCwDxCwHtywBRCxJgH0MDEBsAorWLJGBwFdsgcHAV2yZwcBXbJGCAFdsmYIAV2yhggBXbLWCAFdsvcIAV2ydwkBXbLnCQFdsmcMAV2yZg0BXbIHDQFdsmcgAV1ZALJlBwFdsgYHAV2yRgcBXbLWBwFdskUIAV2yZggBXbKHCAFdstcIAV2ydwkBXbLnCQFdsmkMAV2yCQ0BXbJpDQFdsmkgAV0TMxE+ATMyHgIVFA4CKwEVMxUjFSM1IzUzNSM3MzI+AjU0JiMiBgcXTypaMjRgSCsqRloxRKCgfk9PT800GzEkFUI0FCQLAWwBSQgJEjBUQj1UNRc6W3x8WzpeDRwvIT0zAwL//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAAAAgBJ//QBlgLIAB0AKQLnsAorWLITCgMrsr8TAXK0DxMfEwJdsu8TAXGyMBMBcrATELAA0LAAL7LPCgFdsAoQsAfQsAnQsAkvsAoQsBbcsr8WAXGwExCwHty00B7gHgJdsBYQsCfQWQCwAEVYsBAvG7EQFD5ZsABFWLADLxuxAwg+WbIAAxAREjmyFgMQERI5sBYQsAfQsicQAxESObAnELAK0LADELAa3LAAELAd0LAQELAh3DAxAbAKK1i0hwGXAQJdtEgEWAQCXUEJAHgABACIAAQAmAAEAKgABAAEckEJAAkABAAZAAQAKQAEADkABAAEXbRoBXgFAl20WAVoBQJyQQ0ACQAFABkABQApAAUAOQAFAEkABQBZAAUABl1BCQB7AAUAiwAFAJsABQCrAAUABHK0KA04DQJdstgNAXG0uQ3JDQJxtAgOGA4CXbJYDgFdsvgOAV20CA4YDgJxtLgOyA4CcbJFEQFyQREABwARABcAEQAnABEANwARAEcAEQBXABEAZwARAHcAEQAIXbSEEpQSAnK0BRIVEgJdsoUSAV20VRJlEgJytCYSNhICXbJWEgFdskYSAXKyRxIBXVkAspgBAV2yiQEBXbQIBBgEAl2ySAQBXbQpBDkEAl2yWQQBXbKJBAFdtFkEaQQCckEJAHoABACKAAQAmgAEAKoABAAEcrJYBQFdQQkAeAAFAIgABQCYAAUAqAAFAARyQQsACQAFABkABQApAAUAOQAFAEkABQAFXbRpBXkFAl20WwVrBQJyssoHAV2ypgoBXbLWCgFdtCYNNg0CXbJHDQFdstcNAXGy1Q4BcbQGDhYOAl20tg7GDgJxtCcONw4CXbJXDgFdtAcOFw4CcbJGEQFdtGYRdhECXbJGEQFyQQkABwARABcAEQAnABEANwARAARdslcRAV20hhKWEgJyQQ0ABwASABcAEgAnABIANwASAEcAEgBXABIABl20VxJnEgJyskgSAXKyWRYBXbKZFgFdssoWAV0lDgEjIiY9AQcnNzU0PgIzMhYVFAYHFRQWMzI2NwM0JiMiDgIdAT4BAZYWRyM/OTIjVRQjLxswPlBbIhgZPBQ4HBIMFhEKODMeDhw9QWgsLEr+LD8oEzs8SqZYjCwhFQsB/CIeBxUlHtRBeQAEADz/+wPYAsgAAwATACcAMgLesAorWLIRCQMrslARAXGwERCwFNCwFC+yDxQBXbAA0LAAL7AUELAe3LJQHgFxssAeAXKygB4BcbJwHgFdshAeAV2wAdCwAS+yXwEBXbIfCQFxstAJAV2wCRCxCAT0sAvQspYLAV2yxQsBXbIGCwgREjm0CQYZBgJdsBEQsRAE9LAT0LLKEwFdtAoTGhMCXbKYEwFdsg4QExESObAUELAo3LAeELAt3LJvLQFysl8tAXGyTzQBXVkAsABFWLAQLxuxEBQ+WbAARViwGS8bsRkUPlmwAEVYsAgvG7EICD5ZsBkQsCPcsv8jAXGyzyMBcbLQIwFdsqAjAV2wANywA9ywEBCwC9CwCy+yBgsIERI5tAkGGQYCXbAIELAT0LATL7IOExAREjmwIxCwKtyyUCoBcbAZELAw3LJfMAFxMDEBsAorWLQIBBgEAl202AToBAJdsokEAV2y+QQBXbKaBAFdstoEAXG0CwQbBAJxsnsEAXGybQQBcbQIBRgFAl2y+QUBXbKLBQFdsoIMAXKycwwBcrQEDBQMAnG0VAxkDAJyspUMAV2ydQwBcbZmDHYMhgwDXbbWDOYM9gwDXbQHDBcMAl2yRwwBcrKFDQFdsvUNAV20Zg12DQJdtAgWGBYCXbQIFxgXAl20BxsXGwJdskUcAXK0BhwWHAJdsvYcAXKy9iABcrQHIBcgAl2yRyABcrQHIRchAl20CSYZJgJdskomAXKy+iYBclkAsngEAXGy2AQBcbSJBJkEAl202QTpBAJdtAkEGQQCcbJpBAFxsvoEAV20CAUYBQJdsvgFAV2yhgwBcrQHDBcMAl20Zwx3DAJdttcM5wz3DANdtAcMFwwCcbJ3DAFxsncMAXKyhw0BXbQHFhcWAl20BxcXFwJdtAcbFxsCXbL2HAFytAccFxwCXbJIHAFytAggGCACXbJIIAFysvggAXK0CSEZIQJdtAgmGCYCXbJIJgFysvkmAXIBIRUhJScjFxEjETMTFzMnETMRIxM0PgIzMh4CFRQOAiMiLgI3FDMyNjU0JiMiBgKPATr+xv5bNwUQgmT6NAYQgmOXGi5BJiZALxoaL0AmJkEuGnQ7HxsbHx8cAUFvmHFu/pMCwf6ObmsBcP0/AiMtQCoTEihBLy9BKBISKEEvViUxMCYmAAIAHQFUA5ECvAAHAB0B/rAKK1iyEwMDK7IgAwFdsAMQsALctrACwALQAgNdtDACQAICXbAA3LADELAF3LLfEwFdsm8TAV2yIBMBXbKwEwFdsBMQsBzcssAcAXGyMBwBcbLQHAFdtDAcQBwCXbIPHAFdsq8cAV2ycBwBXbIQHAFxsoAcAXGy4BwBcbKQHAFdsgwcExESObKYDAFxtMYM1gwCcrINExwREjmy6g0BcrTpDfkNAnG0CQ0ZDQJyspgNAXGwExCwEtyybxIBcbAV0LSGFZYVAl20BxUXFQJdtEcVVxUCXbJ3FQFdtCYVNhUCXUELAKUAFQC1ABUAxQAVANUAFQDlABUABV2yFw0MERI5sBwQsB3csBrQtIkamRoCXUEJAKoAGgC6ABoAygAaANoAGgAEXbLpGgFdsjkaAV20GBooGgJdsh8fAV1ZALAARViwBi8bsQYUPlmwBdywAdCwBhCwA9yyYAMBXbIAAwFdskADAXGyIAMBcrAGELAU0LAP0LAK0LADELAT0LINFBMREjmwDS+wF9CwFBCwGtCwExCwHdAwMQGwCitYtGULdQsCXbSmC7YLAl2y5wsBXbSoDrgOAl2y6A4BXbKIDgFxtIkOmQ4CXbRqDnoOAl2y1hYBXVkAtKkLuQsCXUEJAGgADgB4AA4AiAAOAJgADgAEXbLoDgFdtKkOuQ4CXQEjFSM1IzUhBTcjDwEjLwEjFxUjETMfATM/ATMRIwGLdoJ2AW4BlREGJERORCcFF2+CWxgBGVSBcQJO+vpu2GdVdXJYZpEBaJY/QZT+mAACACz/7wIxAhcAGAAfAcywCitYshgOAyuyLw4BXbJQDgFdsA4QsADcsl8AAXGy3wABXbJPAAFdsnAYAXKyLxgBXbI/GAFxsv8YAV2yUBgBXbIwGAFyssAYAV2wGBCwBtCwBi+wBdBBDQBZAAUAaQAFAHkABQCJAAUAmQAFAKkABQAGcbL4BQFdQQsACAAFABgABQAoAAUAOAAFAEgABQAFcbAYELAZ3LLQGQFdslAZAXGyQBkBXbAAELAf0FkAsABFWLATLxuxExI+WbAARViwCS8bsQkIPlmyHxMJERI5sB8vtC8fPx8CXbAA3LIfAAFysAkQsAPcshADAXKyBgkTERI5sAYvsAXQsvYFAV20BgUWBQJxQQkAdgAFAIYABQCWAAUApgAFAARxtiUFNQVFBQNxtFQFZAUCcbATELAc3DAxAbAKK1iyJgIBcbLnBAFdtIgEmAQCXbaoC7gLyAsDXbS4DMgMAl20aAx4DAJysqkMAV2yqBABXbLoEAFytqgRuBHIEQNdsqcVAV2ypxYBXVkAsuYEAV2yJgQBcbSHBJcEAl22qAu4C8gLA120uAzIDAJdsqkMAV20aQx5DAJysqcQAV20thHGEQJdsqcRAV2ypxUBXbKnFgFdExUWMzI3Fw4BIyIuAjU0PgIzMh4CFyc1JiMiBxWdPlN8RSMrcEk7YEMkJURfOj5fQiICcT9UVjoBA7U7eBVCRStKZTo7ZUoqLEtkOSSRPDyRAAIAEv/yAgICywAjADEBVrAKK1iyFx8DK7KfHwFdsl8fAXGyHx8BcbJ/HwFdsuAfAV2ycBcBcbKwFwFxsnAXAXKyLxcBXbLQFwFxspAXAXGy4BcBXbIQFwFdsgYfFxESObIOHxcREjmwDi+wHxCxJwX0sBcQsS8F9FkAsABFWLAALxuxABA+WbAARViwDy8bsQ8UPlmwAEVYsBwvG7EcCD5ZsgYAHBESObAPELAO3LAAELEkAfSwHBCxKgH0MDEBsAorWLL4CQFdtKYUthQCXbTWGuYaAl2yhxoBXbQIHRgdAnG0CB4YHgJdsigeAXG0CR4ZHgJxtEoeWh4CcrKoIgFdsvgiAV20CSIZIgJxWQCy+AkBXbSnFLcUAl2yiBoBXbTYGugaAl20CR0ZHQJxtAgeGB4CXbQIHhgeAnG0SR5ZHgJysioeAXG0JiI2IgJdsqYiAV2y9iIBXbQHIhciAnGy6SYBXQEyHgIXMy4DIyoBBzc2MjMyHgIVFA4CIyImNTQ+AhciBhUUFjMyPgI1LgEBFBUeFhIIBQUoOUQiCA0HFggRCEJyUzArTGk+Y28fP2JKOUsrLCk2IQ0SLAH3BAcJBSc0IA0BZQEeRnZXcKBnMW1eOXBaN25qXSk5LkpeLxETAAEAPP84AlECvAAHAFuwCitYsgYDAyuy/wMBXbIfAwFxsAMQsQIG9LKQBgFdsnAGAV2yYAYBcbAGELEHBPRZALAARViwBC8bsQQUPlmwAEVYsAIvG7ECCj5ZsAQQsQED9LACELAH0DAxASERIxEhESMBz/72iQIVggJC/PYDhPx8AAEAFP84AfUCvAAPAZKwCitYsgMEAyuyHwQBXbIfBAFxsg8EAxESObAPL7AB0LQBAREBAnG0ogGyAQJxsvIBAV2yYwEBcrIUAQFysnUBAV2yBQEBcrJlAQFxsoQBAV2ycwEBcbQiATIBAnKygQEBcrTBAdEBAnGykAEBXbAPELAH0LTJB9kHAl22SgdaB2oHA3G0mgeqBwJytpsHqwe7BwNxsvwHAV20DAccBwJxtIsHmwcCXbLqBwFdsnkHAV2y+QcBcrLJBwFysAQQsAnQsAMQsAvQsA8QsA3QQQkAoQANALEADQDBAA0A0QANAARxsoENAXKyYw0BcrIUDQFytHQNhA0CXbTVDeUNAl2yZQ0BcbJXDQFdsgUNAXKyhQ0BcbakDbQNxA0DcrJzDQFxsvINAV20AQ0RDQJxtCANMA0CcrKQDQFdWQCwAEVYsAsvG7ELFD5ZsABFWLADLxuxAwo+WbECA/SwBdCyDwsDERI5GbAPLxiwB9AZsAcvGLALELEMA/SwCdAwMQGwCitYsnUOAV2ylg4BXVkAsnYGAV0XByEVITUTNycDNSEVIRcTtyoBaP4fuioutgHh/qQurCYoenoBJCIlASV6ein+5wABACsBGgHlAYoAAwBVsAorWLICAwMrsnACAV2y8AIBcbIQAgFdspACAV2yUAIBXbIwAgFdslADAV2ykAMBXbJwAwFdsjADAV2yEAMBXVkAsAMvsm8DAV2yrwMBXbEAAfQwMRMhFSErAbr+RgGKcP//AAX/8gIJAssABwIuAKoAAAAAAAH/+//7AisCvAALAMywCitYsgcIAyuyDwgBcrJ/CAFytkgHWAdoBwNdsogHAXG0qQe5BwJdsn8HAXKyDwcBcrSIB5gHAl2yyAcBcbJYBwFysuAHAV2yAggHERI5sAIQsADQsrcAAV2ypgABXbAHELAG0LJoBgFdsAXcsj8FAXKyvwUBXbI/BQFxsiAFAV2wCBCwCdCyOQkBXbAK0LAKL7I/CgFysj8NAV2yXw0BXVkAsAovsABFWLAFLxuxBRQ+WbAARViwCC8bsQgIPlmwAtCwChCxCwH0MDETHwEzNxMzAyMDIzW7TxYEEnh95kOXcAHbunN1AZn9PwFxbwADACMAlwM2AigAIQAxAD0CZLAKK1iyGAgDK7IgGAFdsm8YAV2ywBgBXbKQGAFdsi0YCBESObI1LQFdsjsIGBESObI5OwFdsgAtOxESObIQOy0REjmwGBCwJdyyzyUBXbIwJQFdsAgQsDXcsj81AV2ywDUBXVkAsAMvsA3csgADDRESObIQDQMREjmwE9CwAxCwHdCwAxCwONyy3zgBXbAi0LANELAy3LLQMgFdsCrQsi0QABESObI7EAAREjkwMQGwCitYtAYBFgECcbYIBRgFKAUDcbL4BQFysjkFAXG0CQYZBgJxtAgKGAoCcbTXC+cLAnK0iAuYCwJdsigLAXG0SAtYCwJysvUPAV2ytg8BXbQXDycPAl20thDGEAJdtAgRGBECcbQFFRUVAnG0hhWWFQJdsgcVAV20BRYVFgJxsjUWAXGydRYBcrImFgFxtIcWlxYCXbL1GgFdsiUaAXG0BhoWGgJxtDcaRxoCcrSHG5cbAl2y9xsBXbS4IMggAl2y+CABXbSHL5cvAl1ZALQJARkBAnFBCQAIAAUAGAAFACgABQA4AAUABHGyWAUBcrL4BQFytIkFmQUCXbSIBpgGAl20CgYaBgJxsloGAXK0BgoWCgJxsuQLAXK0BQsVCwJxtjULRQtVCwNystYLAXK0hwuXCwJdsicLAXGyJw8BXbL3DwFdssYQAV2ytxABXbLVEQFdtAURFRECcbSGFZYVAl20BhUWFQJxsgcVAV20hhaWFgJdtgYWFhYmFgNxsvgaAV22CBoYGigaA3GySBoBcrI5GgFytIgbmBsCXbL4GwFdtLggyCACXbL5IAFdtIcvly8CXQEOASMiLgI1ND4CMzIWFz4BMzIeAhUUDgIjIi4CNzI2NTQuAiMiBgceAyUiBhUUFjMyNjcuAQGhJGY+JEIyHh4zRilKZCUtZj0lQDAbHjZKKyQ8MSm5Iy0KFB8VH0IdCxwhJf6UIi8yJSBCGBc/AQk6OBszSS4wTDUbOy04MBsySS4xTDUbEh8pFTMoECAZDyUmFSUdEbM1JyYxLSEtOAAB/8L/MAGjAsoAHAGisAorWLsAAAAEAAwABCuyUAABXbKQAAFysAAQsAbQsAYvsp8GAV2yUAwBXbKQDAFysAwQsBXQsBUvWQCwAEVYsBAvG7EQFD5ZsABFWLADLxuxAwo+WbEJAfSwEBCxGQH0MDEBsAorWLKWAQFxtAcBFwECXbanAbcBxwEDcbKWAgFxQQsABwACABcAAgAnAAIANwACAEcAAgAFXbanArcCxwIDcbLnBwFxQQsACAAOABgADgAoAA4AOAAOAEgADgAFXbLYDgFxsqkOAXGy+Q4BcUEJAAgADwAYAA8AKAAPADgADwAEXbS4D8gPAnGy6Q8BcVkAtAgBGAECXUEJAJkAAQCpAAEAuQABAMkAAQAEcbQIAhgCAl2ySAIBXbKYAgFxtCkCOQICXbapArkCyQIDcbLlBwFxtEYHVgcCcUELAIYABwCWAAcApgAHALYABwDGAAcABXGy9gcBcbRnB3cHAnGy9Q4BcbKmDgFxstYOAXG0Bw4XDgJdskcOAV20tQ/FDwJxQQkABgAPABYADwAmAA8ANgAPAARdsqYPAXGy5w8BcRcUBiMiJic3FjMyNjURNDYzMh4CFwcuASMiBhX3Tk4uUxgdLCgmHElREikoJA0WFycbIxoiYE4OCmYRLzcCF2BQBAcJBWYICSk2//8AHgCrAfUCHAImAGECXwEGAGECngA2sAorWFkAsm8PAV2yXw8BcrKvDwFxsl8nAXJBCQAgACcAMAAnAEAAJwBQACcABF2yACcBcTAxAAAAAQArADkB5QJbABMBN7AKK1iyCg8DK7JQDwFdshAPAV2yMA8BXbKQDwFdsnAPAV2yUAoBXbKQCgFdsvAKAXGycAoBXbIwCgFdshAKAV2yDQ8KERI5sA0vsjUNAXKytQ0BcrK2DQFxtNYN5g0CXbJoDQFdsigNAV2yZg0BcbL2DQFxsnUNAXKyJQ0BcbJQDQFdsALQsgECDRESObANELAM3LLfDAFdsAPQsgQDDBESObAKELAG0LIHAwwREjmyCAMMERI5sgsMAxESObIODQIREjmyEQ0CERI5shICDRESObAPELAT0FkAsA8vsk8PAXKynw8BcbJQDwFxsBPctC8TPxMCXbLvEwFxtC8TPxMCcbKwEwFxspATAXGxAAH0sALcsAAQsATQsBMQsAfQsA8QsRAB9LAI0LAPELAL0LAPELAN3DAxEzM3MwczFSMHMxUjByM3IzUzNyMr6DJxMmGTJLfoOXA5YpMktwHqcXFwUHCBgXBQAAIAIv/wAeMCygADAAwA/bAKK1iyBwQDK7IwBwFdslAHAV2ycAcBXbIQBwFdspAHAV2wBxCwC9CwCy+wANCwAC+yEAQBXbJQBAFdsjAEAV2ycAQBXbKQBAFdsAQQsALQsAIvsgkEBxESObQlCTUJAl1ZALAML7AA3LJAAAFdsAHcsn8BAV2wDBCwBtyyoAYBXbLfBgFdtCAGMAYCXbRgBnAGAl2yBQYMERI5sAUvsATcsAYQsAfcsgkFBBESObAMELAL3DAxAbAKK1iy+AMBcVkAsjQAAV2yJgABXbIzAwFdsiQDAV2yxgMBXbL2AwFxshcDAV2yVwMBXbJ3AwFdtCoHOgcCXbQlCzULAl0lByU3JzUlFw8BHwEHAeM4/oI4QwGCOeBbWuY5UGDXYHZG51qLIx+JWgACACj/8AHoAsoAAwAMAOCwCitYsgQHAyu2cASABJAEA12yEAQBXbJQBAFdsjAEAV2wBBCwANCwAC+yMAcBXbJQBwFdshAHAV22cAeAB5AHA12wBxCwAtCwAi+yCQQHERI5tCoJOgkCXbAHELAL0LALL1kAsAYvsALcskACAV2wAdyyfwEBXbAGELAM3LRgDHAMAl2y3wwBXbQgDDAMAl2yoAwBXbIEBgwREjmwBC+wBdywBhCwB9yyCQQFERI5sAwQsAvcMDG0JAI0AgJdsjIDAV2yJAMBXbIWAwFdsnYDAV20JQc1BwJdtCoLOgsCXSUFJyU3FQUnPwEvATcB6P6DOAF8Of5+OeBbWuY5zd1f3sBG51qLIx+JWgACABv/+wH0AsEABQAPARCwCitYsgUCAyuyjwIBXbTgBfAFAl2y8AUBcbIPBQFdsk8FAV20wAXQBQJxsnAFAV2yMAUBXbIBAgUREjmwAS+wANyysAABXbABELAD0LAAELAE0LAFELAH3LRnB3cHAl2ysAcBcbACELAM3LK/DAFxtGgMeAwCXVkAsABFWLADLxuxAxQ+WbAARViwAS8bsQEIPlmyAgEDERI5GbACLxiwDNAZsAwvGLAF0BmwBS8YsAIQsAfQGbAHLxiwAxCwCtCymQoBXbI5CgFdsigKAV2wARCwDtCyNg4BXTAxAbAKK1iyOAIBXbI3BQFdssgIAV2yKQgBXbLZCAFdsjYLAXGyJwsBXbLXDQFdWQCy2AgBXQUjAxMzEwc3LwEjDwEfATMBK0vFxUvJylBbGwUcTlocBAUBWwFr/pqShZ1UVoacVAABADz/gwKmArwADwD9sAorWLIKAwMrst8DAXGy/wMBXbIfAwFxQQkAEAADACAAAwAwAAMAQAADAARdsAMQsQIG9LAG0EEJABAACgAgAAoAMAAKAEAACgAEXbLfCgFxskAKAXKykAoBXbJgCgFysAoQsQ8G9LAH0LAKELAL0LALL7AN3LIfDQFxsrANAXFBCwAgAA0AMAANAEAADQBQAA0AYAANAAVdWQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbIGBQIREjmwBi+0rwa/BgJdsi8GAXGyTwYBXbRPBl8GAnGxAQP0sAUQsAjQsAIQsA7QsQoD9LAOELAN3LKgDQFdsiANAV0wMQEhESMRMxEhETMRMxUjJyMBxf8AiYkBAIlYYA9yASX+2wK8/uMBHf2+930AAQA5/44CPQK8ABoBsrAKK1iyAA4DK7KQAAFdtGAAcAACcbLQAAFysm8AAXKyLwABcbJPAAFystAAAXGyEAABcbJgAAFdQQkAEAAAACAAAAAwAAAAQAAAAARdsAAQsAHQsAEvsAPcsmADAXJBCwAgAAMAMAADAEAAAwBQAAMAYAADAAVdsAAQsQUE9LJPDgFxsk8OAXKyLw4BcbIPDgFxsm8OAXJBCQAQAA4AIAAOADAADgBAAA4ABF2wDhCxDQT0sBHQspAcAV1ZALAARViwFS8bsRUQPlmwAEVYsBAvG7EQFD5ZsABFWLANLxuxDQg+WbAF0LEAAvSwBRCwA9yyQAMBXbAVELEJAvSyERUNERI5MDEBsAorWLRlF3UXAnKylRcBcrTmF/YXAl20BhcWFwJxQQkAxgAXANYAFwDmABcA9gAXAARxQQkABwAXABcAFwAnABcANwAXAARdtCYYNhgCXbK2GAFxspYYAXK0BxgXGAJdWQC0xhfWFwJxQQkABwAXABcAFwAnABcANwAXAARdtAcXFxcCcbTnF/cXAnGythgBcUEJAAcAGAAXABgAJwAYADcAGAAEXbKYGAFyJTMVIycjETQmIyIGBxEjETMRMz4BMzIeAhUB7VBfD2QiLSE3CYKCBBhGNiY6JxNz5XIBHD02LSP+wQK8/wAgJhQuTzr///59AvD/hANmAAcCw/5BAAAAAAABADwC2gG5A2sAEQDlsAorWLARL7AA0LARELAH3LIwBwFyst8HAV2yrwcBXbIwBwFdspAHAV2wBtBZALAML7aPDJ8MrwwDXbIPDAFxsn8MAXGy7wwBcbSvDL8MAnK03wzvDAJysi8MAXKyvwwBcbQ/DE8MAnG0zwzfDAJdtk8MXwxvDANdtg8MHwwvDANdsADctA8AHwACXbKPAAFdsAwQsAPcsi8DAXGwABCwBtAwMQGwCitYsncBAXGy2QgBcbIHCQFdsggPAV20qA+4DwJdsskQAV1ZALJ2AQFxstcIAXGyCAkBXbIIDwFdtKgPuA8CXRMeATMyNjcXDgMjIi4CJ3AUTC8wRRQxDCgyORwbOTQsDgNrGhweGCAdKhwODBkpHv//ADz/LgEQAAACBgB6AAAAAQA8AuIBoANmAAoA1LAKK1iwCS+wA9y2cAOAA5ADA12yUAMBcbIwAwFytC8DPwMCXbLQAwFxsvADAV20AAMQAwJxshADAV2yAAMBcrIACQMREjmyAQkDERI5sATcsgYDCRESObAJELAI3LK/CAFxsl8IAXJZALAIL7YPCB8ILwgDXbSfCK8IAl2yDwgBcbK/CAFysv8IAXKyTwgBcbLfCAFdtF8IbwgCXbLwCAFxsmAIAXKwANyynwABcbYPAB8ALwADXbAIELAK3LLQCgFxsALQsAgQsATQsgYACBESOTAxEzMXFSMvAQ8BIzXBYH9jORQVPmEDZl0nKSIhKij//wA8/u8Az//WAgYCwgAA//8AJgHPALkCxQIGAiIAAAABADwC4QDrA1wACwE+sAorWLAAL7AG3LRgBnAGAl20sAbABgJdtAAGEAYCXbIQBgFxWQCwCS+0XwlvCQJdtM8J3wkCXbJPCQFxsv8JAXKyvwkBcrIPCQFxtJ8JrwkCXbYPCR8JLwkDXbJgCQFysAPcsr8DAXGywAMBXTAxAbAKK1hBCQBIAAEAWAABAGgAAQB4AAEABHJBCQCJAAEAmQABAKkAAQC5AAEABHJBCQBFAAUAVQAFAGUABQB1AAUABHJBCQBHAAcAVwAHAGcABwB3AAcABHJBEQBIAAsAWAALAGgACwB4AAsAiAALAJgACwCoAAsAuAALAAhyWQBBCQCHAAEAlwABAKcAAQC3AAEABHJBCQBHAAUAVwAFAGcABQB3AAUABHJBEQBIAAsAWAALAGgACwB4AAsAiAALAJgACwCoAAsAuAALAAhyEzQ2MzIWFRQGIyImPCsrKy4uKysrAx8ZJCQZGiQkAAIAPAKtATwDXgAPABkDu7AKK1iwAC+yAAABXbAI3LIQCAFxspAIAXG2QAhQCGAIA3KyDwgBXbIACAFyslAIAXGykAgBXbLACAFysAAQsBDcslAQAXGykBABXbAIELAV3LKfFQFdstAVAXKyEBUBclkAsA0vsm8NAV20zw3fDQJdtD8NTw0CcbRvDX8NAnFBDwCfAA0ArwANAL8ADQDPAA0A3wANAO8ADQD/AA0AB3G2Dw0fDS8NA3K0nw2vDQJdsg8NAV2y/w0BXbIPDQFxsAXcsq8FAV2yvwUBcUENAA8ABQAfAAUALwAFAD8ABQBPAAUAXwAFAAZdshAFAXGwDRCwEtywBRCwGNyyPxgBcjAxAbAKK1iyqAIBcUETAAkAAgAZAAIAKQACADkAAgBJAAIAWQACAGkAAgB5AAIAiQACAAldQQsACAADABgAAwAoAAMAOAADAEgAAwAFXbbYA+gD+AMDckELAAYABgAWAAYAJgAGADYABgBGAAYABV1BFQAGAAcAFgAHACYABwA2AAcARgAHAFYABwBmAAcAdgAHAIYABwCWAAcACl2ypgcBcbbXB+cH9wcDcrKlCgFxQQsAVgAKAGYACgB2AAoAhgAKAJYACgAFXUELAAcACgAXAAoAJwAKADcACgBHAAoABV221wrnCvcKA3JBCwAHAAsAFwALACcACwA3AAsARwALAAVdQQsACAAOABgADgAoAA4AOAAOAEgADgAFXbKYDgFdQQkAWAAPAGgADwB4AA8AiAAPAARdttgP6A/4DwNyQQsACQAPABkADwApAA8AOQAPAEkADwAFXbKqDwFxttcZ5xn3GQNyWQCypQIBcUETAAcAAgAXAAIAJwACADcAAgBHAAIAVwACAGcAAgB3AAIAhwACAAldspYDAV1BCwAHAAMAFwADACcAAwA3AAMARwADAAVdQQsABwAGABcABgAnAAYANwAGAEcABgAFXUEVAAcABwAXAAcAJwAHADcABwBHAAcAVwAHAGcABwB3AAcAhwAHAJcABwAKXbKnBwFxttcH5wf3BwNyQRMACAAKABgACgAoAAoAOAAKAEgACgBYAAoAaAAKAHgACgCIAAoACV222AroCvgKA3KymQoBXbKpCgFxQQsACAALABgACwAoAAsAOAALAEgACwAFXUELAAgADgAYAA4AKAAOADgADgBIAA4ABV2ymQ4BXUETAAgADwAYAA8AKAAPADgADwBIAA8AWAAPAGgADwB4AA8AiAAPAAldsqkPAXG22Q/pD/kPA3K22BnoGfgZA3ITND4CMzIWFRQOAiMiJjcUMzI2NTQmIyI8DB0xJkY6DR4xJEc5VCwZFBUYLAMEEiEZDjAqEiAXDjEmHxAPERAAAQA8AuABrgNdABcBjLAKK1iwAC+yAAABXbAM3LIPDAFdshAMAXFZALAPL7YPDx8PLw8DXbSfD68PAl2yDw8BcbK/DwFysk8PAXG0zw/fDwJdtF8Pbw8CXbTvD/8PAnKyYA8BcrAI3LIwCAFxsAPcsAvQsAsvsAMQsBTcsuAUAXGykBQBcrAPELAX0LAXLzAxAbAKK1iyCAEBXUEJACgAAQA4AAEASAABAFgAAQAEXbIZAQFdtGgFeAUCXbRoBngGAl20RwlXCQJdskYKAV2yVwoBXbIVDQFdsgYNAV20Rg1WDQJdtCcNNw0CXbRnDXcNAl2yCBYBXbQoFjgWAl2yWBYBXbIZFgFdskkWAV20KRY5FgJyWQC0BgEWAQJdslYBAV22JwE3AUcBA120aAV4BQJdtGgGeAYCXbJICQFdslkJAV20SApYCgJdshgNAV2ySA0BXbRoDXgNAl2yCQ0BXbQpDTkNAl2yWQ0BXbQoDjgOAl1BCQAWABYAJgAWADYAFgBGABYABF20JhY2FgJysgcWAV2yVxYBXRM+ATMyHgIzMjY3Fw4BIyIuAiMiBgc8IDsdFiwpKBIQHg4ZHDUZFyopKBMTJRMDICMaCw0LCg5DGhULDgsPFP//ADz/OwEiAAoCBgE0AAD//wA8//YCKQNmAiYAJQAAAQYCw3wAACSwCitYtO9F/0UCcbIPRQFysv9FAV20r0W/RQJxsgBFAV0wMVn//wA5//QB9wLQAiYARQAAAQcAdgDIAAAANrAKK1iycCABcrKPIAFdss8gAXGy/yABcrKvIAFysv8gAV20ACAQIAJdsgAgAXGyQCABXTAxWf//ADwAAAHbA2YCJgApAAABBgLDfAAAI7AKK1iyDw4BcrafDq8Ovw4DXbafDq8Ovw4DcbIADgFdMDFZAP//AAsAAAGaA2YCJgBJAAABBgLDVwAAPLAKK1i0jxyfHAJdQQsAvwAcAM8AHADfABwA7wAcAP8AHAAFcUEJAM8AHADfABwA7wAcAP8AHAAEXTAxWQAB/+8AAAIwArwAHQFBsAorWLIRGwMrsk8bAXGyTxsBcrQwG0AbAl2yEBsBXbAbELAB0LAA3LAbELEaBvSwCNCwBNCwBdyyYBEBcbKAEQFdtAAREBECXbJPEQFxtDARQBECXbJgEQFdsuARAV2yYBEBcrLAEQFysBEQsRIG9LJfHwFdsvAfAV1ZALAARViwAy8bsQMUPlmwAEVYsBovG7EaCD5ZsgsDGhESObALL7KQCwFdslALAV20AAsQCwJdsgQDCxESObAEL7KPBAFdsAHQsAQQsAfcsBoQsBLQsAsQsRYC9LAHELAc0DAxAbAKK1i0Bg0WDQJdsjYNAXGylw0BXbRFDlUOAnGylg4BXbI2DgFxsmYOAXG0hg6WDgJytAcOFw4CXVkAtAcNFw0CXbI3DQFxsoYOAXK0Bw4XDgJdspcOAV2yNw4BcbKXDgFyAzM1MxUzFSMVPgEzMh4CFREjNTQmIyIGBxEjESMRTYnd3RpXPCpFMxyJLzYmQxSJTQJfXV1dYA8ZFS9JNP733jw7ERH+zQIC////+gAAAfgCvAIGAOMAAAABAC7/MAIiArwAIQEesAorWLIJIQMrss8hAXGyUCEBXbIwIQFdsCEQsQAG9LJQCQFdsuAJAV2yAAkBcbSACZAJAl2yMAkBXbJgCQFysAkQsQgG9LIQIQkREjmwEC+wCBCwGNCyDyMBXVkAsABFWLAALxuxABQ+WbAARViwDS8bsQ0KPlmyGwANERI5sBsvsi8bAXGynxsBXbLvGwFdtC8bPxsCXbJQGwFyshAbAXKxBAL0sAAQsAjQsA0QsRQC9DAxAbAKK1iyhgsBcbQHCxcLAl20VgxmDAJytAcMFwwCXbLXDAFdtjgeSB5YHgNxtIkemR4CclkAtAgLGAsCXbKICwFxtAgMGAwCXbLYDAFdtFkMaQwCcrI6HQFxtjkeSR5ZHgNxtIkemR4CchMVFBYzMjY3ETMRFAYjIiYnNTIWMzI2NREOASMiLgI1EbcvNiZDFIlNUA8hEQQHBCsbGlc8KkUzHAK83jw7EREBM/0vW2ADBG0BMSwBGg8ZFS9JNAEJAAEAIf8wAcAB9AAiAbiwCitYshUJAyuyMBUBcbJPFQFyss8VAXGyLxUBcrIvFQFxsm8VAXKy4BUBXbIQFQFxsBUQsRQE9LAA0LJ/CQFdsi8JAXKyLwkBcbJPCQFysm8JAXKwCRCxCgT0shsJFRESObAbL7IAJAFysuAkAXFZALAARViwCi8bsQoQPlmwAEVYsBkvG7EZCj5ZsgMZChESObADL7TAA9ADAl2xEAH0sAoQsBTQsBkQsR8C9DAxAbAKK1i0KAU4BQJdsvgFAV2yuAUBcrQJBRkFAl20iQWZBQJxQQkACAAGABgABgAoAAYAOAAGAARdtIgGmAYCcbTIBtgGAnG0qga6BgJxtGQNdA0CcrTEDdQNAnKytg0BcrQHFxcXAl20xhjWGAJdtKYYthgCcbRmGHYYAnK0BxgXGAJdWQBBCQAIAAUAGAAFACgABQA4AAUABF2y+QUBXbSKBZoFAnGyuwUBckEJAAgABgAYAAYAKAAGADgABgAEXbSJBpkGAnG0yQbZBgJxtKoGugYCcbRlDXUNAnK2tg3GDdYNA3K0CBcYFwJdtAgYGBgCXbTJGNkYAl20qRi5GAJxtGkYeRgCciUOASMiLgI9ATMVFB4CMzI2NzUzERQGIyInNTIWMzI2NQE+Dz40JTooFYIFDxsWHSsOgkhPHiIEBwQrG8QLGxAoQjKqch8tHA4NCtH991tgB20BMSz////3//kCRgNmAiYBXAAAAQcCwwCJAAAATLAKK1hBCQBvABsAfwAbAI8AGwCfABsABF1BDQCvABsAvwAbAM8AGwDfABsA7wAbAP8AGwAGcbIPGwFytt8b7xv/GwNdsg8bAXEwMVkAAP////f/MwHmAtACJgBcAAABBwB2AIwAAAA4sAorWLYgGjAaQBoDXbbPGt8a7xoDcbKPGgFdss8aAXK07xr/GgJdshAaAXK2ABoQGiAaA3EwMVkAAP//ABT/8gIYA1wCJgFmAAABBgJnVgAAT7AKK1iykCUBXbRAJVAlAnG0ICUwJQJysv8lAV20byV/JQJdtO8l/yUCcbIPJQFyss8lAV2ycCUBcbIAJQFxtiAlMCVAJQNdsgAlAV0wMVkA//8AF//yAaoCxwImAYYAAAEGATIyAABXsAorWLTvHP8cAnGyDxwBcrJvHAFyQQkAzwAcAN8AHADvABwA/wAcAARdso8cAXKyTxwBcrQ/HE8cAnFBCwAQABwAIAAcADAAHABAABwAUAAcAAVdMDFZAP//ABL/UQHrAsgCBgGrAAD//wAW/1EBjwH9AgYBrAAA//8AJv8uAhYCygIGAIkAAP//ACH/LgGbAgICBgCpAAD//wAAAAACXQNYAiYAJAAAAQYCyEoAACywCitYtq8RvxHPEQNdQQkAAAARABAAEQAgABEAMAARAARdtAAREBECcTAxWf//ABf/+AHHApICJgBEAAABBgBxHwAAQ7AKK1iwMy+yoDMBXbJgMwFxQQsAAAAzABAAMwAgADMAMAAzAEAAMwAFXbYAMxAzIDMDcbKAMwFdsmAzAV2wMtwwMVkA//8APAAAAeADWAImACgAAAEGAsglAAApsAorWLK/DwFxsv8PAXGyTw8BXbLfDwFxsv8PAV22EA8gDzAPA3IwMVkAAAD//wAh//IB2QKSAiYASAAAAQYAcSUAADOwCitYsCMvtO8j/yMCcrLvIwFdQQkAzwAjAN8AIwDvACMA/wAjAARxsnAjAXKwItwwMVkA//8APAAAAeAD1wImACgAAAAmAsUWAAEGAsggfwEJsAorWLAML7QgDDAMAl20rwy/DAJdsv8MAXGyDwwBcrLfDAFxtl8Mbwx/DANdsiAMAXK0AAwQDAJxsBLctmAScBKAEgNxsAwQsBjcsB7ctmAecB6AHgNxsoAnAXKy3ycBcbL/JwFdtk8nXydvJwNdsv8nAXGyDycBcrLQJwFdsiAnAXKyACcBcVkAsBUvsA/cttAP4A/wDwNdsgAPAXG2YA9wD4APA3FBDQBAAA8AUAAPAGAADwBwAA8AgAAPAJAADwAGXbTgD/APAnGwG9CwFRCwIdC0UCdgJwJdtNAn4CcCXbYPJx8nLycDXbYwJ0AnUCcDcrKQJwFdsrAnAXG2UCdgJ3AnA3EwMQD//wAh//IB2QNQAiYASAAAACYAahbnAQYCyB74AWqwCitYsCAvQRMAXwAgAG8AIAB/ACAAjwAgAJ8AIACvACAAvwAgAM8AIADfACAACV2yvyABcrTvIP8gAnK07yD/IAJxtCAgMCACXbIwIAFxsCbcsCAQsCzcshAsAXGwMtyyfzsBXbTvO/87AnGyXzsBXbIwOwFxtCA7MDsCXVkAsCkvsoApAXKyfykBcbIfKQFysl8pAXKyfykBcrI/KQFytp8prym/KQNxQQkAzwApAN8AKQDvACkA/wApAARdtA8pHykCcbTgKfApAnKyoCkBcrAj3EEJACAAIwAwACMAQAAjAFAAIwAEXbKAIwFxsC/QsCkQsDXQtOA78DsCcrRQO2A7Al2y0DsBXbQQOyA7AnK0oDuwOwJyss87AXGy8TsBXbTgO/A7AnFBCQBAADsAUAA7AGAAOwBwADsABHG0kDugOwJdshA7AV1BCwBAADsAUAA7AGAAOwBwADsAgAA7AAVysrA7AXEwMf//ADwAAAHgA/ICJgAoAAAAJgLFFgABBwLJAA0AiADTsAorWLAML7IgDAFyst8MAXG2XwxvDH8MA12y/wwBcbIPDAFytCAMMAwCXbJgDAFxtgAMEAwgDANxsBLcsAwQsBjcsB7cslAyAXK0EDIgMgJysq8yAXG2XzJvMn8yA1207zL/MgJdsn8yAXG0IDIwMgJdsqAyAXKy0DIBclkAsBUvsA/cttAP4A/wDwNdQQsAQAAPAFAADwBgAA8AcAAPAIAADwAFXbJgDwFxsBvQsBUQsCHQsh8tAV2yDy0BcbKfLQFdtO8t/y0CcbR/LY8tAnEwMQD//wAh//IB2QNiAiYASAAAACYAahbtAQYCyQz4ATWwCitYsCAvtM8g3yACXUELAF8AIABvACAAfwAgAI8AIACfACAABV207yD/IAJxtCAgMCACXbQgIDAgAnGwJtywIBCwLNyyECwBcbAy3LJQRgFysl9GAV22z0bfRu9GA12070b/RgJxsg9GAXK0IEYwRgJdsqBGAXJZALApL7IfKQFysl8pAXKy3ykBcrJ/KQFysj8pAXKyvykBcUEJAF8AKQBvACkAfwApAI8AKQAEcbAj3EEJACAAIwAwACMAQAAjAFAAIwAEXbKAIwFxsC/QsCkQsDXQsiBBAXKykEEBXbLwQQFdsnBBAXG20EHgQfBBA3G2kEGgQbBBA3G20EHgQfBBA3Ky0EEBXbJQQQFdQQ0AYABBAHAAQQCAAEEAkABBAKAAQQCwAEEABnK0MEFAQQJxMDEA//8AEv/yAesDZgImAVAAAAEGAsQCAABXsAorWEENAAAAPAAQADwAIAA8ADAAPABAADwAUAA8AAZdtr88zzzfPANdsl88AXGy7zwBcrTvPP88AnGyDzwBcrL/PAFdso88AV2yIDwBcbIAPAFxMDFZAP//ABb/9QGPAtwCJgFwAAABBgEw5wAAVrAKK1iyoC8BXbKALwFxsr8vAXG23y/vL/8vA12yDy8BcrRAL1AvAnKyYC8BcbKALwFdQQ8AAAAvABAALwAgAC8AMAAvAEAALwBQAC8AYAAvAAddMDFZAAD//wAm//ICeANYAiYAMgAAAQYCyGsAAFOwCitYsCMvslAjAV2yMCMBcbIgIwFysr8jAXGyTyMBXbbfI+8j/yMDcbIPIwFyts8j3yPvIwNdspAjAXG0ACMQIwJxsiAjAV2yACMBXbAi3DAxWQD//wAh//IB+AKSAiYAUgAAAQYAcS4AAFKwCitYsCEvQQkArwAhAL8AIQDPACEA3wAhAARdsk8hAXGyDyEBcrTPId8hAnKyryEBcrRvIX8hAnGy/yEBXbYgITAhQCEDXbIQIQFysCDcMDFZAAD//wAm//ICeANqAiYAMgAAAQYCyVIAAFGwCitYQQkAAAAuABAALgAgAC4AMAAuAARdsp8uAV2yXy4BcbTvLv8uAnGyDy4BcrS/Ls8uAnG23y7vLv8uA12yfy4BXbKALgFxsmAuAXEwMVkAAAD//wAh//IB+ALAAiYAUgAAAQYCyiYAACuwCitYskAtAV22zy3fLe8tA3G0zy3fLQJdsv8tAV2yEC0BcrIALQFxMDFZAP//ACb/8gJ4A2oCJgGZAAABBgLJUwAAR7AKK1hBCQAAADAAEAAwACAAMAAwADAABF20vzDPMAJxtt8w7zD/MANdtO8w/zACcbIPMAFysl8wAXGygDABcbJgMAFxMDFZAP//ACH/8gH4AsACJgGaAAABBgLKJgAAK7AKK1iyQC8BXbbPL98v7y8DcbTPL98vAl2y/y8BXbIQLwFysgAvAXEwMVkA//8AJv/yAngD8gImADIAAAAmAsVdAAEHAskAVACIALywCitYsCAvsiAgAXG0byB/IAJdsg8gAXKyACABXbKAIAFdtCAgMCACXbAm3LJgJgFxsCAQsCzcsDLcsmAyAXG0gEaQRgJxtO9G/0YCcbIPRgFysgBGAV20UEZgRgJxtCBGMEYCXVkAsCkvsCPcttAj4CPwIwNdQQsAQAAjAFAAIwBgACMAcAAjAIAAIwAFXbJgIwFxsC/QsCkQsDXQsh9BAV2yD0EBcbKfQQFdtO9B/0ECcbR/QY9BAnEwMf//ACH/8gH4A2ICJgBSAAAAJgBqHu0BBgLJDPgBOLAKK1iwHi+07x7/HgJxsg8eAXK2Xx5vHn8eA120IB4wHgJdtAAeEB4CcbAk3LAeELAq3LAw3LQgRDBEAl22X0RvRH9EA11BDQCvAEQAvwBEAM8ARADfAEQA7wBEAP8ARAAGXbTvRP9EAnGyD0QBcrIARAFxtBBEIEQCclkAsCcvsh8nAXKyXycBcrLfJwFysn8nAXKyPycBcrK/JwFxQQkAXwAnAG8AJwB/ACcAjwAnAARxsCHcQQkAIAAhADAAIQBAACEAUAAhAARdsoAhAXGwLdCwJxCwM9CyID8BcrKQPwFdsvA/AV2ycD8BcbbQP+A/8D8DcbaQP6A/sD8DcbbQP+A/8D8DcrLQPwFdslA/AV1BDQBgAD8AcAA/AIAAPwCQAD8AoAA/ALAAPwAGcrQwP0A/AnEwMQAA//8APP/2AuEDWAImAWQAAAEHAsgAoAAAAEGwCitYtBApICkCXbS/Kc8pAl20jymfKQJxss8pAXK07yn/KQJxsg8pAXKyPykBcbJvKQFdsiApAXKyACkBcTAxWQD//wA5//kChgKSAiYBhAAAAQYAcXwAADmwCitYsCUvsh8lAV207yX/JQJdsg8lAXKyvyUBcrKvJQFxtK8lvyUCXbIAJQFdskAlAV2wJNwwMVkAAAD//wAU//ICGANYAiYBZgAAAQYCyAcAAEiwCitYsgAoAXGyzygBXbTfKO8oAnG07yj/KAJysg8oAXKy/ygBXbIAKAFdspAoAV1BCQAgACgAMAAoAEAAKABQACgABF0wMVn//wAX//IBqgKSAiYBhgAAAQYAcfUAAHGwCitYsB8vslAfAXK0zx/fHwJysm8fAXJBDQAAAB8AEAAfACAAHwAwAB8AQAAfAFAAHwAGXbYQHyAfMB8DckEVAAAAHwAQAB8AIAAfADAAHwBAAB8AUAAfAGAAHwBwAB8AgAAfAJAAHwAKcbAe3DAxWQAAAP//ABT/8gIYA2oCJgFmAAABBgLJ8AAAX7AKK1hBCQAwADMAQAAzAFAAMwBgADMABHGynzMBcbTvM/8zAnK03zPvMwJdsg8zAXJBDQAAADMAEAAzACAAMwAwADMAQAAzAFAAMwAGXbQAMxAzAnG0gDOQMwJdMDFZAP//ABf/8gGqAsACJgGGAAABBgLK6QAAPLAKK1iyUCsBcrLvKwFxtO8r/ysCXbIPKwFysgArAV2yACsBcUEJACAAKwAwACsAQAArAFAAKwAEXTAxWf//ACb/8gIlA1gCJgE+AAABBgLFYgAAXrAKK1iwJS+yvyUBXbKvJQFxQQkAzwAlAN8AJQDvACUA/wAlAARytO8l/yUCcbQPJR8lAnK23yXvJf8lA12yDyUBcbJvJQFdtAAlECUCXbAx3LLwMQFxshAxAXEwMVkAAP//ACX/8gG5Ar4CJgGMAAABBgBqFu0AcrAKK1iwIS+0zyHfIQJdsv8hAXK0jyGfIQJdsg8hAXK2ICEwIUAhA12yACEBcbAt3LIQLQFxsnAtAXJZALAqL7IfKgFysl8qAXKyfyoBcrI/KgFyQQkAjwAqAJ8AKgCvACoAvwAqAARxsoAqAXKwNtAwMQAA//8ABQAAAgcDWAImAWgAAAEGAshYAAAvsAorWLTvKf8pAl203ynvKQJxtG8pfykCXbK/KQFxtgApECkgKQNdsiApAXIwMVkA//8ACgAAAcMCkgImAYgAAAEGAHEjAABPsAorWLQAHxAfAnGyjx8BXbL/HwFdQQkAzwAfAN8AHwDvAB8A/wAfAARxsg8fAXKyrx8BcbSvH78fAl20Tx9fHwJdskAfAXKyMB8BcTAxWQD//wAFAAACBwNqAiYBaAAAAQYCyT0AAFqwCitYQQkAAAA0ABAANAAgADQAMAA0AARdtt807zT/NANxQQ0ArwA0AL8ANADPADQA3wA0AO8ANAD/ADQABl207zT/NAJysq80AXG0EDQgNAJysjA0AXEwMVkAAP//AAoAAAHDAsACJgGIAAABBgLKIAAAMbAKK1i0ACsQKwJxsu8rAXGyXysBcrJvKwFdsg8rAXKy/ysBXbJgKwFysjArAXEwMVkAAAD//wA8//IDWwNYAiYBZwAAAQcCyADfAAAANrAKK1iyICoBcrK/KgFdst8qAXGy/yoBcrIPKgFytO8q/yoCXbIAKgFdsgAqAXGyMCoBXTAxWf//ADn/8gK8ApICJgGHAAABBwBxAIgAAAAtsAorWLJwJgFyst8mAXG07yb/JgJdtiAmMCZAJgNdtBAmICYCcrIgJgFxMDFZAP//ADz/8gNbA2oCJgFnAAABBwLJAK0AAAAnsAorWLIANQFdtO81/zUCXbJfNQFdsr81AV2yUDUBcrJANQFxMDFZAAAA//8AOf/yArwCwAImAYcAAAEHAsoAgwAAACewCitYtDAyQDICXbL/MgFysv8yAV2yDzIBcrIgMgFysiAyAXEwMVkAAAAAAf/z/4MCiwK8ACEBQbAKK1iyHBoDK7KvGgFxsu8aAV2yHxoBcrIQGgFdsjAaAV2wGhCxAQT0sBoQsA7csh8OAV2yfw4BXbIQHAFdshAcAXGyHxwBcrKvHAFxsjAcAV2yYBwBcbJAHAFysBwQsB3QsB0vsB/csh8fAXFBCwAgAB8AMAAfAEAAHwBQAB8AYAAfAAVdsrAfAXGwHBCxIQb0WQCwAEVYsBovG7EaFD5ZsABFWLAgLxuxIAg+WbAARViwCy8bsQsIPlmwGhCxAQP0sAsQsRID9LAgELEcA/SwIBCwH9yyIB8BXbKgHwFdMDEBsAorWLJHBAFdsnYHAXG0Jwg3CAJdsncIAXG0KBU4FQJdtCoWOhYCXbSIF5gXAl202BfoFwJdWQCySAQBXbQoCDgIAl2yeQgBcbQmFTYVAl20JxY3FgJdtIcXlxcCXQEjDgMHDgMjIiYnNx4BMzI2Nz4DNyERMxUjJyMBqpUEChEcFg4jJiUQFx8PDwYMBhAfCw8WEQoCAZ1YYA9yAkJfnH1gIxceEgcHB3YCAhATFlWEt3r9vvd9AAH/7/+OAiMB9AAXAT2wCitYshIQAyu0TxBfEAJysi8QAXGy3xABXbJvEAFxskAQAV2wEBCwAdyyTwEBXbLQAQFdsBAQsAjcsj8IAV20rwi/CAJdsk8SAXKyLxIBcbJvEgFxsBIQsBPQsBMvsBXcQQsAIAAVADAAFQBAABUAUAAVAGAAFQAFXbASELEXBPRZALAARViwEC8bsRAQPlmwAEVYsBYvG7EWCD5ZsABFWLAGLxuxBgg+WbAQELEBAvSwBhCxCwL0sBYQsRIC9LAWELAV3LJAFQFdMDEBsAorWLL2BAFxsgYEAXK0RwRXBAJdtOYF9gUCXUEJAEcABQBXAAUAZwAFAHcABQAEXbRoDXgNAl20SQ1ZDQJdWQC0SARYBAJdsvgEAXG0SAVYBQJdtOkF+QUCXUEJAEcADQBXAA0AZwANAHcADQAEXQEjDgMjIic3FjMyPgI3IREzFSMnIwFJYwYQIzwwOhgQEA4UHhUNAwFXWF8PbAGBR4xvRQ9sBiJYl3T+f+VyAAIAPP8vAl0DagAbACoDwLAKK1iyDgYDK7JPBgFyst8GAXGyHwYBcrL/BgFdsg8GAXGyIAYBXbIABgFysAYQsQcG9LAE0LZEBFQEZAQDcrQFBBUEAnGyhgQBXbI2BAFxsjYEAV20tQTFBAJxtkQEVARkBANxstQEAXGycwQBcbIgDgFdsnAOAV2y4A4BXbIADgFysu8OAXGyEA4BcbKQDgFdslAOAV2ywA4BcrJgDgFysA4QsRsG9LAM0LI5DAFdtroMygzaDANxtksMWwxrDANxsnwMAXG2SwxbDGsMA3K0CgwaDAJdsokMAV2yuAwBXbIUBg4REjmwFC+yIBQBXbAGELAq0LAqL7IvKgFxtIAqkCoCXbJwKgFxsBzQsmYcAXGyNxwBcbIpHAFdsjgcAV20thzGHAJxtKYcthwCXbRFHFUcAnGwKhCwItyy4CIBXbIvIgFdtAAiECICcbKwIgFdsCHQtCYhNiECXbJPKwFdsh8rAV2ycCwBXbLALAFxsqAsAV1ZALAARViwBy8bsQcUPlmwAEVYsAQvG7EECD5ZsABFWLARLxuxEQo+WbAHELAM0LIBDBEREjmyCQQHERI5soQJAV20BAkUCQJdspMJAV2wERCxGAL0sAcQsCXcsBzctA8cHxwCXbIQHAFxsCUQsB/csBwQsCHQsCEvMDEBsAorWLL2AwFdsgcDAXGyZwMBcbKnAwFytAgLGAsCXbKYCwFdsngLAXG22QvpC/kLA120CQsZCwJxQQkAqQALALkACwDJAAsA2QALAARxtFoLagsCcrS6C8oLAnKylg8BcbQHDxcPAl201hDmEAJdshYQAXG0thDGEAJxsnYQAXK0BxAXEAJdsvcQAV2yBxABcbKnEAFxspcdAV2ylh4BXbKUIwFxtAYjFiMCcbKGIwFxsgcjAV2y9yMBXbanI7cjxyMDcbL4KAFdsggoAXG2qCi4KMgoA3GyCSgBXbIZKAFxtIkomSgCcVkAsvgDAV2yCAMBcbKoAwFysmkDAXG0tQvFCwJytAYLFgsCXbL2CwFdsgYLAXGydgsBcbKXCwFdtNcL5wsCXbIXCwFxtrcLxwvXCwNxsqgLAXG0WAtoCwJytAgPGA8CXbKYDwFxtAkQGRACXbbZEOkQ+RADXbQJEBkQAnGymRABcbS5EMkQAnGyeRABcrKqEAFxspcdAV2ylx4BXbL4IwFdsggjAXGyqCMBcbIJIwFdshkjAXG0iSOZIwJxtLkjySMCcbIIKAFdsogoAXG0uCjIKAJxtAkoGSgCcbSZKKkoAnGy+igBXQE3IwcBIxEzEQczNwEzERQGIyImJzUyFjMyNjUDHgEzMjcXDgEjIi4CJwHUCAUu/vpniQoGMQEFZkRSECMUBAcEKxrDBCcfQwdvC11SKUQzIQQBhFte/n8CvP6DXmEBev0vWmIEBGwBMS0DaiAcOxE/OgwbLiIAAgA5/zAB6ALAABwALALtsAorWLIOBgMrsj8GAXKyTwYBcbIPBgFxsi8GAXGyHwYBcrJABgFdtBAGIAYCXbAGELEHBPSwBNC0ZgR2BAJxtAYEFgQCcbJVBAFxshAOAXG0EA4gDgJdtD8OTw4CcrIvDgFxsh8OAXKycA4BcbKQDgFdskAOAV2ycA4BcrAOELEcBPSwDNC0yQzZDAJdtAoMGgwCXbQJDBkMAnG0aQx5DAJxshMGDhESObATL7QgEzATAl2wBhCwLNCwLC+yDywBcrIPLAFdsnAsAXKwHdCyxh0BXbRmHXYdAnG21R3lHfUdA120hB2UHQJxsCwQsCTcspAkAXGyTyQBXbJPJAFystAkAV2yMCQBcbAj0LJGIwFdsj8tAV2y0C4BXbLQLgFxspAuAV1ZALAARViwBy8bsQcQPlmwAEVYsAQvG7EECD5ZsABFWLARLxuxEQo+WbAHELAM0LIBDBEREjmyCQQHERI5tAIJEgkCXbARELEXAvSwBxCwJ9yyTycBcbAd3LIPHQFdslAdAXGysB0BcbAnELAg3LKPIAFdsB0QsCPQsCMvMDEBsAorWLRFA1UDAnK0hwOXAwJdsrcDAXG0JwM3AwJysocDAXK06Av4CwJdtGYPdg8CcrQHDxcPAl20phC2EAJxsoYQAXK0BxAXEAJdsjYeAXG0Jx83HwJxskYiAXFBDQBmACUAdgAlAIYAJQCWACUApgAlALYAJQAGcbQHJRclAl20JyU3JQJytAgqGCoCXbSIKpgqAnG0qSq5KgJxWQC0iAOYAwJdtOkD+QMCXUEJACkAAwA5AAMASQADAFkAAwAEcrKJAwFysroDAXG05wv3CwJdtAgPGA8CXbRpD3kPAnK0CBAYEAJdtmgQeBCIEANytKkQuRACcbJIIgFxtAglGCUCXbSoJbglAnFBCQBpACUAeQAlAIkAJQCZACUABHG0KSU5JQJytAgqGCoCXUEJAIgAKgCYACoAqAAqALgAKgAEcbRpKnkqAnElNyMPASMRMxUHMz8BMxEUBiMiJzUyFjMyPgI1Ax4BMzI2NxcOASMiLgInAWYFAyqzUoIGBCm0UkhPHiIEBwQWGw8GiwchGhwhBmMMXj8fOi4gBuRHSeIB9O5ER+v991tgB20BDBgjFgLAJyAgJhlBPw4fMCP//wAm//ICeANcAiYAMgAAAQcCZwC9AAAASbAKK1iycCABcbIAIAFdsn8gAV2yzyABXUEJAL8AIADPACAA3wAgAO8AIAAEcbKfIAFdsk8gAV2yQCABcrJQIAFdsiAgAV0wMVkA//8AIf/yAfgCxwImAFIAAAEGATJ/AABesAorWEELAG8AHgB/AB4AjwAeAJ8AHgCvAB4ABV2y/x4BXbaPHp8erx4DcbKvHgFytO8e/x4CcrTvHv8eAnGyDx4BcrIvHgFxtM8e3x4CXbQwHkAeAl2yMB4BcjAxWQAA//8APP/2AuEDagImAWQAAAEHAskAlAAAAE6wCitYsjA0AXKyvzQBXbavNL80zzQDcbTvNP80AnKyDzQBcrTfNO80Al1BCQAQADQAIAA0ADAANABAADQABF2yADQBcbSANJA0Al0wMVn//wA5//kChgLAAiYBhAAAAQYCynsAACmwCitYtEAxUDECcrL/MQFdsh8xAV2yADEBXbRAMVAxAnGyQDEBXTAxWQAAAP//ACj/8gH8A1gCJgINAAABBgLFLgAAP7AKK1iwPC+yfzwBcbIPPAFysv88AV2y7zwBcbY/PE88XzwDcUEJACAAPAAwADwAQAA8AFAAPAAEXbBI3DAxWQD//wAh//UBoAK+AiYCDgAAAQYAav3tAH+wCitYsCwvsmAsAXJBCwAAACwAEAAsACAALAAwACwAQAAsAAVdskAsAXJBCQAAACwAEAAsACAALAAwACwABHGwONyyEDgBcVkAsDUvsj81AXKyfzUBckEJAI8ANQCfADUArwA1AL8ANQAEcbJfNQFysh81AXKygDUBcrBB0DAxAP//ADkAAADoA1wCJgAsAAABBgJn/QAAOLAKK1i0IAQwBAJdtO8E/wQCcbIPBAFytt8E7wT/BANdtL8EzwQCcbKABAFytiAEMARABANyMDFZ//8ARgAAAMgB9AIGAOkAAP//ADwAAAHbArwCBgApAAAAAQA5AAABfAH0AAkAtLAKK1i7AAYABQAHAAQrtC8GPwYCcbL/BgFdsj8GAXK0AAYQBgJdskAGAV2wBhCwAtCy/wcBXbI/BwFytC8HPwcCcbQABxAHAl2yQAcBXbAHELAJ3LLwCQFdslAJAV2yUAkBcbJwCQFysAPQsAMvsgADAXGycAsBclkAsABFWLAJLxuxCRA+WbAARViwBi8bsQYIPlmwCRCxAAL0sgIJBhESObACL7AF3LLgBQFdsoAFAXEwMQEjFTMVIxUjESEBfL2pqYYBQwGBbGitAfT//wAm/1ECFgLKAgYBvQAA//8AIf9RAZsCAgIGAb4AAP//ADz/9QJhA2YCJgAnAAABBwLDAIoAAABGsAorWLTvLP8sAl1BCQBvACwAfwAsAI8ALACfACwABF1BCQC/ACwAzwAsAN8ALADvACwABHG2ICwwLEAsA12yECwBcTAxWf//ACH/8gKzAr0CJgBHAAABBwB2Ab7/7QBEsAorWLIQJgFxsn8mAV2yLyYBcbIPJgFysu8mAXG0zybfJgJdsl8mAV2yUCYBcrIwJgFyWQCwAEVYsCIvG7EiFD5ZMDEAAP//ADwAAAJOA2YCJgArAAABBwLDALcAAABEsAorWLbfEO8Q/xADXbaPEJ8QrxADXUEPAJ8AEACvABAAvwAQAM8AEADfABAA7wAQAP8AEAAHcbIAEAFdsiAQAV0wMVkAAP//ADkAAAHtAtACJgBLAAABBwB2ANEAAAAusAorWLL/GwFdtO8b/xsCcbLPGwFdsk8bAXKybxsBcbQAGxAbAl2yQBsBXTAxWf//ADwAAAH3Ar0CJgAvAAABBwB2AL3/7QA0sAorWLTvCv8KAnGyTwoBcbLvCgFytAAKEAoCXbQAChAKAnFZALAARViwBi8bsQYUPlkwMQAA//8APf/yAZECvQImAE8AAAEHAHYAnP/tAEewCitYsv8UAV207xT/FAJxsg8UAXK0XxRvFAJdst8UAXK2jxSfFK8UA3GyEBQBXbQQFCAUAnJZALAARViwEC8bsRAUPlkwMQAAAP//AAsAAAItA2YCJgA3AAABBwLDAJ4AAAAqsAorWLa/DM8M3wwDcbLfDAFdsg8MAXK0jwyfDAJxthAMIAwwDANdMDFZ//8ABf/yAbQCvQImAFcAAAEHAHYAv//tAEywCitYspAcAXKyTxwBXbbfHO8c/xwDcbIPHAFyst8cAXK03xzvHAJdtAAcEBwCXbJgHAFytAAcEBwCcVkAsABFWLAYLxuxGBQ+WTAxAAD////3//sCYwNmAiYAOQAAAQcCwwCwAAAANLAKK1i0rw6/DgJxsq8OAV223w7vDv8OA3GyDw4BcrTvDv8OAl2yDw4BcbQADhAOAl0wMVkAAP////L/+wHrAtACJgBZAAABBgB2fgAASbAKK1iyAA4BXbaPDp8Orw4DXbIvDgFxsv8OAXGyDw4BcrL/DgFysq8OAXK0nw6vDgJxsv8OAV2yLw4BXbIwDgFyskAOAV0wMVkAAAD//wAS//IB6wLIAgYBUAAAAAEADv8tAZwB/QAxAWWwCitYsh0lAyuynyUBXbL/JQFdsg8lAXGyjyUBcrYvJT8lTyUDcbK/JQFdsn8lAV2ygCUBcbRQHWAdAl2yoB0BXbKAHQFxsrAdAXKy0B0BcrJgHQFyshAdAXGygB0BXbIwHQFdtAAdEB0CXbIAJR0REjmwAC+yFB0lERI5sBQvsQcE9LIOJR0REjmwDi+yGAAUERI5tAYYFhgCXbAdELEuBPSy/zMBXbJgMwFdWQCwAEVYsBEvG7ERED5ZsABFWLAiLxuxIgo+WbIBESIREjmwAS+wANxBCQDAAAAA0AAAAOAAAADwAAAABF22AAAQACAAA3FBCQBAAAAAUAAAAGAAAABwAAAABF2wERCxCgH0sBEQsA3ctC8NPw0CXbAO0LQmDjYOAl2yGAEAERI5sCIQsCbctCAmMCYCXbAl0LQpJTklAl2wIhCxKQH0MDEBsAorWLQHEhcSAl1ZALIVEgFdsgYSAV03NTMyPgI1NCYjIgYHJz4BMzIWFRQGBxUeAxUUDgIjIiYnNx4BMzI+AjU0JiNlPRIgGQ8tMCcvEhweWTpbWDYmGS0gEydCVzEzTxskFzYbGC0kFklAhFoPGSITLCkTC2IRGFZHNVMRBAgbKz0rN1M5HRcPZQ0RDRssHzs8//8AEv/yAesDZgImAVAAAAEGAsQCAABXsAorWEENAAAAPAAQADwAIAA8ADAAPABAADwAUAA8AAZdtr88zzzfPANdsl88AXGy7zwBcrTvPP88AnGyDzwBcrL/PAFdso88AV2yIDwBcbIAPAFxMDFZAP//AA7/LQGcAtwCJgK4AAABBgEw6wAAK7AKK1iyoDQBXUEJAAAANAAQADQAIAA0ADAANAAEXbKANAFdsmA0AV0wMVkAAAEAJgF7ALkCcAARAMiwCitYsgAGAyu0AAAQAAJdtJ8ArwACcbLwAAFdspAAAV20DwYfBgJxst8GAXG0nwavBgJxso8GAV20AAYQBgJdsAAQsAzQsAwvsAvQsg8GABESObIvEwFdWQCwCy+2EAsgCzALA12yEAsBcbJwCwFdsAPcsAsQsAzcsAMQsA/csq8PAV2yMA8BXbIwDwFxMDEBsAorWLQoBDgEAnJBCQBoAAkAeAAJAIgACQCYAAkABHFZALQpBDkEAnK0Zgl2CQJxtIcJlwkCcRMUBiMiJjU0PgI3Fw4BBzIWuScdJSoZIyYOIBQcAhQhAbsdIy8nKDglFQU2CCMUIwABACYBIAC5AhYAEQCesAorWLIGAAMrst8AAXGyjwABXbQAABAAAl2ysAABcbLwBgFdtAAGEAYCcbKwBgFxspAGAV20AAYQBgJdsAAQsAzQsAwvsAvQsg8ABhESOVkAsABFWLADLxuxAxI+WbAL3LAM3LADELAP3LI/DwFxsj8PAV2yoA8BXTAxAbAKK1i0hwmXCQJxWQC0JwQ3BAJytIgJmAkCcbRpCXkJAnETNDYzMhYVFA4CByc+ATcGJiYnHiQqGSMnDSEUHwIUIwHVHSQwJyg4JRUFNwkeFwEh//8AJgF8AWYCcQAnAiEArf9SAQcCIQAA/1IAGrAKK1i0TwBfAAJdsm8AAXG0rwC/AAJdMDFZAAD//wAmASABZgIWACcCIgCt/1EBBwIiAAD/UQArsAorWLRPAF8AAl2ybwABcbSgErASAl1ZALAARViwFS8bsRUSPlmwA9AwMQAAAQBaATUAzAINAAMAO7AKK1iyAQADK7L/AAFxsgAAAV2yAAEBXVkAsABFWLAALxuxABI+WbAD3LLgAwFxsgADAXGyIAMBXTAxEzMHI1pyJE4CDdj//wBaATcBYAIPACcACgAA/1MBBwAKAJT/UwAvsAorWLQPBB8EAl203wTvBAJdtl8EbwR/BANdWQCwAEVYsAEvG7EBEj5ZsATQMDEAAAEAKQEYARwCwwAIAG+wCitYsgcIAyuwCBCwBNyyPwQBXbAIELAF0LRJBVkFAl2yTwcBXVkAsABFWLAFLxuxBRQ+WbAD3LJfAwFdspADAV2yAQUDERI5sAUQsAjcsu8IAXGyDwgBcrJ/CAFxsu8IAV2ynwgBcbJgCAFdMDETNw8BJzczESOpCx87MZ5VcwIgLiAnTW/+VQABADz+7wDP/9YAEQDHsAorWLAAL7AG3LLwBgFdtAAGEAYCcbLQBgFxtGAGcAYCcbSABpAGAl20QAZQBgJysgwABhESObAML7IPAAYREjlZALASL7AD3LKgAwFxsAvctkALUAtgCwNdsv8LAV2yHwsBcrKgCwFdskALAXKygAsBcrAM3LIwDAFxsAMQsA/csrAPAXIwMQGwCitYtIcIlwgCcbQHCRcJAnG0pwm3CQJxWQC0iAiYCAJxtAkJGQkCcUEJAIkACQCZAAkAqQAJALkACQAEcRc0NjMyFhUUDgIHJz4BNwYmPCcdIywWICQNIg4cAhQiaR0iLiohMiMVBDYHGRUBHwABADwC8AFDA2YABACXsAorWLAEL7AB3LKQAQFdtAABEAECcbTAAdABAnGy8AEBcbRAAVABAnGywAEBXbIQAQFdsjABAXJZALAEL7KQBAFysg8EAV2yLwQBXbKvBAFdsu8EAXG0rwS/BAJxsm8EAV2yLwQBcrTABNAEAnKyUAQBcbIQBAFxsADcQQkADwAAAB8AAAAvAAAAPwAAAARdslAAAXEwMRMzFQcjpJ+gZwNmHlgAAQA8AuEBngNmAAoAu7AKK1iwAy+wCdy2cAmACZAJA12yUAkBcbQvCT8JAl2yAAkBcrLwCQFdtAAJEAkCcbIQCQFdsjAJAXKyAAkDERI5sgEDCRESObADELAE3LIGAwkREjmwCRCwCNxZALABL7RfAW8BAl20zwHfAQJdsk8BAXGy/wEBcrK/AQFysg8BAXG0nwGvAQJdtg8BHwEvAQNdsmABAXKwBNy2DwQfBC8EA12wAtyyBgQBERI5sAQQsAjQsAIQsArQMDEBIyc1Mx8BPwEzFQEZXn9pNRMVOGQC4V4nLR4dLigAAgA8AuUBqQNYAAsAFwB+sAorWLAAL7AG3LK/BgFxslAGAXGyEAYBXbAAELAM3LIvDAFdsBLcsr8SAXGyUBIBcbIQEgFdWQCwCS+2DwkfCS8JA120nwmvCQJdsk8JAXGyjwkBcrLfCQFdtF8JbwkCXbLwCQFxsjAJAXKwA9yy7wMBcbAP0LAJELAV0DAxEzQ2MzIWFRQGIyImNzQ2MzIWFRQGIyImPCQoJyQkJygk1iQnKCQkKCckAx4aICAaGh8fGhogIBoaHx8AAQA8AvABQwNmAAQAl7AKK1iwAC+wA9yynwMBXbQPAx8DAnG0zwPfAwJxsv8DAXG0TwNfAwJxss8DAV2yHwMBXbI/AwFyWQCwAS+ykAEBcrIPAQFdsm8BAV20rwG/AQJxsi8BAXKy7wEBcbKvAQFdsi8BAV20wAHQAQJyslABAXGyEAEBcbAE3EEJAA8ABAAfAAQALwAEAD8ABAAEXbJQBAFxMDEBIyc1MwFDaZ6fAvBYHgACADwC5QHJA1IABAAJANKwCitYsAQvsAHcsAQQsAnctk8JXwlvCQNdsg8JAV22rwm/Cc8JA12wBty2oAawBsAGA12ycAYBcbIABgFyWQCwBC+0nwSvBAJdsk8EAXG2DwQfBC8EA3KyjwQBcrRPBF8EAnJBDwCPAAQAnwAEAK8ABAC/AAQAzwAEAN8ABADvAAQAB3Gy3wQBXbRfBG8EAl22DwQfBC8EA12wANxBCwAPAAAAHwAAAC8AAAA/AAAATwAAAAVdst8AAV2wBdCwBBCwCdAwMQGwCitYtAgAGAACXVkTMxUHIyUzFQcjd4ZkXQEBjI9eA1IQXW0QXQABADwC/wGTA1gAAwBVsAorWLADL7AC3FkAsAMvssADAXG2DwMfAy8DA120nwOvAwJdtB8DLwMCcrJfAwFyst8DAV20XwNvAwJdsvADAXGygAMBcbLAAwFysADcsu8AAXEwMRMhFSE8AVf+qQNYWQABADwC3wG7A2oADgF5sAorWLAOL7AA0LQ2AEYAAnGypwABXbIoAAFdtLcAxwACcbK2AAFdslUAAXGwDhCwBtyyMAYBcrIvBgFdsrAGAV2y4AYBXbAF0LI3BQFdsiYFAV1ZALAJL7SfCa8JAl2yDwkBcbK/CQFxtK8JvwkCcrTvCf8JAnK0fwmPCQJysk8JAXG0zwnfCQJdtF8JbwkCXbYPCR8JLwkDXbAA3LQPAB8AAl2yEAABcbAJELAD3LAAELAF0DAxAbAKK1iylwEBXbJkAgFxspUCAV2yZQYBcbJ2BgFxsqQHAXGylgcBcbIHBwFdsvcHAV20BwcXBwJxsocHAXG0twfHBwJxsggMAV20CAwYDAJxsogMAXG2qAy4DMgMA3Gy+QwBXVkAspcCAV2yZwIBcbJ2BgFxsmcGAXGyCAcBXbQIBxgHAnG0iAeYBwJxtLgHyAcCcbL5BwFdsqkHAXGyCAwBXbL4DAFdsqgMAXG0CQwZDAJxtIkMmQwCcbS5DMkMAnETHgEzMjcXDgEjIi4CJ7gEJx9DB28LXVIpRDMhBANqIBw7ET86DBsuIgABADwCJgGSAsAADwGesAorWLAPL7AA0LLHAAFdsvYAAXG21gDmAPYAA12wDxCwB9yyjwcBcbJPBwFdsk8HAXKyMAcBcbLQBwFdsAbQskcGAV1ZALAKL7JPCgFdso8KAV2yTwoBcbKPCgFxss8KAXGyjwoBcrLPCgFysu8KAXKyrwoBcrLvCgFxsq8KAXGybwoBcbKvCgFdsm8KAV2yLwoBXbIPCgFdsADcsg8AAV2yUAABcbKwAAFxsAoQsAPcso8DAV2wABCwBtAwMQGwCitYspMAAXG2ZQB1AIUAA3FBCQCFAAEAlQABAKUAAQC1AAEABHG0JgE2AQJxskUFAXGyBgUBcrRlCHUIAnFBCQCGAAgAlgAIAKYACAC2AAgABHG0BwgXCAJdtCcINwgCcrQIDRgNAl20iA2YDQJxtGkNeQ0CcbSpDbkNAnFZALKXAAFxtKYBtgECcbQnATcBAnG0iAGYAQJxskgFAXGyCAUBcrQICBgIAl2yaAgBcbJ5CAFxtKkIuQgCcbQpCDkIAnK0CA0YDQJdsmgNAXG0qA24DQJxtnkNiQ2ZDQNxEx4BMzI2NxcOASMiLgInqgchGhwhBmMMXj8fOi4gBgLAJyAgJhlBPw4fMCMAAQAMAAAB7ALGABoBQbAKK1iyAQcDK7IPAQFysq8BAV2yAAEBXbIQAQFxsAEQsQIE9LKvBwFdsm8HAXG0fwePBwJdsg8HAXKwBxCxBAT0sAcQsAjcsAcQsArQsAEQsBHQsBEvsAQQsBrQsi8cAV1ZALAARViwDi8bsQ4UPlmwAEVYsAUvG7EFCD5ZsALQsgkOBRESObAJL7QgCTAJAl2xCAH0sATQsA4QsRUB9LAJELAa0LAaLzAxAbAKK1i0CAwYDAJdssgMAV2yaAwBcbI5DAFxtAkMGQwCcrRKDFoMAnG0CA0YDQJdtkgNWA1oDQNxsjkNAXFZALQGDBYMAnK0BwwXDAJdQQkANwAMAEcADABXAAwAZwAMAARxtAYNFg0CXbI2DQFxsmYNAXG0Rw1XDQJxtIgSmBICXUEJAKkAEgC5ABIAyQASANkAEgAEXQERIxEjESMRIzUzNTQ2MzIWFwcuASMiDgIVAeyCl4JFRWJdRWshIhpKLR0kFAYB9P4MAYb+egGGbhxfVxUTZQ4RDRkmGAABAAz/8gJSAskAKAFYsAorWLIbDgMrso8OAV2ybw4BcbAOELELBPSwCNCwCxCwCtyysAoBXbAOELAP3LAOELAR0LJwGwFysgAbAV2yPxsBcbJwGwFdsrAbAXGyEBsBcbAbELAi3LLwIgFdsmAiAV2wGxCxKAT0ss8qAV1ZALAARViwFS8bsRUUPlmwAEVYsCUvG7ElCD5ZsABFWLAMLxuxDAg+WbAVELEDAfSyERUMERI5sBEvsk8RAXKybxEBcbQgETARAl2wCNCwERCxDgH0sAvQsCUQsR4C9DAxAbAKK1i0CBMYEwJdssgTAV20KBM4EwJytAgUGBQCXbJ6FAFxtnkniSeZJwNdsnonAXK0jCecJwJytMwn3CcCcrStJ70nAnJZALQlEzUTAnK0BxMXEwJdsscTAV2yRxMBcrQHFBcUAl2ydxQBcbZ5J4knmScDXbSpJ7knAnKyeicBcrSLJ5snAnIBLgEjIg4CFTMVIxEjESM1MzU0NjMyHgIXERQWMzI2NxcOASMiJjUBaA0tFRccDwRLS4JFRVtvFzw7Mw4SEwwXEQ8QQyM5OwJUAwQOGicYbv56AYZuHF5bBAUGA/3xIyAEB2YIEDU9AAEAzAHwAWECvAAJAD+wCitYsAYvsADcsu8AAV2wCdyy3wkBXbJACQFdsuAJAXFZALAARViwCS8bsQkUPlmwBdyyfwUBcbKfBQFdMDEBDgMHJz4BNQFhAhQbHgw6ERICvB0/OS0KHyRbLgABAEIAAADEArwAAwB6sAorWLsAAgAEAAMABCuyAAIBXbLfAgFxsuACAV20MAJAAgJdsgADAV2y3wMBcbLgAwFdtDADQAMCXbIfBAFdsnAFAXK0LwU/BQJxspAFAV2ywAUBcbTABdAFAl1ZALAARViwAC8bsQAUPlmwAEVYsAMvG7EDCD5ZMDETMxEjQoKCArz9RAAB/xb/8gGfAsoAAwDasAorWLIBAwMrsvABAXGyEAEBcbLgAQFdsAEQsADQslkAAXGyGQABcbL6AAFdsisAAV2yrAABXbS9AM0AAl2ymwABXbIrAAFxsooAAV2yeQABXbLoAAFdslcAAV2yLwMBcbI/AwFyss8DAXG0vwPPAwJdsAMQsALQtKMCswICXbIlAgFdsiUCAXG0dgKGAgJdsucCAV2yBgIBXbL1AgFdspQCAV20AwITAgJxssICAV1ZALAARViwAC8bsQAUPlmwAEVYsAIvG7ECCD5ZsAAQsAHQsAIQsAPQMDEBFwEnAVZJ/cBJAspC/WpFAA==) format(\"truetype\");\n}\n\n.g42-checkbox, .form-check-input, .g42-radio {\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background-color, border-color, color;\n position: relative;\n width: var(--spacing-14);\n height: var(--spacing-14);\n margin: 0;\n border: var(--spacing-1) solid Hsl(var(--g42-border-primary));\n border-radius: var(--spacing-2);\n background-color: Hsl(var(--g42-bg-01));\n -webkit-appearance: none;\n}\n\n.g42-checkbox:disabled, .form-check-input:disabled, .g42-radio:disabled {\n border-color: Hsl(var(--g42-border-secondary));\n background-color: Hsl(var(--g42-border-secondary));\n}\n\n.g42-checkbox:focus, .form-check-input:focus, .g42-radio:focus {\n outline: 1px dashed Hsl(var(--g42-label-tertiary));\n outline-offset: 0;\n}\n\n.g42-checkbox::after, .form-check-input::after, .g42-radio::after {\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: transform, background-color;\n position: absolute;\n top: calc(var(--spacing-1) * -1);\n left: calc(var(--spacing-1) * -1);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-14);\n height: var(--spacing-14);\n font-size: var(--spacing-9);\n font-family: \"io-icons\";\n transform: scale(0);\n content: \"\\e91b\";\n}\n\n.g42-checkbox:hover:not(:disabled):not(:checked)::after, .form-check-input:hover:not(:disabled):not(:checked)::after, .g42-radio:hover:not(:disabled):not(:checked)::after {\n color: Hsl(var(--g42-label-tertiary));\n transform: scale(1);\n}\n\n.g42-checkbox:checked, .form-check-input:checked, .g42-radio:checked {\n border-color: Hsl(var(--g42-interactive-primary));\n background-color: Hsl(var(--g42-interactive-primary));\n}\n\n.g42-checkbox:checked::after, .form-check-input:checked::after, .g42-radio:checked::after {\n color: Hsl(var(--g42-white));\n transform: scale(1);\n}\n\n.g42-checkbox:checked:disabled, .form-check-input:checked:disabled, .g42-radio:checked:disabled {\n border-color: Hsl(var(--g42-border-secondary));\n background-color: Hsl(var(--g42-border-secondary));\n}\n\n.g42-checkbox:checked:disabled::after, .form-check-input:checked:disabled::after, .g42-radio:checked:disabled::after {\n color: Hsl(var(--g42-label-tertiary));\n}\n\n.g42-checkbox + label, .form-check-input + label, .g42-radio + label {\n display: inline-flex;\n}\n\n.g42-radio {\n border-radius: 50%;\n}\n\n.g42-radio::after {\n top: calc(50% - var(--spacing-10) / 2);\n left: calc(50% - var(--spacing-10) / 2);\n width: var(--spacing-10);\n height: var(--spacing-10);\n border-radius: 50%;\n content: \"\";\n}\n\n.g42-radio:hover:not(:disabled):not(:checked)::after {\n background-color: Hsl(var(--g42-border-primary));\n}\n\n.g42-radio:checked {\n border-color: Hsl(var(--g42-interactive-primary));\n background-color: transparent;\n}\n\n.g42-radio:checked::after {\n background-color: Hsl(var(--g42-interactive-primary));\n}\n\n.g42-radio:checked:disabled::after {\n background-color: Hsl(var(---g42-label-secondary));\n}\n\n.g42-input, input[type=\"text\"] {\n padding: var(--spacing-2) var(--spacing-4);\n border: 1px solid Hsl(var(--g42-border-primary));\n border-radius: var(--spacing-4);\n color: Hsl(var(--g42-label-primary));\n font-size: var(--g42-font-size);\n font-family: var(--g42-font-family);\n line-height: calc(var(--spacing-16) + var(--spacing-2));\n background-color: transparent;\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: border-color;\n}\n\n.g42-input::-webkit-search-cancel-button, input[type=\"text\"]::-webkit-search-cancel-button {\n display: none;\n}\n\n.g42-input:focus, input:focus[type=\"text\"], .g42-input:focus-visible, input:focus-visible[type=\"text\"], .g42-input:hover, input:hover[type=\"text\"] {\n border-color: Hsl(var(--g42-interactive-primary));\n outline: 0;\n}\n\n.g42-input::placeholder, input[type=\"text\"]::placeholder {\n color: Hsl(var(--g42-label-tertiary));\n}\n\n.g42-toggle, .switch {\n position: relative;\n display: flex;\n min-height: var(--spacing-16);\n padding: var(--spacing-4) 0 var(--spacing-4) var(--spacing-24);\n border-radius: var(--spacing-8);\n line-height: var(--spacing-16);\n cursor: pointer;\n}\n\n.g42-toggle:focus span, .switch:focus span {\n outline-color: Hsl(var(--g42-label-tertiary));\n}\n\n.g42-toggle:hover:not(.disabled) .slider::before, .switch:hover:not(.disabled) .slider::before {\n transform: translateX(var(--spacing-8));\n}\n\n.g42-toggle input, .switch input {\n position: absolute;\n display: none;\n}\n\n.g42-toggle input:checked ~ .slider, .switch input:checked ~ .slider {\n background-color: Hsl(var(--g42-interactive-primary));\n}\n\n.g42-toggle input:checked ~ .slider::before, .switch input:checked ~ .slider::before {\n background-color: Hsl(var(--g42-white));\n transform: translateX(var(--spacing-8));\n}\n\n.g42-toggle .slider, .switch .slider {\n position: absolute;\n left: 0;\n width: calc(var(--spacing-24) - var(--spacing-4));\n height: var(--spacing-12);\n margin-top: var(--spacing-2);\n border-radius: var(--spacing-8);\n background-color: Hsl(var(--g42-border-primary));\n outline: 1px dashed transparent;\n outline-offset: 0;\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: all;\n}\n\n.g42-toggle .slider::before, .switch .slider::before {\n position: absolute;\n top: var(--spacing-2);\n left: var(--spacing-2);\n width: var(--spacing-8);\n height: var(--spacing-8);\n border-radius: 50%;\n background-color: Hsl(var(--g42-bg-01));\n content: \"\";\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: all;\n}\n\n.g42-toggle.disabled input:checked ~ .slider, .disabled.switch input:checked ~ .slider {\n background-color: Hsl(var(--g42-border-secondary));\n}\n\n.g42-toggle.disabled input:checked ~ .slider::before, .disabled.switch input:checked ~ .slider::before {\n background-color: Hsl(var(--g42-label-tertiary));\n}\n\n.g42-toggle.disabled .slider, .disabled.switch .slider {\n background-color: Hsl(var(--g42-border-secondary));\n}\n\n.g42-toggle.disabled .slider::before, .disabled.switch .slider::before {\n background-color: Hsl(var(--g42-label-tertiary));\n}\n\n@font-face {\n font-weight: normal;\n font-family: \"io-icons\";\n font-style: normal;\n src: url(data:font/ttf;base64,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) format(\"truetype\");\n}\n\n[class^=\"icon-\"], [class*=\" icon-\"] {\n font-weight: normal;\n font-style: normal;\n font-variant: normal;\n line-height: 1;\n text-transform: none;\n speak: never;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.icon, .add-workspace::before,\n.add-application::before,\n.workspace-tab-popup::before, .workspace-tab-popup .icon-angle-left, .add-workspace h5.btn::before, .add-workspace .workspace__icon, .add-application button.btn:before {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.icon i:before, .add-workspace::before i:before, .add-application::before i:before, .workspace-tab-popup::before i:before, .workspace-tab-popup .icon-angle-left i:before, .add-workspace h5.btn::before i:before, .add-workspace .workspace__icon i:before, .add-application button.btn:before i:before {\n font-family: \"io-icons\";\n}\n\n.icon-box-8 {\n width: var(--spacing-8);\n height: var(--spacing-8);\n}\n\n.icon-box-12 {\n width: var(--spacing-12);\n height: var(--spacing-12);\n}\n\n.icon-box-14 {\n width: calc(var(--spacing-16) - var(--spacing-2));\n height: calc(var(--spacing-16) - var(--spacing-2));\n}\n\n.icon-box-16 {\n width: var(--spacing-16);\n height: var(--spacing-16);\n}\n\n.icon-box-24 {\n width: var(--spacing-24);\n height: var(--spacing-24);\n}\n\n.icon-workspace:before, .add-workspace .workspace__icon:before {\n content: \"\\e900\";\n}\n\n.icon-unlock:before {\n content: \"\\e901\";\n}\n\n.icon-link:before, .link-icon:before {\n content: \"\\e902\";\n}\n\n.icon-trash-can:before {\n content: \"\\e903\";\n}\n\n.icon-system-minimize:before {\n content: \"\\e904\";\n}\n\n.icon-folder:before {\n content: \"\\e905\";\n}\n\n.icon-system-maximize:before {\n content: \"\\e906\";\n}\n\n.icon-ellipsis:before {\n content: \"\\e907\";\n}\n\n.icon-system-close:before {\n content: \"\\e908\";\n}\n\n.icon-star:before {\n content: \"\\e909\";\n}\n\n.icon-star-full:before {\n content: \"\\e90a\";\n}\n\n.icon-circle-xmark-full:before {\n content: \"\\e90b\";\n}\n\n.icon-sliders:before {\n content: \"\\e90c\";\n}\n\n.icon-add:before, .add-application button.btn:before {\n content: \"\\e90d\";\n}\n\n.icon-chevron-down:before {\n content: \"\\e90e\";\n}\n\n.icon-lock:before {\n content: \"\\e90f\";\n}\n\n.icon-application:before {\n content: \"\\e910\";\n}\n\n.icon-layout:before {\n content: \"\\e911\";\n}\n\n.icon-restore:before {\n content: \"\\e912\";\n}\n\n.icon-group:before {\n content: \"\\e913\";\n}\n\n.icon-floppy:before {\n content: \"\\e914\";\n}\n\n.icon-delete-left:before {\n content: \"\\e915\";\n}\n\n.icon-close:before {\n content: \"\\e916\";\n}\n\n.icon-circle-xmark:before {\n content: \"\\e917\";\n}\n\n.icon-chevron-up:before {\n content: \"\\e918\";\n}\n\n.icon-chevron-right:before {\n content: \"\\e919\";\n}\n\n.icon-chevron-left:before, .workspace-tab-popup .icon-angle-left:before {\n content: \"\\e91a\";\n}\n\n.icon-check:before {\n content: \"\\e91b\";\n}\n\n.icon-feedback:before {\n content: \"\\e91c\";\n}\n\n.icon-pop-out:before {\n content: \"\\e924\";\n}\n\n.icon-minimize:before {\n content: \"\\e928\";\n}\n\n.icon-resize:before {\n content: \"\\e92a\";\n}\n\n.icon-bell:before {\n content: \"\\e92e\";\n}\n\n.icon-user:before {\n content: \"\\e930\";\n}\n\n.icon-sticky-off:before {\n content: \"\\e932\";\n}\n\n.icon-sticky-off-hover:before {\n content: \"\\e933\";\n}\n\n.icon-sticky-on:before {\n content: \"\\e93b\";\n}\n\n.icon-sticky-on-hover:before {\n content: \"\\e943\";\n}\n\n.icon-cog:before {\n content: \"\\e949\";\n}\n\n.icon-expand:before {\n content: \"\\e91d\";\n}\n\n.icon-collapse:before {\n content: \"\\e91e\";\n}\n\n.g42-list-item, .list-group-item, .add-workspace h5.btn, .add-application button.btn, .save-workspace h5 {\n position: relative;\n display: flex;\n align-items: center;\n padding: var(--spacing-4) 0;\n color: Hsl(var(--g42-label-primary));\n font-size: var(--g42-font-size);\n line-height: var(--spacing-16);\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background-color;\n}\n\n.g42-list-item:hover, .list-group-item:hover, .add-workspace h5.btn:hover, .add-application button.btn:hover, .save-workspace h5:hover {\n background-color: Hsl(var(--g42-bg-03));\n}\n\n.g42-list-item:focus, .list-group-item:focus, .add-workspace h5.btn:focus, .add-application button.btn:focus, .save-workspace h5:focus, .g42-list-item:focus-visible, .list-group-item:focus-visible, .add-workspace h5.btn:focus-visible, .add-application button.btn:focus-visible, .save-workspace h5:focus-visible {\n outline: 1px dashed Hsl(var(--g42-label-tertiary));\n outline-offset: 0;\n}\n\n.g42-list-item.active, .active.list-group-item, .add-workspace h5.active.btn, .add-application button.active.btn, .save-workspace h5.active {\n background-color: Hsl(var(--g42-highlight-neutral));\n}\n\n.g42-list-item.active:hover, .active.list-group-item:hover, .add-workspace h5.active.btn:hover, .add-application button.active.btn:hover, .save-workspace h5.active:hover {\n background-color: Hsl(var(--g42-bg-03));\n}\n\n.g42-list-item.active .icon, .active.list-group-item .icon, .add-workspace h5.active.btn .icon, .add-application button.active.btn .icon, .save-workspace h5.active .icon, .g42-list-item.active .add-workspace::before, .active.list-group-item .add-workspace::before, .add-workspace h5.active.btn .add-workspace::before, .add-application button.active.btn .add-workspace::before, .save-workspace h5.active .add-workspace::before,\n.g42-list-item.active .add-application::before,\n.active.list-group-item .add-application::before,\n.add-workspace h5.active.btn .add-application::before,\n.add-application button.active.btn .add-application::before,\n.save-workspace h5.active .add-application::before,\n.g42-list-item.active .workspace-tab-popup::before,\n.active.list-group-item .workspace-tab-popup::before,\n.add-workspace h5.active.btn .workspace-tab-popup::before,\n.add-application button.active.btn .workspace-tab-popup::before,\n.save-workspace h5.active .workspace-tab-popup::before, .g42-list-item.active .workspace-tab-popup .icon-angle-left, .workspace-tab-popup .g42-list-item.active .icon-angle-left, .active.list-group-item .workspace-tab-popup .icon-angle-left, .workspace-tab-popup .active.list-group-item .icon-angle-left, .add-workspace h5.active.btn .workspace-tab-popup .icon-angle-left, .workspace-tab-popup .add-workspace h5.active.btn .icon-angle-left, .add-application button.active.btn .workspace-tab-popup .icon-angle-left, .workspace-tab-popup .add-application button.active.btn .icon-angle-left, .save-workspace h5.active .workspace-tab-popup .icon-angle-left, .workspace-tab-popup .save-workspace h5.active .icon-angle-left, .g42-list-item.active .add-workspace h5.btn::before, .add-workspace .g42-list-item.active h5.btn::before, .active.list-group-item .add-workspace h5.btn::before, .add-workspace .active.list-group-item h5.btn::before, .add-workspace h5.active.btn h5.btn::before, .add-application button.active.btn .add-workspace h5.btn::before, .add-workspace .add-application button.active.btn h5.btn::before, .save-workspace h5.active .add-workspace h5.btn::before, .add-workspace .save-workspace h5.active h5.btn::before, .g42-list-item.active .add-workspace .workspace__icon, .add-workspace .g42-list-item.active .workspace__icon, .active.list-group-item .add-workspace .workspace__icon, .add-workspace .active.list-group-item .workspace__icon, .add-workspace h5.active.btn .workspace__icon, .add-application button.active.btn .add-workspace .workspace__icon, .add-workspace .add-application button.active.btn .workspace__icon, .save-workspace h5.active .add-workspace .workspace__icon, .add-workspace .save-workspace h5.active .workspace__icon, .g42-list-item.active .add-application button.btn:before, .add-application .g42-list-item.active button.btn:before, .active.list-group-item .add-application button.btn:before, .add-application .active.list-group-item button.btn:before, .add-workspace h5.active.btn .add-application button.btn:before, .add-application .add-workspace h5.active.btn button.btn:before, .add-application button.active.btn button.btn:before, .save-workspace h5.active .add-application button.btn:before, .add-application .save-workspace h5.active button.btn:before {\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: opacity;\n}\n\n.g42-list-item.active .icon-clue::before, .active.list-group-item .icon-clue::before, .add-workspace h5.active.btn .icon-clue::before, .add-application button.active.btn .icon-clue::before, .save-workspace h5.active .icon-clue::before {\n background-color: transparent;\n}\n\n.g42-list-item.active .icon-check, .active.list-group-item .icon-check, .add-workspace h5.active.btn .icon-check, .add-application button.active.btn .icon-check, .save-workspace h5.active .icon-check {\n opacity: 1;\n}\n\n.g42-list-item .icon-check, .list-group-item .icon-check, .add-workspace h5.btn .icon-check, .add-application button.btn .icon-check, .save-workspace h5 .icon-check {\n font-size: var(--spacing-8);\n opacity: 0;\n}\n\n.g42-list-item .title, .list-group-item .title, .add-workspace h5.btn .title, .add-application button.btn .title, .save-workspace h5 .title {\n flex-grow: 1;\n margin-left: var(--spacing-4);\n font-size: var(--g42-font-size);\n line-height: var(--spacing-16);\n}\n\n.g42-list-item .description, .list-group-item .description, .add-workspace h5.btn .description, .add-application button.btn .description, .save-workspace h5 .description {\n margin-top: calc(var(--spacing-4) * -1);\n margin-left: var(--spacing-4);\n padding-bottom: var(--spacing-6);\n padding-left: var(--spacing-24);\n color: Hsl(var(---g42-label-secondary));\n font-size: var(--g42-font-size);\n}\n\n.g42-list-header, .workspace-tab-popup h5, .add-workspace h3, .add-application .col h5,\n.add-application label {\n display: flex;\n padding: var(--spacing-8) 0 var(--spacing-2) var(--spacing-8);\n color: Hsl(var(--g42-label-secondary));\n font-size: var(--g42-font-size);\n}\n\n.g42-list-row {\n display: flex;\n flex-grow: 1;\n align-items: center;\n}\n\n.g42-context-menu {\n z-index: 100;\n border: var(--spacing-1) solid Hsl(var(--g42-border-secondary));\n border-radius: var(--border-radius-4);\n overflow: hidden;\n background-color: Hsl(var(--g42-bg-primary));\n box-shadow: var(--g42-overlay-shadow);\n}\n\n.g42-context-menu .g42-list-item, .g42-context-menu .list-group-item, .g42-context-menu .add-workspace h5.btn, .add-workspace .g42-context-menu h5.btn, .g42-context-menu .add-application button.btn, .add-application .g42-context-menu button.btn, .g42-context-menu .save-workspace h5, .save-workspace .g42-context-menu h5 {\n padding-right: var(--spacing-12);\n padding-left: var(--spacing-12);\n cursor: default;\n}\n\n.g42-context-menu .g42-list-item.disabled, .g42-context-menu .disabled.list-group-item, .g42-context-menu .add-workspace h5.disabled.btn, .add-workspace .g42-context-menu h5.disabled.btn, .g42-context-menu .add-application button.disabled.btn, .add-application .g42-context-menu button.disabled.btn, .g42-context-menu .save-workspace h5.disabled, .save-workspace .g42-context-menu h5.disabled {\n color: Hsl(var(--g42-label-tertiary));\n pointer-events: none;\n}\n\ndiv.g42-list-item, div.list-group-item {\n flex-direction: column;\n padding: var(--spacing-1) var(--spacing-12);\n}\n\nbutton.g42-list-item, button.list-group-item, .add-application button.btn {\n width: 100%;\n border: 0;\n background-color: transparent;\n}\n\n.level {\n padding-left: var(--spacing-12);\n}\n\n.level .g42-list-item, .level .list-group-item, .level .add-workspace h5.btn, .add-workspace .level h5.btn, .level .add-application button.btn, .add-application .level button.btn, .level .save-workspace h5, .save-workspace .level h5 {\n margin-left: calc(var(--spacing-12) * -1);\n padding-left: var(--spacing-8);\n}\n\n.level .g42-list-header, .level .workspace-tab-popup h5, .workspace-tab-popup .level h5, .level .add-workspace h3, .add-workspace .level h3, .level .add-application .col h5, .add-application .col .level h5,\n.level .add-application label, .add-application .level label {\n padding-left: 0;\n}\n\n.loader-wrapper {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n}\n\n.loader-wrapper .loader {\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n background: radial-gradient(farthest-side, #999d9e 94%, rgba(0, 0, 0, 0)) center top/4px 4px no-repeat, conic-gradient(rgba(0, 0, 0, 0) 15%, #999d9e);\n -webkit-mask: radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 4px), #000 0);\n}\n\n.loader-wrapper.active .loader, .loader-wrapper .loader.active {\n animation: s3 1.5s infinite linear;\n}\n\n.loader-wrapper .loader-text {\n margin: 0 auto;\n padding: 0 0.833rem;\n overflow: hidden;\n color: var(--t42-content-color-muted);\n text-align: center;\n text-overflow: ellipsis;\n}\n\n@keyframes s3 {\n to {\n transform: rotate(1turn);\n }\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-weight: normal;\n line-height: 1;\n}\n\np {\n line-height: var(--spacing-16);\n}\n\n.pt-1 {\n padding-top: var(--spacing-1);\n}\n\n.pt-2 {\n padding-top: var(--spacing-2);\n}\n\n.pt-4 {\n padding-top: var(--spacing-4);\n}\n\n.pt-6 {\n padding-top: var(--spacing-6);\n}\n\n.pt-8 {\n padding-top: var(--spacing-8);\n}\n\n.pt-12 {\n padding-top: var(--spacing-12);\n}\n\n.pt-16 {\n padding-top: var(--spacing-16);\n}\n\n.pt-24 {\n padding-top: var(--spacing-24);\n}\n\n.pt-32 {\n padding-top: var(--spacing-32);\n}\n\n.pt-40 {\n padding-top: var(--spacing-40);\n}\n\n.pe-1 {\n padding-right: var(--spacing-1);\n}\n\n.pe-2 {\n padding-right: var(--spacing-2);\n}\n\n.pe-4 {\n padding-right: var(--spacing-4);\n}\n\n.pe-6 {\n padding-right: var(--spacing-6);\n}\n\n.pe-8 {\n padding-right: var(--spacing-8);\n}\n\n.pe-12 {\n padding-right: var(--spacing-12);\n}\n\n.pe-16 {\n padding-right: var(--spacing-16);\n}\n\n.pe-24 {\n padding-right: var(--spacing-24);\n}\n\n.pe-32 {\n padding-right: var(--spacing-32);\n}\n\n.pe-40 {\n padding-right: var(--spacing-40);\n}\n\n.pb-1 {\n padding-bottom: var(--spacing-1);\n}\n\n.pb-2 {\n padding-bottom: var(--spacing-2);\n}\n\n.pb-4 {\n padding-bottom: var(--spacing-4);\n}\n\n.pb-6 {\n padding-bottom: var(--spacing-6);\n}\n\n.pb-8 {\n padding-bottom: var(--spacing-8);\n}\n\n.pb-12 {\n padding-bottom: var(--spacing-12);\n}\n\n.pb-16 {\n padding-bottom: var(--spacing-16);\n}\n\n.pb-24 {\n padding-bottom: var(--spacing-24);\n}\n\n.pb-32 {\n padding-bottom: var(--spacing-32);\n}\n\n.pb-40 {\n padding-bottom: var(--spacing-40);\n}\n\n.ps-1 {\n padding-left: var(--spacing-1);\n}\n\n.ps-2 {\n padding-left: var(--spacing-2);\n}\n\n.ps-4 {\n padding-left: var(--spacing-4);\n}\n\n.ps-6 {\n padding-left: var(--spacing-6);\n}\n\n.ps-8 {\n padding-left: var(--spacing-8);\n}\n\n.ps-12 {\n padding-left: var(--spacing-12);\n}\n\n.ps-16 {\n padding-left: var(--spacing-16);\n}\n\n.ps-24 {\n padding-left: var(--spacing-24);\n}\n\n.ps-32 {\n padding-left: var(--spacing-32);\n}\n\n.ps-40 {\n padding-left: var(--spacing-40);\n}\n\n.mt-1 {\n margin-top: var(--spacing-1);\n}\n\n.mt-2 {\n margin-top: var(--spacing-2);\n}\n\n.mt-4 {\n margin-top: var(--spacing-4);\n}\n\n.mt-6 {\n margin-top: var(--spacing-6);\n}\n\n.mt-8 {\n margin-top: var(--spacing-8);\n}\n\n.mt-12 {\n margin-top: var(--spacing-12);\n}\n\n.mt-16 {\n margin-top: var(--spacing-16);\n}\n\n.mt-24 {\n margin-top: var(--spacing-24);\n}\n\n.mt-32 {\n margin-top: var(--spacing-32);\n}\n\n.mt-40 {\n margin-top: var(--spacing-40);\n}\n\n.me-1 {\n margin-right: var(--spacing-1);\n}\n\n.me-2 {\n margin-right: var(--spacing-2);\n}\n\n.me-4 {\n margin-right: var(--spacing-4);\n}\n\n.me-6 {\n margin-right: var(--spacing-6);\n}\n\n.me-8 {\n margin-right: var(--spacing-8);\n}\n\n.me-12 {\n margin-right: var(--spacing-12);\n}\n\n.me-16 {\n margin-right: var(--spacing-16);\n}\n\n.me-24 {\n margin-right: var(--spacing-24);\n}\n\n.me-32 {\n margin-right: var(--spacing-32);\n}\n\n.me-40 {\n margin-right: var(--spacing-40);\n}\n\n.mb-1 {\n margin-bottom: var(--spacing-1);\n}\n\n.mb-2 {\n margin-bottom: var(--spacing-2);\n}\n\n.mb-4 {\n margin-bottom: var(--spacing-4);\n}\n\n.mb-6 {\n margin-bottom: var(--spacing-6);\n}\n\n.mb-8 {\n margin-bottom: var(--spacing-8);\n}\n\n.mb-12 {\n margin-bottom: var(--spacing-12);\n}\n\n.mb-16 {\n margin-bottom: var(--spacing-16);\n}\n\n.mb-24 {\n margin-bottom: var(--spacing-24);\n}\n\n.mb-32 {\n margin-bottom: var(--spacing-32);\n}\n\n.mb-40 {\n margin-bottom: var(--spacing-40);\n}\n\n.ms-1 {\n margin-left: var(--spacing-1);\n}\n\n.ms-2 {\n margin-left: var(--spacing-2);\n}\n\n.ms-4 {\n margin-left: var(--spacing-4);\n}\n\n.ms-6 {\n margin-left: var(--spacing-6);\n}\n\n.ms-8 {\n margin-left: var(--spacing-8);\n}\n\n.ms-12 {\n margin-left: var(--spacing-12);\n}\n\n.ms-16 {\n margin-left: var(--spacing-16);\n}\n\n.ms-24 {\n margin-left: var(--spacing-24);\n}\n\n.ms-32 {\n margin-left: var(--spacing-32);\n}\n\n.ms-40 {\n margin-left: var(--spacing-40);\n}\n\n.ms-auto {\n margin-left: auto;\n}\n\n.me-auto {\n margin-right: auto;\n}\n\n.opacity-1 {\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: opacity;\n opacity: 1;\n}\n\n.opacity-0 {\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: opacity;\n opacity: 0;\n}\n\n.flex, .form-check, .save-workspace {\n display: flex;\n}\n\n.flex-column, .save-workspace {\n flex-direction: column;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.flex-shrink {\n flex-shrink: 1;\n}\n\n.ai-center, .form-check {\n align-items: center;\n}\n\n.jc-center {\n justify-content: center;\n}\n\n.jc-between {\n justify-content: space-between;\n}\n\n.jc-around {\n justify-content: space-around;\n}\n\n.jc-evenly {\n justify-content: space-evenly;\n}\n\n.jc-stretch {\n justify-content: stretch;\n}\n\n.dark {\n --g42-active-subtab: var(--g42-bg-02);\n}\n\n.light {\n --g42-active-subtab: var(--g42-white);\n}\n\n.add-workspace::before,\n.add-application::before,\n.workspace-tab-popup::before, .workspace-tab-popup .icon-angle-left, .add-workspace h5.btn::before, .add-workspace .workspace__icon, .add-application button.btn:before, .add-button::before, .link-icon {\n font-family: \"io-icons\";\n font-size: var(--spacing-14);\n height: var(--spacing-16);\n width: var(--spacing-16);\n margin-right: var(--spacing-4);\n}\n\n#root {\n border: var(--spacing-1) solid Hsl(var(--g42-bg-04));\n display: flex;\n width: 100vw;\n height: 100vh;\n flex: 1;\n max-width: -webkit-fill-available;\n max-height: -webkit-fill-available;\n}\n\nbody {\n height: 100vh;\n width: 100vw;\n display: flex;\n}\n\n.form-check-input {\n margin-right: var(--spacing-4);\n}\n\n.form-check {\n line-height: var(--spacing-16);\n}\n\n.switch {\n padding: var(--spacing-4) 0 var(--spacing-4) calc(var(--spacing-32) + var(--spacing-8));\n}\n\n.switch .slider {\n left: var(--spacing-16);\n}\n\n.mb-2:has(.switch) {\n background-color: Hsl(var(--g42-bg-02));\n border-bottom: var(--spacing-1) solid Hsl(var(--g42-border-primary));\n padding-top: var(--spacing-4);\n padding-bottom: var(--spacing-4);\n}\n\n.lm_root {\n position: relative;\n}\n\n.lm_row {\n display: flex;\n background-color: Hsl(var(--g42-bkd-00));\n}\n\n.lm_content {\n position: relative;\n}\n\n.lm_dragging,\n.lm_dragging * {\n cursor: move;\n user-select: none;\n}\n\n.lm_tab, .lm_tabs, .lm_controls, .lm_header {\n display: flex;\n align-items: center;\n}\n\n.lm_header > * {\n flex-shrink: 0;\n}\n\n.lm_controls {\n margin-top: calc(var(--spacing-8) * -1);\n}\n\n.lm_controls li {\n color: Hsl(var(--g42-label-secondary));\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background-color, color;\n}\n\n.lm_controls li:hover {\n color: Hsl(var(--g42-label-primary));\n background-color: Hsl(var(--g42-bg-02));\n}\n\n.lm_controls li.lm_close::before {\n content: \"\\e908\";\n}\n\n.lm_controls li.lm_close:hover {\n color: Hsl(var(--g42-white));\n background-color: Hsl(var(--g42-red));\n}\n\n.lm_controls:has(.workspace_content) {\n margin-top: calc(var(--spacing-2) * -1);\n}\n\n.lm_controls:has(.workspace_content) li:hover {\n background-color: Hsl(var(--g42-bg-00));\n}\n\n.lm_controls:has(.workspace_content) li.lm_add_button:hover {\n background-color: Hsl(var(--g42-bg-03));\n}\n\n.lm_controls:has(.workspace_content) .lm_maximise::before {\n width: var(--spacing-24);\n height: var(--spacing-24);\n content: \"\\e92a\";\n}\n\n.lm_tabs {\n flex-shrink: 1;\n min-width: 0;\n}\n\n.lm_tab {\n position: relative;\n width: 180px;\n min-width: 0;\n height: 26px;\n margin-right: calc(var(--spacing-2) + 1px);\n padding: 0 var(--spacing-12);\n border-radius: var(--border-radius-4);\n color: Hsl(var(--g42-label-secondary));\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background-color, color,box-shadow;\n}\n\n.lm_tab:hover {\n color: Hsl(var(--g42-label-primary));\n background-color: Hsl(var(--g42-bg-03));\n}\n\n.lm_tab::before {\n position: absolute;\n left: calc(var(--spacing-2) * -1);\n width: 1px;\n height: var(--spacing-12);\n background-color: Hsl(var(--g42-border-primary));\n content: \"\";\n}\n\n.lm_tab:first-of-type::before {\n background-color: transparent;\n}\n\n.lm_tab:last-of-type::after {\n position: relative;\n right: calc(var(--spacing-14) * -1);\n width: 1px;\n height: var(--spacing-12);\n background-color: Hsl(var(--g42-bg-03));\n content: \"\";\n}\n\n.lm_tab .icon-lock::before {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n font-size: 10px;\n font-family: \"io-icons\";\n content: \"\";\n content: \"\\e90f\";\n}\n\n.lm_title {\n position: relative;\n width: 100%;\n overflow: hidden;\n line-height: var(--spacing-16);\n white-space: nowrap;\n cursor: default;\n -webkit-mask-image: linear-gradient(to right, Hsla(var(--g42-bg-00), 1) 0%, Hsla(var(--g42-bg-00), 1) 85%, Hsla(var(--g42-bg-00), 0) 95%, Hsla(var(--g42-bg-00), 0) 100%);\n}\n\n.lm_active {\n border-top-left-radius: var(--border-radius-6);\n border-top-right-radius: var(--border-radius-6);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background-color: Hsl(var(--g42-bg-04));\n height: var(--spacing-32);\n}\n\n.lm_active:hover {\n height: var(--spacing-32);\n background-color: Hsl(var(--g42-bg-04));\n}\n\n.lm_active::before,\n.lm_active + .lm_tab::before, .lm_active:last-of-type::after {\n background-color: transparent;\n}\n\n.lm_active .lm_title,\n.lm_active .icon-ellipsis-vert {\n color: Hsl(var(--g42-label-primary));\n}\n\n.lm_active .lm_left,\n.lm_active .lm_right {\n position: absolute;\n bottom: 0;\n z-index: 1;\n width: var(--spacing-8);\n height: var(--spacing-8);\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: box-shadow;\n transition-duration: 80ms;\n}\n\n.lm_active .lm_left {\n left: -8px;\n border-bottom-right-radius: var(--border-radius-6);\n box-shadow: 1px 2px 0 1px Hsl(var(--g42-bg-04));\n opacity: 0;\n}\n\n.lm_active .lm_right {\n right: -8px;\n border-bottom-left-radius: var(--border-radius-6);\n box-shadow: -2px 2px 0 1px Hsl(var(--g42-bg-04));\n opacity: 0;\n}\n\n.lm_active .lm_close_tab {\n opacity: 1;\n}\n\n.lm_tabdropdown::before, .lm_minimise::before, .lm_maximise::before, .lm_close::before {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-32);\n height: var(--spacing-32);\n font-size: 16px;\n font-family: \"io-icons\";\n content: \"\";\n width: var(--spacing-40);\n}\n\n.lm_maximise::before {\n content: \"\\e906\";\n}\n\n.lm_minimise::before {\n content: \"\\e904\";\n}\n\n.lm_restore::before {\n content: \"\\e912\";\n}\n\n.lm_popout {\n margin-left: auto;\n}\n\n.lm_popout::before {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-24);\n height: var(--spacing-24);\n font-size: 16px;\n font-family: \"io-icons\";\n content: \"\";\n content: \"\\e924\";\n}\n\n.lm_pinned {\n width: auto;\n height: 25px;\n margin-right: var(--spacing-6);\n padding: 0 var(--spacing-8);\n background-color: Hsl(var(--g42-bg-02));\n border-radius: var(--border-radius-6);\n}\n\n.lm_pinned:hover, .lm_pinned.lm_active {\n height: 25px;\n background-color: Hsl(var(--g42-bg-04));\n}\n\n.lm_pinned::after {\n content: none;\n}\n\n.lm_pinned .icon-ellipsis-vert {\n display: none;\n}\n\n.lm_pinned .lm_close_tab {\n width: 0;\n visibility: hidden;\n}\n\n.lm_splitter {\n position: relative;\n z-index: 20;\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background;\n background-color: Hsl(var(--g42-bg-01));\n}\n\n.lm_splitter:hover {\n background-color: Hsl(var(--g42-highlight-Interactive));\n}\n\n.lm_splitter.lm_dragging {\n background-color: Hsl(var(--g42-interactive-primary));\n}\n\n.lm_splitter.lm_vertical .lm_drag_handle {\n position: absolute;\n width: 100%;\n cursor: ns-resize;\n}\n\n.lm_splitter.lm_horizontal {\n float: left;\n height: 100%;\n}\n\n.lm_splitter.lm_horizontal .lm_drag_handle {\n position: absolute;\n height: 100%;\n cursor: ew-resize;\n}\n\n.lm_dropTargetIndicator {\n position: absolute;\n overflow: hidden;\n background-color: Hsl(var(--g42-interactive-primary));\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: all;\n opacity: 0.35;\n z-index: 20;\n}\n\n.lm_drop_tab_placeholder {\n width: calc(var(--spacing-16) * 7);\n border-top-right-radius: var(--border-radius-4);\n border-top-left-radius: var(--border-radius-4);\n}\n\n.lm_inner {\n min-width: var(--spacing-16);\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n}\n\n.lm_dragProxy {\n position: absolute;\n z-index: 30;\n cursor: move;\n}\n\n.lm_header:where(.header_double) {\n font-size: calc(var(--g42-font-size) + var(--spacing-1));\n height: 40px;\n padding-top: var(--spacing-4);\n padding-left: var(--spacing-4);\n border-bottom: var(--spacing-4) solid Hsl(var(--g42-bg-04));\n background-color: Hsl(var(--g42-bg-01));\n background-image: linear-gradient(0deg, Hsla(var(--g42-bg-00), 1) 0%, Hsla(var(--g42-bg-00), 0) 55%);\n}\n\n.lm_header:where(.header_double) .lm_active:not(.lm_pinned) .lm_left,\n.lm_header:where(.header_double) .lm_active:not(.lm_pinned) .lm_right {\n opacity: 1;\n}\n\n.lm_header:not(.header_double) {\n height: 26px;\n padding-top: var(--spacing-2);\n padding-left: var(--spacing-4);\n background-color: Hsl(var(--g42-bg-01));\n}\n\n.lm_header:not(.header_double) .lm_tab {\n width: auto;\n height: var(--spacing-24);\n max-width: 150px;\n padding: 0 var(--spacing-8);\n}\n\n.lm_header:not(.header_double) .lm_tab .lm_title {\n padding-right: var(--spacing-12);\n}\n\n.lm_header:not(.header_double) .lm_tab:hover {\n background-color: Hsl(var(--g42-bg-01));\n}\n\n.lm_header:not(.header_double) .lm_active {\n background-color: Hsl(var(--g42-active-subtab));\n}\n\n.lm_header:not(.header_double) .lm_active .lm_left,\n.lm_header:not(.header_double) .lm_active .lm_right {\n display: none;\n}\n\n.lm_header:not(.header_double) .lm_active:hover {\n background-color: Hsl(var(--g42-active-subtab));\n}\n\n.lm_header:not(.header_double) .lm_controls {\n margin-top: calc(var(--spacing-2) * -1);\n}\n\n.lm_header:not(.header_double) .lm_controls li:not(.lm_add_button) {\n border-radius: var(--spacing-2);\n color: Hsl(var(--g42-label-secondary));\n}\n\n.lm_header:not(.header_double) .lm_tabdropdown, .lm_header:not(.header_double) .lm_minimise, .lm_header:not(.header_double) .lm_maximise, .lm_header:not(.header_double) .lm_close, .lm_header:not(.header_double) .lm_popout {\n margin-right: var(--spacing-2);\n}\n\n.lm_header:not(.header_double) .lm_tabdropdown::before, .lm_header:not(.header_double) .lm_minimise::before, .lm_header:not(.header_double) .lm_maximise::before, .lm_header:not(.header_double) .lm_close::before, .lm_header:not(.header_double) .lm_popout::before {\n width: calc(var(--spacing-24) - var(--spacing-4));\n height: calc(var(--spacing-24) - var(--spacing-4));\n}\n\n.lm_header:not(.header_double) .lm_restore::before {\n content: \"\\e928\";\n}\n\n.lm_close_tab,\n.lm_add_button {\n margin-left: auto;\n border-radius: 50%;\n color: Hsl(var(--g42-label-secondary));\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background-color, color;\n}\n\n.lm_close_tab::before,\n.lm_add_button::before {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n font-size: 14px;\n font-family: \"io-icons\";\n content: \"\";\n content: \"\\e916\";\n}\n\n.lm_close_tab:hover, .lm_close_tab.active,\n.lm_add_button:hover,\n.lm_add_button.active {\n color: Hsl(var(--g42-label-primary));\n background-color: Hsl(var(--g42-bg-02));\n opacity: 1;\n}\n\n.lm_close_tab {\n opacity: 0.6;\n}\n\n.lm_add_button {\n display: flex;\n align-items: center;\n justify-content: center;\n height: calc(var(--spacing-24) - var(--spacing-4));\n width: calc(var(--spacing-24) - var(--spacing-4));\n margin-left: var(--spacing-4);\n}\n\n.lm_add_button::before {\n content: \"\\e90d\";\n}\n\n.logo_type {\n display: block;\n width: var(--spacing-16);\n height: var(--spacing-24);\n margin-right: var(--spacing-8);\n margin-left: var(--spacing-8);\n background-image: var(--g42-logo-icon);\n background-repeat: no-repeat;\n background-position: center;\n}\n\n.tab-item-v2 {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n min-width: 0;\n}\n\n.icon-ellipsis-vert {\n margin-right: var(--spacing-4);\n}\n\n.icon-ellipsis-vert::before {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n font-size: var(--spacing-16);\n font-family: \"io-icons\";\n content: \"\\e900\";\n}\n\n.move_area {\n flex-grow: 1;\n flex-shrink: 1;\n min-width: var(--spacing-12);\n height: 100%;\n}\n\n.workspaces-system-popup,\n.popup {\n position: fixed;\n z-index: 100;\n width: auto;\n height: auto;\n background-color: Hsl(var(--g42-bg-00));\n visibility: hidden;\n user-select: none;\n}\n\n.renderer-mode-transparent .lm_row {\n background-color: transparent;\n}\n\n.renderer-mode-keycolor .lm_dropTargetIndicator {\n opacity: 1;\n}\n\n.renderer-mode-keycolor .add-workspace,\n.renderer-mode-keycolor .add-application,\n.renderer-mode-keycolor .workspace-tab-popup {\n box-shadow: none;\n border-radius: 0;\n}\n\n.loading-animation {\n background-color: Hsl(var(--g42-bg-00));\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n}\n\n.loading-animation .wrapper {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n.loading-animation .text {\n color: Hsl(var(--g42-label-primary));\n font-family: calc(--g42-font-family);\n font-size: 13px;\n font-weight: normal;\n text-transform: none;\n}\n\n.loading-animation .inner {\n display: none;\n}\n\n.loading-animation .mid {\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n background: radial-gradient(farthest-side, #999d9e 94%, rgba(0, 0, 0, 0)) center top/4px 4px no-repeat, conic-gradient(rgba(0, 0, 0, 0) 15%, #999d9e);\n -webkit-mask: radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 4px), #000 0px);\n position: static;\n margin: 0;\n animation: s3 1.5s infinite linear;\n}\n\n.loading-animation .mid .ball {\n display: none;\n}\n\n@keyframes s3 {\n to {\n transform: rotate(1turn);\n }\n}\n\n.add-workspace,\n.add-application,\n.workspace-tab-popup {\n background-color: Hsl(var(--g42-bg-primary));\n box-shadow: var(--spacing-2) var(--spacing-2) var(--spacing-4) Hsl(var(--g42-bg-01));\n border: var(--spacing-1) solid Hsl(var(--g42-border-primary));\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: var(--spacing-8);\n overflow: hidden;\n}\n\n.add-workspace::after,\n.add-application::after,\n.workspace-tab-popup::after {\n position: absolute;\n content: \"\";\n background-color: Hsl(var(--g42-border-secondary));\n height: calc(var(--spacing-16) + var(--spacing-4));\n width: calc(var(--spacing-16) + var(--spacing-4));\n display: block;\n left: calc(var(--spacing-1) * -1);\n top: calc((var(--spacing-16) + var(--spacing-4)) * -1);\n border-top-left-radius: var(--spacing-8);\n border-top-right-radius: var(--spacing-8);\n}\n\n.add-workspace::before,\n.add-application::before,\n.workspace-tab-popup::before {\n position: absolute;\n left: var(--spacing-1);\n top: calc(var(--spacing-16) * -1);\n z-index: 1;\n}\n\n.add-workspace .mb-2,\n.add-application .mb-2,\n.workspace-tab-popup .mb-2 {\n margin-bottom: 0;\n}\n\n.add-workspace .list-group-item h5,\n.add-application .list-group-item h5,\n.workspace-tab-popup .list-group-item h5 {\n font-size: var(--g42-font-size);\n line-height: var(--spacing-16);\n}\n\n.add-workspace .list-group-item .close-icon,\n.add-application .list-group-item .close-icon,\n.workspace-tab-popup .list-group-item .close-icon {\n font-family: \"io-icons\";\n font-size: var(--spacing-14);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n margin-left: auto;\n border-radius: 50%;\n}\n\n.add-workspace .list-group-item .close-icon::before,\n.add-application .list-group-item .close-icon::before,\n.workspace-tab-popup .list-group-item .close-icon::before {\n position: relative;\n top: var(--spacing-1);\n color: Hsl(var(--g42-label-secondary));\n content: \"\\e916\";\n}\n\n.add-workspace .list-group-item .close-icon:hover,\n.add-application .list-group-item .close-icon:hover,\n.workspace-tab-popup .list-group-item .close-icon:hover {\n background-color: Hsl(var(--g42-bg-02));\n}\n\n.add-workspace .list-group-item .close-icon:hover::before,\n.add-application .list-group-item .close-icon:hover::before,\n.workspace-tab-popup .list-group-item .close-icon:hover::before {\n color: Hsl(var(--g42-label-secondary));\n}\n\n.add-workspace .list-group-item:hover,\n.add-application .list-group-item:hover,\n.workspace-tab-popup .list-group-item:hover {\n color: Hsl(var(--g42-label-primary));\n text-decoration: none;\n}\n\n.workspace-tab-popup .list-group-item {\n padding-left: var(--spacing-16);\n padding-right: var(--spacing-16);\n}\n\n.workspace-tab-popup .list-group-item i {\n order: 2;\n margin-left: auto;\n}\n\n.workspace-tab-popup .list-group-item i.icon-floppy::before, .workspace-tab-popup .list-group-item i.icon-lock::before, .workspace-tab-popup .list-group-item i.icon-cancel::before {\n content: \"\";\n}\n\n.workspace-tab-popup button.btn-icon {\n background-color: transparent;\n position: absolute;\n border: 0;\n color: Hsl(var(--g42-label-primary));\n padding: 0;\n margin-top: var(--spacing-8);\n right: var(--spacing-12);\n z-index: 1;\n}\n\n.workspace-tab-popup h5 + hr {\n display: none;\n}\n\n.workspaces-system-popup {\n margin-top: calc(var(--spacing-24) - var(--spacing-2));\n background-color: transparent;\n}\n\n.add-workspace .row:nth-child(1) {\n display: none;\n}\n\n.add-workspace .row:nth-child(2) {\n order: 2;\n}\n\n.add-workspace .row:nth-child(3) {\n order: 1;\n}\n\n.add-workspace h3 {\n line-height: var(--spacing-16);\n padding-bottom: var(--spacing-4);\n}\n\n.add-workspace h5.btn {\n color: Hsl(var(--g42-label-secondary));\n padding-left: var(--spacing-16);\n border-top: var(--spacing-1) solid Hsl(var(--g42-border-secondary));\n}\n\n.add-workspace .workspace {\n display: flex;\n align-items: center;\n padding: 0 var(--spacing-16);\n flex-grow: 1;\n}\n\n.add-application .row:nth-child(1) {\n order: 1;\n}\n\n.add-application .row:nth-child(2) {\n order: 4;\n}\n\n.add-application .row:nth-child(3) {\n order: 2;\n}\n\n.add-application .row:nth-child(3) .col {\n padding: var(--spacing-4) var(--spacing-12);\n}\n\n.add-application .row:nth-child(4) {\n order: 3;\n}\n\n.add-application .col h5,\n.add-application label {\n line-height: var(--spacing-16);\n padding-bottom: var(--spacing-6);\n}\n\n.add-application .btn-group {\n display: flex;\n}\n\n.add-application .applications {\n overflow: auto;\n max-height: 200px;\n}\n\n.add-application .applications .list-group-item {\n padding-left: var(--spacing-16);\n}\n\n.add-application .input-group input {\n width: 100%;\n}\n\n.save-workspace .row:nth-child(1) .col h5 {\n padding-bottom: var(--spacing-8);\n}\n\n.save-workspace .row:nth-child(2) {\n padding: var(--spacing-4) var(--spacing-16);\n padding-top: var(--spacing-16);\n}\n\n.save-workspace .row:nth-child(3) {\n order: 4;\n padding: 0 var(--spacing-16);\n}\n\n.save-workspace .row:nth-child(3) .col:nth-child(2) {\n padding: var(--spacing-8) 0 var(--spacing-16);\n}\n\n.save-workspace .row:nth-child(4) {\n padding: 0 var(--spacing-16);\n order: 3;\n}\n\n.save-workspace .invalid-feedback {\n line-height: var(--spacing-16);\n padding-bottom: 0;\n}\n\n.save-workspace .form-control {\n width: 100%;\n}\n\n.save-workspace h5 {\n padding-left: var(--spacing-16);\n background-color: Hsl(var(--g42-bg-02));\n border-bottom: var(--spacing-1) solid Hsl(var(--g42-border-primary));\n}\n\n.save-workspace .form-check {\n padding: var(--spacing-4) 0;\n}\n\n.empty-container-background {\n background-color: Hsl(var(--g42-app-content-bg));\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n\n.add-button {\n background-color: transparent;\n border: 0;\n color: Hsl(var(--g42-label-secondary));\n width: var(--spacing-16);\n height: var(--spacing-16);\n padding: 0;\n}\n\n.add-button::before {\n display: flex;\n align-items: center;\n justify-content: center;\n content: \"\\e90d\";\n}\n\n.icon-cancel::before {\n content: \"\\e916\";\n}\n\n.lock-options-list {\n width: 200px;\n}\n\n.channels-link {\n margin-right: var(--spacing-4);\n color: Hsl(var(--g42-label-primary));\n border-radius: var(--border-radius-4);\n overflow: hidden;\n flex-shrink: 0;\n}\n\n.link-icon {\n margin-right: 0;\n font-size: var(--spacing-16);\n}\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.25) {\n #root {\n border-right-width: 2px !important;\n border-bottom-width: 2px !important;\n height: 100%;\n width: 100%;\n }\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/angular/solution/workspace/static/js/377.541f86b8.chunk.js b/angular/solution/workspace/static/js/377.541f86b8.chunk.js new file mode 100644 index 0000000..c713b7d --- /dev/null +++ b/angular/solution/workspace/static/js/377.541f86b8.chunk.js @@ -0,0 +1,220 @@ +"use strict"; +(self.webpackChunkdev_workspaces_frame = self.webpackChunkdev_workspaces_frame || []).push([ + [377], + { + 377: function (t, e, n) { + (n.r(e), + n.d(e, { + getCLS: function () { + return m; + }, + getFCP: function () { + return g; + }, + getFID: function () { + return h; + }, + getLCP: function () { + return y; + }, + getTTFB: function () { + return F; + } + })); + var i, + a, + r = function () { + return "" + .concat(Date.now(), "-") + .concat(Math.floor(8999999999999 * Math.random()) + 1e12); + }, + o = function (t) { + return { + name: t, + value: arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1, + delta: 0, + entries: [], + id: r(), + isFinal: !1 + }; + }, + u = function (t, e) { + try { + if (PerformanceObserver.supportedEntryTypes.includes(t)) { + var n = new PerformanceObserver(function (t) { + return t.getEntries().map(e); + }); + return (n.observe({ type: t, buffered: !0 }), n); + } + } catch (t) {} + }, + s = !1, + c = !1, + f = function (t) { + s = !t.persisted; + }, + p = function () { + (addEventListener("pagehide", f), + addEventListener("beforeunload", function () {})); + }, + d = function (t) { + var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; + (c || (p(), (c = !0)), + addEventListener( + "visibilitychange", + function (e) { + var n = e.timeStamp; + "hidden" === document.visibilityState && + t({ timeStamp: n, isUnloading: s }); + }, + { capture: !0, once: e } + )); + }, + l = function (t, e, n, i) { + var a; + return function () { + (n && e.isFinal && n.disconnect(), + e.value >= 0 && + (i || e.isFinal || "hidden" === document.visibilityState) && + ((e.delta = e.value - (a || 0)), + (e.delta || e.isFinal || void 0 === a) && (t(e), (a = e.value)))); + }; + }, + m = function (t) { + var e, + n = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + i = o("CLS", 0), + a = function (t) { + t.hadRecentInput || ((i.value += t.value), i.entries.push(t), e()); + }, + r = u("layout-shift", a); + r && + ((e = l(t, i, r, n)), + d(function (t) { + var n = t.isUnloading; + (r.takeRecords().map(a), n && (i.isFinal = !0), e()); + })); + }, + v = function () { + return ( + void 0 === i && + ((i = "hidden" === document.visibilityState ? 0 : 1 / 0), + d(function (t) { + var e = t.timeStamp; + return (i = e); + }, !0)), + { + get timeStamp() { + return i; + } + } + ); + }, + g = function (t) { + var e, + n = o("FCP"), + i = v(), + a = u("paint", function (t) { + "first-contentful-paint" === t.name && + t.startTime < i.timeStamp && + ((n.value = t.startTime), (n.isFinal = !0), n.entries.push(t), e()); + }); + a && (e = l(t, n, a)); + }, + h = function (t) { + var e = o("FID"), + n = v(), + i = function (t) { + t.startTime < n.timeStamp && + ((e.value = t.processingStart - t.startTime), + e.entries.push(t), + (e.isFinal = !0), + r()); + }, + a = u("first-input", i), + r = l(t, e, a); + a + ? d(function () { + (a.takeRecords().map(i), a.disconnect()); + }, !0) + : window.perfMetrics && + window.perfMetrics.onFirstInputDelay && + window.perfMetrics.onFirstInputDelay(function (t, i) { + i.timeStamp < n.timeStamp && + ((e.value = t), + (e.isFinal = !0), + (e.entries = [ + { + entryType: "first-input", + name: i.type, + target: i.target, + cancelable: i.cancelable, + startTime: i.timeStamp, + processingStart: i.timeStamp + t + } + ]), + r()); + }); + }, + S = function () { + return ( + a || + (a = new Promise(function (t) { + return ["scroll", "keydown", "pointerdown"].map(function (e) { + addEventListener(e, t, { once: !0, passive: !0, capture: !0 }); + }); + })), + a + ); + }, + y = function (t) { + var e, + n = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + i = o("LCP"), + a = v(), + r = function (t) { + var n = t.startTime; + (n < a.timeStamp + ? ((i.value = n), i.entries.push(t)) + : (i.isFinal = !0), + e()); + }, + s = u("largest-contentful-paint", r); + if (s) { + e = l(t, i, s, n); + var c = function () { + i.isFinal || (s.takeRecords().map(r), (i.isFinal = !0), e()); + }; + (S().then(c), d(c, !0)); + } + }, + F = function (t) { + var e, + n = o("TTFB"); + ((e = function () { + try { + var e = + performance.getEntriesByType("navigation")[0] || + (function () { + var t = performance.timing, + e = { entryType: "navigation", startTime: 0 }; + for (var n in t) + "navigationStart" !== n && + "toJSON" !== n && + (e[n] = Math.max(t[n] - t.navigationStart, 0)); + return e; + })(); + ((n.value = n.delta = e.responseStart), + (n.entries = [e]), + (n.isFinal = !0), + t(n)); + } catch (t) {} + }), + "complete" === document.readyState + ? setTimeout(e, 0) + : addEventListener("pageshow", e)); + }; + } + } +]); +//# sourceMappingURL=377.541f86b8.chunk.js.map diff --git a/angular/solution/workspace/static/js/377.541f86b8.chunk.js.map b/angular/solution/workspace/static/js/377.541f86b8.chunk.js.map new file mode 100644 index 0000000..e2e4838 --- /dev/null +++ b/angular/solution/workspace/static/js/377.541f86b8.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/377.541f86b8.chunk.js","mappings":"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","sources":["../node_modules/web-vitals/dist/web-vitals.es5.min.js"],"sourcesContent":["var t,n,e=function(){return\"\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12)},i=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return{name:t,value:n,delta:0,entries:[],id:e(),isFinal:!1}},a=function(t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){var e=new PerformanceObserver((function(t){return t.getEntries().map(n)}));return e.observe({type:t,buffered:!0}),e}}catch(t){}},r=!1,o=!1,s=function(t){r=!t.persisted},u=function(){addEventListener(\"pagehide\",s),addEventListener(\"beforeunload\",(function(){}))},c=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];o||(u(),o=!0),addEventListener(\"visibilitychange\",(function(n){var e=n.timeStamp;\"hidden\"===document.visibilityState&&t({timeStamp:e,isUnloading:r})}),{capture:!0,once:n})},l=function(t,n,e,i){var a;return function(){e&&n.isFinal&&e.disconnect(),n.value>=0&&(i||n.isFinal||\"hidden\"===document.visibilityState)&&(n.delta=n.value-(a||0),(n.delta||n.isFinal||void 0===a)&&(t(n),a=n.value))}},p=function(t){var n,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=i(\"CLS\",0),o=function(t){t.hadRecentInput||(r.value+=t.value,r.entries.push(t),n())},s=a(\"layout-shift\",o);s&&(n=l(t,r,s,e),c((function(t){var e=t.isUnloading;s.takeRecords().map(o),e&&(r.isFinal=!0),n()})))},d=function(){return void 0===t&&(t=\"hidden\"===document.visibilityState?0:1/0,c((function(n){var e=n.timeStamp;return t=e}),!0)),{get timeStamp(){return t}}},v=function(t){var n,e=i(\"FCP\"),r=d(),o=a(\"paint\",(function(t){\"first-contentful-paint\"===t.name&&t.startTime1&&void 0!==arguments[1]&&arguments[1],r=i(\"LCP\"),o=d(),s=function(t){var e=t.startTime;e 0 && i[i.length - 1]) && + (6 === s[0] || 2 === s[0]) + ) { + a = 0; + continue; + } + if ( + 3 === s[0] && + (!i || (s[1] > i[0] && s[1] < i[3])) + ) { + a.label = s[1]; + break; + } + if (6 === s[0] && a.label < i[1]) { + ((a.label = i[1]), (i = s)); + break; + } + if (i && a.label < i[2]) { + ((a.label = i[2]), a.ops.push(s)); + break; + } + (i[2] && a.ops.pop(), a.trys.pop()); + continue; + } + s = t.call(e, a); + } catch (c) { + ((s = [6, c]), (r = 0)); + } finally { + n = i = 0; + } + if (5 & s[0]) throw s[1]; + return { value: s[0] ? s[1] : void 0, done: !0 }; + } + } + function _(e, t, n) { + if (n || 2 === arguments.length) + for (var r, i = 0, o = t.length; i < o; i++) + (!r && i in t) || + (r || (r = Array.prototype.slice.call(t, 0, i)), (r[i] = t[i])); + return e.concat(r || Array.prototype.slice.call(t)); + } + var C = { STRING: 1, NUMBER: 2, TIMESTAMP: 3, OBJECT: 4 }; + function I(e) { + return e.type === C.TIMESTAMP + ? "timestamp" + : e.type === C.NUMBER + ? "number" + : e.type === C.STRING + ? "string" + : e.type === C.OBJECT + ? "object" + : "unknown"; + } + function S(e) { + return e.constructor === Date + ? "timestamp" + : "number" === typeof e + ? "number" + : "string" === typeof e + ? "string" + : "object" === typeof e + ? "object" + : "string"; + } + function E(e) { + var t = {}, + n = I(e); + if ("object" === n) { + var r = Object.keys(e.value).reduce(function (t, n) { + var r = S(e.value[n]); + if ("object" === r) { + var i = W(e.value[n]); + t[n] = { + type: "object", + description: "", + context: {}, + composite: i + }; + } else t[n] = { type: r, description: "", context: {} }; + return t; + }, {}); + t.composite = r; + } + return ( + (t.name = T(e.path.join("/") + "/" + e.name)), + (t.type = n), + (t.description = e.description), + (t.context = {}), + t + ); + } + function W(e) { + return Object.keys(e).reduce(function (t, n) { + var r = S(e[n]); + return ( + (t[n] = + "object" === r + ? { + type: "object", + description: "", + context: {}, + composite: W(e[n]) + } + : { type: r, description: "", context: {} }), + t + ); + }, {}); + } + function T(e) { + return "undefined" !== typeof e && e.length > 0 && "/" !== e[0] + ? "/" + e + : e; + } + function A(e) { + return "timestamp" === I(e) ? Date.now() : P(e.value); + } + function P(e) { + return "object" !== typeof e + ? e + : Object.keys(e).reduce(function (t, n) { + var r = e[n]; + return ( + "object" === typeof r && r.constructor !== Date + ? (t[n] = P(r)) + : r.constructor === Date + ? (t[n] = new Date(r).getTime()) + : r.constructor === Boolean + ? (t[n] = r.toString()) + : (t[n] = r), + t + ); + }, {}); + } + function M(e) { + return e.reduce(function (e, t) { + return e.concat(Array.isArray(t) ? M(t) : t); + }, []); + } + function R(e) { + return e.sort(function (e, t) { + return e.state ? (t.state ? t.state - e.state : -1) : 1; + })[0]; + } + function O(e) { + var t = ""; + return ( + e.forEach(function (e, n, r) { + var i = e.path.join("."); + n === r.length - 1 + ? (t += i + "." + e.name + ": " + e.description) + : (t += i + "." + e.name + ": " + e.description + ","); + }), + t.length > 100 ? t.slice(0, 100) + "..." : t + ); + } + function D(e) { + var t = M(e.root.getAggregateState()), + n = R(t); + return { description: O(t), value: n.state }; + } + function L(e, t) { + var n, + r, + i = this; + if (!e || "object" !== typeof e) + throw new Error("Connection is required parameter"); + var o = function (i) { + var o; + ((n = new Promise(function (e) { + o = e; + })), + (r = e.domain("metrics")).onJoined(function (e) { + !e && o && (o(), (o = void 0)); + var t = { + type: "define", + metrics: [ + { + name: "/State", + type: "object", + composite: { + Description: { + type: "string", + description: "" + }, + Value: { type: "number", description: "" } + }, + description: "System state", + context: {} + } + ] + }; + (r.send(t), e && a(i)); + }), + r.join({ + system: t.system, + service: t.service, + instance: t.instance + })); + }, + a = function (e) { + s(e.root); + }, + s = function e(t) { + (c(t), + t.metrics.forEach(function (e) { + d(e); + }), + t.subSystems.forEach(function (t) { + e(t); + })); + }, + c = function (e) { + return k(i, void 0, void 0, function () { + var t, i; + return x(this, function (o) { + switch (o.label) { + case 0: + return void 0 === e.parent ? [2] : [4, n]; + case 1: + return ( + o.sent(), + (t = { + name: T( + e.path.join("/") + + "/" + + e.name + + "/State" + ), + type: "object", + composite: { + Description: { + type: "string", + description: "" + }, + Value: { + type: "number", + description: "" + } + }, + description: "System state", + context: {} + }), + (i = { type: "define", metrics: [t] }), + r.send(i), + [2] + ); + } + }); + }); + }, + u = function (t, o) { + return k(i, void 0, void 0, function () { + var i, a, s; + return x(this, function (c) { + switch (c.label) { + case 0: + return [4, n]; + case 1: + return ( + c.sent(), + (i = { + type: "publish", + values: [ + { + name: T( + t.path.join("/") + + "/" + + t.name + + "/State" + ), + value: { + Description: o.description, + Value: o.state + }, + timestamp: Date.now() + } + ] + }), + r.send(i), + (a = D(t)), + (s = { + type: "publish", + peer_id: e.peerId, + values: [ + { + name: "/State", + value: { + Description: a.description, + Value: a.value + }, + timestamp: Date.now() + } + ] + }), + r.send(s), + [2] + ); + } + }); + }); + }, + d = function (e) { + return k(i, void 0, void 0, function () { + var t, i, o; + return x(this, function (a) { + switch (a.label) { + case 0: + return ((t = h(e)), [4, n]); + case 1: + return ( + a.sent(), + (i = E(t)), + (o = { type: "define", metrics: [i] }), + r.send(o), + "undefined" !== typeof t.value && p(t), + [2] + ); + } + }); + }); + }, + l = function (e) { + return k(i, void 0, void 0, function () { + var t; + return x(this, function (r) { + switch (r.label) { + case 0: + return ((t = h(e)), [4, n]); + case 1: + return (r.sent(), p(t), [2]); + } + }); + }); + }, + p = function (e) { + if (f()) { + var t = A(e), + n = { + type: "publish", + values: [ + { + name: T(e.path.join("/") + "/" + e.name), + value: t, + timestamp: Date.now() + } + ] + }; + return r.sendFireAndForget(n); + } + return Promise.resolve(); + }, + h = function (e) { + var t = b({}, e); + return ( + "object" === typeof e.value && + null !== e.value && + (t.value = b({}, e.value)), + t + ); + }, + f = function () { + var e; + try { + return ( + null !== (e = t.canUpdateMetric) && void 0 !== e + ? e + : function () { + return !0; + } + )(); + } catch (ka) { + return !0; + } + }; + return { + init: o, + createSystem: c, + updateSystem: u, + createMetric: d, + updateMetric: l + }; + } + var B = { + validate: function (e, t, n) { + if (null === e || "object" !== typeof e) + throw new Error("Missing definition"); + if (null === t || "object" !== typeof t) + throw new Error("Missing parent"); + if (null === n || "object" !== typeof n) + throw new Error("Missing transport"); + } + }, + N = (function () { + function e(e, t, n, r, i) { + ((this.definition = e), + (this.system = t), + (this.transport = n), + (this.value = r), + (this.type = i), + (this.path = []), + B.validate(e, t, n), + (this.path = t.path.slice(0)), + this.path.push(t.name), + (this.name = e.name), + (this.description = e.description), + n.createMetric(this)); + } + return ( + Object.defineProperty(e.prototype, "repo", { + get: function () { + var e; + return null === (e = this.system) || void 0 === e + ? void 0 + : e.repo; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "id", { + get: function () { + return "".concat(this.system.path, "/").concat(name); + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.update = function (e) { + return ((this.value = e), this.transport.updateMetric(this)); + }), + e + ); + })(), + F = (function (e) { + function n(t, n, r, i) { + return e.call(this, t, n, r, i, C.NUMBER) || this; + } + return ( + t(n, e), + (n.prototype.incrementBy = function (e) { + this.update(this.value + e); + }), + (n.prototype.increment = function () { + this.incrementBy(1); + }), + (n.prototype.decrement = function () { + this.incrementBy(-1); + }), + (n.prototype.decrementBy = function (e) { + this.incrementBy(-1 * e); + }), + n + ); + })(N), + j = (function (e) { + function n(t, n, r, i) { + return e.call(this, t, n, r, i, C.OBJECT) || this; + } + return ( + t(n, e), + (n.prototype.update = function (e) { + return (this.mergeValues(e), this.transport.updateMetric(this)); + }), + (n.prototype.mergeValues = function (e) { + var t = this; + return Object.keys(this.value).forEach(function (n) { + "undefined" !== typeof e[n] && (t.value[n] = e[n]); + }); + }), + n + ); + })(N), + H = (function (e) { + function n(t, n, r, i) { + return e.call(this, t, n, r, i, C.STRING) || this; + } + return (t(n, e), n); + })(N), + z = (function (e) { + function n(t, n, r, i) { + return e.call(this, t, n, r, i, C.TIMESTAMP) || this; + } + return ( + t(n, e), + (n.prototype.now = function () { + this.update(new Date()); + }), + n + ); + })(N); + function q(e, t, n, r, i) { + if (!t) throw new Error("Repository is required"); + if (!n) throw new Error("Transport is required"); + var o = n, + a = e, + s = i || "", + c = t, + u = r, + d = _(r), + l = {}, + p = I(d, "/") + e, + h = t.root, + f = [], + v = []; + function m(e, t) { + if (!e || 0 === e.length) throw new Error("name is required"); + var n = f.filter(function (t) { + return t.name === e; + }); + if (n.length > 0) return n[0]; + var r = q(e, c, o, E, t); + return (f.push(r), r); + } + function g(e, t) { + ((l = { state: e, description: t }), o.updateSystem(E, l)); + } + function y(e, t) { + return x(e, C.STRING, t, function (e) { + return new H(e, E, o, t); + }); + } + function w(e, t) { + return x(e, C.NUMBER, t, function (e) { + return new F(e, E, o, t); + }); + } + function b(e, t) { + return x(e, C.OBJECT, t, function (e) { + return new j(e, E, o, t); + }); + } + function k(e, t) { + return x(e, C.TIMESTAMP, t, function (e) { + return new z(e, E, o, t); + }); + } + function x(e, t, n, r) { + var i = { name: "" }; + i = "string" === typeof e ? { name: e } : e; + var o = v.filter(function (e) { + return e.name === i.name; + }); + if (o.length > 0) { + var a = o[0]; + if (a.type !== t) + throw new Error( + "A metric named ".concat( + i.name, + " is already defined with different type." + ) + ); + return ( + "undefined" !== typeof n && a.update(n).catch(function () {}), + a + ); + } + var s = r(i); + return (v.push(s), s); + } + function _(e) { + if (!e || !e.parent) return []; + var t = _(e.parent); + return (t.push(e.name), t); + } + function I(e, t) { + return e && e.length > 0 ? e.join(t) : ""; + } + function S() { + var e = []; + return ( + Object.keys(l).length > 0 && + e.push({ + name: a, + path: d, + state: l.state, + description: l.description + }), + f.forEach(function (t) { + var n = t.getAggregateState(); + n.length > 0 && e.push.apply(e, n); + }), + e + ); + } + var E = { + get name() { + return a; + }, + get description() { + return s; + }, + get repo() { + return c; + }, + get parent() { + return u; + }, + path: d, + id: p, + root: h, + get subSystems() { + return f; + }, + get metrics() { + return v; + }, + subSystem: m, + getState: function () { + return l; + }, + setState: g, + stringMetric: y, + timestampMetric: k, + objectMetric: b, + numberMetric: w, + getAggregateState: S + }; + return (o.createSystem(E), E); + } + var G = (function () { + function e(e, t) { + (t.init(this), + (this.root = q("", this, t)), + this.addSystemMetrics( + this.root, + e.clickStream || void 0 === e.clickStream + )); + } + return ( + (e.prototype.addSystemMetrics = function (e, t) { + if ( + ("undefined" !== typeof navigator && + e.stringMetric("UserAgent", navigator.userAgent), + t && "undefined" !== typeof document) + ) { + var n = e.subSystem("ClickStream"), + r = function (e) { + var t; + if (e.target) { + var r = e.target, + i = + r && + null !== + (t = r.getAttribute("class")) && + void 0 !== t + ? t + : ""; + n.objectMetric("LastBrowserEvent", { + type: "click", + timestamp: new Date(), + target: { + className: i, + id: r.id, + type: + "<" + r.tagName.toLowerCase() + ">", + href: r.href || "" + } + }); + } + }; + (n.objectMetric("Page", { + title: document.title, + page: window.location.href + }), + document.addEventListener + ? document.addEventListener("click", r) + : document.attachEvent("onclick", r)); + } + e.stringMetric("StartTime", new Date().toString()); + var i = e.stringMetric("StartURL", ""), + o = e.stringMetric("AppName", ""); + if ("undefined" !== typeof window) { + if ("undefined" !== typeof window.location) { + var a = window.location.href; + i.update(a); + } + "undefined" !== typeof window.glue42gd && + o.update(window.glue42gd.appName); + } + }), + e + ); + })(), + U = (function () { + function e() {} + return ( + (e.prototype.init = function (e) {}), + (e.prototype.createSystem = function (e) { + return Promise.resolve(); + }), + (e.prototype.updateSystem = function (e, t) { + return Promise.resolve(); + }), + (e.prototype.createMetric = function (e) { + return Promise.resolve(); + }), + (e.prototype.updateMetric = function (e) { + return Promise.resolve(); + }), + e + ); + })(), + V = (function () { + function e(e, t, n) { + ((this.api = e), + (this.lastCount = 0), + (this.initialPublishTimeout = 1e4), + (this.publishInterval = 6e4), + (this.initialPublishTimeout = + null !== t && void 0 !== t + ? t + : this.initialPublishTimeout), + (this.publishInterval = + null !== n && void 0 !== n ? n : this.publishInterval), + this.scheduleCollection(), + (this.system = this.api.subSystem( + "performance", + "Performance data published by the web application" + ))); + } + return ( + (e.prototype.scheduleCollection = function () { + var e = this; + setTimeout(function () { + (e.collect(), + setInterval(function () { + e.collect(); + }, e.publishInterval)); + }, this.initialPublishTimeout); + }), + (e.prototype.collect = function () { + try { + (this.collectMemory(), this.collectEntries()); + } catch (ba) {} + }), + (e.prototype.collectMemory = function () { + var e = window.performance.memory; + this.system.stringMetric( + "memory", + JSON.stringify({ + totalJSHeapSize: e.totalJSHeapSize, + usedJSHeapSize: e.usedJSHeapSize + }) + ); + }), + (e.prototype.collectEntries = function () { + var e = window.performance.getEntries(); + if (!(e.length <= this.lastCount)) { + this.lastCount = e.length; + var t = e.map(function (e) { + return e.toJSON(); + }); + this.system.stringMetric("entries", JSON.stringify(t)); + } + }), + e + ); + })(), + $ = function (e) { + var t; + t = + e.connection && "object" === typeof e.connection + ? L(e.connection, e) + : new U(); + var n = new G(e, t).root; + e.disableAutoAppSystem || (n = n.subSystem("App")); + var r = K(n); + return (J(r, e.pagePerformanceMetrics), r); + }; + function J(e, t) { + var n, r; + if ("undefined" !== typeof window) { + var i = + null === + (r = + null === + (n = + null === window || void 0 === window + ? void 0 + : window.glue42gd) || void 0 === n + ? void 0 + : n.metrics) || void 0 === r + ? void 0 + : r.pagePerformanceMetrics; + (i && (t = i), + (null === t || void 0 === t ? void 0 : t.enabled) && + new V(e, t.initialPublishTimeout, t.publishInterval)); + } + } + function K(e) { + var t, + n = e.subSystem("reporting"), + r = { name: "features" }, + i = function (e, i, o) { + if ("undefined" === typeof e || "" === e) + throw new Error("name is mandatory"); + if ("undefined" === typeof i || "" === i) + throw new Error("action is mandatory"); + if ("undefined" === typeof o || "" === o) + throw new Error("payload is mandatory"); + t + ? t.update({ name: e, action: i, payload: o }) + : (t = n.objectMetric(r, { name: e, action: i, payload: o })); + }; + return ((e.featureMetric = i), e); + } + var Q = + "undefined" !== typeof globalThis + ? globalThis + : "undefined" !== typeof window + ? window + : "undefined" !== typeof n.g + ? n.g + : "undefined" !== typeof self + ? self + : {}; + function X(e) { + return e && + e.__esModule && + Object.prototype.hasOwnProperty.call(e, "default") + ? e.default + : e; + } + function Y(e) { + if ( + e && + e.errorHandling && + "function" !== typeof e.errorHandling && + "log" !== e.errorHandling && + "silent" !== e.errorHandling && + "throw" !== e.errorHandling + ) + throw new Error( + 'Invalid options passed to createRegistry. Prop errorHandling should be ["log" | "silent" | "throw" | (err) => void], but ' + + typeof e.errorHandling + + " was passed" + ); + var t = e && "function" === typeof e.errorHandling && e.errorHandling, + n = {}; + function r(e, t, r) { + var i = n[e]; + return ( + i || ((i = []), (n[e] = i)), + i.push(t), + r && + setTimeout(function () { + r.forEach(function (r) { + var i; + if ( + null === (i = n[e]) || void 0 === i + ? void 0 + : i.includes(t) + ) + try { + Array.isArray(r) + ? t.apply(void 0, r) + : t.apply(void 0, [r]); + } catch (a) { + o(a, e); + } + }); + }, 0), + function () { + var r = n[e]; + r && + (0 === + (r = r.reduce(function (e, n, r) { + return ((n === t && e.length === r) || e.push(n), e); + }, [])).length + ? delete n[e] + : (n[e] = r)); + } + ); + } + function i(e) { + for (var t = [], r = 1; r < arguments.length; r++) + t[r - 1] = arguments[r]; + var i = n[e]; + if (!i || 0 === i.length) return []; + var a = []; + return ( + i.forEach(function (n) { + try { + var r = n.apply(void 0, t); + a.push(r); + } catch (i) { + (a.push(void 0), o(i, e)); + } + }), + a + ); + } + function o(n, r) { + var i = n instanceof Error ? n : new Error(n); + if (t) t(i); + else { + var o = + '[ERROR] callback-registry: User callback for key "' + + r + + '" failed: ' + + i.stack; + if (e) + switch (e.errorHandling) { + case "log": + return console.error(o); + case "silent": + return; + case "throw": + throw new Error(o); + } + console.error(o); + } + } + function a() { + n = {}; + } + function s(e) { + n[e] && delete n[e]; + } + return { add: r, execute: i, clear: a, clearKey: s }; + } + Y.default = Y; + var Z = Y, + ee = (function () { + function e(e, t) { + var n = this; + ((this.registry = Z()), + (this.gw = e.facade), + this.gw + .connect(function (e, t) { + n.messageHandler(t); + }) + .then(function (e) { + n.client = e; + })); + } + return ( + Object.defineProperty(e.prototype, "isObjectBasedTransport", { + get: function () { + return !0; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.sendObject = function (e) { + return this.client + ? (this.client.send(e), Promise.resolve(void 0)) + : Promise.reject("not connected"); + }), + (e.prototype.send = function (e) { + return Promise.reject("not supported"); + }), + (e.prototype.onMessage = function (e) { + return this.registry.add("onMessage", e); + }), + (e.prototype.onConnectedChanged = function (e) { + return (e(!0), function () {}); + }), + (e.prototype.close = function () { + return Promise.resolve(); + }), + (e.prototype.open = function () { + return Promise.resolve(); + }), + (e.prototype.name = function () { + return "in-memory"; + }), + (e.prototype.reconnect = function () { + return Promise.resolve(); + }), + (e.prototype.messageHandler = function (e) { + this.registry.execute("onMessage", e); + }), + e + ); + })(), + te = (function () { + function e(e, t) { + var n = this; + ((this.logger = t), + (this.registry = Z()), + (this.worker = new SharedWorker(e)), + (this.worker.port.onmessage = function (e) { + n.messageHandler(e.data); + })); + } + return ( + Object.defineProperty(e.prototype, "isObjectBasedTransport", { + get: function () { + return !0; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.sendObject = function (e) { + return (this.worker.port.postMessage(e), Promise.resolve()); + }), + (e.prototype.send = function (e) { + return Promise.reject("not supported"); + }), + (e.prototype.onMessage = function (e) { + return this.registry.add("onMessage", e); + }), + (e.prototype.onConnectedChanged = function (e) { + return (e(!0), function () {}); + }), + (e.prototype.close = function () { + return Promise.resolve(); + }), + (e.prototype.open = function () { + return Promise.resolve(); + }), + (e.prototype.name = function () { + return "shared-worker"; + }), + (e.prototype.reconnect = function () { + return Promise.resolve(); + }), + (e.prototype.messageHandler = function (e) { + this.registry.execute("onMessage", e); + }), + e + ); + })(), + ne = (function () { + function e() {} + return ( + (e.isNode = function () { + if ("undefined" !== typeof e._isNode) return e._isNode; + if ("undefined" !== typeof window) + return ((e._isNode = !1), !1); + try { + e._isNode = + "[object process]" === + Object.prototype.toString.call(n.g.process); + } catch (t) { + e._isNode = !1; + } + return e._isNode; + }), + e + ); + })(), + re = (function () { + function e() { + var e = this; + ((this.rejected = !1), + (this.resolved = !1), + (this.promise = new Promise(function (t, n) { + ((e.resolve = function (n) { + ((e.resolved = !0), t(n)); + }), + (e.reject = function (t) { + ((e.rejected = !0), n(t)); + })); + }))); + } + return ( + (e.delay = function (e) { + return new Promise(function (t) { + return setTimeout(t, e); + }); + }), + Object.defineProperty(e.prototype, "ended", { + get: function () { + return this.rejected || this.resolved; + }, + enumerable: !1, + configurable: !0 + }), + e + ); + })(), + ie = {}; + function oe() { + return ie; + } + function ae(e) { + var t = ie[e]; + if (t) return t; + var n = []; + function r() { + return new Date().getTime(); + } + var i, + o, + a = r(); + function s() { + return (c("end", (i = r())), (o = i - a)); + } + function c(e, t) { + var i = null !== t && void 0 !== t ? t : r(), + o = 0; + (n.length > 0 && (o = i - n[n.length - 1].time), + n.push({ name: e, time: i, diff: o })); + } + c("start", a); + var u = { + get startTime() { + return a; + }, + get endTime() { + return i; + }, + get period() { + return o; + }, + stop: s, + mark: c, + marks: n + }; + return ((ie[e] = u), u); + } + var se = ne.isNode() ? null : window.WebSocket, + ce = (function () { + function e(e, t) { + if ( + ((this.startupTimer = ae("connection")), + (this._running = !0), + (this._registry = Z()), + (this.wsRequests = []), + (this.settings = e), + (this.logger = t), + !this.settings.ws) + ) + throw new Error("ws is missing"); + } + return ( + (e.prototype.onMessage = function (e) { + return this._registry.add("onMessage", e); + }), + (e.prototype.send = function (e, t) { + var n = this; + return new Promise(function (t, r) { + n.waitForSocketConnection(function () { + var i; + try { + (null === (i = n.ws) || void 0 === i || i.send(e), + t()); + } catch (o) { + r(o); + } + }, r); + }); + }), + (e.prototype.open = function () { + var e = this; + return ( + this.logger.info("opening ws..."), + (this._running = !0), + new Promise(function (t, n) { + e.waitForSocketConnection(t, n); + }) + ); + }), + (e.prototype.close = function () { + return ( + (this._running = !1), + this.ws && this.ws.close(), + Promise.resolve() + ); + }), + (e.prototype.onConnectedChanged = function (e) { + return this._registry.add("onConnectedChanged", e); + }), + (e.prototype.name = function () { + return this.settings.ws; + }), + (e.prototype.reconnect = function () { + var e; + null === (e = this.ws) || void 0 === e || e.close(); + var t = new re(); + return ( + this.waitForSocketConnection(function () { + t.resolve(); + }), + t.promise + ); + }), + (e.prototype.waitForSocketConnection = function (e, t) { + var n; + ((t = null !== t && void 0 !== t ? t : function () {}), + this._running + ? 1 !== + (null === (n = this.ws) || void 0 === n + ? void 0 + : n.readyState) + ? (this.wsRequests.push({ callback: e, failed: t }), + this.wsRequests.length > 1 || this.openSocket()) + : e() + : t( + "wait for socket on ".concat( + this.settings.ws, + " failed - socket closed by user" + ) + )); + }), + (e.prototype.openSocket = function (e, t) { + return k(this, void 0, void 0, function () { + var n = this; + return x(this, function (r) { + switch (r.label) { + case 0: + if ( + (this.startupTimer.mark("opening-socket"), + void 0 === e && + (e = this.settings.reconnectInterval), + "undefined" === typeof t && + (t = this.settings.reconnectAttempts), + void 0 !== t) + ) { + if (0 === t) + return ( + this.notifyForSocketState( + "wait for socket on ".concat( + this.settings.ws, + " failed - no more retries left" + ) + ), + [2] + ); + this.logger.debug( + "will retry " + .concat(t, " more times (every ") + .concat(e, " ms)") + ); + } + r.label = 1; + case 1: + return ( + r.trys.push([1, 3, , 4]), + [4, this.initiateSocket()] + ); + case 2: + return ( + r.sent(), + this.startupTimer.mark("socket-initiated"), + this.notifyForSocketState(), + [3, 4] + ); + case 3: + return ( + r.sent(), + setTimeout(function () { + var r = void 0 === t ? void 0 : t - 1; + n.openSocket(e, r); + }, e), + [3, 4] + ); + case 4: + return [2]; + } + }); + }); + }), + (e.prototype.initiateSocket = function () { + var e = this, + t = new re(); + return ( + this.logger.debug( + "initiating ws to ".concat(this.settings.ws, "...") + ), + (this.ws = new se(this.settings.ws || "")), + (this.ws.onerror = function (n) { + var r = ""; + try { + r = JSON.stringify(n); + } catch (a) { + var i = new WeakSet(), + o = function (e, t) { + if ("object" === typeof t && null !== t) { + if (i.has(t)) return; + i.add(t); + } + return t; + }; + r = JSON.stringify(n, o); + } + (t.reject("error"), e.notifyStatusChanged(!1, r)); + }), + (this.ws.onclose = function (n) { + (e.logger.info("ws closed ".concat(n)), + t.reject("closed"), + e.notifyStatusChanged(!1)); + }), + (this.ws.onopen = function () { + var n; + (e.startupTimer.mark("ws-opened"), + e.logger.info( + "ws opened ".concat( + null === (n = e.settings.identity) || + void 0 === n + ? void 0 + : n.application + ) + ), + t.resolve(), + e.notifyStatusChanged(!0)); + }), + (this.ws.onmessage = function (t) { + e._registry.execute("onMessage", t.data); + }), + t.promise + ); + }), + (e.prototype.notifyForSocketState = function (e) { + (this.wsRequests.forEach(function (t) { + e ? t.failed && t.failed(e) : t.callback(); + }), + (this.wsRequests = [])); + }), + (e.prototype.notifyStatusChanged = function (e, t) { + this._registry.execute("onConnectedChanged", e, t); + }), + e + ); + })(), + ue = {}, + de = { + get exports() { + return ue; + }, + set exports(e) { + ue = e; + } + }, + le = {}, + pe = { + get exports() { + return le; + }, + set exports(e) { + le = e; + } + }, + he = 1; + function fe() { + return (he = (9301 * he + 49297) % 233280) / 233280; + } + function ve(e) { + he = e; + } + var me, + ge, + ye, + we = { nextValue: fe, seed: ve }, + be = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-"; + function ke() { + ye = !1; + } + function xe(e) { + if (e) { + if (e !== me) { + if (e.length !== be.length) + throw new Error( + "Custom alphabet for shortid must be " + + be.length + + " unique characters. You submitted " + + e.length + + " characters: " + + e + ); + var t = e.split("").filter(function (e, t, n) { + return t !== n.lastIndexOf(e); + }); + if (t.length) + throw new Error( + "Custom alphabet for shortid must be " + + be.length + + " unique characters. These characters were not unique: " + + t.join(", ") + ); + ((me = e), ke()); + } + } else me !== be && ((me = be), ke()); + } + function _e(e) { + return (xe(e), me); + } + function Ce(e) { + (we.seed(e), ge !== e && (ke(), (ge = e))); + } + function Ie() { + me || xe(be); + for (var e, t = me.split(""), n = [], r = we.nextValue(); t.length > 0; ) + ((r = we.nextValue()), + (e = Math.floor(r * t.length)), + n.push(t.splice(e, 1)[0])); + return n.join(""); + } + function Se() { + return ye || (ye = Ie()); + } + function Ee(e) { + return Se()[e]; + } + function We() { + return me || be; + } + var Te, + Ae = { get: We, characters: _e, seed: Ce, lookup: Ee, shuffled: Se }, + Pe = "object" === typeof window && (window.crypto || window.msCrypto); + Te = + Pe && Pe.getRandomValues + ? function (e) { + return Pe.getRandomValues(new Uint8Array(e)); + } + : function (e) { + for (var t = [], n = 0; n < e; n++) + t.push(Math.floor(256 * Math.random())); + return t; + }; + var Me = function (e, t, n) { + for ( + var r = (2 << (Math.log(t.length - 1) / Math.LN2)) - 1, + i = -~((1.6 * r * n) / t.length), + o = ""; + ; + + ) + for (var a = e(i), s = i; s--; ) + if ((o += t[a[s] & r] || "").length === +n) return o; + }, + Re = Ae, + Oe = Te, + De = Me; + function Le(e) { + for (var t, n = 0, r = ""; !t; ) + ((r += De(Oe, Re.get(), 1)), (t = e < Math.pow(16, n + 1)), n++); + return r; + } + var Be, + Ne, + Fe = Le, + je = 1567752802062, + He = 7; + function ze(e) { + var t = "", + n = Math.floor(0.001 * (Date.now() - je)); + return ( + n === Ne ? Be++ : ((Be = 0), (Ne = n)), + (t += Fe(He)), + (t += Fe(e)), + Be > 0 && (t += Fe(Be)), + (t += Fe(n)) + ); + } + var qe = ze, + Ge = Ae; + function Ue(e) { + return ( + !(!e || "string" !== typeof e || e.length < 6) && + !new RegExp( + "[^" + Ge.get().replace(/[|\\{}()[\]^$+*?.-]/g, "\\$&") + "]" + ).test(e) + ); + } + var Ve = Ue; + ((function (e) { + var t = Ae, + n = qe, + r = Ve, + i = 0; + function o(n) { + return (t.seed(n), e.exports); + } + function a(t) { + return ((i = t), e.exports); + } + function s(e) { + return (void 0 !== e && t.characters(e), t.shuffled()); + } + function c() { + return n(i); + } + ((e.exports = c), + (e.exports.generate = c), + (e.exports.seed = o), + (e.exports.worker = a), + (e.exports.characters = s), + (e.exports.isValid = r)); + })(pe), + (function (e) { + e.exports = le; + })(de)); + var $e = X(ue); + function Je(e, t, n, r, i) { + (null == e && (e = "global"), (r = r || ["success"]), (i = i || ["error"])); + var o, + a = !1, + s = !1, + c = !1, + u = Z(); + (t.disconnected(f), + t.loggedIn(v), + t.on("success", function (e) { + return w(e); + }), + t.on("error", function (e) { + return y(e); + }), + t.on("result", function (e) { + return w(e); + }), + r && + r.forEach(function (e) { + t.on(e, function (e) { + return w(e); + }); + }), + i && + i.forEach(function (e) { + t.on(e, function (e) { + return y(e); + }); + })); + var d = {}; + function l(t) { + return ( + (o = t), + new Promise(function (r, i) { + var o; + a + ? r({}) + : ("global" === e + ? (o = c + ? Promise.resolve({}) + : Promise.reject("not connected to gateway")) + : (n.debug("joining domain ".concat(e)), + (o = k({ + type: "join", + destination: e, + domain: "global", + options: t + }))), + o + .then(function () { + (h(), r({})); + }) + .catch(function (t) { + (n.debug( + "error joining " + + e + + " domain: " + + JSON.stringify(t) + ), + i(t)); + })); + }) + ); + } + function p() { + return "global" === e + ? Promise.resolve() + : (n.debug("stopping session " + e + "..."), + (s = !1), + k({ type: "leave", destination: e, domain: "global" }) + .then(function () { + ((a = !1), u.execute("onLeft")); + }) + .catch(function () { + ((a = !1), u.execute("onLeft")); + })); + } + function h() { + (n.debug("did join " + e), (a = !0)); + var t = s; + ((s = !1), u.execute("onJoined", t)); + } + function f() { + ((c = !1), + n.debug("connection is down"), + (a = !1), + (s = !0), + u.execute("onLeft", { disconnected: !0 })); + } + function v() { + ((c = !0), + s && + (n.debug("connection is now up - trying to reconnect..."), + l(o))); + } + function m(e) { + return (a && e(!1), u.add("onJoined", e)); + } + function g(e) { + return (a || e(), u.add("onLeft", e)); + } + function y(t) { + if (e === t.domain) { + var n = t.request_id; + if (n) { + var r = d[n]; + r && r.error(t); + } + } + } + function w(t) { + if (t.domain === e) { + var n = t.request_id; + if (n) { + var r = d[n]; + r && r.success(t); + } + } + } + function b() { + return $e(); + } + function k(r, i, o) { + ((o = o || {}), + (r.request_id = r.request_id || b()), + (r.domain = r.domain || e), + o.skipPeerId || (r.peer_id = t.peerId)); + var a = r.request_id; + return new Promise(function (e, s) { + ((d[a] = { + success: function (t) { + (delete d[a], (t._tag = i), e(t)); + }, + error: function (e) { + (n.warn( + "GW error - " + .concat(JSON.stringify(e), " for request ") + .concat(JSON.stringify(r)) + ), + delete d[a], + (e._tag = i), + s(e)); + } + }), + t.send(r, o).catch(function (e) { + d[a].error({ err: e }); + })); + }); + } + function x(n) { + return ( + (n.request_id = n.request_id ? n.request_id : b()), + (n.domain = n.domain || e), + (n.peer_id = t.peerId), + t.send(n) + ); + } + return { + join: l, + leave: p, + onJoined: m, + onLeft: g, + send: k, + sendFireAndForget: x, + on: function (r, i) { + t.on(r, function (t) { + if (t.domain === e) + try { + i(t); + } catch (r) { + n.error( + "Callback failed: " + .concat(r, " \n ") + .concat(r.stack, " \n msg was: ") + .concat(JSON.stringify(t)), + r + ); + } + }); + }, + loggedIn: function (e) { + return t.loggedIn(e); + }, + connected: function (e) { + return t.connected(e); + }, + disconnected: function (e) { + return t.disconnected(e); + }, + get peerId() { + return t.peerId; + }, + get domain() { + return e; + } + }; + } + var Ke = (function () { + function e(e, t, n) { + var r = this; + ((this.connection = e), + (this.settings = t), + (this.logger = n), + (this.protocolVersion = 3), + (this.datePrefix = "#T42_DATE#"), + (this.datePrefixLen = this.datePrefix.length), + (this.dateMinLen = this.datePrefixLen + 1), + (this.datePrefixFirstChar = this.datePrefix[0]), + (this.registry = Z()), + (this._isLoggedIn = !1), + (this.shouldTryLogin = !0), + (this.initialLogin = !0), + (this.initialLoginAttempts = 3), + (this.sessions = []), + e.disconnected(function () { + r.handleDisconnected(); + }), + this.ping()); + } + return ( + Object.defineProperty(e.prototype, "isLoggedIn", { + get: function () { + return this._isLoggedIn; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.processStringMessage = function (e) { + var t = this, + n = JSON.parse(e, function (e, n) { + if ("string" !== typeof n) return n; + if (n.length < t.dateMinLen) return n; + if (n[0] !== t.datePrefixFirstChar) return n; + if (n.substring(0, t.datePrefixLen) !== t.datePrefix) + return n; + try { + var r = parseInt( + n.substring(t.datePrefixLen, n.length), + 10 + ); + return isNaN(r) ? n : new Date(r); + } catch (i) { + return n; + } + }); + return { msg: n, msgType: n.type }; + }), + (e.prototype.createStringMessage = function (e) { + var t = Date.prototype.toJSON; + try { + var n = this.datePrefix; + return ( + (Date.prototype.toJSON = function () { + return n + this.getTime(); + }), + JSON.stringify(e) + ); + } finally { + Date.prototype.toJSON = t; + } + }), + (e.prototype.processObjectMessage = function (e) { + if (!e.type) + throw new Error("Object should have type property"); + return { msg: e, msgType: e.type }; + }), + (e.prototype.createObjectMessage = function (e) { + return e; + }), + (e.prototype.login = function (e, t) { + return k(this, void 0, void 0, function () { + var n, r, i, o, a, s, c, u, d, l; + return x(this, function (p) { + switch (p.label) { + case 0: + if ( + (this.logger.debug("logging in..."), + (this.loginConfig = e), + this.loginConfig || + (this.loginConfig = { + username: "", + password: "" + }), + (this.shouldTryLogin = !0), + (n = {}), + (this.connection.gatewayToken = + e.gatewayToken), + !e.gatewayToken) + ) + return [3, 5]; + if (!t) return [3, 4]; + p.label = 1; + case 1: + return ( + p.trys.push([1, 3, , 4]), + [4, this.getNewGWToken()] + ); + case 2: + return ( + (u = p.sent()), + (e.gatewayToken = u), + [3, 4] + ); + case 3: + return ( + (r = p.sent()), + this.logger.warn( + "failed to get GW token when reconnecting ".concat( + (null === r || void 0 === r + ? void 0 + : r.message) || r + ) + ), + [3, 4] + ); + case 4: + return ( + (n.method = "gateway-token"), + (n.token = e.gatewayToken), + (this.connection.gatewayToken = + e.gatewayToken), + [3, 10] + ); + case 5: + return "sspi" !== e.flowName + ? [3, 9] + : ((n.provider = "win"), + (n.method = "access-token"), + e.flowCallback && e.sessionId + ? ((i = n), + [ + 4, + e.flowCallback( + e.sessionId, + null + ) + ]) + : [3, 7]); + case 6: + return ( + (i.token = p + .sent() + .data.toString("base64")), + [3, 8] + ); + case 7: + throw new Error("Invalid SSPI config"); + case 8: + return [3, 10]; + case 9: + if (e.token) + ((n.method = "access-token"), + (n.token = e.token)); + else if (e.username) + ((n.method = "secret"), + (n.login = e.username), + (n.secret = e.password)); + else { + if (!e.provider) + throw new Error( + "invalid auth message" + + JSON.stringify(e) + ); + ((n.provider = e.provider), + (n.providerContext = + e.providerContext)); + } + p.label = 10; + case 10: + ((o = { + type: "hello", + identity: this.settings.identity, + authentication: n + }), + e.sessionId && (o.request_id = e.sessionId), + (this.globalDomain = Je( + "global", + this.connection, + this.logger.subLogger("global-domain"), + [ + "welcome", + "token", + "authentication-request" + ] + )), + (a = { skipPeerId: !0 }), + this.initialLogin && + ((a.retryInterval = + this.settings.reconnectInterval), + (a.maxRetries = + this.settings.reconnectAttempts)), + (p.label = 11)); + case 11: + (p.trys.push([11, 19, 20, 21]), + (s = void 0), + (p.label = 12)); + case 12: + return [ + 4, + this.globalDomain.send(o, void 0, a) + ]; + case 13: + return "authentication-request" !== + (c = p.sent()).type + ? [3, 16] + : ((u = Buffer.from( + c.authentication.token, + "base64" + )), + e.flowCallback && e.sessionId + ? ((d = o.authentication), + [4, e.flowCallback(e.sessionId, u)]) + : [3, 15]); + case 14: + ((d.token = p.sent().data.toString("base64")), + (p.label = 15)); + case 15: + return ((o.request_id = e.sessionId), [3, 12]); + case 16: + if ("welcome" === c.type) + return ((s = c), [3, 18]); + throw "error" === c.type + ? new Error( + "Authentication failed: " + c.reason + ) + : new Error( + "Unexpected message type during authentication: " + + c.type + ); + case 17: + return [3, 12]; + case 18: + return ( + (this.initialLogin = !1), + this.logger.debug( + "login successful with peerId " + + s.peer_id + ), + (this.connection.peerId = s.peer_id), + (this.connection.resolvedIdentity = + s.resolved_identity), + (this.connection.availableDomains = + s.available_domains), + s.options && + ((this.connection.token = + s.options.access_token), + (this.connection.info = + s.options.info)), + this.setLoggedIn(!0), + [2, s.resolved_identity] + ); + case 19: + throw ( + (l = p.sent()), + this.logger.error( + "error sending hello message - " + + (l.message || + l.msg || + l.reason || + l), + l + ), + l + ); + case 20: + return ( + e && + e.flowCallback && + e.sessionId && + e.flowCallback(e.sessionId, null), + [7] + ); + case 21: + return [2]; + } + }); + }); + }), + (e.prototype.logout = function () { + return k(this, void 0, void 0, function () { + var e; + return x(this, function (t) { + switch (t.label) { + case 0: + return ( + this.logger.debug("logging out..."), + (this.shouldTryLogin = !1), + this.pingTimer && + clearTimeout(this.pingTimer), + (e = this.sessions.map(function (e) { + e.leave(); + })), + [4, Promise.all(e)] + ); + case 1: + return (t.sent(), [2]); + } + }); + }); + }), + (e.prototype.loggedIn = function (e) { + return ( + this._isLoggedIn && e(), + this.registry.add("onLoggedIn", e) + ); + }), + (e.prototype.domain = function (e, t, n, r) { + var i = this.sessions.filter(function (t) { + return t.domain === e; + })[0]; + return ( + i || + ((i = Je(e, this.connection, t, n, r)), + this.sessions.push(i)), + i + ); + }), + (e.prototype.handleDisconnected = function () { + var e = this; + if ( + (this.setLoggedIn(!1), + this.shouldTryLogin && this.initialLogin) + ) { + if (this.initialLoginAttempts <= 0) return; + this.initialLoginAttempts--; + } + if ( + (this.logger.debug( + "disconnected - will try new login?" + + this.shouldTryLogin + ), + this.shouldTryLogin) + ) { + if (!this.loginConfig) throw new Error("no login info"); + this.connection + .login(this.loginConfig, !0) + .catch(function () { + setTimeout( + e.handleDisconnected.bind(e), + e.settings.reconnectInterval || 1e3 + ); + }); + } + }), + (e.prototype.setLoggedIn = function (e) { + ((this._isLoggedIn = e), + this._isLoggedIn && this.registry.execute("onLoggedIn")); + }), + (e.prototype.ping = function () { + var e = this; + this.shouldTryLogin && + (this._isLoggedIn && this.connection.send({ type: "ping" }), + (this.pingTimer = setTimeout(function () { + e.ping(); + }, 3e4))); + }), + (e.prototype.authToken = function () { + var e = { type: "create-token" }; + return this.globalDomain + ? this.globalDomain.send(e).then(function (e) { + return e.token; + }) + : Promise.reject(new Error("no global domain session")); + }), + (e.prototype.getNewGWToken = function () { + if (void 0 !== typeof window) { + var e = window.glue42gd; + if (e) return e.getGWToken(); + } + return Promise.reject(new Error("not running in GD")); + }), + e + ); + })(), + Qe = (function () { + function e(e) { + ((this.specsNames = []), + (this.messages = {}), + (this.subs = {}), + (this.subsRefCount = {}), + (this.specs = {})); + for (var t = 0, n = e; t < n.length; t++) { + var r = n[t]; + ((this.specs[r.name] = r), this.specsNames.push(r.name)); + } + } + return ( + (e.prototype.init = function (e) { + var t = this; + this.connection = e; + for (var n = 0, r = this.specsNames; n < r.length; n++) + for ( + var i = r[n], + o = function (n) { + var r = a.subsRefCount[n]; + if ( + (r || (r = 0), + (r += 1), + (a.subsRefCount[n] = r), + r > 1) + ) + return "continue"; + var i = e.on(n, function (e) { + return t.processMessage(n, e); + }); + a.subs[n] = i; + }, + a = this, + s = 0, + c = this.specs[i].types; + s < c.length; + s++ + ) + o(c[s]); + }), + (e.prototype.processMessage = function (e, t) { + if (!this.isDone && t) + for (var n = 0, r = this.specsNames; n < r.length; n++) { + var i = r[n]; + if (-1 !== this.specs[i].types.indexOf(e)) { + var o = this.messages[i] || []; + ((this.messages[i] = o), o.push(t)); + } + } + }), + (e.prototype.drain = function (e, t) { + var n; + (t && (this.messages[e] || []).forEach(t), + delete this.messages[e]); + for (var r = 0, i = this.specs[e].types; r < i.length; r++) { + var o = i[r]; + ((this.subsRefCount[o] -= 1), + this.subsRefCount[o] <= 0 && + (null === (n = this.connection) || + void 0 === n || + n.off(this.subs[o]), + delete this.subs[o], + delete this.subsRefCount[o])); + } + (delete this.specs[e], this.specs.length || (this.isDone = !0)); + }), + e + ); + })(), + Xe = function (e, t, n) { + return new Promise(function (r, i) { + var o = setTimeout(function () { + var e = n || "Promise timeout hit: ".concat(t); + i(e); + }, t); + new Promise(e) + .then(function (e) { + (clearTimeout(o), r(e)); + }) + .catch(function (e) { + (clearTimeout(o), i(e)); + }); + }); + }, + Ye = (function () { + function e(e, t, n) { + ((this.settings = e), + (this.logger = t), + (this.identity = n), + (this.iAmConnected = !1), + (this.parentReady = !1), + (this.rejected = !1), + (this.children = []), + (this.extContentAvailable = !1), + (this.extContentConnecting = !1), + (this.extContentConnected = !1), + (this.parentInExtMode = !1), + (this.webNamespace = "g42_core_web"), + (this.parentPingTimeout = 5e3), + (this.connectionRequestTimeout = 7e3), + (this.defaultTargetString = "*"), + (this.registry = Z()), + (this.messages = { + connectionAccepted: { + name: "connectionAccepted", + handle: this.handleConnectionAccepted.bind(this) + }, + connectionRejected: { + name: "connectionRejected", + handle: this.handleConnectionRejected.bind(this) + }, + connectionRequest: { + name: "connectionRequest", + handle: this.handleConnectionRequest.bind(this) + }, + parentReady: { + name: "parentReady", + handle: function () {} + }, + parentPing: { + name: "parentPing", + handle: this.handleParentPing.bind(this) + }, + platformPing: { + name: "platformPing", + handle: this.handlePlatformPing.bind(this) + }, + platformReady: { + name: "platformReady", + handle: this.handlePlatformReady.bind(this) + }, + clientUnload: { + name: "clientUnload", + handle: this.handleClientUnload.bind(this) + }, + manualUnload: { + name: "manualUnload", + handle: this.handleManualUnload.bind(this) + }, + extConnectionResponse: { + name: "extConnectionResponse", + handle: this.handleExtConnectionResponse.bind(this) + }, + extSetupRequest: { + name: "extSetupRequest", + handle: this.handleExtSetupRequest.bind(this) + }, + gatewayDisconnect: { + name: "gatewayDisconnect", + handle: this.handleGatewayDisconnect.bind(this) + }, + gatewayInternalConnect: { + name: "gatewayInternalConnect", + handle: this.handleGatewayInternalConnect.bind(this) + } + }), + (this.extContentAvailable = !!window.glue42ext), + this.setUpMessageListener(), + this.setUpUnload(), + this.setupPlatformUnloadListener(), + (this.parentType = window.name.includes("#wsp") + ? "workspace" + : void 0)); + } + return ( + (e.prototype.manualSetReadyState = function () { + ((this.iAmConnected = !0), (this.parentReady = !0)); + }), + Object.defineProperty(e.prototype, "transportWindowId", { + get: function () { + return this.publicWindowId; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "communicationId", { + get: function () { + return this._communicationId; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.sendObject = function (e) { + return k(this, void 0, void 0, function () { + return x(this, function (t) { + if (this.extContentConnected) + return [ + 2, + window.postMessage( + { glue42ExtOut: e }, + this.defaultTargetString + ) + ]; + if (!this.port) + throw new Error( + "Cannot send message, because the port was not opened yet" + ); + return (this.port.postMessage(e), [2]); + }); + }); + }), + Object.defineProperty(e.prototype, "isObjectBasedTransport", { + get: function () { + return !0; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.onMessage = function (e) { + return this.registry.add("onMessage", e); + }), + (e.prototype.send = function () { + return Promise.reject("not supported"); + }), + (e.prototype.onConnectedChanged = function (e) { + return this.registry.add("onConnectedChanged", e); + }), + (e.prototype.open = function () { + return k(this, void 0, void 0, function () { + return x(this, function (e) { + switch (e.label) { + case 0: + return ( + this.logger.debug( + "opening a connection to the web platform gateway." + ), + [4, this.connect()] + ); + case 1: + return ( + e.sent(), + this.notifyStatusChanged(!0), + [2] + ); + } + }); + }); + }), + (e.prototype.close = function () { + var e, + t, + n = { + glue42core: { + type: this.messages.gatewayDisconnect.name, + data: { + clientId: this.myClientId, + ownWindowId: + null === (e = this.identity) || void 0 === e + ? void 0 + : e.windowId + } + } + }; + return ( + null === (t = this.port) || + void 0 === t || + t.postMessage(n), + (this.parentReady = !1), + this.notifyStatusChanged(!1, "manual reconnection"), + Promise.resolve() + ); + }), + (e.prototype.name = function () { + return "web-platform"; + }), + (e.prototype.reconnect = function () { + return k(this, void 0, void 0, function () { + return x(this, function (e) { + switch (e.label) { + case 0: + return [4, this.close()]; + case 1: + return (e.sent(), [2, Promise.resolve()]); + } + }); + }); + }), + (e.prototype.initiateInternalConnection = function () { + var e = this; + return new Promise(function (t, n) { + (e.logger.debug( + "opening an internal web platform connection" + ), + (e.port = e.settings.port), + e.iAmConnected + ? e.logger.warn( + "cannot open a new connection, because this client is currently connected" + ) + : ((e.port.onmessage = function (r) { + var i, o; + if ( + !e.iAmConnected || + (null === (i = r.data) || void 0 === i + ? void 0 + : i.glue42core) + ) { + var a = + null === (o = r.data) || void 0 === o + ? void 0 + : o.glue42core; + a && + (a.type === + e.messages.gatewayInternalConnect + .name && + a.success && + ((e.publicWindowId = + e.settings.windowId), + e.identity && + e.publicWindowId && + ((e.identity.windowId = + e.publicWindowId), + (e.identity.instance = + e.publicWindowId)), + t()), + a.type === + e.messages.gatewayInternalConnect + .name && + a.error && + n(a.error)); + } else + e.registry.execute("onMessage", r.data); + }), + e.port.postMessage({ + glue42core: { + type: e.messages.gatewayInternalConnect + .name + } + }))); + }); + }), + (e.prototype.initiateRemoteConnection = function (e) { + var t = this; + return Xe( + function (n, r) { + var i; + ((t.connectionResolve = n), + (t.connectionReject = r), + (t.myClientId = + null !== (i = t.myClientId) && void 0 !== i + ? i + : $e())); + var o = t.getMyWindowId() || $e(), + a = { + glue42core: { + type: t.messages.connectionRequest.name, + clientId: t.myClientId, + clientType: "child", + bridgeInstanceId: o, + selfAssignedWindowId: t.selfAssignedWindowId + } + }; + if ( + (t.logger.debug("sending connection request"), + t.extContentConnecting) + ) + return ( + (a.glue42core.clientType = "child"), + (a.glue42core.bridgeInstanceId = t.myClientId), + (a.glue42core.parentWindowId = + t.parentWindowId), + window.postMessage(a, t.defaultTargetString) + ); + if (!e) + throw new Error( + "Cannot send a connection request, because no glue target was specified!" + ); + e.postMessage(a, t.defaultTargetString); + }, + this.connectionRequestTimeout, + "The connection to the target glue window timed out" + ); + }), + (e.prototype.isParentCheckSuccess = function (e) { + return k(this, void 0, void 0, function () { + return x(this, function (t) { + switch (t.label) { + case 0: + return (t.trys.push([0, 2, , 3]), [4, e]); + case 1: + return (t.sent(), [2, { success: !0 }]); + case 2: + return (t.sent(), [2, { success: !1 }]); + case 3: + return [2]; + } + }); + }); + }), + (e.prototype.setUpMessageListener = function () { + var e = this; + this.settings.port + ? this.logger.debug( + "skipping generic message listener, because this is an internal client" + ) + : window.addEventListener("message", function (t) { + var n, + r = + null === (n = t.data) || void 0 === n + ? void 0 + : n.glue42core; + if (r && !e.rejected) + if (e.checkMessageTypeValid(r.type)) { + var i = r.type; + (e.logger.debug( + "received valid glue42core message of type: ".concat( + i + ) + ), + e.messages[i].handle(t)); + } else + e.logger.error( + "cannot handle the incoming glue42 core message, because the type is invalid: ".concat( + r.type + ) + ); + }); + }), + (e.prototype.setUpUnload = function () { + var e = this; + this.settings.port + ? this.logger.debug( + "skipping unload event listener, because this is an internal client" + ) + : window.addEventListener("beforeunload", function () { + var t, n; + if (!e.extContentConnected) { + var r = { + glue42core: { + type: e.messages.clientUnload.name, + data: { + clientId: e.myClientId, + ownWindowId: + null === (t = e.identity) || + void 0 === t + ? void 0 + : t.windowId + } + } + }; + (e.parent && + e.parent.postMessage( + r, + e.defaultTargetString + ), + null === (n = e.port) || + void 0 === n || + n.postMessage(r)); + } + }); + }), + (e.prototype.handlePlatformReady = function (e) { + (this.logger.debug("the web platform gave the ready signal"), + (this.parentReady = !0), + this.parentPingResolve && + (this.parentPingResolve(), + delete this.parentPingResolve), + this.parentPingInterval && + (clearInterval(this.parentPingInterval), + delete this.parentPingInterval), + (this.parent = e.source), + (this.parentType = window.name.includes("#wsp") + ? "workspace" + : "window")); + }), + (e.prototype.handleConnectionAccepted = function (e) { + var t, + n = + null === (t = e.data) || void 0 === t + ? void 0 + : t.glue42core; + return this.myClientId === n.clientId + ? this.handleAcceptanceOfMyRequest(n) + : this.handleAcceptanceOfGrandChildRequest(n, e); + }), + (e.prototype.handleAcceptanceOfMyRequest = function (e) { + var t = this; + if ( + (this.logger.debug( + "handling a connection accepted signal targeted at me." + ), + (this.isPreferredActivated = e.isPreferredActivated), + this.extContentConnecting) + ) + return this.processExtContentConnection(e); + if (e.port) { + if ( + ((this.publicWindowId = this.getMyWindowId()), + this.identity && + ((this.identity.windowId = this.publicWindowId), + (this.identity.instance = this.identity.instance + ? this.identity.instance + : this.publicWindowId || $e())), + this.identity && + e.appName && + ((this.identity.application = e.appName), + (this.identity.applicationName = e.appName)), + (this._communicationId = e.communicationId), + (this.port = e.port), + (this.port.onmessage = function (e) { + return t.registry.execute("onMessage", e.data); + }), + this.connectionResolve) + ) + return ( + this.logger.debug( + "my connection is set up, calling the connection resolve." + ), + this.connectionResolve(), + void delete this.connectionResolve + ); + this.logger.error( + "unable to call the connection resolve, because no connection promise was found" + ); + } else + this.logger.error( + "cannot set up my connection, because I was not provided with a port" + ); + }), + (e.prototype.processExtContentConnection = function (e) { + var t = this; + if ( + (this.logger.debug( + "handling a connection accepted signal targeted at me for extension content connection." + ), + (this.extContentConnecting = !1), + (this.extContentConnected = !0), + (this.publicWindowId = + this.parentWindowId || this.myClientId), + this.extContentConnecting && + this.identity && + (this.identity.windowId = this.publicWindowId), + this.identity && + e.appName && + ((this.identity.application = e.appName), + (this.identity.applicationName = e.appName)), + window.addEventListener("message", function (e) { + var n, + r = + null === (n = e.data) || void 0 === n + ? void 0 + : n.glue42ExtInc; + r && t.registry.execute("onMessage", r); + }), + this.connectionResolve) + ) + return ( + this.logger.debug( + "my connection is set up, calling the connection resolve." + ), + this.connectionResolve(), + void delete this.connectionResolve + ); + }), + (e.prototype.handleAcceptanceOfGrandChildRequest = function (e, t) { + if (this.extContentConnecting || this.extContentConnected) + this.logger.debug( + "cannot process acceptance of a grandchild, because I am connected to a content script" + ); + else { + this.logger.debug( + "handling a connection accepted signal targeted at a grandchild: ".concat( + e.clientId + ) + ); + var n = this.children.find(function (t) { + return t.grandChildId === e.clientId; + }); + n + ? ((n.connected = !0), + this.logger.debug( + "the grandchild connection for ".concat( + e.clientId, + " is set up, forwarding the success message and the gateway port" + ) + ), + (e.parentWindowId = this.publicWindowId), + n.source.postMessage(t.data, n.origin, [e.port])) + : this.logger.error( + "cannot handle connection accepted for grandchild: ".concat( + e.clientId, + ", because there is no grandchild with this id" + ) + ); + } + }), + (e.prototype.handleConnectionRejected = function () { + (this.logger.debug( + "handling a connection rejection. Most likely the reason is that this window was not created by a glue API call" + ), + this.connectionReject && + (this.connectionReject( + "The platform connection was rejected. Most likely because this window was not created by a glue API call" + ), + delete this.connectionReject)); + }), + (e.prototype.handleConnectionRequest = function (e) { + if (this.extContentConnecting) + this.logger.debug( + "This connection request event is targeted at the extension content" + ); + else { + var t = e.source, + n = e.data.glue42core; + if (!n.clientType || "grandChild" !== n.clientType) + return this.rejectConnectionRequest( + t, + e.origin, + "rejecting a connection request, because the source was not opened by a glue API call" + ); + if (!n.clientId) + return this.rejectConnectionRequest( + t, + e.origin, + "rejecting a connection request, because the source did not provide a valid id" + ); + if (!this.parent) + return this.rejectConnectionRequest( + t, + e.origin, + "Cannot forward the connection request, because no direct connection to the platform was found" + ); + (this.logger.debug( + "handling a connection request for a grandchild: ".concat( + n.clientId + ) + ), + this.children.push({ + grandChildId: n.clientId, + source: t, + connected: !1, + origin: e.origin + }), + this.logger.debug( + "grandchild: ".concat( + n.clientId, + " is prepared, forwarding connection request to the platform" + ) + ), + this.parent.postMessage( + e.data, + this.defaultTargetString + )); + } + }), + (e.prototype.handleParentPing = function (e) { + if (this.parentReady) + if (this.iAmConnected) { + var t = { + glue42core: { + type: this.messages.parentReady.name + } + }; + this.extContentConnected && + (t.glue42core.extMode = { + windowId: this.myClientId + }); + var n = e.source; + (this.logger.debug( + "responding to a parent ping with a ready message" + ), + n.postMessage(t, e.origin)); + } else + this.logger.debug( + "i am not fully connected yet, I am ignoring the parent ping" + ); + else + this.logger.debug( + "my parent is not ready, I am ignoring the parent ping" + ); + }), + (e.prototype.setupPlatformUnloadListener = function () { + var e = this; + this.onMessage(function (t) { + "platformUnload" === t.type && + (e.logger.debug("detected a web platform unload"), + (e.parentReady = !1), + e.notifyStatusChanged(!1, "Gateway unloaded")); + }); + }), + (e.prototype.handleManualUnload = function () { + var e, + t, + n = { + glue42core: { + type: this.messages.clientUnload.name, + data: { + clientId: this.myClientId, + ownWindowId: + null === (e = this.identity) || void 0 === e + ? void 0 + : e.windowId + } + } + }; + if (this.extContentConnected) + return window.postMessage( + { glue42ExtOut: n }, + this.defaultTargetString + ); + null === (t = this.port) || void 0 === t || t.postMessage(n); + }), + (e.prototype.handleClientUnload = function (e) { + var t = e.data.glue42core, + n = null === t || void 0 === t ? void 0 : t.data.clientId; + n + ? this.children.find(function (e) { + return e.grandChildId === n; + }) + ? (this.logger.debug( + "handling grandchild unload for id: ".concat(n) + ), + (this.children = this.children.filter(function (e) { + return e.grandChildId !== n; + }))) + : this.logger.warn( + "cannot process grand child unload, because this client is unaware of this grandchild" + ) + : this.logger.warn( + "cannot process grand child unload, because the provided id was not valid" + ); + }), + (e.prototype.handlePlatformPing = function () {}), + (e.prototype.notifyStatusChanged = function (e, t) { + ((this.iAmConnected = e), + this.registry.execute("onConnectedChanged", e, t)); + }), + (e.prototype.checkMessageTypeValid = function (e) { + return "string" === typeof e && !!this.messages[e]; + }), + (e.prototype.rejectConnectionRequest = function (e, t, n) { + ((this.rejected = !0), this.logger.error(n)); + var r = { + glue42core: { type: this.messages.connectionRejected.name } + }; + e.postMessage(r, t); + }), + (e.prototype.requestConnectionPermissionFromExt = function () { + var e = this; + return this.waitForContentScript().then(function () { + return Xe( + function (t, n) { + ((e.extConnectionResolve = t), + (e.extConnectionReject = n)); + var r = { glue42core: { type: "extSetupRequest" } }; + (e.logger.debug( + "permission request to the extension content script was sent" + ), + window.postMessage(r, e.defaultTargetString)); + }, + e.parentPingTimeout, + "Cannot initialize glue, because this app was not opened or created by a Glue Client and the request for extension connection timed out" + ); + }); + }), + (e.prototype.handleExtConnectionResponse = function (e) { + var t; + if ( + !( + null === (t = e.data) || void 0 === t + ? void 0 + : t.glue42core + ).approved + ) + return this.extConnectionReject + ? this.extConnectionReject( + "Cannot initialize glue, because this app was not opened or created by a Glue Client and the request for extension connection was rejected" + ) + : void 0; + (this.extConnectionResolve && + (this.extConnectionResolve(), + delete this.extConnectionResolve), + (this.extContentConnecting = !0), + (this.parentType = "extension"), + this.logger.debug( + "The extension connection was approved, proceeding." + )); + }), + (e.prototype.handleExtSetupRequest = function () {}), + (e.prototype.handleGatewayDisconnect = function () {}), + (e.prototype.handleGatewayInternalConnect = function () {}), + (e.prototype.waitForContentScript = function () { + var e; + return ( + null === (e = window.glue42ext) || void 0 === e + ? void 0 + : e.content + ) + ? Promise.resolve() + : Xe( + function (e) { + window.addEventListener( + "Glue42EXTReady", + function () { + e(); + } + ); + }, + this.connectionRequestTimeout, + "The content script was available, but was never heard to be ready" + ); + }), + (e.prototype.connect = function () { + return k(this, void 0, void 0, function () { + return x(this, function (e) { + switch (e.label) { + case 0: + return this.settings.port + ? [4, this.initiateInternalConnection()] + : [3, 2]; + case 1: + return ( + e.sent(), + this.logger.debug( + "internal web platform connection completed" + ), + [2] + ); + case 2: + return ( + this.logger.debug( + "opening a client web platform connection" + ), + [4, this.findParent()] + ); + case 3: + return ( + e.sent(), + [ + 4, + this.initiateRemoteConnection( + this.parent + ) + ] + ); + case 4: + return ( + e.sent(), + this.logger.debug( + "the client is connected" + ), + [2] + ); + } + }); + }); + }), + (e.prototype.findParent = function () { + var e; + return k(this, void 0, void 0, function () { + var t, n, r, i; + return x(this, function (o) { + switch (o.label) { + case 0: + if ( + ((t = + "Cannot initiate glue, because this window was not opened or created by a glue client"), + (n = + this.getPossibleParentsInWindow( + window + )), + (r = this.getPossibleParentsOutsideWindow( + null === (e = window.top) || + void 0 === e + ? void 0 + : e.opener, + window.top + )), + !(i = new Set(_(_([], n, !0), r, !0))) + .size && !this.extContentAvailable) + ) + throw new Error(t); + return i.size || !this.extContentAvailable + ? [3, 2] + : [ + 4, + this.requestConnectionPermissionFromExt() + ]; + case 1: + case 4: + return (o.sent(), [2]); + case 2: + return [ + 4, + this.isParentCheckSuccess( + this.confirmParent(Array.from(i)) + ) + ]; + case 3: + if (o.sent().success) + return ( + this.logger.debug( + "The default parent was found!" + ), + [2] + ); + if (!this.extContentAvailable) + throw new Error(t); + return [ + 4, + this.requestConnectionPermissionFromExt() + ]; + } + }); + }); + }), + (e.prototype.getPossibleParentsInWindow = function (e) { + return e && e !== e.top + ? _( + [e.parent], + this.getPossibleParentsInWindow(e.parent), + !0 + ) + : []; + }), + (e.prototype.getPossibleParentsOutsideWindow = function (e, t) { + return e && t && e !== t + ? _( + _([e], this.getPossibleParentsInWindow(e), !0), + this.getPossibleParentsOutsideWindow(e.opener, e), + !0 + ) + : []; + }), + (e.prototype.confirmParent = function (e) { + var t = this, + n = + "Cannot initiate glue, because this window was not opened or created by a glue client", + r = Xe( + function (n) { + t.parentPingResolve = n; + var r = { + glue42core: { + type: t.messages.platformPing.name + } + }; + t.parentPingInterval = setInterval(function () { + e.forEach(function (e) { + e.postMessage(r, t.defaultTargetString); + }); + }, 1e3); + }, + this.parentPingTimeout, + n + ); + return ( + r.catch(function () { + t.parentPingInterval && + (clearInterval(t.parentPingInterval), + delete t.parentPingInterval); + }), + r + ); + }), + (e.prototype.getMyWindowId = function () { + var e; + return "workspace" === this.parentType + ? window.name.substring(0, window.name.indexOf("#wsp")) + : window === window.top + ? ( + null === (e = window.name) || void 0 === e + ? void 0 + : e.includes("g42") + ) + ? window.name + : ((this.selfAssignedWindowId = + this.selfAssignedWindowId || + "g42-".concat($e())), + this.selfAssignedWindowId) + : void 0; + }), + e + ); + })(), + Ze = function (e, t) { + var n = e; + return function () { + 0 === --n && t(); + }; + }, + et = (function () { + function e(e) { + (void 0 === e && (e = 0), + (this.minSequenceInterval = e), + (this.queue = []), + (this.isExecutingQueue = !1)); + } + return ( + (e.prototype.enqueue = function (e) { + var t = this; + return new Promise(function (n, r) { + (t.queue.push({ action: e, resolve: n, reject: r }), + t.executeQueue()); + }); + }), + (e.prototype.executeQueue = function () { + return k(this, void 0, void 0, function () { + var e, t, n; + return x(this, function (r) { + switch (r.label) { + case 0: + if (this.isExecutingQueue) return [2]; + ((this.isExecutingQueue = !0), (r.label = 1)); + case 1: + if (!this.queue.length) return [3, 7]; + if (!(e = this.queue.shift())) + return ((this.isExecutingQueue = !1), [2]); + r.label = 2; + case 2: + return ( + r.trys.push([2, 4, , 5]), + [4, e.action()] + ); + case 3: + return ((t = r.sent()), e.resolve(t), [3, 5]); + case 4: + return ((n = r.sent()), e.reject(n), [3, 5]); + case 5: + return [4, this.intervalBreak()]; + case 6: + return (r.sent(), [3, 1]); + case 7: + return ((this.isExecutingQueue = !1), [2]); + } + }); + }); + }), + (e.prototype.intervalBreak = function () { + var e = this; + return new Promise(function (t) { + return setTimeout(t, e.minSequenceInterval); + }); + }), + e + ); + })(), + tt = (function () { + function e(e, t) { + if ( + ((this.settings = e), + (this.logger = t), + (this.messageHandlers = {}), + (this.ids = 1), + (this.registry = Z()), + (this._connected = !1), + (this.isTrace = !1), + (this._swapTransport = !1), + (this._switchInProgress = !1), + (this._transportSubscriptions = []), + (this._sequelizer = new et()), + ((e = e || {}).reconnectAttempts = e.reconnectAttempts || 10), + (e.reconnectInterval = e.reconnectInterval || 1e3), + e.inproc) + ) + this.transport = new ee(e.inproc, t.subLogger("inMemory")); + else if (e.sharedWorker) + this.transport = new te( + e.sharedWorker, + t.subLogger("shared-worker") + ); + else if (e.webPlatform) + this.transport = new Ye( + e.webPlatform, + t.subLogger("web-platform"), + e.identity + ); + else { + if (void 0 === e.ws) + throw new Error("No connection information specified"); + this.transport = new ce(e, t.subLogger("ws")); + } + ((this.isTrace = t.canPublish("trace")), + t.debug( + "starting with ".concat(this.transport.name(), " transport") + ), + (this.protocol = new Ke(this, e, t.subLogger("protocol")))); + var n = this.transport.onConnectedChanged( + this.handleConnectionChanged.bind(this) + ), + r = this.transport.onMessage( + this.handleTransportMessage.bind(this) + ); + (this._transportSubscriptions.push(n), + this._transportSubscriptions.push(r), + (this._defaultTransport = this.transport)); + } + return ( + Object.defineProperty(e.prototype, "protocolVersion", { + get: function () { + var e; + return null === (e = this.protocol) || void 0 === e + ? void 0 + : e.protocolVersion; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.switchTransport = function (e) { + return k(this, void 0, void 0, function () { + var t = this; + return x(this, function (n) { + return [ + 2, + this._sequelizer.enqueue(function () { + return k(t, void 0, void 0, function () { + var t, n, r; + return x(this, function (i) { + switch (i.label) { + case 0: + if (!e || "object" !== typeof e) + throw new Error( + "Cannot switch transports, because the settings are missing or invalid." + ); + if ( + "undefined" === + typeof e.type + ) + throw new Error( + "Cannot switch the transport, because the type is not defined" + ); + return ( + this.logger.trace( + "Starting transport switch with settings: ".concat( + JSON.stringify(e) + ) + ), + (t = + "secondary" === e.type + ? this.getNewSecondaryTransport( + e + ) + : this + ._defaultTransport), + (this._targetTransport = t), + (this._targetAuth = + "secondary" === e.type + ? this.getNewSecondaryAuth( + e + ) + : this + ._defaultAuth), + (n = + this.verifyConnection()), + (this._swapTransport = !0), + (this._switchInProgress = + !0), + this.logger.trace( + "The new transport has been set, closing the current transport" + ), + [4, this.transport.close()] + ); + case 1: + (i.sent(), (i.label = 2)); + case 2: + return ( + i.trys.push([2, 4, , 5]), + [4, n] + ); + case 3: + return ( + i.sent(), + (r = this.transport === t), + this.logger.info( + "The reconnection after the switch was completed. Was the switch a success: ".concat( + r + ) + ), + (this._switchInProgress = + !1), + [2, { success: r }] + ); + case 4: + return ( + i.sent(), + this.logger.info( + "The reconnection after the switch timed out, reverting back to the default transport." + ), + this.switchTransport({ + type: "default" + }), + (this._switchInProgress = + !1), + [2, { success: !1 }] + ); + case 5: + return [2]; + } + }); + }); + }) + ]; + }); + }); + }), + (e.prototype.onLibReAnnounced = function (e) { + return this.registry.add("libReAnnounced", e); + }), + (e.prototype.setLibReAnnounced = function (e) { + this.registry.execute("libReAnnounced", e); + }), + (e.prototype.send = function (e, t) { + if ( + this.transport.sendObject && + this.transport.isObjectBasedTransport + ) { + var n = this.protocol.createObjectMessage(e); + return ( + this.isTrace && + this.logger.trace(">> ".concat(JSON.stringify(n))), + this.transport.sendObject(n, t) + ); + } + var r = this.protocol.createStringMessage(e); + return ( + this.isTrace && this.logger.trace(">> ".concat(r)), + this.transport.send(r, t) + ); + }), + (e.prototype.on = function (e, t) { + ((e = e.toLowerCase()), + void 0 === this.messageHandlers[e] && + (this.messageHandlers[e] = {})); + var n = this.ids++; + return ((this.messageHandlers[e][n] = t), { type: e, id: n }); + }), + (e.prototype.off = function (e) { + delete this.messageHandlers[e.type.toLowerCase()][e.id]; + }), + Object.defineProperty(e.prototype, "isConnected", { + get: function () { + return this.protocol.isLoggedIn; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.connected = function (e) { + var t = this; + return this.protocol.loggedIn(function () { + var n = t.transport.name(); + e(n); + }); + }), + (e.prototype.disconnected = function (e) { + return this.registry.add("disconnected", e); + }), + (e.prototype.login = function (e, t) { + return k(this, void 0, void 0, function () { + var n, r, i; + return x(this, function (o) { + switch (o.label) { + case 0: + (this._defaultAuth || (this._defaultAuth = e), + this._swapTransport && + (this.logger.trace( + "Detected a transport swap, swapping transports" + ), + (n = this.transportSwap()), + (e = + null !== n && void 0 !== n + ? n + : e)), + this.logger.trace( + "Starting login for transport: " + .concat( + this.transport.name(), + " and auth " + ) + .concat(JSON.stringify(e)) + ), + (o.label = 1)); + case 1: + return ( + o.trys.push([1, 4, , 5]), + [4, this.transport.open()] + ); + case 2: + return ( + o.sent(), + this.logger.trace( + "Transport: ".concat( + this.transport.name(), + " opened, logging in" + ) + ), + ae("connection").mark("transport-opened"), + [4, this.protocol.login(e, t)] + ); + case 3: + return ( + (r = o.sent()), + this.logger.trace( + "Logged in with identity: ".concat( + JSON.stringify(r) + ) + ), + ae("connection").mark("protocol-logged-in"), + [2, r] + ); + case 4: + throw ( + (i = o.sent()), + this._switchInProgress && + (this.logger.trace( + "An error while logging in after a transport swap, preparing a default swap." + ), + this.prepareDefaultSwap()), + new Error(i) + ); + case 5: + return [2]; + } + }); + }); + }), + (e.prototype.logout = function () { + return k(this, void 0, void 0, function () { + return x(this, function (e) { + switch (e.label) { + case 0: + return [4, this.protocol.logout()]; + case 1: + return (e.sent(), [4, this.transport.close()]); + case 2: + return (e.sent(), [2]); + } + }); + }); + }), + (e.prototype.loggedIn = function (e) { + return this.protocol.loggedIn(e); + }), + (e.prototype.domain = function (e, t, n) { + return this.protocol.domain( + e, + this.logger.subLogger("domain=".concat(e)), + t, + n + ); + }), + (e.prototype.authToken = function () { + return this.protocol.authToken(); + }), + (e.prototype.reconnect = function () { + return this.transport.reconnect(); + }), + (e.prototype.distributeMessage = function (e, t) { + var n = this, + r = this.messageHandlers[t.toLowerCase()]; + void 0 !== r && + Object.keys(r).forEach(function (t) { + var i = r[t]; + if (void 0 !== i) + try { + i(e); + } catch (o) { + try { + n.logger.error( + "Message handler failed with ".concat( + o.stack + ), + o + ); + } catch (a) { + console.log("Message handler failed", o); + } + } + }); + }), + (e.prototype.handleConnectionChanged = function (e) { + this._connected !== e && + ((this._connected = e), + e + ? (this.settings.replaySpecs && + this.settings.replaySpecs.length && + ((this.replayer = new Qe( + this.settings.replaySpecs + )), + this.replayer.init(this)), + this.registry.execute("connected")) + : this.registry.execute("disconnected")); + }), + (e.prototype.handleTransportMessage = function (e) { + var t; + ((t = + "string" === typeof e + ? this.protocol.processStringMessage(e) + : this.protocol.processObjectMessage(e)), + this.isTrace && + this.logger.trace("<< ".concat(JSON.stringify(t))), + this.distributeMessage(t.msg, t.msgType)); + }), + (e.prototype.verifyConnection = function () { + var e = this; + return Xe( + function (t) { + var n, + r = Ze(2, function () { + (n && n(), t()); + }); + n = e.onLibReAnnounced(function (e) { + return "interop" === e.name || "contexts" === e.name + ? r() + : void 0; + }); + }, + 1e4, + "Transport switch timed out waiting for all libraries to be re-announced" + ); + }), + (e.prototype.getNewSecondaryTransport = function (e) { + var t; + if ( + !(null === (t = e.transportConfig) || void 0 === t + ? void 0 + : t.url) + ) + throw new Error("Missing secondary transport URL."); + return new ce( + Object.assign({}, this.settings, { + ws: e.transportConfig.url, + reconnectAttempts: 1 + }), + this.logger.subLogger("ws-secondary") + ); + }), + (e.prototype.getNewSecondaryAuth = function (e) { + var t; + if ( + !(null === (t = e.transportConfig) || void 0 === t + ? void 0 + : t.auth) + ) + throw new Error( + "Missing secondary transport auth information." + ); + return e.transportConfig.auth; + }), + (e.prototype.transportSwap = function () { + if ( + ((this._swapTransport = !1), + this._targetTransport && this._targetAuth) + ) { + (this._transportSubscriptions.forEach(function (e) { + return e(); + }), + (this._transportSubscriptions = []), + (this.transport = this._targetTransport)); + var e = this.transport.onConnectedChanged( + this.handleConnectionChanged.bind(this) + ), + t = this.transport.onMessage( + this.handleTransportMessage.bind(this) + ); + return ( + this._transportSubscriptions.push(e), + this._transportSubscriptions.push(t), + this._targetAuth + ); + } + this.logger.warn( + "Error while switching transports - either the target transport or auth is not defined: transport defined -> " + .concat(!!this._defaultTransport, ", auth defined -> ") + .concat( + !!this._targetAuth, + ". Staying on the current one." + ) + ); + }), + (e.prototype.prepareDefaultSwap = function () { + var e = this; + (this._transportSubscriptions.forEach(function (e) { + return e(); + }), + (this._transportSubscriptions = []), + this.transport.close().catch(function (t) { + return e.logger.warn( + "Error closing the " + .concat( + e.transport.name(), + " transport after a failed connection attempt: " + ) + .concat(JSON.stringify(t)) + ); + }), + (this._targetTransport = this._defaultTransport), + (this._targetAuth = this._defaultAuth), + (this._swapTransport = !0)); + }), + e + ); + })(), + nt = ["trace", "debug", "info", "warn", "error", "off"], + rt = (function () { + function e(e, t, n) { + ((this.name = e), + (this.parent = t), + (this.subLoggers = []), + (this.logFn = console), + (this.customLogFn = !1), + (this.name = e), + (this.path = t ? "".concat(t.path, ".").concat(e) : e), + (this.loggerFullName = "[".concat(this.path, "]")), + (this.includeTimeAndLevel = !n), + n && ((this.logFn = n), (this.customLogFn = !0))); + } + return ( + (e.prototype.subLogger = function (t) { + var n = this.subLoggers.filter(function (e) { + return e.name === t; + })[0]; + if (void 0 !== n) return n; + Object.keys(this).forEach(function (e) { + if (e === t) + throw new Error("This sub logger name is not allowed."); + }); + var r = new e(t, this, this.customLogFn ? this.logFn : void 0); + return (this.subLoggers.push(r), r); + }), + (e.prototype.publishLevel = function (e) { + var t; + return ( + e && (this._publishLevel = e), + this._publishLevel || + (null === (t = this.parent) || void 0 === t + ? void 0 + : t.publishLevel()) + ); + }), + (e.prototype.consoleLevel = function (e) { + var t; + return ( + e && (this._consoleLevel = e), + this._consoleLevel || + (null === (t = this.parent) || void 0 === t + ? void 0 + : t.consoleLevel()) + ); + }), + (e.prototype.log = function (e, t, n) { + this.publishMessage(t || "info", e, n); + }), + (e.prototype.trace = function (e) { + this.log(e, "trace"); + }), + (e.prototype.debug = function (e) { + this.log(e, "debug"); + }), + (e.prototype.info = function (e) { + this.log(e, "info"); + }), + (e.prototype.warn = function (e) { + this.log(e, "warn"); + }), + (e.prototype.error = function (e, t) { + this.log(e, "error"); + }), + (e.prototype.canPublish = function (e, t) { + return ( + nt.indexOf(e) >= + nt.indexOf(t || this.consoleLevel() || "trace") + ); + }), + (e.prototype.publishMessage = function (t, n, r) { + var i = this.loggerFullName; + if ("error" === t && !r) { + var o = new Error(); + o.stack && + (n = + n + "\n" + o.stack.split("\n").slice(3).join("\n")); + } + if (this.canPublish(t, this.publishLevel())) { + var a = e.Interop; + if (a) + try { + a.methods({ name: e.InteropMethodName }).length > + 0 && + a.invoke(e.InteropMethodName, { + msg: "".concat(n), + logger: i, + level: t + }); + } catch (ba) {} + } + if (this.canPublish(t)) { + var s = ""; + if (this.includeTimeAndLevel) { + var c = new Date(), + u = "" + .concat(c.getHours(), ":") + .concat(c.getMinutes(), ":") + .concat(c.getSeconds(), ":") + .concat(c.getMilliseconds()); + s = "[".concat(u, "] [").concat(t, "] "); + } + var d = "".concat(s).concat(i, ": ").concat(n); + switch (t) { + case "trace": + this.logFn.debug(d); + break; + case "debug": + this.logFn.debug + ? this.logFn.debug(d) + : this.logFn.log(d); + break; + case "info": + this.logFn.info(d); + break; + case "warn": + this.logFn.warn(d); + break; + case "error": + this.logFn.error(d, r); + } + } + }), + (e.InteropMethodName = "T42.AppLogger.Log"), + e + ); + })(), + it = "create-context", + ot = "created", + at = "destroyed", + st = "context-created", + ct = "context-added", + ut = "subscribe-context", + dt = "subscribed-context", + lt = "unsubscribe-context", + pt = "destroy-context", + ht = "context-destroyed", + ft = "update-context", + vt = "context-updated", + mt = "joined", + gt = { + get name() { + return "context"; + }, + get types() { + return [it, ot, at, st, ct, ut, dt, lt, pt, ht, ft, vt, mt]; + } + }, + yt = "6.0.2"; + function wt(e, t, n) { + var r, i, o, a, s; + if (ne.isNode()) { + var c = { + NODE_ENV: "production", + PUBLIC_URL: ".", + WDS_SOCKET_HOST: void 0, + WDS_SOCKET_PATH: void 0, + WDS_SOCKET_PORT: void 0, + FAST_REFRESH: !0 + }._GD_STARTING_CONTEXT_; + if (c) + try { + s = JSON.parse(c); + } catch (y) {} + } + function u() { + var r, + i, + o, + a, + c, + u, + d, + p, + h, + f, + v, + m = e.gateway, + g = + null !== + (r = + null === m || void 0 === m + ? void 0 + : m.protocolVersion) && void 0 !== r + ? r + : 3, + y = null === m || void 0 === m ? void 0 : m.reconnectInterval, + w = null === m || void 0 === m ? void 0 : m.reconnectAttempts, + b = "ws://localhost:8385", + k = null === m || void 0 === m ? void 0 : m.ws, + x = null === m || void 0 === m ? void 0 : m.sharedWorker, + _ = null === m || void 0 === m ? void 0 : m.inproc, + C = + null !== + (i = null === m || void 0 === m ? void 0 : m.webPlatform) && + void 0 !== i + ? i + : void 0; + (n && (k = n.gwURL), + ne.isNode() && s && s.gwURL && (k = s.gwURL), + k || x || _ || (k = b)); + var I = l(), + S = I; + "undefined" !== typeof n + ? ((p = n.windowId), + (h = n.pid), + n.env && ((f = n.env.env), (v = n.env.region)), + (S = + null !== (o = n.application) && void 0 !== o + ? o + : "glue-app"), + (d = n.appInstanceId)) + : ne.isNode() + ? ((h = process.pid), + s && ((f = s.env), (v = s.region), (d = s.instanceId))) + : "undefined" !== + typeof (null === window || void 0 === window + ? void 0 + : window.glue42electron) && + ((p = + null === window || void 0 === window + ? void 0 + : window.glue42electron.instanceId), + (h = + null === window || void 0 === window + ? void 0 + : window.glue42electron.pid), + (f = + null === window || void 0 === window + ? void 0 + : window.glue42electron.env), + (v = + null === window || void 0 === window + ? void 0 + : window.glue42electron.region), + (S = + null !== + (a = + null === window || void 0 === window + ? void 0 + : window.glue42electron.application) && + void 0 !== a + ? a + : "glue-app"), + (d = + null === window || void 0 === window + ? void 0 + : window.glue42electron.instanceId)); + var E = + null !== + (u = + null === (c = e.gateway) || void 0 === c + ? void 0 + : c.replaySpecs) && void 0 !== u + ? u + : []; + E.push(gt); + var W = { + application: S, + applicationName: I, + windowId: p, + instance: d, + process: h, + region: v, + environment: f, + api: t.version || yt + }; + return ( + e.identity && (W = Object.assign(W, e.identity)), + { + identity: W, + reconnectInterval: y, + ws: k, + sharedWorker: x, + webPlatform: C, + inproc: _, + protocolVersion: g, + reconnectAttempts: w, + replaySpecs: E + } + ); + } + function d() { + return "undefined" === typeof e.contexts || + ("boolean" === typeof e.contexts && e.contexts) + ? { reAnnounceKnownContexts: !0 } + : "object" === typeof e.contexts && + Object.assign( + {}, + { reAnnounceKnownContexts: !0 }, + e.contexts + ); + } + function l() { + if (e.application) return e.application; + if (n) return n.applicationName; + if ( + "undefined" !== typeof window && + "undefined" !== typeof window.glue42electron + ) + return window.glue42electron.application; + var t = $e(); + return ne.isNode() + ? s + ? s.applicationConfig.name + : "NodeJS" + t + : "undefined" !== typeof window && "undefined" !== typeof document + ? document.title + " (".concat(t, ")") + : t; + } + function p() { + var t, n, r; + return "string" === typeof e.auth + ? { token: e.auth } + : e.auth + ? e.auth + : ne.isNode() && s && s.gwToken + ? { gatewayToken: s.gwToken } + : (null === (t = e.gateway) || void 0 === t + ? void 0 + : t.webPlatform) || + (null === (n = e.gateway) || void 0 === n + ? void 0 + : n.inproc) || + (null === (r = e.gateway) || void 0 === r + ? void 0 + : r.sharedWorker) + ? { username: "glue42", password: "glue42" } + : void 0; + } + function h() { + var t, + r, + i, + o = e.logger, + a = "warn"; + return ( + o || (o = a), + n && (i = n.consoleLogLevel), + "string" === typeof o + ? { console: null !== i && void 0 !== i ? i : o, publish: a } + : { + console: + null !== + (t = + null !== i && void 0 !== i ? i : o.console) && + void 0 !== t + ? t + : a, + publish: null !== (r = o.publish) && void 0 !== r ? r : a + } + ); + } + var f = u(), + v = l(); + if ("undefined" !== typeof window) { + var m = window, + g = m.htmlContainer + ? "" + .concat(m.htmlContainer.containerName, ".") + .concat(m.htmlContainer.application) + : null === + (r = + null === m || void 0 === m ? void 0 : m.glue42gd) || + void 0 === r + ? void 0 + : r.application; + g && (v = g); + } + return { + bus: null !== (i = e.bus) && void 0 !== i && i, + application: v, + auth: p(), + logger: h(), + connection: f, + metrics: null === (o = e.metrics) || void 0 === o || o, + contexts: d(), + version: t.version || yt, + libs: null !== (a = t.libs) && void 0 !== a ? a : [], + customLogger: e.customLogger + }; + } + var bt = (function () { + function e(e, t, n, r) { + ((this.updateCallbacks = {}), + (this.contextId = e), + (this.name = t), + (this.isAnnounced = n), + (this.activityId = r), + (this.context = {})); + } + return ( + (e.prototype.hasCallbacks = function () { + return Object.keys(this.updateCallbacks).length > 0; + }), + (e.prototype.getState = function () { + return this.isAnnounced && this.hasCallbacks() + ? 3 + : this.isAnnounced + ? 2 + : this.hasCallbacks() + ? 1 + : 0; + }), + e + ); + })(), + kt = {}; + !(function (e, t) { + var n = 200, + r = "__lodash_hash_undefined__", + i = 9007199254740991, + o = "[object Arguments]", + a = "[object Array]", + s = "[object Boolean]", + c = "[object Date]", + u = "[object Error]", + d = "[object Function]", + l = "[object GeneratorFunction]", + p = "[object Map]", + h = "[object Number]", + f = "[object Object]", + v = "[object Promise]", + m = "[object RegExp]", + g = "[object Set]", + y = "[object String]", + w = "[object Symbol]", + b = "[object WeakMap]", + k = "[object ArrayBuffer]", + x = "[object DataView]", + _ = "[object Float32Array]", + C = "[object Float64Array]", + I = "[object Int8Array]", + S = "[object Int16Array]", + E = "[object Int32Array]", + W = "[object Uint8Array]", + T = "[object Uint8ClampedArray]", + A = "[object Uint16Array]", + P = "[object Uint32Array]", + M = /[\\^$.*+?()[\]{}|]/g, + R = /\w*$/, + O = /^\[object .+?Constructor\]$/, + D = /^(?:0|[1-9]\d*)$/, + L = {}; + ((L[o] = + L[a] = + L[k] = + L[x] = + L[s] = + L[c] = + L[_] = + L[C] = + L[I] = + L[S] = + L[E] = + L[p] = + L[h] = + L[f] = + L[m] = + L[g] = + L[y] = + L[w] = + L[W] = + L[T] = + L[A] = + L[P] = + !0), + (L[u] = L[d] = L[b] = !1)); + var B = "object" == typeof Q && Q && Q.Object === Object && Q, + N = "object" == typeof self && self && self.Object === Object && self, + F = B || N || Function("return this")(), + j = t && !t.nodeType && t, + H = j && e && !e.nodeType && e, + z = H && H.exports === j; + function q(e, t) { + return (e.set(t[0], t[1]), e); + } + function G(e, t) { + return (e.add(t), e); + } + function U(e, t) { + for ( + var n = -1, r = e ? e.length : 0; + ++n < r && !1 !== t(e[n], n, e); + + ); + return e; + } + function V(e, t) { + for (var n = -1, r = t.length, i = e.length; ++n < r; ) e[i + n] = t[n]; + return e; + } + function $(e, t, n, r) { + var i = -1, + o = e ? e.length : 0; + for (r && o && (n = e[++i]); ++i < o; ) n = t(n, e[i], i, e); + return n; + } + function J(e, t) { + for (var n = -1, r = Array(e); ++n < e; ) r[n] = t(n); + return r; + } + function K(e, t) { + return null == e ? void 0 : e[t]; + } + function X(e) { + var t = !1; + if (null != e && "function" != typeof e.toString) + try { + t = !!(e + ""); + } catch (n) {} + return t; + } + function Y(e) { + var t = -1, + n = Array(e.size); + return ( + e.forEach(function (e, r) { + n[++t] = [r, e]; + }), + n + ); + } + function Z(e, t) { + return function (n) { + return e(t(n)); + }; + } + function ee(e) { + var t = -1, + n = Array(e.size); + return ( + e.forEach(function (e) { + n[++t] = e; + }), + n + ); + } + var te = Array.prototype, + ne = Function.prototype, + re = Object.prototype, + ie = F["__core-js_shared__"], + oe = (function () { + var e = /[^.]+$/.exec((ie && ie.keys && ie.keys.IE_PROTO) || ""); + return e ? "Symbol(src)_1." + e : ""; + })(), + ae = ne.toString, + se = re.hasOwnProperty, + ce = re.toString, + ue = RegExp( + "^" + + ae + .call(se) + .replace(M, "\\$&") + .replace( + /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, + "$1.*?" + ) + + "$" + ), + de = z ? F.Buffer : void 0, + le = F.Symbol, + pe = F.Uint8Array, + he = Z(Object.getPrototypeOf, Object), + fe = Object.create, + ve = re.propertyIsEnumerable, + me = te.splice, + ge = Object.getOwnPropertySymbols, + ye = de ? de.isBuffer : void 0, + we = Z(Object.keys, Object), + be = St(F, "DataView"), + ke = St(F, "Map"), + xe = St(F, "Promise"), + _e = St(F, "Set"), + Ce = St(F, "WeakMap"), + Ie = St(Object, "create"), + Se = Lt(be), + Ee = Lt(ke), + We = Lt(xe), + Te = Lt(_e), + Ae = Lt(Ce), + Pe = le ? le.prototype : void 0, + Me = Pe ? Pe.valueOf : void 0; + function Re(e) { + var t = -1, + n = e ? e.length : 0; + for (this.clear(); ++t < n; ) { + var r = e[t]; + this.set(r[0], r[1]); + } + } + function Oe() { + this.__data__ = Ie ? Ie(null) : {}; + } + function De(e) { + return this.has(e) && delete this.__data__[e]; + } + function Le(e) { + var t = this.__data__; + if (Ie) { + var n = t[e]; + return n === r ? void 0 : n; + } + return se.call(t, e) ? t[e] : void 0; + } + function Be(e) { + var t = this.__data__; + return Ie ? void 0 !== t[e] : se.call(t, e); + } + function Ne(e, t) { + return ((this.__data__[e] = Ie && void 0 === t ? r : t), this); + } + function Fe(e) { + var t = -1, + n = e ? e.length : 0; + for (this.clear(); ++t < n; ) { + var r = e[t]; + this.set(r[0], r[1]); + } + } + function je() { + this.__data__ = []; + } + function He(e) { + var t = this.__data__, + n = ot(t, e); + return !(n < 0) && (n == t.length - 1 ? t.pop() : me.call(t, n, 1), !0); + } + function ze(e) { + var t = this.__data__, + n = ot(t, e); + return n < 0 ? void 0 : t[n][1]; + } + function qe(e) { + return ot(this.__data__, e) > -1; + } + function Ge(e, t) { + var n = this.__data__, + r = ot(n, e); + return (r < 0 ? n.push([e, t]) : (n[r][1] = t), this); + } + function Ue(e) { + var t = -1, + n = e ? e.length : 0; + for (this.clear(); ++t < n; ) { + var r = e[t]; + this.set(r[0], r[1]); + } + } + function Ve() { + this.__data__ = { + hash: new Re(), + map: new (ke || Fe)(), + string: new Re() + }; + } + function $e(e) { + return It(this, e).delete(e); + } + function Je(e) { + return It(this, e).get(e); + } + function Ke(e) { + return It(this, e).has(e); + } + function Qe(e, t) { + return (It(this, e).set(e, t), this); + } + function Xe(e) { + this.__data__ = new Fe(e); + } + function Ye() { + this.__data__ = new Fe(); + } + function Ze(e) { + return this.__data__.delete(e); + } + function et(e) { + return this.__data__.get(e); + } + function tt(e) { + return this.__data__.has(e); + } + function nt(e, t) { + var r = this.__data__; + if (r instanceof Fe) { + var i = r.__data__; + if (!ke || i.length < n - 1) return (i.push([e, t]), this); + r = this.__data__ = new Ue(i); + } + return (r.set(e, t), this); + } + function rt(e, t) { + var n = jt(e) || Ft(e) ? J(e.length, String) : [], + r = n.length, + i = !!r; + for (var o in e) + (!t && !se.call(e, o)) || + (i && ("length" == o || Mt(o, r))) || + n.push(o); + return n; + } + function it(e, t, n) { + var r = e[t]; + (se.call(e, t) && Nt(r, n) && (void 0 !== n || t in e)) || (e[t] = n); + } + function ot(e, t) { + for (var n = e.length; n--; ) if (Nt(e[n][0], t)) return n; + return -1; + } + function at(e, t) { + return e && xt(t, Jt(t), e); + } + function st(e, t, n, r, i, a, s) { + var c; + if ((r && (c = a ? r(e, i, a, s) : r(e)), void 0 !== c)) return c; + if (!Vt(e)) return e; + var u = jt(e); + if (u) { + if (((c = Tt(e)), !t)) return kt(e, c); + } else { + var p = Wt(e), + h = p == d || p == l; + if (qt(e)) return ht(e, t); + if (p == f || p == o || (h && !a)) { + if (X(e)) return a ? e : {}; + if (((c = At(h ? {} : e)), !t)) return _t(e, at(c, e)); + } else { + if (!L[p]) return a ? e : {}; + c = Pt(e, p, st, t); + } + } + s || (s = new Xe()); + var v = s.get(e); + if (v) return v; + if ((s.set(e, c), !u)) var m = n ? Ct(e) : Jt(e); + return ( + U(m || e, function (i, o) { + (m && (i = e[(o = i)]), it(c, o, st(i, t, n, r, o, e, s))); + }), + c + ); + } + function ct(e) { + return Vt(e) ? fe(e) : {}; + } + function ut(e, t, n) { + var r = t(e); + return jt(e) ? r : V(r, n(e)); + } + function dt(e) { + return ce.call(e); + } + function lt(e) { + return !(!Vt(e) || Ot(e)) && (Gt(e) || X(e) ? ue : O).test(Lt(e)); + } + function pt(e) { + if (!Dt(e)) return we(e); + var t = []; + for (var n in Object(e)) + se.call(e, n) && "constructor" != n && t.push(n); + return t; + } + function ht(e, t) { + if (t) return e.slice(); + var n = new e.constructor(e.length); + return (e.copy(n), n); + } + function ft(e) { + var t = new e.constructor(e.byteLength); + return (new pe(t).set(new pe(e)), t); + } + function vt(e, t) { + var n = t ? ft(e.buffer) : e.buffer; + return new e.constructor(n, e.byteOffset, e.byteLength); + } + function mt(e, t, n) { + return $(t ? n(Y(e), !0) : Y(e), q, new e.constructor()); + } + function gt(e) { + var t = new e.constructor(e.source, R.exec(e)); + return ((t.lastIndex = e.lastIndex), t); + } + function yt(e, t, n) { + return $(t ? n(ee(e), !0) : ee(e), G, new e.constructor()); + } + function wt(e) { + return Me ? Object(Me.call(e)) : {}; + } + function bt(e, t) { + var n = t ? ft(e.buffer) : e.buffer; + return new e.constructor(n, e.byteOffset, e.length); + } + function kt(e, t) { + var n = -1, + r = e.length; + for (t || (t = Array(r)); ++n < r; ) t[n] = e[n]; + return t; + } + function xt(e, t, n, r) { + n || (n = {}); + for (var i = -1, o = t.length; ++i < o; ) { + var a = t[i], + s = r ? r(n[a], e[a], a, n, e) : void 0; + it(n, a, void 0 === s ? e[a] : s); + } + return n; + } + function _t(e, t) { + return xt(e, Et(e), t); + } + function Ct(e) { + return ut(e, Jt, Et); + } + function It(e, t) { + var n = e.__data__; + return Rt(t) ? n["string" == typeof t ? "string" : "hash"] : n.map; + } + function St(e, t) { + var n = K(e, t); + return lt(n) ? n : void 0; + } + ((Re.prototype.clear = Oe), + (Re.prototype.delete = De), + (Re.prototype.get = Le), + (Re.prototype.has = Be), + (Re.prototype.set = Ne), + (Fe.prototype.clear = je), + (Fe.prototype.delete = He), + (Fe.prototype.get = ze), + (Fe.prototype.has = qe), + (Fe.prototype.set = Ge), + (Ue.prototype.clear = Ve), + (Ue.prototype.delete = $e), + (Ue.prototype.get = Je), + (Ue.prototype.has = Ke), + (Ue.prototype.set = Qe), + (Xe.prototype.clear = Ye), + (Xe.prototype.delete = Ze), + (Xe.prototype.get = et), + (Xe.prototype.has = tt), + (Xe.prototype.set = nt)); + var Et = ge ? Z(ge, Object) : Kt, + Wt = dt; + function Tt(e) { + var t = e.length, + n = e.constructor(t); + return ( + t && + "string" == typeof e[0] && + se.call(e, "index") && + ((n.index = e.index), (n.input = e.input)), + n + ); + } + function At(e) { + return "function" != typeof e.constructor || Dt(e) ? {} : ct(he(e)); + } + function Pt(e, t, n, r) { + var i = e.constructor; + switch (t) { + case k: + return ft(e); + case s: + case c: + return new i(+e); + case x: + return vt(e, r); + case _: + case C: + case I: + case S: + case E: + case W: + case T: + case A: + case P: + return bt(e, r); + case p: + return mt(e, r, n); + case h: + case y: + return new i(e); + case m: + return gt(e); + case g: + return yt(e, r, n); + case w: + return wt(e); + } + } + function Mt(e, t) { + return ( + !!(t = null == t ? i : t) && + ("number" == typeof e || D.test(e)) && + e > -1 && + e % 1 == 0 && + e < t + ); + } + function Rt(e) { + var t = typeof e; + return "string" == t || "number" == t || "symbol" == t || "boolean" == t + ? "__proto__" !== e + : null === e; + } + function Ot(e) { + return !!oe && oe in e; + } + function Dt(e) { + var t = e && e.constructor; + return e === (("function" == typeof t && t.prototype) || re); + } + function Lt(e) { + if (null != e) { + try { + return ae.call(e); + } catch (t) {} + try { + return e + ""; + } catch (t) {} + } + return ""; + } + function Bt(e) { + return st(e, !0, !0); + } + function Nt(e, t) { + return e === t || (e !== e && t !== t); + } + function Ft(e) { + return ( + zt(e) && + se.call(e, "callee") && + (!ve.call(e, "callee") || ce.call(e) == o) + ); + } + ((be && Wt(new be(new ArrayBuffer(1))) != x) || + (ke && Wt(new ke()) != p) || + (xe && Wt(xe.resolve()) != v) || + (_e && Wt(new _e()) != g) || + (Ce && Wt(new Ce()) != b)) && + (Wt = function (e) { + var t = ce.call(e), + n = t == f ? e.constructor : void 0, + r = n ? Lt(n) : void 0; + if (r) + switch (r) { + case Se: + return x; + case Ee: + return p; + case We: + return v; + case Te: + return g; + case Ae: + return b; + } + return t; + }); + var jt = Array.isArray; + function Ht(e) { + return null != e && Ut(e.length) && !Gt(e); + } + function zt(e) { + return $t(e) && Ht(e); + } + var qt = ye || Qt; + function Gt(e) { + var t = Vt(e) ? ce.call(e) : ""; + return t == d || t == l; + } + function Ut(e) { + return "number" == typeof e && e > -1 && e % 1 == 0 && e <= i; + } + function Vt(e) { + var t = typeof e; + return !!e && ("object" == t || "function" == t); + } + function $t(e) { + return !!e && "object" == typeof e; + } + function Jt(e) { + return Ht(e) ? rt(e) : pt(e); + } + function Kt() { + return []; + } + function Qt() { + return !1; + } + e.exports = Bt; + })( + { + get exports() { + return kt; + }, + set exports(e) { + kt = e; + } + }, + kt + ); + var xt = kt; + function _t(e, t, n) { + try { + if ( + ((null === n || void 0 === n ? void 0 : n.canPublish("trace")) && + (null === n || + void 0 === n || + n.trace( + "applying context delta " + .concat(JSON.stringify(t), " on context ") + .concat(JSON.stringify(e)) + )), + !t) + ) + return e; + if (t.reset) return (e = b({}, t.reset)); + if (((e = Ct(e, void 0)), t.commands)) { + for (var r = 0, i = t.commands; r < i.length; r++) { + var o = i[r]; + "remove" === o.type + ? Tt(e, o.path) + : "set" === o.type && Et(e, o.value, o.path); + } + return e; + } + var a = t.added, + s = t.updated, + c = t.removed; + return ( + a && + Object.keys(a).forEach(function (t) { + e[t] = a[t]; + }), + s && + Object.keys(s).forEach(function (t) { + It(t, e, s); + }), + c && + c.forEach(function (t) { + delete e[t]; + }), + e + ); + } catch (u) { + return ( + null === n || + void 0 === n || + n.error( + "error applying context delta " + .concat(JSON.stringify(t), " on context ") + .concat(JSON.stringify(e)), + u + ), + e + ); + } + } + function Ct(e, t) { + return xt(e); + } + var It = function (e, t, n) { + var r = n[e]; + if (void 0 === r) return t; + var i = t[e]; + return i && r + ? "string" === typeof i || + "number" === typeof i || + "boolean" === typeof i || + "string" === typeof r || + "number" === typeof r || + "boolean" === typeof r || + Array.isArray(i) || + Array.isArray(r) + ? ((t[e] = r), t) + : ((t[e] = Object.assign({}, i, r)), t) + : ((t[e] = r), t); + }; + function St(e, t) { + if (e === t) return !0; + if (!(e instanceof Object) || !(t instanceof Object)) return !1; + if (e.constructor !== t.constructor) return !1; + for (var n in e) + if (e.hasOwnProperty(n)) { + if (!t.hasOwnProperty(n)) return !1; + if (e[n] !== t[n]) { + if ("object" !== typeof e[n]) return !1; + if (!St(e[n], t[n])) return !1; + } + } + for (var n in t) if (t.hasOwnProperty(n) && !e.hasOwnProperty(n)) return !1; + return !0; + } + function Et(e, t, n) { + var r, + i = n.split("."); + for (r = 0; r < i.length - 1; r++) + (e[i[r]] || (e[i[r]] = {}), + "object" !== typeof e[i[r]] && (e[i[r]] = {}), + (e = e[i[r]])); + e[i[r]] = t; + } + function Wt(e, t) { + return Object.keys(t).every(function (n) { + return "object" === typeof t[n] + ? Wt((null === e || void 0 === e ? void 0 : e[n]) || {}, t[n] || {}) + : t[n] === (null === e || void 0 === e ? void 0 : e[n]); + }); + } + function Tt(e, t) { + var n, + r = t.split("."); + for (n = 0; n < r.length - 1; n++) { + if (!e[r[n]]) return; + e = e[r[n]]; + } + delete e[r[n]]; + } + var At, + Pt = (function () { + function e(e) { + var t, + n = this; + ((this._contextNameToData = {}), + (this._gw3Subscriptions = []), + (this._nextCallbackSubscriptionNumber = 0), + (this._creationPromises = {}), + (this._contextNameToId = {}), + (this._contextIdToName = {}), + (this._protocolVersion = void 0), + (this._contextsTempCache = {}), + (this._contextsSubscriptionsCache = []), + (this._connection = e.connection), + (this._logger = e.logger), + (this._trackAllContexts = e.trackAllContexts), + (this._reAnnounceKnownContexts = e.reAnnounceKnownContexts), + (this._gw3Session = this._connection.domain("global", [ + st, + dt, + ht, + vt + ])), + this._gw3Session.disconnected(this.resetState.bind(this)), + this._gw3Session.onJoined(function (e) { + if (e) + return n._reAnnounceKnownContexts + ? void n.reInitiateState().then(function () { + return n._connection.setLibReAnnounced({ + name: "contexts" + }); + }) + : n._connection.setLibReAnnounced({ + name: "contexts" + }); + }), + this.subscribeToContextCreatedMessages(), + this.subscribeToContextUpdatedMessages(), + this.subscribeToContextDestroyedMessages(), + null === (t = this._connection.replayer) || + void 0 === t || + t.drain(gt.name, function (e) { + var t = e.type; + t && + (t === st || t === ct || t === ot + ? n.handleContextCreatedMessage(e) + : t === dt || t === vt || t === mt + ? n.handleContextUpdatedMessage(e) + : (t !== ht && t !== at) || + n.handleContextDestroyedMessage(e)); + })); + } + return ( + Object.defineProperty(e.prototype, "protocolVersion", { + get: function () { + var e; + if (!this._protocolVersion) { + var t = this._connection.availableDomains.find( + function (e) { + return "context" === e.uri; + } + ); + this._protocolVersion = + null !== + (e = + null === t || void 0 === t + ? void 0 + : t.version) && void 0 !== e + ? e + : 1; + } + return this._protocolVersion; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "setPathSupported", { + get: function () { + return this.protocolVersion >= 2; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.dispose = function () { + for (var e = 0, t = this._gw3Subscriptions; e < t.length; e++) { + var n = t[e]; + this._connection.off(n); + } + for (var r in ((this._gw3Subscriptions.length = 0), + this._contextNameToData)) + this._contextNameToId.hasOwnProperty(r) && + delete this._contextNameToData[r]; + }), + (e.prototype.createContext = function (e, t) { + var n = this; + return ( + e in this._creationPromises || + (this._creationPromises[e] = this._gw3Session + .send({ + type: it, + domain: "global", + name: e, + data: t, + lifetime: "retained" + }) + .then(function (r) { + ((n._contextNameToId[e] = r.context_id), + (n._contextIdToName[r.context_id] = e)); + var i = + n._contextNameToData[e] || + new bt(r.context_id, e, !0, void 0); + return ( + (i.isAnnounced = !0), + (i.name = e), + (i.contextId = r.context_id), + (i.context = r.data || Ct(t)), + (i.hasReceivedSnapshot = !0), + (n._contextNameToData[e] = i), + delete n._creationPromises[e], + r.context_id + ); + })), + this._creationPromises[e] + ); + }), + (e.prototype.all = function () { + var e = this; + return Object.keys(this._contextNameToData).filter( + function (t) { + return e._contextNameToData[t].isAnnounced; + } + ); + }), + (e.prototype.update = function (e, t) { + var n; + return k(this, void 0, void 0, function () { + var r, + i, + o, + a = this; + return x(this, function (s) { + switch (s.label) { + case 0: + return ( + t && (t = Ct(t)), + e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2] + ); + case 1: + (s.sent(), (s.label = 2)); + case 2: + return (r = this._contextNameToData[e]) && + r.isAnnounced + ? ((i = r.context), + r.hasCallbacks() + ? [3, 4] + : [4, this.get(r.name)]) + : [2, this.createContext(e, t)]; + case 3: + ((i = s.sent()), (s.label = 4)); + case 4: + return ( + (o = + 2 === this.protocolVersion + ? this.calculateContextDeltaV2(i, t) + : this.calculateContextDeltaV1( + i, + t + )), + Object.keys(o.added).length || + Object.keys(o.updated).length || + o.removed.length || + (null === (n = o.commands) || void 0 === n + ? void 0 + : n.length) + ? [ + 2, + this._gw3Session + .send( + { + type: ft, + domain: "global", + context_id: + r.contextId, + delta: o + }, + {}, + { skipPeerId: !1 } + ) + .then(function (e) { + a.handleUpdated(r, o, { + updaterId: e.peer_id + }); + }) + ] + : [2, Promise.resolve()] + ); + } + }); + }); + }), + (e.prototype.set = function (e, t) { + return k(this, void 0, void 0, function () { + var n, + r = this; + return x(this, function (i) { + switch (i.label) { + case 0: + return ( + t && (t = Ct(t)), + e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2] + ); + case 1: + (i.sent(), (i.label = 2)); + case 2: + return (n = this._contextNameToData[e]) && + n.isAnnounced + ? [ + 2, + this._gw3Session + .send( + { + type: ft, + domain: "global", + context_id: n.contextId, + delta: { reset: t } + }, + {}, + { skipPeerId: !1 } + ) + .then(function (e) { + r.handleUpdated( + n, + { + reset: t, + added: {}, + removed: [], + updated: {} + }, + { updaterId: e.peer_id } + ); + }) + ] + : [2, this.createContext(e, t)]; + } + }); + }); + }), + (e.prototype.setPath = function (e, t, n) { + return this.setPathSupported + ? this.setPaths(e, [{ path: t, value: n }]) + : Promise.reject( + "glue.contexts.setPath operation is not supported, use Glue42 3.10 or later" + ); + }), + (e.prototype.setPaths = function (e, t) { + return k(this, void 0, void 0, function () { + var n, + r, + i, + o, + a, + s, + c, + u, + d = this; + return x(this, function (l) { + switch (l.label) { + case 0: + return this.setPathSupported + ? (t && (t = Ct(t)), + e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2]) + : [ + 2, + Promise.reject( + "glue.contexts.setPaths operation is not supported, use Glue42 3.10 or later" + ) + ]; + case 1: + (l.sent(), (l.label = 2)); + case 2: + if ( + !(n = this._contextNameToData[e]) || + !n.isAnnounced + ) { + for ( + r = {}, i = 0, o = t; + i < o.length; + i++ + ) + ((u = o[i]), Et(r, u.value, u.path)); + return [2, this.createContext(e, r)]; + } + for (a = [], s = 0, c = t; s < c.length; s++) + null === (u = c[s]).value + ? a.push({ + type: "remove", + path: u.path + }) + : a.push({ + type: "set", + path: u.path, + value: u.value + }); + return [ + 2, + this._gw3Session + .send( + { + type: ft, + domain: "global", + context_id: n.contextId, + delta: { commands: a } + }, + {}, + { skipPeerId: !1 } + ) + .then(function (e) { + d.handleUpdated( + n, + { + added: {}, + removed: [], + updated: {}, + commands: a + }, + { updaterId: e.peer_id } + ); + }) + ]; + } + }); + }); + }), + (e.prototype.get = function (e) { + var t; + return k(this, void 0, void 0, function () { + var n, + r, + i = this; + return x(this, function (o) { + switch (o.label) { + case 0: + return e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2]; + case 1: + (o.sent(), (o.label = 2)); + case 2: + return (n = this._contextNameToData[e]) && + n.isAnnounced + ? !n || + (n.hasCallbacks() && + n.hasReceivedSnapshot) + ? ((r = + null !== + (t = + null === n || void 0 === n + ? void 0 + : n.context) && + void 0 !== t + ? t + : {}), + [2, Promise.resolve(Ct(r))]) + : [ + 2, + new Promise(function (t) { + i.subscribe( + e, + function (e, n, r, o) { + (i.unsubscribe(o), + t(e)); + } + ); + }) + ] + : [2, Promise.resolve({})]; + } + }); + }); + }), + (e.prototype.subscribe = function (e, t, n) { + return k(this, void 0, void 0, function () { + var r, + i, + o, + a, + s = this; + return x(this, function (c) { + switch (c.label) { + case 0: + return e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2]; + case 1: + (c.sent(), (c.label = 2)); + case 2: + return ( + (r = + "undefined" === typeof n + ? this + ._nextCallbackSubscriptionNumber + : n), + "undefined" === typeof n && + (this._nextCallbackSubscriptionNumber += 1), + this._contextsSubscriptionsCache.every( + function (e) { + return ( + e.subKey !== + s._nextCallbackSubscriptionNumber + ); + } + ) && + this._contextsSubscriptionsCache.push({ + contextName: e, + subKey: r, + callback: t + }), + (i = this._contextNameToData[e]) && + i.isAnnounced + ? ((o = i.hasCallbacks()), + (i.updateCallbacks[r] = t), + o || + i.joinedActivity || + (i.context && + i.sentExplicitSubscription) + ? (i.hasReceivedSnapshot && + ((a = Ct(i.context)), + t(a, a, [], r)), + [2, Promise.resolve(r)]) + : [ + 2, + this.sendSubscribe(i).then( + function () { + return r; + } + ) + ]) + : ((i = + i || + new bt(void 0, e, !1, void 0)), + (this._contextNameToData[e] = i), + (i.updateCallbacks[r] = t), + [2, Promise.resolve(r)]) + ); + } + }); + }); + }), + (e.prototype.unsubscribe = function (e) { + this._contextsSubscriptionsCache = + this._contextsSubscriptionsCache.filter(function (t) { + return t.subKey !== e; + }); + for ( + var t = 0, n = Object.keys(this._contextNameToData); + t < n.length; + t++ + ) { + var r = n[t], + i = this._contextNameToData[r]; + if (!i) return; + var o = i.hasCallbacks(); + (delete i.updateCallbacks[e], + i.isAnnounced && + o && + !i.hasCallbacks() && + i.sentExplicitSubscription && + this.sendUnsubscribe(i), + i.isAnnounced || + i.hasCallbacks() || + delete this._contextNameToData[r]); + } + }), + (e.prototype.destroy = function (e) { + return k(this, void 0, void 0, function () { + var t; + return x(this, function (n) { + switch (n.label) { + case 0: + return e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2]; + case 1: + (n.sent(), (n.label = 2)); + case 2: + return (t = this._contextNameToData[e]) + ? [ + 2, + this._gw3Session + .send({ + type: pt, + domain: "global", + context_id: t.contextId + }) + .then(function (e) {}) + ] + : [ + 2, + Promise.reject( + "context with ".concat( + e, + " does not exist" + ) + ) + ]; + } + }); + }); + }), + (e.prototype.handleUpdated = function (e, t, n) { + var r = e.context; + ((e.context = _t(e.context, t, this._logger)), + (e.hasReceivedSnapshot = !0), + this._contextNameToData[e.name] !== e || + St(r, e.context) || + this.invokeUpdateCallbacks(e, t, n)); + }), + (e.prototype.subscribeToContextCreatedMessages = function () { + for (var e = 0, t = [ct, st, ot]; e < t.length; e++) { + var n = t[e], + r = this._connection.on( + n, + this.handleContextCreatedMessage.bind(this) + ); + this._gw3Subscriptions.push(r); + } + }), + (e.prototype.handleContextCreatedMessage = function (e) { + var t = this, + n = e.type; + n === ot + ? ((this._contextNameToId[e.activity_id] = e.context_id), + (this._contextIdToName[e.context_id] = e.activity_id)) + : n === ct && + ((this._contextNameToId[e.name] = e.context_id), + (this._contextIdToName[e.context_id] = e.name)); + var r = this._contextIdToName[e.context_id]; + if (!r) + throw new Error( + "Received created event for context with unknown name: " + + e.context_id + ); + if (!this._contextNameToId[r]) + throw new Error( + "Received created event for context with unknown id: " + + e.context_id + ); + var i = this._contextNameToData[r]; + if (i) { + if (i.isAnnounced) return; + if (!i.hasCallbacks()) + throw new Error( + "Assertion failure: contextData.hasCallbacks()" + ); + ((i.isAnnounced = !0), + (i.contextId = e.context_id), + (i.activityId = e.activity_id), + i.sentExplicitSubscription || this.sendSubscribe(i)); + } else + ((this._contextNameToData[r] = i = + new bt(e.context_id, r, !0, e.activity_id)), + this._trackAllContexts && + this.subscribe(r, function () {}).then( + function (e) { + return (t._systemContextsSubKey = e); + } + )); + }), + (e.prototype.subscribeToContextUpdatedMessages = function () { + for (var e = 0, t = [vt, dt, mt]; e < t.length; e++) { + var n = t[e], + r = this._connection.on( + n, + this.handleContextUpdatedMessage.bind(this) + ); + this._gw3Subscriptions.push(r); + } + }), + (e.prototype.handleContextUpdatedMessage = function (e) { + var t = e.type, + n = e.context_id, + r = this._contextNameToData[this._contextIdToName[n]], + i = !r || !r.isAnnounced; + if (t === mt) + (r || + (r = + this._contextNameToData[e.activity_id] || + new bt(n, e.activity_id, !0, e.activity_id)), + (this._contextNameToData[e.activity_id] = r), + (this._contextIdToName[n] = e.activity_id), + (this._contextNameToId[e.activity_id] = n), + (r.contextId = n), + (r.isAnnounced = !0), + (r.activityId = e.activity_id), + (r.joinedActivity = !0)); + else if (!r || !r.isAnnounced) + return void (t === dt + ? (((r = + r || + new bt( + n, + e.name, + !0, + void 0 + )).sentExplicitSubscription = !0), + (this._contextNameToData[e.name] = r), + (this._contextIdToName[n] = e.name), + (this._contextNameToId[e.name] = n)) + : this._logger.error( + "Received 'update' for unknown context: ".concat( + n + ) + )); + var o = r.context; + if (((r.hasReceivedSnapshot = !0), t === dt)) + r.context = e.data || {}; + else if (t === mt) r.context = e.context_snapshot || {}; + else { + if (t !== vt) + throw new Error( + "Unrecognized context update message " + t + ); + r.context = _t(r.context, e.delta, this._logger); + } + (!i && St(r.context, o) && t !== dt) || + this.invokeUpdateCallbacks(r, e.delta, { + updaterId: e.updater_id + }); + }), + (e.prototype.invokeUpdateCallbacks = function (e, t, n) { + if ( + (t = t || { + added: {}, + updated: {}, + reset: {}, + removed: [] + }).commands + ) { + ((t.added = t.updated = t.reset = {}), (t.removed = [])); + for (var r = 0, i = t.commands; r < i.length; r++) { + var o = i[r]; + "remove" === o.type + ? (-1 === o.path.indexOf(".") && + t.removed.push(o.path), + Et(t.updated, null, o.path)) + : "set" === o.type && + Et(t.updated, o.value, o.path); + } + } + for (var a in e.updateCallbacks) + if (e.updateCallbacks.hasOwnProperty(a)) + try { + (0, e.updateCallbacks[a])( + Ct(e.context), + Ct( + Object.assign( + {}, + t.added || {}, + t.updated || {}, + t.reset || {} + ) + ), + t.removed, + parseInt(a, 10), + n + ); + } catch (s) { + this._logger.debug( + "callback error: " + JSON.stringify(s) + ); + } + }), + (e.prototype.subscribeToContextDestroyedMessages = function () { + for (var e = 0, t = [ht, at]; e < t.length; e++) { + var n = t[e], + r = this._connection.on( + n, + this.handleContextDestroyedMessage.bind(this) + ); + this._gw3Subscriptions.push(r); + } + }), + (e.prototype.handleContextDestroyedMessage = function (e) { + var t, n; + if (e.type === at) { + if (((n = e.activity_id), !(t = this._contextNameToId[n]))) + return void this._logger.error( + "Received 'destroyed' for unknown activity: ".concat( + e.activity_id + ) + ); + } else if ( + ((t = e.context_id), !(n = this._contextIdToName[t])) + ) + return void this._logger.error( + "Received 'destroyed' for unknown context: ".concat( + e.context_id + ) + ); + (delete this._contextIdToName[t], + delete this._contextNameToId[n]); + var r = this._contextNameToData[n]; + (delete this._contextNameToData[n], + (r && r.isAnnounced) || + this._logger.error( + "Received 'destroyed' for unknown context: ".concat( + t + ) + )); + }), + (e.prototype.sendSubscribe = function (e) { + return ( + (e.sentExplicitSubscription = !0), + this._gw3Session + .send({ + type: ut, + domain: "global", + context_id: e.contextId + }) + .then(function (e) {}) + ); + }), + (e.prototype.sendUnsubscribe = function (e) { + return ( + (e.sentExplicitSubscription = !1), + this._gw3Session + .send({ + type: lt, + domain: "global", + context_id: e.contextId + }) + .then(function (e) {}) + ); + }), + (e.prototype.calculateContextDeltaV1 = function (e, t) { + var n = { added: {}, updated: {}, removed: [], reset: void 0 }; + if (e) + for (var r = 0, i = Object.keys(e); r < i.length; r++) { + var o = i[r]; + -1 === Object.keys(t).indexOf(o) || + null === t[o] || + St(e[o], t[o]) || + (n.updated[o] = t[o]); + } + for (var a = 0, s = Object.keys(t); a < s.length; a++) + ((o = s[a]), + e && -1 !== Object.keys(e).indexOf(o) + ? null === t[o] && n.removed.push(o) + : null !== t[o] && (n.added[o] = t[o])); + return n; + }), + (e.prototype.calculateContextDeltaV2 = function (e, t) { + for ( + var n, + r, + i = { + added: {}, + updated: {}, + removed: [], + reset: void 0, + commands: [] + }, + o = 0, + a = Object.keys(t); + o < a.length; + o++ + ) { + var s = a[o]; + null !== t[s] + ? St(e ? e[s] : null, t[s]) || + null === (n = i.commands) || + void 0 === n || + n.push({ type: "set", path: s, value: t[s] }) + : null === (r = i.commands) || + void 0 === r || + r.push({ type: "remove", path: s }); + } + return i; + }), + (e.prototype.resetState = function () { + for ( + var e = this, t = 0, n = this._gw3Subscriptions; + t < n.length; + t++ + ) { + var r = n[t]; + this._connection.off(r); + } + (this._systemContextsSubKey && + (this.unsubscribe(this._systemContextsSubKey), + delete this._systemContextsSubKey), + (this._gw3Subscriptions = []), + (this._contextNameToId = {}), + (this._contextIdToName = {}), + delete this._protocolVersion, + (this._contextsTempCache = Object.keys( + this._contextNameToData + ).reduce(function (t, n) { + return ((t[n] = e._contextNameToData[n].context), t); + }, {})), + (this._contextNameToData = {})); + }), + (e.prototype.reInitiateState = function () { + var e; + return k(this, void 0, void 0, function () { + var t, + n, + r, + i, + o, + a, + s = this; + return x(this, function (c) { + switch (c.label) { + case 0: + return ( + this.subscribeToContextCreatedMessages(), + this.subscribeToContextUpdatedMessages(), + this.subscribeToContextDestroyedMessages(), + null === (e = this._connection.replayer) || + void 0 === e || + e.drain(gt.name, function (e) { + var t = e.type; + t && + (t === st || + t === ct || + t === ot + ? s.handleContextCreatedMessage( + e + ) + : t === dt || + t === vt || + t === mt + ? s.handleContextUpdatedMessage( + e + ) + : (t !== ht && + t !== at) || + s.handleContextDestroyedMessage( + e + )); + }), + [ + 4, + Promise.all( + this._contextsSubscriptionsCache.map( + function (e) { + return s.subscribe( + e.contextName, + e.callback, + e.subKey + ); + } + ) + ) + ] + ); + case 1: + return (c.sent(), [4, this.flushQueue()]); + case 2: + for (r in (c.sent(), + (t = this._contextsTempCache), + (n = []), + t)) + n.push(r); + ((i = 0), (c.label = 3)); + case 3: + return i < n.length + ? (r = n[i]) in t + ? ((o = r), + "object" !== + typeof this._contextsTempCache[ + o + ] || + 0 === + Object.keys( + this._contextsTempCache[o] + ).length + ? [3, 6] + : ((a = + this._contextsTempCache[o]), + this._logger.info( + "Re-announcing known context: ".concat( + o + ) + ), + [4, this.flushQueue()])) + : [3, 6] + : [3, 7]; + case 4: + return (c.sent(), [4, this.update(o, a)]); + case 5: + (c.sent(), (c.label = 6)); + case 6: + return (i++, [3, 3]); + case 7: + return ( + (this._contextsTempCache = {}), + this._logger.info( + "Contexts are re-announced" + ), + [2] + ); + } + }); + }); + }), + (e.prototype.flushQueue = function () { + return new Promise(function (e) { + return setTimeout(function () { + return e(); + }, 0); + }); + }), + e + ); + })(), + Mt = (function () { + function e(e) { + this._bridge = new Pt(e); + } + return ( + (e.prototype.all = function () { + return this._bridge.all(); + }), + (e.prototype.update = function (e, t) { + return ( + this.checkName(e), + this.checkData(t), + this._bridge.update(e, t) + ); + }), + (e.prototype.set = function (e, t) { + return ( + this.checkName(e), + this.checkData(t), + this._bridge.set(e, t) + ); + }), + (e.prototype.setPath = function (e, t, n) { + return ( + this.checkName(e), + this.checkPath(t), + "" === t + ? (this.checkData(n), this.set(e, n)) + : this._bridge.setPath(e, t, n) + ); + }), + (e.prototype.setPaths = function (e, t) { + if ((this.checkName(e), !Array.isArray(t))) + throw new Error( + "Please provide the paths as an array of PathValues!" + ); + for (var n = 0, r = t; n < r.length; n++) { + var i = r[n], + o = i.path, + a = i.value; + (this.checkPath(o), "" === o && this.checkData(a)); + } + return this._bridge.setPaths(e, t); + }), + (e.prototype.subscribe = function (e, t) { + var n = this; + if ((this.checkName(e), "function" !== typeof t)) + throw new Error( + "Please provide the callback as a function!" + ); + return this._bridge + .subscribe(e, function (e, r, i, o, a) { + return t( + e, + r, + i, + function () { + return n._bridge.unsubscribe(o); + }, + a + ); + }) + .then(function (e) { + return function () { + n._bridge.unsubscribe(e); + }; + }); + }), + (e.prototype.get = function (e) { + return (this.checkName(e), this._bridge.get(e)); + }), + (e.prototype.ready = function () { + return Promise.resolve(this); + }), + (e.prototype.destroy = function (e) { + return (this.checkName(e), this._bridge.destroy(e)); + }), + Object.defineProperty(e.prototype, "setPathSupported", { + get: function () { + return this._bridge.setPathSupported; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.checkName = function (e) { + if ("string" !== typeof e || "" === e) + throw new Error( + "Please provide the name as a non-empty string!" + ); + }), + (e.prototype.checkPath = function (e) { + if ("string" !== typeof e) + throw new Error( + "Please provide the path as a dot delimited string!" + ); + }), + (e.prototype.checkData = function (e) { + if ("object" !== typeof e) + throw new Error("Please provide the data as an object!"); + }), + e + ); + })(); + function Rt(e, t, n) { + return "function" !== typeof t && "function" !== typeof n + ? e + : ("function" !== typeof t + ? (t = function () {}) + : "function" !== typeof n && (n = function () {}), + e.then(t, n)); + } + function Ot(e, t, n) { + var r; + void 0 === e && (e = 0); + var i = function () { + r && clearTimeout(r); + }; + return ( + t + .then(function () { + i(); + }) + .catch(function () { + i(); + }), + new Promise(function (t, i) { + r = setTimeout(function () { + return i(n); + }, e); + }) + ); + } + !(function (e) { + ((e[(e.Success = 0)] = "Success"), (e[(e.Error = 1)] = "Error")); + })(At || (At = {})); + var Dt = (function () { + function e(e, t, n, r) { + ((this.protocol = e), + (this.repo = t), + (this.instance = n), + (this.configuration = r)); + } + return ( + (e.prototype.subscribe = function (e, t, n, r, i) { + var o = this, + a = function (e, n, r, a) { + var s; + ((t.methodResponseTimeout = + null !== (s = t.methodResponseTimeout) && + void 0 !== s + ? s + : t.waitTimeoutMs), + o.protocol.client.subscribe(n, t, e, r, a, i)); + }; + return Rt( + new Promise(function (n, r) { + var i, + s = function (e) { + n(e); + }, + c = function (e) { + r(e); + }; + if (e) + if ( + (i = "string" === typeof e ? { name: e } : e) + .name + ) { + void 0 === t && (t = {}); + var u = t.target; + if ( + (void 0 === u && (u = "best"), + "string" !== typeof u || + "all" === u || + "best" === u) + ) { + (void 0 === t.methodResponseTimeout && + ((t.methodResponseTimeout = + t.method_response_timeout), + void 0 === t.methodResponseTimeout && + (t.methodResponseTimeout = + o.configuration.methodResponseTimeout)), + void 0 === t.waitTimeoutMs && + ((t.waitTimeoutMs = + t.wait_for_method_timeout), + void 0 === t.waitTimeoutMs && + (t.waitTimeoutMs = + o.configuration.waitTimeoutMs))); + var d = 500, + l = 0, + p = o.getServerMethodsByFilterAndTarget( + i, + u + ); + if (p.length > 0) + a(p, p[0].methods[0], s, c); + else { + var h = function n() { + if (u && t.waitTimeoutMs) + if ( + ((l += d), + (p = + o.getServerMethodsByFilterAndTarget( + i, + u + )).length > 0) + ) { + var r = p[0].methods[0]; + a(p, r, s, c); + } else + l >= t.waitTimeoutMs + ? a( + p, + "string" === + typeof e + ? { name: e } + : e, + s, + c + ) + : setTimeout(n, d); + }; + setTimeout(h, d); + } + } else + r( + new Error( + '"'.concat( + u, + '" is not a valid target. Valid targets are "all", "best", or an instance.' + ) + ) + ); + } else + r( + "Method definition is required. Please, provide either a unique string for a method name or a \u201cmethodDefinition\u201d object with a required \u201cname\u201d property." + ); + else + r( + "Method definition is required. Please, provide either a unique string for a method name or a \u201cmethodDefinition\u201d object with a required \u201cname\u201d property." + ); + }), + n, + r + ); + }), + (e.prototype.servers = function (e) { + var t = void 0 === e ? void 0 : b({}, e); + return this.getServers(t).map(function (e) { + return e.server.instance; + }); + }), + (e.prototype.methods = function (e) { + return ( + (e = "string" === typeof e ? { name: e } : b({}, e)), + this.getMethods(e) + ); + }), + (e.prototype.methodsForInstance = function (e) { + return this.getMethodsForInstance(e); + }), + (e.prototype.methodAdded = function (e) { + return this.repo.onMethodAdded(e); + }), + (e.prototype.methodRemoved = function (e) { + return this.repo.onMethodRemoved(e); + }), + (e.prototype.serverAdded = function (e) { + return this.repo.onServerAdded(e); + }), + (e.prototype.serverRemoved = function (e) { + return this.repo.onServerRemoved(function (t, n) { + e(t, n); + }); + }), + (e.prototype.serverMethodAdded = function (e) { + return this.repo.onServerMethodAdded(function (t, n) { + e({ server: t, method: n }); + }); + }), + (e.prototype.serverMethodRemoved = function (e) { + return this.repo.onServerMethodRemoved(function (t, n) { + e({ server: t, method: n }); + }); + }), + (e.prototype.invoke = function (e, t, n, r, i, o) { + return k(this, void 0, void 0, function () { + var a, + s = this; + return x(this, function (c) { + return ( + (a = function () { + return k(s, void 0, void 0, function () { + var i, + o, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m = this; + return x(this, function (g) { + switch (g.label) { + case 0: + if ( + !(i = + "string" === typeof e + ? { name: e } + : b({}, e)).name + ) + return [ + 2, + Promise.reject( + "Method definition is required. Please, provide either a unique string for a method name or a \u201cmethodDefinition\u201d object with a required \u201cname\u201d property." + ) + ]; + if ( + (t || (t = {}), + n || (n = "best"), + "string" === typeof n && + "all" !== n && + "best" !== n && + "skipMine" !== n) + ) + return [ + 2, + Promise.reject( + new Error( + '"'.concat( + n, + '" is not a valid target. Valid targets are "all" and "best".' + ) + ) + ) + ]; + if ( + (r || (r = {}), + void 0 === + r.methodResponseTimeoutMs && + ((r.methodResponseTimeoutMs = + r.method_response_timeout), + void 0 === + r.methodResponseTimeoutMs && + (r.methodResponseTimeoutMs = + this.configuration.methodResponseTimeout)), + void 0 === + r.waitTimeoutMs && + ((r.waitTimeoutMs = + r.wait_for_method_timeout), + void 0 === + r.waitTimeoutMs && + (r.waitTimeoutMs = + this.configuration.waitTimeoutMs)), + void 0 !== + r.waitTimeoutMs && + "number" !== + typeof r.waitTimeoutMs) + ) + return [ + 2, + Promise.reject( + new Error( + '"'.concat( + r.waitTimeoutMs, + '" is not a valid number for "waitTimeoutMs" ' + ) + ) + ) + ]; + if ("object" !== typeof t) + return [ + 2, + Promise.reject( + new Error( + "The method arguments must be an object. method: ".concat( + i.name + ) + ) + ) + ]; + if ( + 0 !== + (o = + this.getServerMethodsByFilterAndTarget( + i, + n + )).length + ) + return [3, 4]; + g.label = 1; + case 1: + return ( + g.trys.push([1, 3, , 4]), + [ + 4, + this.tryToAwaitForMethods( + i, + n, + r + ) + ] + ); + case 2: + return ((o = g.sent()), [3, 4]); + case 3: + return ( + g.sent(), + (a = b(b({}, i), { + getServers: + function () { + return []; + }, + supportsStreaming: !1, + objectTypes: + null !== + (h = + i.objectTypes) && + void 0 !== h + ? h + : [], + flags: + null !== + (v = + null === + (f = + i.flags) || + void 0 === f + ? void 0 + : f.metadata) && + void 0 !== v + ? v + : {} + })), + (s = { + method: a, + called_with: t, + message: + "Can not find a method matching " + .concat( + JSON.stringify( + e + ), + " with server filter " + ) + .concat( + JSON.stringify( + n + ) + ), + executed_by: void 0, + returned: void 0, + status: void 0 + }), + [2, Promise.reject(s)] + ); + case 4: + return ( + (c = + r.methodResponseTimeoutMs), + (u = r), + (d = o.map(function (e) { + var n = $e(), + r = e.methods[0], + i = e.server, + o = + m.protocol.client.invoke( + n, + r, + t, + i, + u + ); + return Promise.race([ + o, + Ot(c, o, { + invocationId: n, + message: + "Invocation timeout (" + .concat( + c, + " ms) reached for method name: " + ) + .concat( + null === + r || + void 0 === + r + ? void 0 + : r.name, + ", target instance: " + ) + .concat( + JSON.stringify( + i.instance + ), + ", options: " + ) + .concat( + JSON.stringify( + u + ) + ), + status: At.Error + }) + ]); + })), + [4, Promise.all(d)] + ); + case 5: + return ( + (l = g.sent()), + (p = + this.getInvocationResultObj( + l, + i, + t + )), + l.every(function (e) { + return ( + e.status === + At.Error + ); + }) + ? [2, Promise.reject(p)] + : [2, p] + ); + } + }); + }); + }), + [2, Rt(a(), i, o)] + ); + }); + }); + }), + (e.prototype.getInvocationResultObj = function (e, t, n) { + var r = e + .filter(function (e) { + return e.status === At.Success; + }) + .reduce(function (e, r) { + return (e = _( + _([], e, !0), + [ + { + executed_by: r.instance, + returned: r.result, + called_with: n, + method: t, + message: r.message, + status: r.status + } + ], + !1 + )); + }, []), + i = e + .filter(function (e) { + return e.status === At.Error; + }) + .reduce(function (e, r) { + return (e = _( + _([], e, !0), + [ + { + executed_by: r.instance, + called_with: n, + name: t.name, + message: r.message + } + ], + !1 + )); + }, []), + o = e[0]; + return { + method: t, + called_with: n, + returned: o.result, + executed_by: o.instance, + all_return_values: r, + all_errors: i, + message: o.message, + status: o.status + }; + }), + (e.prototype.tryToAwaitForMethods = function (e, t, n) { + var r = this; + return new Promise(function (i, o) { + if (0 !== n.waitTimeoutMs) + var a = 500, + s = 0, + c = setInterval(function () { + s += a; + var u = r.getServerMethodsByFilterAndTarget( + e, + t + ); + if (u.length > 0) (clearInterval(c), i(u)); + else if (s >= (n.waitTimeoutMs || 1e4)) + return (clearInterval(c), void o()); + }, a); + else o(); + }); + }), + (e.prototype.filterByTarget = function (e, t) { + var n = this; + if ("string" !== typeof e) + return (Array.isArray(e) ? e : [e]).reduce(function (e, r) { + var i = t.filter(function (e) { + return n.instanceMatch(r, e.server.instance); + }); + return e.concat(i); + }, []); + if ("all" === e) return _([], t, !0); + if ("best" === e) { + var r = t.find(function (e) { + return e.server.instance.isLocal; + }); + if (r) return [r]; + if (void 0 !== t[0]) return [t[0]]; + } else if ("skipMine" === e) + return t.filter(function (e) { + return e.server.instance.peerId !== n.instance.peerId; + }); + return []; + }), + (e.prototype.instanceMatch = function (e, t) { + return this.containsProps(e, t); + }), + (e.prototype.methodMatch = function (e, t) { + return this.containsProps(e, t); + }), + (e.prototype.containsProps = function (e, t) { + return Object.keys(e) + .filter(function (t) { + return ( + void 0 !== e[t] && + null !== e[t] && + "function" !== typeof e[t] && + "object_types" !== t && + "display_name" !== t && + "id" !== t && + "gatewayId" !== t && + "identifier" !== t && + "_" !== t[0] + ); + }) + .every(function (n) { + var r, + i = e[n], + o = t[n]; + switch (n) { + case "objectTypes": + r = (i || []).every(function (e) { + return (o || []).includes(e); + }); + break; + case "flags": + r = Wt(o || {}, i || {}); + break; + default: + r = + String(i).toLowerCase() === + String(o).toLowerCase(); + } + return r; + }); + }), + (e.prototype.getMethods = function (e) { + var t = this; + return void 0 === e + ? this.repo.getMethods() + : this.repo.getMethods().filter(function (n) { + return t.methodMatch(e, n); + }); + }), + (e.prototype.getMethodsForInstance = function (e) { + var t = this, + n = this.repo.getServers().filter(function (n) { + return t.instanceMatch(e, n.instance); + }); + if (0 === n.length) return []; + var r = {}; + return ( + 1 === n.length + ? (r = n[0].methods) + : n.forEach(function (e) { + Object.keys(e.methods).forEach(function (t) { + var n = e.methods[t]; + r[n.identifier] = n; + }); + }), + Object.keys(r).map(function (e) { + return r[e]; + }) + ); + }), + (e.prototype.getServers = function (e) { + var t = this, + n = this.repo.getServers(); + return void 0 === e + ? n.map(function (e) { + return { server: e, methods: [] }; + }) + : n.reduce(function (n, r) { + var i = Object.values(r.methods).filter(function (n) { + return t.methodMatch(e, n); + }); + return ( + i.length > 0 && n.push({ server: r, methods: i }), + n + ); + }, []); + }), + (e.prototype.getServerMethodsByFilterAndTarget = function (e, t) { + var n = this.getServers(e); + return this.filterByTarget(t, n); + }), + e + ); + })(), + Lt = (function () { + function e(e, t, n) { + ((this.protocol = e), + (this.repoMethod = t), + (this.subscription = n)); + } + return ( + Object.defineProperty(e.prototype, "stream", { + get: function () { + if (!this.repoMethod.stream) throw new Error("no stream"); + return this.repoMethod.stream; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "arguments", { + get: function () { + return this.subscription.arguments || {}; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "branchKey", { + get: function () { + return this.subscription.branchKey; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "instance", { + get: function () { + if (!this.subscription.instance) + throw new Error("no instance"); + return this.subscription.instance; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.close = function () { + this.protocol.server.closeSingleSubscription( + this.repoMethod, + this.subscription + ); + }), + (e.prototype.push = function (e) { + this.protocol.server.pushDataToSingle( + this.repoMethod, + this.subscription, + e + ); + }), + e + ); + })(), + Bt = (function () { + function e(e, t, n) { + ((this.protocol = e), + (this.repoMethod = t), + (this.requestContext = n), + (this.arguments = n.arguments), + (this.instance = n.instance)); + } + return ( + (e.prototype.accept = function () { + this.protocol.server.acceptRequestOnBranch( + this.requestContext, + this.repoMethod, + "" + ); + }), + (e.prototype.acceptOnBranch = function (e) { + this.protocol.server.acceptRequestOnBranch( + this.requestContext, + this.repoMethod, + e + ); + }), + (e.prototype.reject = function (e) { + this.protocol.server.rejectRequest( + this.requestContext, + this.repoMethod, + e + ); + }), + e + ); + })(), + Nt = (function () { + function e(e, t) { + var n = this; + ((this.protocol = e), + (this.server = t), + e.server.onSubRequest(function (e, t) { + return n.handleSubRequest(e, t); + }), + e.server.onSubAdded(function (e, t) { + return n.handleSubAdded(e, t); + }), + e.server.onSubRemoved(function (e, t) { + return n.handleSubRemoved(e, t); + })); + } + return ( + (e.prototype.handleSubRequest = function (e, t) { + if ( + t && + t.streamCallbacks && + "function" === + typeof t.streamCallbacks.subscriptionRequestHandler + ) { + var n = new Bt(this.protocol, t, e); + t.streamCallbacks.subscriptionRequestHandler(n); + } + }), + (e.prototype.handleSubAdded = function (e, t) { + if ( + t && + t.streamCallbacks && + "function" === + typeof t.streamCallbacks.subscriptionAddedHandler + ) { + var n = new Lt(this.protocol, t, e); + t.streamCallbacks.subscriptionAddedHandler(n); + } + }), + (e.prototype.handleSubRemoved = function (e, t) { + if ( + t && + t.streamCallbacks && + "function" === + typeof t.streamCallbacks.subscriptionRemovedHandler + ) { + var n = new Lt(this.protocol, t, e); + t.streamCallbacks.subscriptionRemovedHandler(n); + } + }), + e + ); + })(), + Ft = (function () { + function e(e, t, n) { + ((this.key = e), (this.protocol = t), (this.repoMethod = n)); + } + return ( + (e.prototype.subscriptions = function () { + var e = this; + return this.protocol.server + .getSubscriptionList(this.repoMethod, this.key) + .map(function (t) { + return new Lt(e.protocol, e.repoMethod, t); + }); + }), + (e.prototype.close = function () { + this.protocol.server.closeAllSubscriptions( + this.repoMethod, + this.key + ); + }), + (e.prototype.push = function (e) { + this.protocol.server.pushData(this.repoMethod, e, [this.key]); + }), + e + ); + })(), + jt = (function () { + function e(e, t, n) { + ((this._protocol = e), + (this._repoMethod = t), + (this._server = n), + (this.name = this._repoMethod.definition.name)); + } + return ( + (e.prototype.branches = function (e) { + var t = this, + n = this._protocol.server.getBranchList(this._repoMethod); + return e + ? n.indexOf(e) > -1 + ? new Ft(e, this._protocol, this._repoMethod) + : void 0 + : n.map(function (e) { + return new Ft(e, t._protocol, t._repoMethod); + }); + }), + (e.prototype.branch = function (e) { + return this.branches(e); + }), + (e.prototype.subscriptions = function () { + var e = this; + return this._protocol.server + .getSubscriptionList(this._repoMethod) + .map(function (t) { + return new Lt(e._protocol, e._repoMethod, t); + }); + }), + Object.defineProperty(e.prototype, "definition", { + get: function () { + var e, + t = this._repoMethod.definition; + return { + accepts: t.accepts, + description: t.description, + displayName: t.displayName, + name: t.name, + objectTypes: t.objectTypes, + returns: t.returns, + supportsStreaming: t.supportsStreaming, + flags: + null === (e = t.flags) || void 0 === e + ? void 0 + : e.metadata + }; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.close = function () { + (this._protocol.server.closeAllSubscriptions(this._repoMethod), + this._server.unregister(this._repoMethod.definition, !0)); + }), + (e.prototype.push = function (e, t) { + if ("string" !== typeof t && !Array.isArray(t) && void 0 !== t) + throw new Error( + "invalid branches should be string or string array" + ); + if ("object" !== typeof e) + throw new Error( + "Invalid arguments. Data must be an object." + ); + this._protocol.server.pushData(this._repoMethod, e, t); + }), + (e.prototype.updateRepoMethod = function (e) { + this._repoMethod = e; + }), + e + ); + })(), + Ht = (function () { + function e(e, t) { + ((this.protocol = e), + (this.serverRepository = t), + (this.invocations = 0), + (this.currentlyUnregistering = {}), + (this.streaming = new Nt(e, this)), + this.protocol.server.onInvoked( + this.onMethodInvoked.bind(this) + )); + } + return ( + (e.prototype.createStream = function (e, t, n, r, i) { + var o = this; + return Rt( + new Promise(function (n, r) { + if (e) { + var a; + if ( + !(a = + "string" === typeof e + ? { name: "" + e } + : b({}, e)).name + ) + return r( + "The \u201cname\u201d property is required for the \u201cstreamDefinition\u201d object and must be unique. Stream definition: ".concat( + JSON.stringify(a) + ) + ); + if ( + o.serverRepository.getList().some(function (e) { + return e.definition.name === a.name; + }) + ) + return r( + 'A stream with the name "'.concat( + a.name, + '" already exists! Please, provide a unique name for the stream.' + ) + ); + ((a.supportsStreaming = !0), + t || (t = {}), + "function" !== + typeof t.subscriptionRequestHandler && + (t.subscriptionRequestHandler = function ( + e + ) { + e.accept(); + })); + var s = o.serverRepository.add({ + definition: a, + streamCallbacks: t, + protocolState: {} + }); + o.protocol.server + .createStream(s) + .then(function () { + var e; + (i + ? ((e = i), i.updateRepoMethod(s)) + : (e = new jt(o.protocol, s, o)), + (s.stream = e), + n(e)); + }) + .catch(function (e) { + (s.repoId && + o.serverRepository.remove(s.repoId), + r(e)); + }); + } else + r( + "The stream name must be unique! Please, provide either a unique string for a stream name to \u201cglue.interop.createStream()\u201d or a \u201cmethodDefinition\u201d object with a unique \u201cname\u201d property for the stream." + ); + }), + n, + r + ); + }), + (e.prototype.register = function (e, t) { + var n = this; + if (!e) + return Promise.reject( + "Method definition is required. Please, provide either a unique string for a method name or a \u201cmethodDefinition\u201d object with a required \u201cname\u201d property." + ); + if ("function" !== typeof t) + return Promise.reject( + "The second parameter must be a callback function. Method: ".concat( + "string" === typeof e ? e : e.name + ) + ); + var r = function (e, r) { + return k(n, void 0, void 0, function () { + var n, i, o; + return x(this, function (a) { + switch (a.label) { + case 0: + return ( + a.trys.push([0, 4, , 5]), + (n = t(e.args, e.instance)) && + "function" === typeof n.then + ? [4, n] + : [3, 2] + ); + case 1: + return ( + (i = a.sent()), + r(void 0, i), + [3, 3] + ); + case 2: + (r(void 0, n), (a.label = 3)); + case 3: + return [3, 5]; + case 4: + return ( + (o = a.sent()), + r( + null !== o && void 0 !== o ? o : "", + null !== o && void 0 !== o ? o : "" + ), + [3, 5] + ); + case 5: + return [2]; + } + }); + }); + }; + return ((r.userCallback = t), this.registerCore(e, r)); + }), + (e.prototype.registerAsync = function (e, t) { + if (!e) + return Promise.reject( + "Method definition is required. Please, provide either a unique string for a method name or a \u201cmethodDefinition\u201d object with a required \u201cname\u201d property." + ); + if ("function" !== typeof t) + return Promise.reject( + "The second parameter must be a callback function. Method: ".concat( + "string" === typeof e ? e : e.name + ) + ); + var n = function (e, n) { + try { + var r = !1, + i = function (e) { + (r || n(void 0, e), (r = !0)); + }, + o = function (e) { + (r || (e || (e = ""), n(e, e)), (r = !0)); + }, + a = t(e.args, e.instance, i, o); + a && "function" === typeof a.then && a.then(i).catch(o); + } catch (s) { + n(s, void 0); + } + }; + return ((n.userCallbackAsync = t), this.registerCore(e, n)); + }), + (e.prototype.unregister = function (e, t) { + return ( + void 0 === t && (t = !1), + k(this, void 0, void 0, function () { + var n, r; + return x(this, function (i) { + switch (i.label) { + case 0: + return void 0 === e + ? [ + 2, + Promise.reject( + "Please, provide either a unique string for a name or an object containing a \u201cname\u201d property." + ) + ] + : "function" !== typeof e + ? [3, 2] + : [ + 4, + this.unregisterWithPredicate( + e, + t + ) + ]; + case 1: + case 3: + return (i.sent(), [2]); + case 2: + return void 0 === + (n = + "string" === typeof e + ? { name: e } + : e).name + ? [ + 2, + Promise.reject( + "Method name is required. Cannot find a method if the method name is undefined!" + ) + ] + : (r = this.serverRepository + .getList() + .find(function (e) { + return ( + e.definition.name === + n.name && + (e.definition + .supportsStreaming || + !1) === t + ); + })) + ? [ + 4, + this.removeMethodsOrStreams([r]) + ] + : [ + 2, + Promise.reject( + 'Method with a name "'.concat( + n.name, + '" does not exist or is not registered by your application!' + ) + ) + ]; + } + }); + }) + ); + }), + (e.prototype.unregisterWithPredicate = function (e, t) { + return k(this, void 0, void 0, function () { + var n; + return x(this, function (r) { + switch (r.label) { + case 0: + return (n = this.serverRepository + .getList() + .filter(function (t) { + return e(t.definition); + }) + .filter(function (e) { + return ( + (e.definition.supportsStreaming || + !1) === t + ); + })) && 0 !== n.length + ? [4, this.removeMethodsOrStreams(n)] + : [ + 2, + Promise.reject( + "Could not find a ".concat( + t ? "stream" : "method", + " matching the specified condition!" + ) + ) + ]; + case 1: + return (r.sent(), [2]); + } + }); + }); + }), + (e.prototype.removeMethodsOrStreams = function (e) { + var t = this, + n = []; + return ( + e.forEach(function (e) { + var r = t.protocol.server + .unregister(e) + .then(function () { + e.repoId && t.serverRepository.remove(e.repoId); + }); + (n.push(r), + t.addAsCurrentlyUnregistering( + e.definition.name, + r + )); + }), + Promise.all(n) + ); + }), + (e.prototype.addAsCurrentlyUnregistering = function (e, t) { + return k(this, void 0, void 0, function () { + var n, + r = this; + return x(this, function (i) { + return ( + (n = new Promise(function (e) { + return setTimeout(e, 5e3); + })), + (this.currentlyUnregistering[e] = Promise.race([ + t, + n + ]).then(function () { + delete r.currentlyUnregistering[e]; + })), + [2] + ); + }); + }); + }), + (e.prototype.registerCore = function (e, t) { + return k(this, void 0, void 0, function () { + var n, + r, + i, + o = this; + return x(this, function (a) { + switch (a.label) { + case 0: + return (n = + "string" === typeof e + ? { name: "" + e } + : b({}, e)).name + ? (r = this.currentlyUnregistering[n.name]) + ? [4, r] + : [3, 2] + : [ + 2, + Promise.reject( + "Please, provide a (unique) string value for the \u201cname\u201d property in the \u201cmethodDefinition\u201d object: ".concat( + JSON.stringify(e) + ) + ) + ]; + case 1: + (a.sent(), (a.label = 2)); + case 2: + return this.serverRepository + .getList() + .some(function (e) { + return e.definition.name === n.name; + }) + ? [ + 2, + Promise.reject( + 'A method with the name "'.concat( + n.name, + '" already exists! Please, provide a unique name for the method.' + ) + ) + ] + : n.supportsStreaming + ? [ + 2, + Promise.reject( + "When you create methods with \u201cglue.interop.register()\u201d or \u201cglue.interop.registerAsync()\u201d the property \u201csupportsStreaming\u201d cannot be \u201ctrue\u201d. If you want \u201c".concat( + n.name, + "\u201d to be a stream, please use the \u201cglue.interop.createStream()\u201d method." + ) + ) + ] + : ((i = this.serverRepository.add({ + definition: n, + theFunction: t, + protocolState: {} + })), + [ + 2, + this.protocol.server + .register(i) + .catch(function (e) { + throw ( + (null === i || + void 0 === i + ? void 0 + : i.repoId) && + o.serverRepository.remove( + i.repoId + ), + e + ); + }) + ]); + } + }); + }); + }), + (e.prototype.onMethodInvoked = function (e, t, n) { + var r = this; + e && + e.theFunction && + e.theFunction(n, function (n, i) { + if (void 0 !== n && null !== n) + if (n.message && "string" === typeof n.message) + n = n.message; + else if ("string" !== typeof n) + try { + n = JSON.stringify(n); + } catch (o) { + n = + "un-stringifyable error in onMethodInvoked! Top level prop names: ".concat( + Object.keys(n) + ); + } + (i + ? ("object" !== typeof i || Array.isArray(i)) && + (i = { _value: i }) + : (i = {}), + r.protocol.server.methodInvocationResult( + e, + t, + n, + i + )); + }); + }), + e + ); + })(), + zt = (function () { + function e(e, t, n) { + var r = this; + ((this.wrapped = {}), + (this.wrapped.getMethods = function () { + return e.methodsForInstance(this); + }), + (this.wrapped.getStreams = function () { + return e.methodsForInstance(this).filter(function (e) { + return e.supportsStreaming; + }); + }), + t && this.refreshWrappedObject(t), + n && + (n.loggedIn(function () { + r.refresh(n); + }), + this.refresh(n))); + } + return ( + (e.prototype.unwrap = function () { + return this.wrapped; + }), + (e.prototype.refresh = function (e) { + if (e) { + var t = + null === e || void 0 === e + ? void 0 + : e.resolvedIdentity, + n = Object.assign( + {}, + null !== t && void 0 !== t ? t : {}, + { + peerId: + null === e || void 0 === e + ? void 0 + : e.peerId + } + ); + this.refreshWrappedObject(n); + } + }), + (e.prototype.refreshWrappedObject = function (e) { + var t, + n, + r, + i, + o = this; + (Object.keys(e).forEach(function (t) { + o.wrapped[t] = e[t]; + }), + (this.wrapped.user = e.user), + (this.wrapped.instance = e.instance), + (this.wrapped.application = + null !== (t = e.application) && void 0 !== t + ? t + : $e()), + (this.wrapped.applicationName = e.applicationName), + (this.wrapped.pid = + null !== + (r = + null !== (n = e.pid) && void 0 !== n + ? n + : e.process) && void 0 !== r + ? r + : Math.floor(1e10 * Math.random())), + (this.wrapped.machine = e.machine), + (this.wrapped.environment = e.environment), + (this.wrapped.region = e.region), + (this.wrapped.windowId = e.windowId), + (this.wrapped.isLocal = + null === (i = e.isLocal) || void 0 === i || i), + (this.wrapped.api = e.api), + (this.wrapped.service = e.service), + (this.wrapped.peerId = e.peerId)); + }), + e + ); + })(), + qt = function (e) { + return b(b({}, e), { flags: e.flags.metadata || {} }); + }, + Gt = (function () { + function e(e, t) { + ((this.logger = e), + (this.API = t), + (this.servers = {}), + (this.methodsCount = {}), + (this.callbacks = Z())); + var n = this.API.instance.peerId; + ((this.myServer = { + id: n, + methods: {}, + instance: this.API.instance, + wrapper: this.API.unwrappedInstance + }), + (this.servers[n] = this.myServer)); + } + return ( + (e.prototype.addServer = function (e, t) { + this.logger.debug("adding server ".concat(t)); + var n = this.servers[t]; + if (n) return n.id; + var r = new zt(this.API, e), + i = { + id: t, + methods: {}, + instance: r.unwrap(), + wrapper: r + }; + return ( + (this.servers[t] = i), + this.callbacks.execute("onServerAdded", i.instance), + t + ); + }), + (e.prototype.removeServerById = function (e, t) { + var n = this, + r = this.servers[e]; + r + ? (this.logger.debug("removing server ".concat(e)), + Object.keys(r.methods).forEach(function (t) { + n.removeServerMethod(e, t); + }), + delete this.servers[e], + this.callbacks.execute("onServerRemoved", r.instance, t)) + : this.logger.warn( + "not aware of server " + .concat(e, ", my state ") + .concat(JSON.stringify(Object.keys(this.servers))) + ); + }), + (e.prototype.addServerMethod = function (e, t) { + var n, + r = this.servers[e]; + if (!r) throw new Error("server does not exists"); + if (!r.methods[t.id]) { + var i = this.createMethodIdentifier(t), + o = this, + a = { + identifier: i, + gatewayId: t.id, + name: t.name, + displayName: t.display_name, + description: t.description, + version: t.version, + objectTypes: t.object_types || [], + accepts: t.input_signature, + returns: t.result_signature, + supportsStreaming: + "undefined" !== typeof t.flags && + t.flags.streaming, + flags: + null !== (n = t.flags) && void 0 !== n ? n : {}, + getServers: function () { + return o.getServersByMethod(i); + } + }; + ((a.object_types = a.objectTypes), + (a.display_name = a.displayName), + (a.version = a.version), + (r.methods[t.id] = a)); + var s = qt(a); + return ( + this.methodsCount[i] || + ((this.methodsCount[i] = 0), + this.callbacks.execute("onMethodAdded", s)), + (this.methodsCount[i] = this.methodsCount[i] + 1), + this.callbacks.execute( + "onServerMethodAdded", + r.instance, + s + ), + a + ); + } + }), + (e.prototype.removeServerMethod = function (e, t) { + var n = this.servers[e]; + if (!n) throw new Error("server does not exists"); + var r = n.methods[t]; + delete n.methods[t]; + var i = qt(r); + ((this.methodsCount[r.identifier] = + this.methodsCount[r.identifier] - 1), + 0 === this.methodsCount[r.identifier] && + this.callbacks.execute("onMethodRemoved", i), + this.callbacks.execute( + "onServerMethodRemoved", + n.instance, + i + )); + }), + (e.prototype.getMethods = function () { + return this.extractMethodsFromServers( + Object.values(this.servers) + ).map(qt); + }), + (e.prototype.getServers = function () { + return Object.values(this.servers).map( + this.hideServerMethodSystemFlags + ); + }), + (e.prototype.onServerAdded = function (e) { + var t = this.callbacks.add("onServerAdded", e), + n = this.getServers().map(function (e) { + return e.instance; + }); + return this.returnUnsubWithDelayedReplay(t, n, e); + }), + (e.prototype.onMethodAdded = function (e) { + var t = this.callbacks.add("onMethodAdded", e), + n = this.getMethods(); + return this.returnUnsubWithDelayedReplay(t, n, e); + }), + (e.prototype.onServerMethodAdded = function (e) { + var t = this.callbacks.add("onServerMethodAdded", e), + n = !1, + r = this.getServers(); + return ( + setTimeout(function () { + r.forEach(function (t) { + var r = t.methods; + Object.keys(r).forEach(function (i) { + n || e(t.instance, r[i]); + }); + }); + }, 0), + function () { + ((n = !0), t()); + } + ); + }), + (e.prototype.onMethodRemoved = function (e) { + return this.callbacks.add("onMethodRemoved", e); + }), + (e.prototype.onServerRemoved = function (e) { + return this.callbacks.add("onServerRemoved", e); + }), + (e.prototype.onServerMethodRemoved = function (e) { + return this.callbacks.add("onServerMethodRemoved", e); + }), + (e.prototype.getServerById = function (e) { + return this.hideServerMethodSystemFlags(this.servers[e]); + }), + (e.prototype.reset = function () { + var e, + t = this; + (Object.keys(this.servers).forEach(function (e) { + t.removeServerById(e, "reset"); + }), + (this.servers = + (((e = {})[this.myServer.id] = this.myServer), e)), + (this.methodsCount = {})); + }), + (e.prototype.createMethodIdentifier = function (e) { + var t, + n, + r = + null !== (t = e.input_signature) && void 0 !== t + ? t + : "", + i = + null !== (n = e.result_signature) && void 0 !== n + ? n + : ""; + return (e.name + r + i).toLowerCase(); + }), + (e.prototype.getServersByMethod = function (e) { + var t = []; + return ( + Object.values(this.servers).forEach(function (n) { + Object.values(n.methods).forEach(function (r) { + r.identifier === e && t.push(n.instance); + }); + }), + t + ); + }), + (e.prototype.returnUnsubWithDelayedReplay = function (e, t, n) { + var r = !1; + return ( + setTimeout(function () { + t.forEach(function (e) { + r || n(e); + }); + }, 0), + function () { + ((r = !0), e()); + } + ); + }), + (e.prototype.hideServerMethodSystemFlags = function (e) { + var t = {}; + return ( + Object.entries(e.methods).forEach(function (e) { + var n = e[0], + r = e[1]; + t[n] = qt(r); + }), + b(b({}, e), { methods: t }) + ); + }), + (e.prototype.extractMethodsFromServers = function (e) { + return Object.values(e).reduce(function (e, t) { + return _(_([], e, !0), Object.values(t.methods), !0); + }, []); + }), + e + ); + })(), + Ut = (function () { + function e() { + ((this.nextId = 0), (this.methods = [])); + } + return ( + (e.prototype.add = function (e) { + return ( + (e.repoId = String(this.nextId)), + (this.nextId += 1), + this.methods.push(e), + e + ); + }), + (e.prototype.remove = function (e) { + if ("string" !== typeof e) + return new TypeError("Expecting a string"); + this.methods = this.methods.filter(function (t) { + return t.repoId !== e; + }); + }), + (e.prototype.getById = function (e) { + if ("string" === typeof e) + return this.methods.find(function (t) { + return t.repoId === e; + }); + }), + (e.prototype.getList = function () { + return this.methods.map(function (e) { + return e; + }); + }), + (e.prototype.length = function () { + return this.methods.length; + }), + (e.prototype.reset = function () { + this.methods = []; + }), + e + ); + })(), + Vt = "onSubscriptionRequest", + $t = "onSubscriptionAdded", + Jt = "onSubscriptionRemoved", + Kt = (function () { + function e(e, t, n) { + var r = this; + ((this.session = e), + (this.repository = t), + (this.serverRepository = n), + (this.ERR_URI_SUBSCRIPTION_FAILED = + "com.tick42.agm.errors.subscription.failure"), + (this.callbacks = Z()), + (this.nextStreamId = 0), + e.on("add-interest", function (e) { + r.handleAddInterest(e); + }), + e.on("remove-interest", function (e) { + r.handleRemoveInterest(e); + })); + } + return ( + (e.prototype.acceptRequestOnBranch = function (e, t, n) { + if ( + ("string" !== typeof n && (n = ""), + "object" !== typeof t.protocolState.subscriptionsMap) + ) + throw new TypeError( + "The streaming method is missing its subscriptions." + ); + if (!Array.isArray(t.protocolState.branchKeyToStreamIdMap)) + throw new TypeError( + "The streaming method is missing its branches." + ); + var r = this.getStreamId(t, n), + i = e.msg.subscription_id, + o = { + id: i, + arguments: e.arguments, + instance: e.instance, + branchKey: n, + streamId: r, + subscribeMsg: e.msg + }; + ((t.protocolState.subscriptionsMap[i] = o), + this.session.sendFireAndForget({ + type: "accepted", + subscription_id: i, + stream_id: r + }), + this.callbacks.execute($t, o, t)); + }), + (e.prototype.rejectRequest = function (e, t, n) { + ("string" !== typeof n && (n = ""), + this.sendSubscriptionFailed( + "Subscription rejected by user. " + n, + e.msg.subscription_id + )); + }), + (e.prototype.pushData = function (e, t, n) { + var r = this; + if ( + "object" === typeof e && + Array.isArray(e.protocolState.branchKeyToStreamIdMap) + ) { + if ("object" !== typeof t) + throw new Error( + "Invalid arguments. Data must be an object." + ); + ("string" === typeof n + ? (n = [n]) + : (!Array.isArray(n) || n.length <= 0) && (n = []), + e.protocolState.branchKeyToStreamIdMap + .filter(function (e) { + return ( + !n || + 0 === n.length || + n.indexOf(e.key) >= 0 + ); + }) + .map(function (e) { + return e.streamId; + }) + .forEach(function (e) { + var n = { + type: "publish", + stream_id: e, + data: t + }; + r.session.sendFireAndForget(n); + })); + } + }), + (e.prototype.pushDataToSingle = function (e, t, n) { + if ("object" !== typeof n) + throw new Error( + "Invalid arguments. Data must be an object." + ); + var r = { type: "post", subscription_id: t.id, data: n }; + this.session.sendFireAndForget(r); + }), + (e.prototype.closeSingleSubscription = function (e, t) { + e.protocolState.subscriptionsMap && + delete e.protocolState.subscriptionsMap[t.id]; + var n = { + type: "drop-subscription", + subscription_id: t.id, + reason: "Server dropping a single subscription" + }; + (this.session.sendFireAndForget(n), + t.instance, + this.callbacks.execute(Jt, t, e)); + }), + (e.prototype.closeMultipleSubscriptions = function (e, t) { + var n = this; + if ( + "object" === typeof e && + "object" === typeof e.protocolState.subscriptionsMap && + e.protocolState.subscriptionsMap + ) { + var r = e.protocolState.subscriptionsMap, + i = Object.keys(r).map(function (e) { + return r[e]; + }); + ("string" === typeof t && + (i = i.filter(function (e) { + return e.branchKey === t; + })), + i.forEach(function (e) { + delete r[e.id]; + var t = { + type: "drop-subscription", + subscription_id: e.id, + reason: + "Server dropping all subscriptions on stream_id: " + + e.streamId + }; + n.session.sendFireAndForget(t); + })); + } + }), + (e.prototype.getSubscriptionList = function (e, t) { + if ("object" !== typeof e) return []; + if (!e.protocolState.subscriptionsMap) return []; + var n = e.protocolState.subscriptionsMap, + r = Object.keys(n).map(function (e) { + return n[e]; + }); + return "string" !== typeof t + ? r + : r.filter(function (e) { + return e.branchKey === t; + }); + }), + (e.prototype.getBranchList = function (e) { + if ("object" !== typeof e) return []; + if (!e.protocolState.subscriptionsMap) return []; + var t = e.protocolState.subscriptionsMap, + n = Object.keys(t).map(function (e) { + return t[e]; + }), + r = []; + return ( + n.forEach(function (e) { + var t = ""; + ("object" === typeof e && + "string" === typeof e.branchKey && + (t = e.branchKey), + -1 === r.indexOf(t) && r.push(t)); + }), + r + ); + }), + (e.prototype.onSubAdded = function (e) { + this.onSubscriptionLifetimeEvent($t, e); + }), + (e.prototype.onSubRequest = function (e) { + this.onSubscriptionLifetimeEvent(Vt, e); + }), + (e.prototype.onSubRemoved = function (e) { + this.onSubscriptionLifetimeEvent(Jt, e); + }), + (e.prototype.handleRemoveInterest = function (e) { + var t = this.serverRepository.getById(e.method_id); + if ( + "string" === typeof e.subscription_id && + "object" === typeof t && + t.protocolState.subscriptionsMap && + "object" === + typeof t.protocolState.subscriptionsMap[ + e.subscription_id + ] + ) { + var n = t.protocolState.subscriptionsMap[e.subscription_id]; + (delete t.protocolState.subscriptionsMap[e.subscription_id], + this.callbacks.execute(Jt, n, t)); + } + }), + (e.prototype.onSubscriptionLifetimeEvent = function (e, t) { + this.callbacks.add(e, t); + }), + (e.prototype.getNextStreamId = function () { + return this.nextStreamId++ + ""; + }), + (e.prototype.handleAddInterest = function (e) { + var t = this.repository.getServerById(e.caller_id).instance, + n = { + msg: e, + arguments: e.arguments_kv || {}, + instance: t + }, + r = this.serverRepository.getById(e.method_id); + if (void 0 !== r) + r.protocolState.subscriptionsMap && + r.protocolState.subscriptionsMap[e.subscription_id] + ? this.sendSubscriptionFailed( + "A subscription with id " + + e.subscription_id + + " already exists.", + e.subscription_id + ) + : this.callbacks.execute(Vt, n, r); + else { + var i = + "No method with id " + e.method_id + " on this server."; + this.sendSubscriptionFailed(i, e.subscription_id); + } + }), + (e.prototype.sendSubscriptionFailed = function (e, t) { + var n = { + type: "error", + reason_uri: this.ERR_URI_SUBSCRIPTION_FAILED, + reason: e, + request_id: t + }; + this.session.sendFireAndForget(n); + }), + (e.prototype.getStreamId = function (e, t) { + if ( + ("string" !== typeof t && (t = ""), + !e.protocolState.branchKeyToStreamIdMap) + ) + throw new Error( + "streaming ".concat( + e.definition.name, + " method without protocol state" + ) + ); + var n = e.protocolState.branchKeyToStreamIdMap.filter( + function (e) { + return e.key === t; + } + )[0], + r = n ? n.streamId : void 0; + return ( + ("string" === typeof r && "" !== r) || + ((r = this.getNextStreamId()), + e.protocolState.branchKeyToStreamIdMap.push({ + key: t, + streamId: r + })), + r + ); + }), + e + ); + })(), + Qt = (function () { + function e(e, t, n, r) { + var i = this; + ((this.session = e), + (this.clientRepository = t), + (this.serverRepository = n), + (this.logger = r), + (this.callbacks = Z()), + (this.streaming = new Kt(e, t, n)), + this.session.on("invoke", function (e) { + return i.handleInvokeMessage(e); + })); + } + return ( + (e.prototype.createStream = function (e) { + return ( + (e.protocolState.subscriptionsMap = {}), + (e.protocolState.branchKeyToStreamIdMap = []), + this.register(e, !0) + ); + }), + (e.prototype.register = function (e, t) { + var n, + r = this, + i = e.definition, + o = Object.assign( + {}, + { + metadata: + null !== (n = i.flags) && void 0 !== n ? n : {} + }, + { streaming: t || !1 } + ), + a = { + type: "register", + methods: [ + { + id: e.repoId, + name: i.name, + display_name: i.displayName, + description: i.description, + version: i.version, + flags: o, + object_types: i.objectTypes || i.object_types, + input_signature: i.accepts, + result_signature: i.returns, + restrictions: void 0 + } + ] + }; + return this.session + .send(a, { methodId: e.repoId }) + .then(function () { + r.logger.debug( + "registered method " + + e.definition.name + + " with id " + + e.repoId + ); + }) + .catch(function (t) { + throw ( + r.logger.warn( + "failed to register method " + .concat(e.definition.name, " with id ") + .concat(e.repoId, " - ") + .concat(JSON.stringify(t)) + ), + t + ); + }); + }), + (e.prototype.onInvoked = function (e) { + this.callbacks.add("onInvoked", e); + }), + (e.prototype.methodInvocationResult = function (e, t, n, r) { + var i; + ((i = + n || "" === n + ? { + type: "error", + request_id: t, + reason_uri: "agm.errors.client_error", + reason: n, + context: r, + peer_id: void 0 + } + : { + type: "yield", + invocation_id: t, + peer_id: this.session.peerId, + result: r, + request_id: void 0 + }), + this.session.sendFireAndForget(i)); + }), + (e.prototype.unregister = function (e) { + return k(this, void 0, void 0, function () { + var t; + return x(this, function (n) { + switch (n.label) { + case 0: + return ( + (t = { + type: "unregister", + methods: [e.repoId] + }), + [4, this.session.send(t)] + ); + case 1: + return (n.sent(), [2]); + } + }); + }); + }), + (e.prototype.getBranchList = function (e) { + return this.streaming.getBranchList(e); + }), + (e.prototype.getSubscriptionList = function (e, t) { + return this.streaming.getSubscriptionList(e, t); + }), + (e.prototype.closeAllSubscriptions = function (e, t) { + this.streaming.closeMultipleSubscriptions(e, t); + }), + (e.prototype.pushData = function (e, t, n) { + this.streaming.pushData(e, t, n); + }), + (e.prototype.pushDataToSingle = function (e, t, n) { + this.streaming.pushDataToSingle(e, t, n); + }), + (e.prototype.closeSingleSubscription = function (e, t) { + this.streaming.closeSingleSubscription(e, t); + }), + (e.prototype.acceptRequestOnBranch = function (e, t, n) { + this.streaming.acceptRequestOnBranch(e, t, n); + }), + (e.prototype.rejectRequest = function (e, t, n) { + this.streaming.rejectRequest(e, t, n); + }), + (e.prototype.onSubRequest = function (e) { + this.streaming.onSubRequest(e); + }), + (e.prototype.onSubAdded = function (e) { + this.streaming.onSubAdded(e); + }), + (e.prototype.onSubRemoved = function (e) { + this.streaming.onSubRemoved(e); + }), + (e.prototype.handleInvokeMessage = function (e) { + var t = e.invocation_id, + n = e.caller_id, + r = e.method_id, + i = e.arguments_kv, + o = this.serverRepository.getList().filter(function (e) { + return e.repoId === r; + })[0]; + if (void 0 !== o) { + var a = { + args: i, + instance: + this.clientRepository.getServerById(n).instance + }; + this.callbacks.execute("onInvoked", o, t, a); + } + }), + e + ); + })(), + Xt = (function () { + function e(e, t) { + ((this.repository = e), (this.subscriptionData = t)); + } + return ( + Object.defineProperty(e.prototype, "requestArguments", { + get: function () { + return this.subscriptionData.params.arguments || {}; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "servers", { + get: function () { + var e = this; + return this.subscriptionData.trackedServers + .filter(function (e) { + return e.subscriptionId; + }) + .map(function (t) { + return e.repository.getServerById(t.serverId) + .instance; + }); + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "serverInstance", { + get: function () { + return this.servers[0]; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "stream", { + get: function () { + return this.subscriptionData.method; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.onData = function (e) { + if ("function" !== typeof e) + throw new TypeError( + "The data callback must be a function." + ); + (this.subscriptionData.handlers.onData.push(e), + 1 === this.subscriptionData.handlers.onData.length && + this.subscriptionData.queued.data.length > 0 && + this.subscriptionData.queued.data.forEach(function (t) { + e(t); + })); + }), + (e.prototype.onClosed = function (e) { + if ("function" !== typeof e) + throw new TypeError("The callback must be a function."); + this.subscriptionData.handlers.onClosed.push(e); + }), + (e.prototype.onFailed = function (e) {}), + (e.prototype.onConnected = function (e) { + if ("function" !== typeof e) + throw new TypeError("The callback must be a function."); + this.subscriptionData.handlers.onConnected.push(e); + }), + (e.prototype.close = function () { + this.subscriptionData.close(); + }), + (e.prototype.setNewSubscription = function (e) { + this.subscriptionData = e; + }), + e + ); + })(), + Yt = (function () { + function e(e) { + ((this.config = e), (this.cache = []), (this.timeoutIds = [])); + } + return ( + (e.prototype.add = function (e) { + var t = this, + n = $e(); + this.cache.push({ id: n, element: e }); + var r = setTimeout(function () { + var e = t.cache.findIndex(function (e) { + return e.id === n; + }); + e < 0 || t.cache.splice(e, 1); + }, this.config.ELEMENT_TTL_MS); + this.timeoutIds.push(r); + }), + (e.prototype.flush = function () { + var e = this.cache.map(function (e) { + return e.element; + }); + return ( + this.timeoutIds.forEach(function (e) { + return clearInterval(e); + }), + (this.cache = []), + (this.timeoutIds = []), + e + ); + }), + e + ); + })(), + Zt = "awaitingAccept", + en = "subscribed", + tn = "Subscription failed.", + nn = "Subscription rejected.", + rn = "ServerInitiated", + on = "ClientInitiated", + an = (function () { + function e(e, t, n) { + var r = this; + ((this.session = e), + (this.repository = t), + (this.logger = n), + (this.subscriptionsList = {}), + (this.timedCache = new Yt({ ELEMENT_TTL_MS: 1e4 })), + (this.subscriptionIdToLocalKeyMap = {}), + (this.nextSubLocalKey = 0), + (this.handleErrorSubscribing = function (e) { + var t = e._tag, + n = t.subLocalKey, + i = r.subscriptionsList[n]; + if ( + "object" === typeof i && + ((i.trackedServers = i.trackedServers.filter( + function (e) { + return e.serverId !== t.serverId; + } + )), + i.trackedServers.length <= 0) + ) { + if ((clearTimeout(i.timeoutId), i.status === Zt)) { + var o = + "string" === typeof e.reason && + "" !== e.reason + ? ' Publisher said "' + e.reason + '".' + : " No reason given.", + a = + "object" === typeof i.params.arguments + ? JSON.stringify(i.params.arguments) + : "{}"; + i.error({ + message: nn + o + " Called with:" + a, + called_with: i.params.arguments, + method: i.method + }); + } else i.status === en && r.callOnClosedHandlers(i); + delete r.subscriptionsList[n]; + } + }), + (this.handleSubscribed = function (e) { + var t = e._tag.subLocalKey, + n = r.subscriptionsList[t]; + if ("object" === typeof n) { + var i = e._tag.serverId, + o = n.trackedServers.filter(function (e) { + return e.serverId === i; + })[0]; + if ("object" === typeof o) { + ((o.subscriptionId = e.subscription_id), + (r.subscriptionIdToLocalKeyMap[ + e.subscription_id + ] = t)); + var a = n.status === Zt; + if (((n.status = en), a)) { + var s = !1, + c = n.subscription; + c + ? (c.setNewSubscription(n), + n.success(c), + (s = !0)) + : ((c = new Xt(r.repository, n)), + (n.subscription = c), + n.success(c)); + for ( + var u = 0, d = n.handlers.onConnected; + u < d.length; + u++ + ) { + var l = d[u]; + try { + l(c.serverInstance, s); + } catch (p) {} + } + } + } + } + }), + (this.handleEventData = function (e) { + var t = r.subscriptionIdToLocalKeyMap[e.subscription_id]; + if ("undefined" !== typeof t) { + var n = r.subscriptionsList[t]; + if ("object" === typeof n) { + var i = n.trackedServers.filter(function (t) { + return t.subscriptionId === e.subscription_id; + }); + if (1 === i.length) { + var o = e.oob, + a = i[0].serverId, + s = function () { + return { + data: e.data, + server: r.repository.getServerById( + a + ).instance, + requestArguments: + n.params.arguments, + message: void 0, + private: o + }; + }, + c = n.handlers.onData, + u = n.queued.data; + c.length > 0 + ? c.forEach(function (e) { + "function" === typeof e && e(s()); + }) + : u.push(s()); + } + } + } + }), + (this.handleSubscriptionCancelled = function (e) { + var t = r.subscriptionIdToLocalKeyMap[e.subscription_id]; + if ("undefined" !== typeof t) { + var n = r.subscriptionsList[t]; + if ("object" === typeof n) { + var i = n.trackedServers.length - 1; + ((n.trackedServers = n.trackedServers.filter( + function (t) { + return ( + t.subscriptionId !== + e.subscription_id || + (n.queued.closers.push(t.serverId), !1) + ); + } + )), + n.trackedServers.length === i && + (n.trackedServers.length <= 0 && + (r.timedCache.add(n), + clearTimeout(n.timeoutId), + r.callOnClosedHandlers(n), + delete r.subscriptionsList[t]), + delete r.subscriptionIdToLocalKeyMap[ + e.subscription_id + ])); + } + } + }), + e.on("subscribed", this.handleSubscribed), + e.on("event", this.handleEventData), + e.on( + "subscription-cancelled", + this.handleSubscriptionCancelled + )); + } + return ( + (e.prototype.subscribe = function (e, t, n, r, i, o) { + var a = this; + if (0 !== n.length) { + var s = this.getNextSubscriptionLocalKey(), + c = this.registerSubscription( + s, + e, + t, + r, + i, + t.methodResponseTimeout || 1e4, + o + ); + "object" === typeof c + ? n.forEach(function (n) { + var r = n.server.id, + i = n.methods.find(function (t) { + return t.name === e.name; + }); + if (i) { + c.trackedServers.push({ + serverId: r, + subscriptionId: void 0 + }); + var o = { + type: "subscribe", + server_id: r, + method_id: i.gatewayId, + arguments_kv: t.arguments + }; + a.session + .send(o, { serverId: r, subLocalKey: s }) + .then(function (e) { + return a.handleSubscribed(e); + }) + .catch(function (e) { + return a.handleErrorSubscribing(e); + }); + } else + a.logger.error( + "can not find method " + .concat(e.name, " for target ") + .concat(n.server.id) + ); + }) + : i({ + method: e, + called_with: t.arguments, + message: + tn + " Unable to register the user callbacks." + }); + } else + i({ + method: e, + called_with: t.arguments, + message: + tn + + " No available servers matched the target params." + }); + }), + (e.prototype.drainSubscriptions = function () { + var e = Object.values(this.subscriptionsList); + return ( + (this.subscriptionsList = {}), + (this.subscriptionIdToLocalKeyMap = {}), + e + ); + }), + (e.prototype.drainSubscriptionsCache = function () { + return this.timedCache.flush(); + }), + (e.prototype.getNextSubscriptionLocalKey = function () { + var e = this.nextSubLocalKey; + return ((this.nextSubLocalKey += 1), e); + }), + (e.prototype.registerSubscription = function (e, t, n, r, i, o, a) { + var s = this, + c = { + localKey: e, + status: Zt, + method: t, + params: n, + success: r, + error: i, + trackedServers: [], + handlers: { + onData: + (null === a || void 0 === a + ? void 0 + : a.handlers.onData) || [], + onClosed: + (null === a || void 0 === a + ? void 0 + : a.handlers.onClosed) || [], + onConnected: + (null === a || void 0 === a + ? void 0 + : a.handlers.onConnected) || [] + }, + queued: { data: [], closers: [] }, + timeoutId: void 0, + close: function () { + return s.closeSubscription(e); + }, + subscription: + null === a || void 0 === a ? void 0 : a.subscription + }; + return ( + a || + (n.onData && c.handlers.onData.push(n.onData), + n.onClosed && c.handlers.onClosed.push(n.onClosed), + n.onConnected && + c.handlers.onConnected.push(n.onConnected)), + (this.subscriptionsList[e] = c), + (c.timeoutId = setTimeout(function () { + if (void 0 !== s.subscriptionsList[e]) { + var r = s.subscriptionsList[e]; + r.status === Zt + ? (i({ + method: t, + called_with: n.arguments, + message: + tn + + " Subscription attempt timed out after " + + o + + " ms." + }), + delete s.subscriptionsList[e]) + : r.status === en && + r.trackedServers.length > 0 && + ((r.trackedServers = r.trackedServers.filter( + function (e) { + return ( + "undefined" !== + typeof e.subscriptionId + ); + } + )), + delete r.timeoutId, + r.trackedServers.length <= 0 && + (s.callOnClosedHandlers(r), + delete s.subscriptionsList[e])); + } + }, o)), + c + ); + }), + (e.prototype.callOnClosedHandlers = function (e, t) { + var n, + r = e.queued.closers.length, + i = r > 0 ? e.queued.closers[r - 1] : null; + (void 0 !== i && + "string" === typeof i && + (n = this.repository.getServerById(i).instance), + e.handlers.onClosed.forEach(function (r) { + "function" === typeof r && + r({ + message: t || rn, + requestArguments: e.params.arguments || {}, + server: n, + stream: e.method + }); + })); + }), + (e.prototype.closeSubscription = function (e) { + var t = this, + n = this.subscriptionsList[e]; + "object" === typeof n && + (n.trackedServers.forEach(function (e) { + "undefined" !== typeof e.subscriptionId && + (n.queued.closers.push(e.serverId), + t.session.sendFireAndForget({ + type: "unsubscribe", + subscription_id: e.subscriptionId, + reason_uri: "", + reason: on + }), + delete t.subscriptionIdToLocalKeyMap[ + e.subscriptionId + ]); + }), + (n.trackedServers = []), + this.callOnClosedHandlers(n, on), + delete this.subscriptionsList[e]); + }), + e + ); + })(), + sn = (function () { + function e(e, t, n) { + var r = this; + ((this.session = e), + (this.repository = t), + (this.logger = n), + e.on("peer-added", function (e) { + return r.handlePeerAdded(e); + }), + e.on("peer-removed", function (e) { + return r.handlePeerRemoved(e); + }), + e.on("methods-added", function (e) { + return r.handleMethodsAddedMessage(e); + }), + e.on("methods-removed", function (e) { + return r.handleMethodsRemovedMessage(e); + }), + (this.streaming = new an(e, t, n))); + } + return ( + (e.prototype.subscribe = function (e, t, n, r, i, o) { + this.streaming.subscribe(e, t, n, r, i, o); + }), + (e.prototype.invoke = function (e, t, n, r) { + var i = this, + o = r.id, + a = { + type: "call", + server_id: o, + method_id: t.gatewayId, + arguments_kv: n + }; + return this.session + .send(a, { invocationId: e, serverId: o }) + .then(function (e) { + return i.handleResultMessage(e); + }) + .catch(function (e) { + return i.handleInvocationError(e); + }); + }), + (e.prototype.drainSubscriptions = function () { + return this.streaming.drainSubscriptions(); + }), + (e.prototype.drainSubscriptionsCache = function () { + return this.streaming.drainSubscriptionsCache(); + }), + (e.prototype.handlePeerAdded = function (e) { + var t = e.new_peer_id, + n = e.identity, + r = !e.meta || e.meta.local, + i = Number(n.process), + o = { + machine: n.machine, + pid: isNaN(i) ? n.process : i, + instance: n.instance, + application: n.application, + applicationName: n.applicationName, + environment: n.environment, + region: n.region, + user: n.user, + windowId: n.windowId, + peerId: t, + api: n.api, + isLocal: r + }; + this.repository.addServer(o, t); + }), + (e.prototype.handlePeerRemoved = function (e) { + var t = e.removed_id, + n = e.reason; + this.repository.removeServerById(t, n); + }), + (e.prototype.handleMethodsAddedMessage = function (e) { + var t = this, + n = e.server_id; + e.methods.forEach(function (e) { + t.repository.addServerMethod(n, e); + }); + }), + (e.prototype.handleMethodsRemovedMessage = function (e) { + var t = this, + n = e.server_id, + r = e.methods, + i = this.repository.getServerById(n); + Object.keys(i.methods).forEach(function (e) { + var o = i.methods[e]; + r.indexOf(o.gatewayId) > -1 && + t.repository.removeServerMethod(n, e); + }); + }), + (e.prototype.handleResultMessage = function (e) { + var t = e._tag.invocationId, + n = e.result, + r = e._tag.serverId; + return { + invocationId: t, + result: n, + instance: this.repository.getServerById(r).instance, + status: At.Success, + message: "" + }; + }), + (e.prototype.handleInvocationError = function (e) { + if ( + (this.logger.debug( + "handle invocation error ".concat(JSON.stringify(e)) + ), + "_tag" in e) + ) { + var t = e._tag.invocationId, + n = e._tag.serverId, + r = this.repository.getServerById(n), + i = e.reason; + return { + invocationId: t, + result: e.context, + instance: r.instance, + status: At.Error, + message: i + }; + } + return { + invocationId: "", + message: e.message, + status: At.Error, + error: e + }; + }), + e + ); + })(); + function cn(e, t, n, r, i, o) { + var a, + s = i.logger.subLogger("gw3-protocol"), + c = new Promise(function (e) { + a = e; + }), + u = t.domain("agm", ["subscribed"]), + d = new Qt(u, n, r, s.subLogger("server")), + l = new sn(u, n, s.subLogger("client")); + function p() { + return k(this, void 0, void 0, function () { + var e, t, n, i, a, c, u, d, p, h, f; + return x(this, function (v) { + switch (v.label) { + case 0: + for ( + s.info( + "reconnected - will replay registered methods and subscriptions" + ), + l + .drainSubscriptionsCache() + .forEach(function (e) { + var t = e.method, + n = Object.assign({}, e.params); + (s.info( + "trying to soft-re-subscribe to method " + .concat( + t.name, + ", with params: " + ) + .concat(JSON.stringify(n)) + ), + o.client + .subscribe( + t, + n, + void 0, + void 0, + e + ) + .then(function () { + return s.info( + "soft-subscribing to method ".concat( + t.name, + " DONE" + ) + ); + }) + .catch(function (e) { + return s.warn( + "subscribing to method " + .concat( + t.name, + " failed: " + ) + .concat( + JSON.stringify( + e + ), + "}" + ) + ); + })); + }), + e = [], + t = l.drainSubscriptions(), + n = function (t) { + var n = t.method, + r = Object.assign({}, t.params); + (s.info( + "trying to re-subscribe to method " + .concat(n.name, ", with params: ") + .concat(JSON.stringify(r)) + ), + e.push( + o.client + .subscribe( + n, + r, + void 0, + void 0, + t + ) + .then(function () { + return s.info( + "subscribing to method ".concat( + n.name, + " DONE" + ) + ); + }) + )); + }, + i = 0, + a = t; + i < a.length; + i++ + ) + ((c = a[i]), n(c)); + for ( + u = r.getList(), + r.reset(), + d = function (t) { + var n = t.definition; + (s.info( + "re-publishing method ".concat(n.name) + ), + t.stream + ? e.push( + o.server + .createStream( + n, + t.streamCallbacks, + void 0, + void 0, + t.stream + ) + .then(function () { + return s.info( + "subscribing to method ".concat( + n.name, + " DONE" + ) + ); + }) + ) + : t.theFunction && + t.theFunction.userCallback + ? e.push( + o + .register( + n, + t.theFunction + .userCallback + ) + .then(function () { + return s.info( + "subscribing to method ".concat( + n.name, + " DONE" + ) + ); + }) + ) + : t.theFunction && + t.theFunction + .userCallbackAsync && + e.push( + o + .registerAsync( + n, + t.theFunction + .userCallbackAsync + ) + .then(function () { + return s.info( + "subscribing to method ".concat( + n.name, + " DONE" + ) + ); + }) + ), + s.info( + "re-publishing method ".concat( + n.name, + " DONE" + ) + )); + }, + p = 0, + h = u; + p < h.length; + p++ + ) + ((f = h[p]), d(f)); + return [4, Promise.all(e)]; + case 1: + return ( + v.sent(), + s.info("Interop is re-announced"), + [2] + ); + } + }); + }); + } + function h() { + a && (a({ client: l, server: d }), (a = void 0)); + } + return ( + u.onJoined(function (r) { + (n.addServer(e, t.peerId), + r + ? p() + .then(function () { + return t.setLibReAnnounced({ name: "interop" }); + }) + .catch(function (e) { + return s.warn( + "Error while re-announcing interop: ".concat( + JSON.stringify(e) + ) + ); + }) + : h()); + }), + u.onLeft(function () { + n.reset(); + }), + u.join(), + c + ); + } + var un = (function () { + function e(e) { + var t = this; + if ("undefined" === typeof e) + throw new Error("configuration is required"); + if ("undefined" === typeof e.connection) + throw new Error("configuration.connections is required"); + var n, + r = e.connection; + if ( + ("number" !== typeof e.methodResponseTimeout && + (e.methodResponseTimeout = 3e4), + "number" !== typeof e.waitTimeoutMs && (e.waitTimeoutMs = 3e4), + (this.unwrappedInstance = new zt(this, void 0, r)), + (this.instance = this.unwrappedInstance.unwrap()), + (this.clientRepository = new Gt( + e.logger.subLogger("cRep"), + this + )), + (this.serverRepository = new Ut()), + 3 !== r.protocolVersion) + ) + throw new Error( + "protocol ".concat(r.protocolVersion, " not supported") + ); + ((n = cn( + this.instance, + r, + this.clientRepository, + this.serverRepository, + e, + this + )), + (this.readyPromise = n.then(function (n) { + return ( + (t.protocol = n), + (t.client = new Dt( + t.protocol, + t.clientRepository, + t.instance, + e + )), + (t.server = new Ht(t.protocol, t.serverRepository)), + t + ); + }))); + } + return ( + (e.prototype.ready = function () { + return this.readyPromise; + }), + (e.prototype.serverRemoved = function (e) { + return this.client.serverRemoved(e); + }), + (e.prototype.serverAdded = function (e) { + return this.client.serverAdded(e); + }), + (e.prototype.serverMethodRemoved = function (e) { + return this.client.serverMethodRemoved(e); + }), + (e.prototype.serverMethodAdded = function (e) { + return this.client.serverMethodAdded(e); + }), + (e.prototype.methodRemoved = function (e) { + return this.client.methodRemoved(e); + }), + (e.prototype.methodAdded = function (e) { + return this.client.methodAdded(e); + }), + (e.prototype.methodsForInstance = function (e) { + return this.client.methodsForInstance(e); + }), + (e.prototype.methods = function (e) { + return this.client.methods(e); + }), + (e.prototype.servers = function (e) { + return this.client.servers(e); + }), + (e.prototype.subscribe = function (e, t, n, r) { + return this.client.subscribe(e, t, n, r); + }), + (e.prototype.createStream = function (e, t, n, r) { + return this.server.createStream(e, t, n, r); + }), + (e.prototype.unregister = function (e) { + return this.server.unregister(e); + }), + (e.prototype.registerAsync = function (e, t) { + return this.server.registerAsync(e, t); + }), + (e.prototype.register = function (e, t) { + return this.server.register(e, t); + }), + (e.prototype.invoke = function (e, t, n, r, i, o) { + return this.client.invoke(e, t, n, r, i, o); + }), + (e.prototype.waitForMethod = function (e) { + var t = new re(), + n = this.client.methodAdded(function (r) { + r.name === e && (n(), t.resolve(r)); + }); + return t.promise; + }), + e + ); + })(), + dn = ["subscribed", "success"], + ln = (function () { + function e(e, t) { + var n = this; + ((this.publish = function (e, t, r) { + var i = r || {}, + o = i.routingKey, + a = i.target, + s = n.removeEmptyValues({ + type: "publish", + topic: e, + data: t, + peer_id: n.peerId, + routing_key: o, + target_identity: a + }); + n.session.send(s); + }), + (this.subscribe = function (e, t, r) { + return new Promise(function (i, o) { + var a = r || {}, + s = a.routingKey, + c = a.target, + u = n.removeEmptyValues({ + type: "subscribe", + topic: e, + peer_id: n.peerId, + routing_key: s, + source: c + }); + n.session + .send(u) + .then(function (r) { + var o = r.subscription_id; + (n.subscriptions.push({ + subscription_id: o, + topic: e, + callback: t, + source: c + }), + i({ + unsubscribe: function () { + return ( + n.session.send({ + type: "unsubscribe", + subscription_id: o, + peer_id: n.peerId + }), + (n.subscriptions = + n.subscriptions.filter( + function (e) { + return ( + e.subscription_id !== + o + ); + } + )), + Promise.resolve() + ); + } + })); + }) + .catch(function (e) { + return o(e); + }); + }); + }), + (this.watchOnEvent = function () { + n.session.on("event", function (e) { + var t = e.data, + r = e.subscription_id, + i = e["publisher-identity"], + o = n.subscriptions.find(function (e) { + return e.subscription_id === r; + }); + o && + (o.source + ? n.keysMatch(o.source, i) && + o.callback(t, o.topic, i) + : o.callback(t, o.topic, i)); + }); + }), + (this.connection = e), + (this.logger = t), + (this.peerId = e.peerId), + (this.subscriptions = []), + (this.session = e.domain("bus", dn)), + (this.readyPromise = this.session.join()), + this.readyPromise.then(function () { + n.watchOnEvent(); + })); + } + return ( + (e.prototype.ready = function () { + return this.readyPromise; + }), + (e.prototype.removeEmptyValues = function (e) { + var t = {}; + return ( + Object.keys(e).forEach(function (n) { + void 0 !== e[n] && null !== e[n] && (t[n] = e[n]); + }), + t + ); + }), + (e.prototype.keysMatch = function (e, t) { + var n = Object.keys(e), + r = !0; + return ( + n.forEach(function (n) { + e[n] !== t[n] && (r = !1); + }), + r + ); + }), + e + ); + })(), + pn = function e(t, n) { + var r, + i, + o, + a, + s, + c, + u, + d, + l, + p = + "object" === typeof window + ? null !== (r = window.iodesktop) && void 0 !== r + ? r + : window.glue42gd + : void 0, + h = + "object" === typeof window && + null !== (i = window.gdPreloadPromise) && + void 0 !== i + ? i + : Promise.resolve(), + f = ae("glue"), + v = wt((t = t || {}), (n = n || {}), p), + m = {}; + function g(t, n, r) { + (l = s.canPublish("trace")) && + s.trace("registering ".concat(t, " module")); + var i = function () { + ((n.initTime = r.stop()), + (n.initEndTime = r.endTime), + (n.marks = r.marks), + l && + s.trace( + "" + .concat(t, " is ready - ") + .concat(r.endTime - r.startTime) + )); + }; + ((n.initStartTime = r.startTime), + n.ready + ? n.ready().then(function () { + i(); + }) + : i(), + Array.isArray(t) || (t = [t]), + t.forEach(function (t) { + ((m[t] = n), (e[t] = n)); + })); + } + function y() { + var e = ae("connection"); + o = new tt(v.connection, s.subLogger("connection")); + var t = Promise.resolve(v.auth); + return ( + v.connection && + !v.auth && + (p + ? (t = p.getGWToken().then(function (e) { + return { gatewayToken: e }; + })) + : "undefined" !== typeof window && + (null === window || void 0 === window + ? void 0 + : window.glue42electron) + ? "string" === typeof window.glue42electron.gwToken && + (t = Promise.resolve({ + gatewayToken: window.glue42electron.gwToken + })) + : (t = Promise.reject( + "You need to provide auth information" + ))), + t + .then(function (t) { + var n; + if ( + (e.mark("auth-promise-resolved"), + "[object Object]" !== + Object.prototype.toString.call(t)) + ) + throw new Error( + "Invalid auth object - " + JSON.stringify(t) + ); + return ((n = t), o.login(n)); + }) + .then(function () { + return (g("connection", o, e), v); + }) + .catch(function (e) { + throw (o && o.logout(), e); + }) + ); + } + function w() { + var e, + t = ae("logger"); + return ( + (s = new rt( + "".concat( + null === (e = v.connection.identity) || void 0 === e + ? void 0 + : e.application + ), + void 0, + v.customLogger + )).consoleLevel(v.logger.console), + s.publishLevel(v.logger.publish), + s.canPublish("debug") && s.debug("initializing glue..."), + g("logger", s, t), + Promise.resolve(void 0) + ); + } + function b() { + var e, + t, + n, + r, + i, + a = ae("metrics"), + u = v.metrics, + d = + null === p || void 0 === p + ? void 0 + : p.getMetricsPublishingEnabled, + l = v.connection.identity, + h = + d || + function () { + return !0; + }, + f = + null !== + (e = + "boolean" !== typeof u && u.disableAutoAppSystem) && + void 0 !== e && + e; + return ( + g( + "metrics", + (c = $({ + connection: u ? o : void 0, + logger: s.subLogger("metrics"), + canUpdateMetric: h, + system: "Glue42", + service: + null !== + (n = + null !== + (t = + null === l || void 0 === l + ? void 0 + : l.service) && void 0 !== t + ? t + : null === p || void 0 === p + ? void 0 + : p.applicationName) && void 0 !== n + ? n + : v.application, + instance: + null !== + (i = + null !== + (r = + null === l || void 0 === l + ? void 0 + : l.instance) && void 0 !== r + ? r + : null === l || void 0 === l + ? void 0 + : l.windowId) && void 0 !== i + ? i + : $e(), + disableAutoAppSystem: f, + pagePerformanceMetrics: + "boolean" !== typeof u + ? null === u || void 0 === u + ? void 0 + : u.pagePerformanceMetrics + : void 0 + })), + a + ), + Promise.resolve() + ); + } + function _() { + var e = ae("interop"), + t = { connection: o, logger: s.subLogger("interop") }; + return ( + (a = new un(t)), + (rt.Interop = a), + g(["interop", "agm"], a, e), + Promise.resolve() + ); + } + function C() { + var e = v.activities && 3 === o.protocolVersion; + if (v.contexts || e) { + var t = ae("contexts"); + return ( + g( + "contexts", + (u = new Mt({ + connection: o, + logger: s.subLogger("contexts"), + trackAllContexts: + "object" === typeof v.contexts && + v.contexts.trackAllContexts, + reAnnounceKnownContexts: + "object" === typeof v.contexts && + v.contexts.reAnnounceKnownContexts + })), + t + ), + u + ); + } + var n = o.replayer; + n && n.drain(gt.name); + } + function I() { + return k(this, void 0, void 0, function () { + var e; + return x(this, function (t) { + return v.bus + ? ((e = ae("bus")), + g("bus", (d = new ln(o, s.subLogger("bus"))), e), + [2, Promise.resolve()]) + : [2, Promise.resolve()]; + }); + }); + } + function S(e) { + try { + return ( + e.forEach(function (e) { + E(e.name, e.create); + }), + Promise.resolve() + ); + } catch (t) { + return Promise.reject(t); + } + } + function E(e, t) { + var n = ae(e), + r = t(m); + r && g(e, r, n); + } + function W() { + var e = Object.keys(m).map(function (e) { + var t = m[e]; + return t.ready ? t.ready() : Promise.resolve(); + }); + return Promise.all(e); + } + function T() { + var e = function (e) { + a && a.invoke("T42.ACS.Feedback", e, "best"); + }, + r = { coreVersion: yt, version: v.version }; + f.stop(); + var i = { + feedback: e, + info: r, + logger: s, + interop: a, + agm: a, + connection: o, + metrics: c, + contexts: u, + bus: d, + version: v.version, + userConfig: t, + done: function () { + return ( + null === s || + void 0 === s || + s.info("done called by user..."), + o.logout() + ); + } + }; + if ( + ((i.performance = { + get glueVer() { + return v.version; + }, + get glueConfig() { + return JSON.stringify(t); + }, + get browser() { + return window.performance.timing.toJSON(); + }, + get memory() { + return window.performance.memory; + }, + get initTimes() { + var e = oe(); + return Object.keys(e).map(function (t) { + var n = e[t]; + return { + name: t, + duration: n.endTime - n.startTime, + marks: n.marks, + startTime: n.startTime, + endTime: n.endTime + }; + }); + } + }), + Object.keys(m).forEach(function (e) { + var t = m[e]; + i[e] = t; + }), + (i.config = {}), + Object.keys(v).forEach(function (e) { + i.config[e] = v[e]; + }), + n && + n.extOptions && + Object.keys(n.extOptions).forEach(function (e) { + i.config[e] = + null === n || void 0 === n + ? void 0 + : n.extOptions[e]; + }), + (null === n || void 0 === n ? void 0 : n.enrichGlue) && + n.enrichGlue(i), + p && p.updatePerfData && p.updatePerfData(i.performance), + i.agm) + ) { + var l = function (e, t, n) { + return function () { + return ( + i.logger.warn( + "glue.js - 'glue.agm." + .concat( + t, + "' method is deprecated, use 'glue.interop." + ) + .concat(n, "' instead.") + ), + e.apply(i.agm, arguments) + ); + }; + }, + h = i.agm; + ((h.method_added = l( + i.agm.methodAdded, + "method_added", + "methodAdded" + )), + (h.method_removed = l( + i.agm.methodRemoved, + "method_removed", + "methodRemoved" + )), + (h.server_added = l( + i.agm.serverAdded, + "server_added", + "serverAdded" + )), + (h.server_method_aded = l( + i.agm.serverMethodAdded, + "server_method_aded", + "serverMethodAdded" + )), + (h.server_method_removed = l( + i.agm.serverMethodRemoved, + "server_method_removed", + "serverMethodRemoved" + ))); + } + return i; + } + function A() { + return k(this, void 0, void 0, function () { + var e, n, r; + return x(this, function (i) { + switch (i.label) { + case 0: + if ( + ((e = "T42.ACS.RegisterInstance"), + !ne.isNode() || + "undefined" !== + typeof { + NODE_ENV: "production", + PUBLIC_URL: ".", + WDS_SOCKET_HOST: void 0, + WDS_SOCKET_PATH: void 0, + WDS_SOCKET_PORT: void 0, + FAST_REFRESH: !0 + }._GD_STARTING_CONTEXT_ || + "undefined" === + typeof (null === t || void 0 === t + ? void 0 + : t.application)) + ) + return [3, 4]; + if (!(a.methods({ name: e }).length > 0)) + return [3, 4]; + i.label = 1; + case 1: + return ( + i.trys.push([1, 3, , 4]), + [ + 4, + a.invoke(e, { + appName: + null === t || void 0 === t + ? void 0 + : t.application, + pid: process.pid + }) + ] + ); + case 2: + return (i.sent(), [3, 4]); + case 3: + return ( + (n = i.sent()), + (r = n), + s.error( + "Cannot register as an instance: ".concat( + JSON.stringify(r.message) + ) + ), + [3, 4] + ); + case 4: + return [2]; + } + }); + }); + } + return h + .then(w) + .then(y) + .then(function () { + return Promise.all([b(), _(), C(), I()]); + }) + .then(function () { + return a.readyPromise; + }) + .then(function () { + return A(); + }) + .then(function () { + return S(v.libs || []); + }) + .then(W) + .then(T) + .catch(function (e) { + return Promise.reject({ err: e, libs: m }); + }); + }; + ("undefined" !== typeof window && (window.IOConnectCore = pn), + (pn.version = yt), + (pn.default = pn)); + var hn = (function () { + function e(t) { + (v(this, e), (this._id = t)); + } + return ( + m(e, [ + { + key: "id", + get: function () { + return this._id; + } + }, + { + key: "_update", + value: function (e) { + if (e._id !== this._id) + throw Error( + "Can not update from entity with different id." + ); + this._updateCore(e); + } + }, + { key: "_updateCore", value: function (e) {} }, + { key: "_beforeDelete", value: function (e) {} } + ]), + e + ); + })(); + function fn(e) { + return "number" === typeof e; + } + function vn(e) { + return "string" === typeof e; + } + function mn(e) { + return "object" === typeof e && null !== e; + } + function gn(e) { + return Array.isArray + ? Array.isArray(e) + : "[object Array]" === toString.call(e); + } + function yn(e) { + return "undefined" === typeof e; + } + function wn(e) { + return null === e || "undefined" === typeof e; + } + function bn(e) { + return "string" !== typeof e || !e || 0 === e.length || /^\s*$/.test(e); + } + function kn(e) { + return !0 === e || !1 === e || "[object Boolean]" === toString.call(e); + } + function xn(e) { + return !!(e && e.constructor && e.call && e.apply); + } + function _n(e, t) { + for (var n = 0; n < e.length; n++) if (t(e[n], n)) return !0; + return !1; + } + function Cn(e, t) { + "undefined" !== typeof e && t(e); + } + function In(e, t, n) { + if ("function" !== typeof t && "function" !== typeof n) return e; + ("function" !== typeof t + ? (t = function () {}) + : "function" !== typeof n && (n = function () {}), + e.then(t, n)); + } + var Sn = (function (e) { + h(n, e); + var t = f(n); + function n(e, r, i, o) { + var a; + return ( + v(this, n), + ((a = t.call(this, e))._name = e), + (a._description = o), + (a._ownerWindow = r), + (a._helperWindows = i || []), + a + ); + } + return ( + m(n, [ + { + key: "name", + get: function () { + return this._name; + } + }, + { + key: "description", + get: function () { + return this._description; + } + }, + { + key: "helperWindows", + get: function () { + var e = this; + return this._helperWindows.map(function (t) { + return e.covertToWindowDef(t); + }); + } + }, + { + key: "ownerWindow", + get: function () { + return this.covertToWindowDef(this._ownerWindow); + } + }, + { + key: "initiate", + value: function (e, t, n) { + return this._manager.initiate(this._name, e, t, n); + } + }, + { + key: "_updateCore", + value: function (e) { + var t = this; + (l(p(n.prototype), "_updateCore", this).call(this, e), + Cn(e._description, function (e) { + return (t._description = e); + }), + Cn(e._ownerWindow, function (e) { + return (t._ownerWindow = e); + }), + Cn(e._helperWindows, function (e) { + return (t._helperWindows = e); + })); + } + }, + { + key: "covertToWindowDef", + value: function (e) { + var t, n; + return { + type: + null === + (t = + null === e || void 0 === e + ? void 0 + : e.id) || void 0 === t + ? void 0 + : t.type, + name: + null === + (n = + null === e || void 0 === e + ? void 0 + : e.id) || void 0 === n + ? void 0 + : n.name + }; + } + } + ]), + n + ); + })(hn), + En = (function (e) { + h(n, e); + var t = f(n); + function n(e, r) { + var i; + return ( + v(this, n), + ((i = t.call(this, e))._name = e), + (i._appByWindowTypeGetter = r), + i + ); + } + return ( + m(n, [ + { + key: "name", + get: function () { + return this._name; + } + }, + { + key: "config", + get: function () { + return this._appByWindowTypeGetter(this._name); + } + }, + { + key: "windows", + get: function () { + return this._manager.getWindows({ type: this._name }); + } + }, + { + key: "create", + value: function (e, t) { + var n = Object.assign( + { + type: this.name, + name: this.name, + isIndependent: !1 + }, + t + ); + return this._manager.createWindow(e, n); + } + } + ]), + n + ); + })(hn), + Wn = m(function e(t, n) { + (v(this, e), (this.entity = t), (this.context = n)); + }), + Tn = m(function e(t) { + (v(this, e), (this.type = t)); + }), + An = (function (e) { + h(n, e); + var t = f(n); + function n(e, r) { + var i; + return ( + v(this, n), + ((i = t.call(this, Mn.StatusChange)).newStatus = e), + (i.oldStatus = r), + i + ); + } + return m(n); + })(Tn), + Pn = (function (e) { + h(n, e); + var t = f(n); + function n(e, r, i) { + var o; + return ( + v(this, n), + ((o = t.call(this, Mn.ActivityContextChange)).context = + "string" === typeof e ? JSON.parse(e) : e), + (o.updated = r), + (o.removed = i), + o + ); + } + return m(n); + })(Tn), + Mn = m(function e() { + v(this, e); + }); + ((Mn.Added = "added"), + (Mn.Removed = "removed"), + (Mn.Updated = "updated"), + (Mn.Closed = "closed"), + (Mn.StatusChange = "statusChange"), + (Mn.ActivityContextChange = "activityContextUpdate"), + (Mn.ActivityWindowEvent = "activityWindowEvent"), + (Mn.ActivityWindowJoinedActivity = "joined"), + (Mn.ActivityWindowLeftActivity = "left")); + var Rn = m(function e() { + v(this, e); + }); + ((Rn.Created = "created"), + (Rn.Started = "started"), + (Rn.Destroyed = "destroyed")); + var On = (function () { + function e(t) { + (v(this, e), (this._activity = t)); + } + return ( + m(e, [ + { + key: "register", + value: function (t, n) { + (this._ensureHasAgm(), e.AGM.register(t, n)); + } + }, + { + key: "servers", + value: function () { + return ( + this._ensureHasAgm(), + wn(this._activity) + ? [] + : this._activity.windows.map(function (e) { + return e.instance; + }) + ); + } + }, + { + key: "methods", + value: function () { + var e = this; + if ((this._ensureHasAgm(), wn(this._activity))) + return []; + var t = this._activity.windows, + n = [], + r = []; + return ( + t.forEach(function (t) { + e.methodsForWindow(t).forEach(function (e) { + -1 === n.indexOf(e.name) && + (n.push(e.name), r.push(e)); + }); + }), + r + ); + } + }, + { + key: "methodsForWindow", + value: function (t) { + return ( + this._ensureHasAgm(), + t.instance + ? e.AGM.methodsForInstance(t.instance) + : [] + ); + } + }, + { + key: "invoke", + value: function (t, n, r, i, o, a) { + this._ensureHasAgm(); + var s = this.servers(); + if ((wn(r) && (r = "activity.all"), vn(r))) + if ("activity.all" === r); + else { + if ("activity.best" !== r) { + if ("all" === r || "best" === r) + return In( + e.AGM.invoke(t, n, r, i), + o, + a + ); + throw new Error( + "Invalid invoke target " + r + ); + } + var c = s.filter(function (n) { + return ( + e.AGM.methodsForInstance(n).filter( + function (e) { + return e.name === t; + } + ).length > 0 + ); + }); + c.length > 0 && c[0]; + } + else if (gn(r)) { + if (r.length >= 0) { + var u = r[0]; + if (this._isInstance(u)) + r.map(function (e) { + return e; + }); + else { + if (!this._isActivityWindow(u)) + throw new Error( + "Unknown target object" + ); + r.map(function (e) { + return e.instance; + }); + } + } + } else if (this._isInstance(r)); + else { + if (!this._isActivityWindow(r)) + throw new Error("Unknown target object"); + r.instance; + } + throw new Error("Not implemented"); + } + }, + { + key: "unregister", + value: function (t) { + return (this._ensureHasAgm(), e.AGM.unregister(t)); + } + }, + { + key: "createStream", + value: function (t, n, r) { + (this._ensureHasAgm(), + e.AGM.createStream(t, { + subscriptionAddedHandler: n, + subscriptionRemovedHandler: r, + subscriptionRequestHandler: void 0 + })); + } + }, + { + key: "subscribe", + value: function (t, n, r) { + return (this._ensureHasAgm(), e.AGM.subscribe(t, n)); + } + }, + { + key: "_ensureHasAgm", + value: function () { + if (wn(e.AGM)) + throw new Error( + "Agm should be configured to be used in activity" + ); + } + }, + { + key: "_isInstance", + value: function (e) { + return void 0 !== e.application; + } + }, + { + key: "_isActivityWindow", + value: function (e) { + return void 0 !== e.instance; + } + } + ]), + e + ); + })(), + Dn = (function () { + function e(t, n, r) { + (v(this, e), + (this._manager = t), + (this._ownerActivityId = n), + (this._state = r)); + } + return ( + m(e, [ + { + key: "ownerId", + get: function () { + return this._state.ownerId; + } + }, + { + key: "windowIds", + get: function () { + return this._state.windowIds; + } + }, + { + key: "frameColor", + get: function () { + return this._state.frameColor; + } + }, + { + key: "context", + get: function () { + return this._state.context; + } + }, + { + key: "tag", + get: function () { + return this._state.tag; + } + }, + { + key: "detach", + value: function (e) { + var t = this; + e = e || {}; + var n = {}; + return ( + Object.keys(this._state).forEach(function (e) { + n[e] = t._state[e]; + }), + (n.context = e.context || n.context), + (n.frameColor = e.frameColor || n.frameColor), + this._manager.detachActivities( + this._ownerActivityId, + n + ) + ); + } + } + ]), + e + ); + })(), + Ln = function (e) { + setTimeout(e, 0); + }; + function Bn(e, t) { + if (!xn(t)) return e; + e.then( + function (e) { + Ln(function () { + t(null, e); + }); + }, + function (e) { + Ln(function () { + t(e, null); + }); + } + ); + } + var Nn = (function (e) { + h(n, e); + var t = f(n); + function n(e, r, i, o, a) { + var s; + return ( + v(this, n), + ((s = t.call(this, e))._id = e), + (s._actType = r), + (s._status = i), + (s._context = o), + (s._ownerId = a), + (s._agm = new On(d(s))), + s + ); + } + return ( + m(n, [ + { + key: "type", + get: function () { + if (this._manager) + return this._manager.getActivityType(this._actType); + } + }, + { + key: "context", + get: function () { + return this._context; + } + }, + { + key: "status", + get: function () { + return this._status; + } + }, + { + key: "owner", + get: function () { + return this._ownerId + ? this._manager.getWindows({ id: this._ownerId })[0] + : null; + } + }, + { + key: "windows", + get: function () { + return this._manager.getWindows({ + activityId: this._id + }); + } + }, + { + key: "agm", + get: function () { + return this._agm; + } + }, + { + key: "addWindow", + value: function (e, t) { + return this._manager.addWindowToActivity(this, e, t); + } + }, + { + key: "createWindow", + value: function (e, t) { + return this._manager.createWindow(this, e, t); + } + }, + { + key: "createStackedWindows", + value: function (e, t, n) { + return this._manager.createStackedWindows( + this, + e, + t, + n + ); + } + }, + { + key: "leave", + value: function (e, t) { + return this._manager.leaveWindowFromActivity( + this, + e, + t + ); + } + }, + { + key: "getWindowsByType", + value: function (e) { + var t = { activityId: this._id, type: e }; + return this._manager.getWindows(t); + } + }, + { + key: "setContext", + value: function (e, t) { + return this._manager.setActivityContext(this, e, t); + } + }, + { + key: "updateContext", + value: function (e, t) { + return this._manager.updateActivityContext(this, e, t); + } + }, + { + key: "onStatusChange", + value: function (e) { + var t = this; + return this._manager.subscribeActivityEvents( + function (n, r, i) { + n.id === t.id && e(n, r, i); + } + ); + } + }, + { + key: "onWindowEvent", + value: function (e) { + var t = this; + return this._manager.subscribeWindowEvents( + function (n, r, i) { + n.id === t.id && e(n, r, i); + } + ); + } + }, + { + key: "onContextChanged", + value: function (e) { + var t = this; + this._manager.subscribeActivityContextChanged( + function (n, r, i, o) { + n.id === t.id && e(r, i, o, n); + } + ); + try { + e(this.context, this.context, [], this); + } catch (n) { + return; + } + } + }, + { + key: "stop", + value: function () { + this._manager.stopActivity(this); + } + }, + { + key: "clone", + value: function (e) { + return this._manager.clone(this, e); + } + }, + { + key: "attach", + value: function (e, t) { + var n; + return ( + (n = "string" === typeof e ? e : e.id), + this._manager.attachActivities(n, this.id, t) + ); + } + }, + { + key: "onActivityAttached", + value: function (e) { + var t = this; + this._manager.subscribeActivitiesAttached( + function (n, r, i) { + n === t._id && e(i); + } + ); + } + }, + { + key: "onDetached", + value: function (e) { + var t = this; + this._manager.subscribeActivitiesDetached( + function (n, r, i) { + r.id === t._id && e(n, i); + } + ); + } + }, + { + key: "_updateCore", + value: function (e) { + var t = this; + (l(p(n.prototype), "_updateCore", this).call(this, e), + Cn(e._actType, function (e) { + return (t._actType = e); + }), + Cn(e._context, function (e) { + return (t._context = e); + }), + Cn(e._ownerId, function (e) { + return (t._ownerId = e); + }), + !e._status || + (this._status && + this._status.state === e._status.state) || + (this._status = e._status)); + } + }, + { + key: "_updateDescriptors", + value: function (e) { + var t = this; + this._attached = e.map(function (e) { + return new Dn(t._manager, t._id, e); + }); + } + }, + { + key: "attached", + get: function () { + return this._attached; + } + }, + { + key: "setFrameColor", + value: function (e, t) { + var n = this; + return Bn( + new Promise(function (t, r) { + var i = n.windows.length; + (0 === i && t(n), + n.windows.forEach(function (r) { + r.underlyingWindow.setFrameColor( + e, + function () { + --i <= 0 && t(n); + } + ); + }), + setTimeout(function () { + i > 0 && + r( + n.id + + " - timed out waiting for setFrameColor with" + + e + ); + }, 5e3)); + }), + t + ); + } + }, + { + key: "getFrameColor", + value: function () { + return this.windows && 0 !== this.windows.length + ? this.windows[0].underlyingWindow.frameColor + : ""; + } + } + ]), + n + ); + })(hn), + Fn = m(function e() { + v(this, e); + }); + ((Fn.Trace = "trace"), + (Fn.Debug = "debug"), + (Fn.Info = "info"), + (Fn.Warn = "warn"), + (Fn.Error = "error")); + var jn = (function () { + function e(t) { + (v(this, e), + (this._name = t), + wn(e.GlueLogger) || (this._glueLogger = e.GlueLogger.subLogger(t))); + } + return ( + m( + e, + [ + { + key: "trace", + value: function (t) { + wn(this._glueLogger) + ? e.Level === Fn.Trace && + console.info(this._getMessage(t, Fn.Trace)) + : this._glueLogger.trace(t); + } + }, + { + key: "debug", + value: function (t) { + wn(this._glueLogger) + ? (e.Level !== Fn.Debug && e.Level !== Fn.Trace) || + console.info(this._getMessage(t, Fn.Debug)) + : this._glueLogger.debug(t); + } + }, + { + key: "info", + value: function (t) { + wn(this._glueLogger) + ? (e.Level !== Fn.Debug && + e.Level !== Fn.Trace && + e.Level !== Fn.Info) || + console.info(this._getMessage(t, Fn.Info)) + : this._glueLogger.info(t); + } + }, + { + key: "warn", + value: function (t) { + wn(this._glueLogger) + ? (e.Level !== Fn.Debug && + e.Level !== Fn.Trace && + e.Level !== Fn.Info && + e.Level !== Fn.Warn) || + console.info(this._getMessage(t, Fn.Info)) + : this._glueLogger.warn(t); + } + }, + { + key: "error", + value: function (e) { + wn(this._glueLogger) + ? (console.error(this._getMessage(e, Fn.Error)), + console.trace()) + : this._glueLogger.error(e); + } + }, + { + key: "_getMessage", + value: function (e, t) { + return "[" + t + "] " + this._name + " - " + e; + } + } + ], + [ + { + key: "GetNamed", + value: function (t) { + return new e(t); + } + }, + { + key: "Get", + value: function (t) { + return new e(e.GetTypeName(t)); + } + }, + { + key: "GetTypeName", + value: function (e) { + var t = /function (.{1,})\(/.exec( + e.constructor.toString() + ); + return t && t.length > 1 ? t[1] : ""; + } + } + ] + ), + e + ); + })(); + jn.Level = Fn.Info; + var Hn = (function (e) { + h(n, e); + var t = f(n); + function n(e, r, i, o, a, s, c, u) { + var d; + return ( + v(this, n), + ((d = t.call(this, e))._logger = jn.Get("window")), + (d._type = i), + (d._activityId = o), + (d._name = r), + (d._instance = a), + (d._isIndependent = s), + (d._windowGetter = c), + (d._hcWindowId = u), + d + ); + } + return ( + m(n, [ + { + key: "getBounds", + value: function () { + return this._manager.getWindowBounds(this.id); + } + }, + { + key: "name", + get: function () { + return this._name; + } + }, + { + key: "isIndependent", + get: function () { + return this._isIndependent; + } + }, + { + key: "type", + get: function () { + if (this._manager) + return this._manager.getWindowType(this._type); + } + }, + { + key: "activity", + get: function () { + if (!yn(this._activityId)) + return this._manager.getActivityById( + this._activityId + ); + } + }, + { + key: "isOwner", + get: function () { + var e = this.activity; + return !yn(e) && e.owner.id === this.id; + } + }, + { + key: "setVisible", + value: function (e, t) { + return this._manager.setWindowVisibility(this.id, e); + } + }, + { + key: "activate", + value: function (e) { + return this._manager.activateWindow(this.id, e); + } + }, + { + key: "setBounds", + value: function (e, t) { + return this._manager.setWindowBounds(this.id, e, t); + } + }, + { + key: "close", + value: function () { + return this._manager.closeWindow(this.id); + } + }, + { + key: "instance", + get: function () { + return this._instance; + } + }, + { + key: "underlyingWindow", + get: function () { + var e = this._windowGetter(); + return e || { id: this._hcWindowId }; + } + }, + { + key: "onActivityJoined", + value: function (e) { + this._subscribeForActivityWindowEvent( + Mn.ActivityWindowJoinedActivity, + e + ); + } + }, + { + key: "onActivityRemoved", + value: function (e) { + this._subscribeForActivityWindowEvent( + Mn.ActivityWindowLeftActivity, + e + ); + } + }, + { + key: "_updateCore", + value: function (e) { + var t = this; + (Cn(e._activityId, function (e) { + return (t._activityId = e); + }), + Cn(e._isIndependent, function (e) { + return (t._isIndependent = e); + }), + Cn(e._hcWindowId, function (e) { + return (t._hcWindowId = e); + }), + Cn(e._type, function (e) { + return (t._type = e); + }), + Cn(e._name, function (e) { + return (t._name = e); + }), + wn(e._instance) || (this._instance = e._instance)); + } + }, + { + key: "_subscribeForActivityWindowEvent", + value: function (e, t) { + var n = this; + this._manager.subscribeWindowEvents(function (r, i, o) { + i.id === n.id && o === e && t(r); + }); + } + }, + { + key: "_beforeDelete", + value: function (e) { + this._hcWindowId = e._hcWindowId; + } + } + ]), + n + ); + })(hn), + zn = (function () { + function e(t, n, r) { + (v(this, e), (this.state = t), (this.message = n), (this.time = r)); + } + return ( + m(e, [ + { + key: "getState", + value: function () { + return this.state; + } + }, + { + key: "getMessage", + value: function () { + return this.message; + } + }, + { + key: "getTime", + value: function () { + return this.time; + } + } + ]), + e + ); + })(), + qn = "error", + Gn = "add-types", + Un = "types-added", + Vn = "remove-types", + $n = "types-removed", + Jn = "created", + Kn = "destroyed", + Qn = "initiated", + Xn = "join-activity", + Yn = "joined", + Zn = "activity-joined", + er = "leave-activity", + tr = "left", + nr = "merge", + rr = "split", + ir = "owner-changed", + or = "add-peer-factories", + ar = "peer-factories-added", + sr = "remove-peer-factories", + cr = "peer-factories-removed", + ur = "create", + dr = "create-peer", + lr = "peer-requested", + pr = "ready", + hr = "peer-created", + fr = "destroy", + vr = "dispose-peer", + mr = "destroy-peer", + gr = (function () { + function e(t) { + var n = this; + if ( + (v(this, e), + (this._activityChangeCallbacks = []), + (this._activityTypeStatusChangeCallbacks = []), + (this._activityWindowChangeCallbacks = []), + (this._windowTypeStatusChangeCallbacks = []), + (this._peerIdAndFactoryIdToPeerType = {}), + (this._peerFactoriesRegisteredByUs = {}), + (this._gw3Subscriptions = []), + (this._contextSubscriptions = {}), + (this._activityTypesInitiatedFromMe = {}), + (this._config = t), + (this._connection = t.connection), + (this._logger = t.logger), + (this._contexts = t.contexts), + (this._windows = t.windows), + (this._sessionJoinedPromise = new Promise(function (e) { + n._sessionJoinedPromiseResolve = e; + })), + (this._activityJoinedPromise = new Promise(function (e) { + n._activityJoinedPromiseResolve = e; + })), + this._config.activityId || + this._activityJoinedPromiseResolve({}), + (this._gw3Session = this._connection.domain("activity", [ + "joined", + "initiated", + "peer-created", + "token" + ])), + "undefined" !== typeof window) + ) { + var r = window.glue42gd; + r && + r.activityInfo && + ("function" === typeof r.addRefreshHandler && + r.addRefreshHandler(function (e, t) { + n._gw3Session + .send({ type: "reload" }) + .then(function (n) { + if (n.token) { + try { + r.setGWToken(n.token); + } catch (i) { + return void t(i.message || i); + } + e(); + } else + t( + "Expected gateway token for refreshing." + ); + }, t); + }), + r && + "function" === typeof r.addWillNavigateHandler && + r.addWillNavigateHandler(function (e, t) { + n._gw3Session + .send({ type: "reload" }) + .then(function (n) { + if (n.token) { + try { + r.setGWToken(n.token); + } catch (i) { + return void t(i.message || i); + } + e(); + } else + t( + "Expected gateway token for refreshing." + ); + }, t); + })); + } + } + return ( + m( + e, + [ + { + key: "bridgeType", + get: function () { + return "GW3"; + } + }, + { + key: "init", + value: function () { + var e = this; + (this.forwardActivityTypeMessagesToStatusEventHandlers(), + this.subscribe( + Jn, + this.handleActivityCreatedMessage + ), + this.subscribe( + Kn, + this.handleActivityDestroyedMessage + ), + this.forwardActivityMessagesToStatusEventHandlers(), + this.forwardActivityCreatedAndJoinedActivityToActivityWindowEventHandlers(), + this.forwardPeerFactoryMessagesToStatusEventHandlers(), + this.forwardPeerFactoryMessagesToPeerFactoryRequests(), + this.subscribe( + ar, + this.handlePeerFactoriesAdded + ), + this.subscribe( + cr, + this.handlePeerFactoriesRemoved + ), + this.forwardActivityWindowMessagesToEventHandlers(), + this.subscribe(vr, function () { + if ( + "dispose" !== + e._config.disposeRequestHandling + ) { + if ( + "exit" === + e._config.disposeRequestHandling + ) { + if ( + e._windows && + "undefined" !== + typeof e._windows.my() + ) + return void e._windows + .my() + .close(); + if ( + "undefined" !== typeof window && + "function" === + typeof window.close + ) + return void window.close(); + if ( + "undefined" !== + typeof process && + "function" === + typeof process.exit + ) + return void process.exit(); + } + } else e.dispose(); + }), + this._gw3Session.onJoined(function () { + "trackMyOnly" === e._config.mode || + "trackMyTypeAndInitiatedFromMe" === + e._config.mode + ? e._sessionJoinedPromiseResolve(e) + : e._gw3Session + .send({ + type: "subscribe", + activity_types: + "trackAll" === + e._config.mode + ? [] + : "trackTypes" === + e._config.mode + ? e._config + .typesToTrack + : [] + }) + .then(function () { + e._sessionJoinedPromiseResolve( + e + ); + }); + }), + this._gw3Session.join()); + } + }, + { + key: "dispose", + value: function () { + var e = this; + (this._gw3Subscriptions.forEach(function (t) { + return t && e._connection.off(t); + }), + (this._gw3Subscriptions.length = 0)); + } + }, + { + key: "ready", + value: function () { + return Promise.all([ + this._sessionJoinedPromise, + this._activityJoinedPromise + ]); + } + }, + { + key: "initReady", + value: function () { + return this._sessionJoinedPromise; + } + }, + { + key: "onActivityTypeStatusChange", + value: function (e) { + this._activityTypeStatusChangeCallbacks.push(e); + } + }, + { + key: "registerActivityType", + value: function (t, n, r, i, o) { + var a = this, + s = {}; + s.name = t; + var c = function (e) { + return { + type: e.type, + name: e.name, + configuration: e + }; + }; + return ( + (s.owner_type = c(n)), + (s.helper_types = r.map(c)), + this._gw3Session + .send({ type: Gn, types: [s] }) + .then(function () { + var t = + e.activityTypeGwMessageEntityToActivityType( + s, + o + ); + return ( + a.invokeCallbacks( + a._activityTypeStatusChangeCallbacks, + new Wn(t, new Tn(Mn.Added)), + Gn + ), + t + ); + }) + ); + } + }, + { + key: "unregisterActivityType", + value: function (e) { + var t = this; + return this._gw3Session + .send({ type: Vn, types: [e] }) + .then(function () { + var n = new Sn(e, void 0, void 0, void 0); + t.invokeCallbacks( + t._activityTypeStatusChangeCallbacks, + new Wn(n, new Tn(Mn.Removed)), + Gn + ); + }); + } + }, + { + key: "onWindowTypeStatusChange", + value: function (e) { + this._windowTypeStatusChangeCallbacks.push(e); + } + }, + { + key: "registerWindowFactory", + value: function (t, n, r) { + var i = this; + if (this._peerFactoriesRegisteredByUs[t]) + return Promise.reject( + new Error( + "Factory for windowType ".concat( + t, + " already registered." + ) + ) + ); + this._peerFactoriesRegisteredByUs[t] = n; + var o = { id: t, peer_type: t, configuration: r }; + return this._gw3Session + .send({ type: or, factories: [o] }) + .then(function () { + i.invokeCallbacks( + i._windowTypeStatusChangeCallbacks, + new Wn( + e.peerFactoryGwMessageEntityToWindowType( + o + ), + new Tn(Mn.Added) + ), + or + ); + }) + .catch(function () { + delete i._peerFactoriesRegisteredByUs[t]; + }); + } + }, + { + key: "unregisterWindowFactory", + value: function (e) { + var t = this; + return this._peerFactoriesRegisteredByUs[e] + ? (delete this._peerFactoriesRegisteredByUs[e], + this._gw3Session + .send({ type: sr, factory_ids: [e] }) + .then(function () { + t.invokeCallbacks( + t._windowTypeStatusChangeCallbacks, + new Wn( + new En(e, void 0), + new Tn(Mn.Removed) + ), + or + ); + })) + : Promise.reject( + new Error( + "Factory for windowType ".concat( + e, + " not registered." + ) + ) + ); + } + }, + { + key: "onActivityStatusChange", + value: function (e) { + this._activityChangeCallbacks.push(e); + } + }, + { + key: "initiateActivity", + value: function (e, t, n) { + var r = this, + i = { + type: ur, + activity_type: e, + initial_context: t + }; + return ( + this.isOverrideTypeDefinition(n) + ? (i.types_override = { + owner_type: { + type: n.owner.type, + name: n.owner.name, + configuration: n.owner + }, + helper_types: + n.helpers && + n.helpers.map(function (e) { + return { + type: e.type, + name: e.name, + configuration: e + }; + }) + }) + : (i.configuration = + n && + n.map(function (e) { + return { + type: e.type, + name: e.name, + configuration: e + }; + })), + this.sendCreateAndMapResultingMessagesToPromise( + i, + Qn, + function (e, t) { + return e.request_id === t; + }, + Jn, + function (e, t, n) { + return e.activity_id === n.activity_id; + }, + Kn, + function (e, t, n) { + return e.activity_id === n.activity_id; + }, + function (e) { + return e.activity_id; + }, + null + ).then(function (t) { + return "trackMyTypeAndInitiatedFromMe" !== + r._config.mode || + r._activityTypesInitiatedFromMe[e] + ? t + : ((r._activityTypesInitiatedFromMe[e] = + !0), + r._gw3Session + .send({ + type: "subscribe", + activity_types: [e] + }) + .then(function () { + return t; + })); + }) + ); + } + }, + { + key: "stopActivity", + value: function (e) { + return this._gw3Session + .send({ + type: fr, + activity_id: e.id, + reason_uri: + "com.tick42.glue.activity.constants.destroyReason.general", + reason: "Destroying activity" + }) + .then(function (e) { + return !0; + }); + } + }, + { + key: "updateActivityContext", + value: function (e, t, n, r) { + if (n) return this._contexts.set(e.id, t); + var i, + o = u((r = r || [])); + try { + for (o.s(); !(i = o.n()).done; ) + t[i.value] = null; + } catch (a) { + o.e(a); + } finally { + o.f(); + } + return this._contexts.update(e.id, t); + } + }, + { + key: "announceWindow", + value: function (e, t) { + throw new Error( + "Invalid operation 'announceWindow' for GW3 protocol" + ); + } + }, + { + key: "registerWindow", + value: function (e, t, n) { + var r = + "undefined" !== + typeof this._connection.gatewayToken, + i = this._connection.peerId; + if ("undefined" !== typeof window) { + var o = window.glue42gd; + o && + (r = "undefined" !== typeof o.activityInfo); + } + return ( + r && this._gw3Session.send({ type: pr }), + this.invokeCallbacks( + this._activityWindowChangeCallbacks, + new Wn( + new Hn( + i, + t, + e, + void 0, + this.getAgmInstance(i), + n, + this.generateWindowGetter(i), + void 0 + ), + new Tn(Mn.Added) + ), + "register window" + ), + Promise.resolve(i) + ); + } + }, + { + key: "onActivityWindowChange", + value: function (e) { + this._activityWindowChangeCallbacks.push(e); + } + }, + { + key: "createWindow", + value: function (e, t) { + var n = this; + t.layout || + ((t.left || t.width || t.height || t.top) && + (t.layout = { + mode: "pixels", + cellSize: 1 + })); + var r = function (r) { + if (e) + return n + .joinActivity(e, r, t.name) + .then(function () { + return r; + }); + }; + return this.sendCreateAndMapResultingMessagesToPromise( + { + type: dr, + peer_type: t.type, + peer_name: t.name || t.type, + configuration: t, + activity_id: e + }, + void 0, + void 0, + hr, + function (e, t) { + return e.request_id === t; + }, + void 0, + void 0, + function (e) { + return e.created_id; + }, + r + ).then(r); + } + }, + { + key: "closeWindow", + value: function (e) { + return this._gw3Session + .send({ type: mr, destroy_peer_id: e }) + .then(function (e) {}); + } + }, + { + key: "getAnnouncementInfo", + value: function () { + var e = + this._config.activityId || + (this._config.announcementInfo && + this._config.announcementInfo + .activityId), + t = + this._config.announcementInfo && + this._config.announcementInfo + .activityWindowType, + n = + this._config.announcementInfo && + this._config.announcementInfo + .activityWindowIndependent, + r = + this._config.announcementInfo && + this._config.announcementInfo + .activityWindowName; + if ( + "undefined" !== typeof window && + "undefined" !== typeof window.location && + window.location.search && + "function" === typeof URLSearchParams + ) { + var i = new URLSearchParams( + location.search.slice(1) + ); + ((t = + (t = t || i.get("t42PeerType")) || + i.get("t42ActivityWindowType")), + "undefined" === typeof n && + (n = i.get( + "t42ActivityWindowIndependent" + )), + (r = r || i.get("t42ActivityWindowName")), + (e = e || i.get("t42ActivityId"))); + } + return { + activityWindowId: void 0, + activityId: e, + activityWindowType: (t = t || "unknown"), + activityWindowIndependent: (n = n || !1), + activityWindowName: (r = + r || this._connection.peerId) + }; + } + }, + { + key: "joinActivity", + value: function (e, t, n) { + var r = this, + i = (n && { name: n }) || {}; + return this._gw3Session + .send( + c( + { + type: Xn, + target_id: t, + activity_id: e + }, + i + ) + ) + .then(function () { + (r.invokeCallbacks( + r._activityWindowChangeCallbacks, + new Wn( + new Hn( + t, + void 0, + void 0, + e, + r.getAgmInstance(t), + void 0, + r.generateWindowGetter(t), + void 0 + ), + new Tn( + Mn.ActivityWindowJoinedActivity + ) + ), + "activity joined - ActivityWindow" + ), + r.invokeCallbacks( + r._activityChangeCallbacks, + new Wn( + new Nn( + e, + void 0, + new zn( + "created", + void 0, + void 0 + ), + void 0, + void 0 + ), + new Tn(Mn.Updated) + ), + "activity joined - Activity" + )); + }); + } + }, + { + key: "leaveActivity", + value: function (e, t) { + var n = this; + return this._gw3Session + .send({ + type: er, + target_id: t, + activity_id: e + }) + .then(function () { + (n.invokeCallbacks( + n._activityWindowChangeCallbacks, + new Wn( + new Hn( + t, + void 0, + void 0, + null, + n.getAgmInstance(t), + void 0, + n.generateWindowGetter(t), + void 0 + ), + new Tn( + Mn.ActivityWindowLeftActivity + ) + ), + "activity left - ActivityWindow" + ), + n.invokeCallbacks( + n._activityChangeCallbacks, + new Wn( + new Nn( + e, + void 0, + new zn( + "created", + void 0, + void 0 + ), + void 0, + void 0 + ), + new Tn(Mn.Updated) + ), + "activity left - Activity" + )); + }); + } + }, + { + key: "getActivityTypes", + value: function () { + return Promise.resolve([]); + } + }, + { + key: "getWindowTypes", + value: function () { + return Promise.resolve([]); + } + }, + { + key: "getActivities", + value: function () { + return Promise.resolve([]); + } + }, + { + key: "getActivityWindows", + value: function () { + return Promise.resolve([]); + } + }, + { + key: "createStackedWindows", + value: function (e, t, n) {} + }, + { key: "getWindowBounds", value: function (e) {} }, + { key: "setWindowBounds", value: function (e, t) {} }, + { key: "activateWindow", value: function (e, t) {} }, + { key: "setWindowVisibility", value: function (e, t) {} }, + { key: "cloneActivity", value: function (e, t) {} }, + { + key: "attachActivities", + value: function (e, t, n) { + return this._gw3Session.send({ + type: nr, + into: t, + merge: e + }); + } + }, + { + key: "detachActivities", + value: function (e, t) { + return this._gw3Session + .send({ type: rr, from: e }) + .then(function () { + return ""; + }); + } + }, + { key: "onActivitiesAttached", value: function (e) {} }, + { key: "onActivitiesDetached", value: function (e) {} }, + { + key: "onActivityAttachedDescriptorsRefreshed", + value: function (e) {} + }, + { + key: "getAttachedDescriptors", + value: function () { + return Promise.resolve([]); + } + }, + { + key: "getRandomRequestId", + value: function () { + return ( + this._connection.peerId + + ":" + + Math.floor(1e9 * Math.random()) + ); + } + }, + { + key: "forwardAddedAndRemovedMessagesToEventHandler", + value: function (e, t, n, r) { + var i = function (e) { + return function (t) { + return new Wn( + t, + new Tn(e ? Mn.Added : Mn.Removed) + ); + }; + }; + return [ + e && + this.forwardMessageToEventHandler( + e, + function (e) { + return n(e, !0); + }, + i(!0), + r + ), + t && + this.forwardMessageToEventHandler( + t, + function (e) { + return n(e, !1); + }, + i(!1), + r + ) + ].filter(function (e) { + return e; + }); + } + }, + { + key: "forwardMessageToEventHandler", + value: function (e, t, n, r) { + return this.subscribe(e, function (e) { + t(e).forEach(function (t) { + return r.forEach(function (r) { + return r(n(t, e)); + }); + }); + }); + } + }, + { + key: "sendCreateAndMapResultingMessagesToPromise", + value: function (e, t, n, r, i, o, a, s, c) { + var u, + d, + l, + p, + h, + f, + v = this, + m = this.getRandomRequestId(), + g = new Promise(function (e, t) { + ((u = e), (d = t)); + }), + y = null, + w = function () { + (v.dropSubscription(l), + c || v.dropSubscription(p), + v.dropSubscription(h), + v.dropSubscription(f)); + }; + l = + t && + this.subscribe(t, function (e) { + n(e, m) && ((y = e), v.dropSubscription(l)); + }); + var b = !1; + ((p = this.subscribe(r, function (e) { + i(e, m, y) && + (b ? c && c(s(e)) : ((b = !0), u(s(e)))); + })), + (h = + o && + this.subscribe(o, function (e) { + a(e, m, y) && d(e); + })), + (f = + o && + this.subscribe(qn, function (e) { + e.request_id === m && d(e); + })), + (e.request_id = m)); + var k = this._gw3Session.send(e).then(function () { + return g; + }); + return (k.then(w, w), k); + } + }, + { + key: "peerFactoryIdAndOwnerIdToWindowType", + value: function (e, t) { + var n = + this._peerIdAndFactoryIdToPeerType[t + ":" + e]; + return n ? new En(n, void 0) : null; + } + }, + { + key: "subscribe", + value: function (e, t) { + var n = this, + r = this._connection.on(e, function (e) { + return t.bind(n)(e); + }); + return (this._gw3Subscriptions.push(r), r); + } + }, + { + key: "dropSubscription", + value: function (e) { + e && + (this._connection.off(e), + delete this._gw3Subscriptions[ + this._gw3Subscriptions.indexOf(e) + ]); + } + }, + { + key: "invokeCallbacks", + value: function (e, t, n) { + var r = this; + e.forEach(function (e) { + try { + e(t); + } catch (i) { + r._logger.error( + "Error in ".concat( + n || t.context.type, + " callback: " + ) + JSON.stringify(i) + ); + } + }); + } + }, + { + key: "handleActivityCreatedMessage", + value: function (e) { + e.context_id + ? this._contextSubscriptions[e.activity_id] || + this.subscribeToContext(e) + : this._logger.error( + "Activity created with unknown context_id: " + + e.activity_id + ); + } + }, + { + key: "subscribeToContext", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = t.activity_id), + (e.next = 3), + this._contexts.subscribe( + n, + function ( + e, + t, + i + ) { + var o = + new Wn( + new Nn( + n, + void 0, + void 0, + e, + void 0 + ), + new Pn( + e, + t, + i + ) + ); + r.invokeCallbacks( + r._activityChangeCallbacks, + o, + "context updated" + ); + } + ) + ); + case 3: + this._contextSubscriptions[ + n + ] = e.sent; + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "handleActivityDestroyedMessage", + value: function (e) { + var t = this._contextSubscriptions[e.activity_id]; + ("function" === typeof t && t(), + delete this._contextSubscriptions[ + e.activity_id + ]); + } + }, + { + key: "handlePeerFactoriesAdded", + value: function (e) { + var t = this; + e.factories.forEach(function (n) { + t._peerIdAndFactoryIdToPeerType[ + e.owner_id + ":" + n.id + ] = n.peer_type; + }); + } + }, + { + key: "handlePeerFactoriesRemoved", + value: function (e) { + var t = this; + e.factory_ids.forEach(function (n) { + delete t._peerIdAndFactoryIdToPeerType[ + e.owner_id + ":" + n + ]; + }); + } + }, + { + key: "forwardActivityTypeMessagesToStatusEventHandlers", + value: function () { + this.forwardAddedAndRemovedMessagesToEventHandler( + Un, + $n, + function (t, n) { + return n + ? t.types.map(function (t) { + return e.activityTypeGwMessageEntityToActivityType( + t, + void 0 + ); + }) + : t.types.map(function (e) { + return new Sn( + e.name, + void 0, + void 0, + void 0 + ); + }); + }, + this._activityTypeStatusChangeCallbacks + ); + } + }, + { + key: "forwardActivityCreatedAndJoinedActivityToActivityWindowEventHandlers", + value: function () { + for ( + var e = this, t = 0, n = [Jn, Yn, ir]; + t < n.length; + t++ + ) { + var r = n[t]; + this.forwardMessageToEventHandler( + r, + function (t) { + return [ + t.owner || + c( + c({}, t), + {}, + { + type: t.peer_type, + name: t.peer_name, + peer_id: t.owner_id + } + ) + ] + .concat(t.participants || []) + .map(function (n) { + return new Hn( + n.peer_id, + n.name, + n.type, + t.activity_id, + e.getAgmInstance(n.peer_id), + void 0, + e.generateWindowGetter( + n.peer_id + ), + void 0 + ); + }); + }, + function (e, t) { + return new Wn( + e, + new Tn( + Mn.ActivityWindowJoinedActivity + ) + ); + }, + this._activityWindowChangeCallbacks + ); + } + } + }, + { + key: "forwardActivityMessagesToStatusEventHandlers", + value: function () { + for (var t = 0, n = [Jn, Yn]; t < n.length; t++) { + var r = n[t]; + this.forwardMessageToEventHandler( + r, + function (t) { + return [ + e.activityGwMessageToActivity( + t, + new zn( + "started", + "", + new Date() + ) + ) + ]; + }, + function (t, n) { + return e.activityToActivityStatusChangeEvent( + t + ); + }, + this._activityChangeCallbacks + ); + } + (this.forwardMessageToEventHandler( + Kn, + function (t) { + return [ + e.activityGwMessageToActivity( + t, + new zn( + "destroyed", + t.reason, + new Date() + ) + ) + ]; + }, + function (t, n) { + return e.activityToActivityStatusChangeEvent( + t + ); + }, + this._activityChangeCallbacks + ), + this.forwardMessageToEventHandler( + Qn, + function (t) { + return [ + e.activityGwMessageToActivity( + t, + new zn( + "created", + "", + new Date() + ) + ) + ]; + }, + function (t, n) { + return e.activityToActivityStatusChangeEvent( + t + ); + }, + this._activityChangeCallbacks + ), + this.forwardMessageToEventHandler( + ir, + function (t) { + return [ + e.activityGwMessageToActivity( + t, + new zn( + "created", + "", + new Date() + ) + ) + ]; + }, + function (t, n) { + return e.activityToActivityStatusChangeEvent( + t + ); + }, + this._activityChangeCallbacks + )); + } + }, + { + key: "forwardPeerFactoryMessagesToStatusEventHandlers", + value: function () { + var t = this; + this.forwardAddedAndRemovedMessagesToEventHandler( + ar, + cr, + function (n, r) { + return r + ? n.factories.map( + e.peerFactoryGwMessageEntityToWindowType + ) + : n.factory_ids + .map(function (e) { + return t.peerFactoryIdAndOwnerIdToWindowType( + e, + n.owner_id + ); + }) + .filter(function (e) { + return null != e; + }); + }, + this._windowTypeStatusChangeCallbacks + ); + } + }, + { + key: "forwardPeerFactoryMessagesToPeerFactoryRequests", + value: function () { + var e = this; + this.subscribe(lr, function (t) { + var n = + e._peerFactoriesRegisteredByUs[ + t.peer_factory + ]; + if (n) + try { + var r = t.configuration || {}; + ((r.gateway_token = + r.gateway_token || t.gateway_token), + (r.peer_factory = + r.peer_factory || + t.peer_factory)); + var i = n({ + activityId: + t.activity && t.activity.id, + activityType: + t.activity && t.activity.type, + type: + t.configuration && + t.configuration.type, + gwToken: r.gateway_token, + configuration: r + }); + i && + i.then && + i.catch && + i.catch(function (n) { + return e._gw3Session.send({ + type: qn, + request_id: t.request_id, + reason: + n && + (n.message || + JSON.stringify(n)) + }); + }); + } catch (o) { + e._gw3Session.send({ + type: qn, + request_id: t.request_id, + reason: + o && + (o.message || JSON.stringify(o)) + }); + } + else + e._gw3Session.send({ + type: qn, + request_id: t.request_id, + reason: "Unknown peer factory ".concat( + t.peer_factory + ) + }); + }); + } + }, + { + key: "forwardActivityWindowMessagesToEventHandlers", + value: function () { + for ( + var e = this, + t = function () { + var t = r[n]; + e.subscribe(t, function (n) { + var r = + t === Zn + ? n.joined_id + : n.peer_id, + i = + t === Zn + ? n.joined_type + : n.peer_type, + o = + t === Zn + ? n.joined_name + : n.peer_name, + a = new Hn( + r, + o, + i, + n.activity_id, + e.getAgmInstance(r), + void 0, + e.generateWindowGetter(r), + void 0 + ); + (e._contextSubscriptions[ + n.activity_id + ] + ? t === Yn && + e._activityJoinedPromiseResolve( + {} + ) + : e + .subscribeToContext(n) + .then(function () { + t === Yn && + e._activityJoinedPromiseResolve( + {} + ); + }), + e.invokeCallbacks( + e._activityWindowChangeCallbacks, + new Wn( + a, + new Tn( + Mn.ActivityWindowJoinedActivity + ) + ), + t + )); + }); + }, + n = 0, + r = [Zn, Yn]; + n < r.length; + n++ + ) + t(); + (this.subscribe(tr, function (t) { + var n = new Hn( + t.left_id, + void 0, + void 0, + null, + e.getAgmInstance(t.left_id), + void 0, + e.generateWindowGetter(t.left_id), + void 0 + ); + e.invokeCallbacks( + e._activityWindowChangeCallbacks, + new Wn( + n, + new Tn(Mn.ActivityWindowLeftActivity) + ), + tr + ); + }), + this.forwardAddedAndRemovedMessagesToEventHandler( + hr, + void 0, + function (t) { + return [ + new Hn( + t.created_id, + void 0, + void 0, + void 0, + void 0, + void 0, + e.generateWindowGetter( + t.created_id + ), + void 0 + ) + ]; + }, + this._activityWindowChangeCallbacks + )); + } + }, + { + key: "getAgmInstance", + value: function (e) { + return this._config.agm + .servers() + .find(function (t) { + return t.peerId === e || t.windowId === e; + }); + } + }, + { + key: "generateWindowGetter", + value: function (e) { + var t = this; + return function () { + var n = t.getAgmInstance(e); + if (n) { + var r = n.windowId; + return t._config.windows + .list() + .filter(function (e) { + return e.id === r; + })[0]; + } + }; + } + }, + { + key: "isOverrideTypeDefinition", + value: function (e) { + return "undefined" !== typeof e && !!e.owner; + } + } + ], + [ + { + key: "activityTypeGwMessageEntityToActivityType", + value: function (e, t) { + var n = function (e) { + return new En(e, void 0); + }; + return new Sn( + e.name, + e.owner_type && n(e.owner_type), + e.helper_types && e.helper_types.map(n), + t + ); + } + }, + { + key: "peerFactoryGwMessageEntityToWindowType", + value: function (e) { + return new En(e.peer_type, function (e) {}); + } + }, + { + key: "activityGwMessageToActivity", + value: function (e, t) { + var n = + void 0 !== e.owner + ? e.owner.peer_id + : e.owner_id; + return new Nn( + e.activity_id, + e.activity_type, + t, + e.context_snapshot, + n + ); + } + }, + { + key: "activityToActivityStatusChangeEvent", + value: function (e) { + return new Wn(e, new An(e.status, void 0)); + } + } + ] + ), + e + ); + })(), + yr = (function () { + function e(t, n) { + var r = this; + (v(this, e), + (this._myAttached = []), + (this._myDetached = []), + (this._myAttachedTo = []), + (this._myDetachedFrom = []), + (this._myActivityFrameColorChanged = []), + (this._myActivityJoinedCallbacks = []), + (this._myActivityRemovedCallbacks = []), + (this._myContextUpdateCallbacks = []), + (this._logger = jn.Get(this)), + (this._m = t), + t.ready().then(function (e) { + (e.subscribeActivityContextChanged( + r._subscribeMyContextChanged.bind(r) + ), + e.subscribeWindowEvents( + r._subscribeMyWindowEvent.bind(r) + ), + e.subscribeActivitiesAttached( + r._subscribeActivitiesAttached.bind(r) + ), + e.subscribeActivitiesDetached( + r._subscribeActivitiesDetached.bind(r) + ), + n && + n.onWindowFrameColorChanged( + r._subscribeWindowFrameColorChanged.bind(r) + )); + })); + } + return ( + m(e, [ + { + key: "window", + get: function () { + if (wn(this._w)) { + var e = this._m.announcedWindows; + e.length > 0 && (this._w = e[0]); + } + return this._w; + } + }, + { + key: "activity", + get: function () { + var e = this.window; + if (!wn(e)) return e.activity; + } + }, + { + key: "createWindow", + value: function (e) { + return this._m.createWindow(this.activity, e); + } + }, + { + key: "createStackedWindows", + value: function (e, t) { + return this._m.createStackedWindows( + this.activity, + e, + t + ); + } + }, + { + key: "context", + get: function () { + var e = this.activity; + return yn(e) ? {} : e.context; + } + }, + { + key: "updateContext", + value: function (e, t) { + var n = this.activity; + return yn(n) + ? new Promise(function (e, t) { + t("Not in activity"); + }) + : n.updateContext(e, t); + } + }, + { + key: "setContext", + value: function (e, t) { + var n = this.activity; + return yn(n) + ? new Promise(function (e, t) { + t("Not in activity"); + }) + : n.setContext(e, t); + } + }, + { + key: "onActivityJoined", + value: function (e) { + this._myActivityJoinedCallbacks.push(e); + var t = this.window; + wn(t) || wn(t.activity) || e(t.activity); + } + }, + { + key: "onActivityLeft", + value: function (e) { + this._myActivityRemovedCallbacks.push(e); + } + }, + { + key: "onContextChanged", + value: function (e) { + this._myContextUpdateCallbacks.push(e); + var t = this.window; + if (!wn(t)) { + var n = t.activity; + wn(n) || e(n.context, n.context, [], n); + } + } + }, + { + key: "clone", + value: function (e, t) { + var n = this.activity; + return this._m.clone(n, e, t); + } + }, + { + key: "attach", + value: function (e, t) { + var n; + return ( + (n = "string" === typeof e ? e : e.id), + this._m.attachActivities(n, this.activity.id, t) + ); + } + }, + { + key: "onActivityAttached", + value: function (e) { + this._myAttached.push(e); + } + }, + { + key: "onActivityDetached", + value: function (e) { + this._myDetached.push(e); + } + }, + { + key: "onAttachedToActivity", + value: function (e) { + this._myAttachedTo.push(e); + } + }, + { + key: "onDetachedFromActivity", + value: function (e) { + this._myDetachedFrom.push(e); + } + }, + { + key: "attached", + get: function () { + return this.activity ? this.activity.attached : []; + } + }, + { + key: "setFrameColor", + value: function (e, t) { + return this.activity + ? this.activity.setFrameColor(e, t) + : Promise.resolve(null); + } + }, + { + key: "getFrameColor", + value: function () { + return this.activity + ? this.activity.getFrameColor() + : ""; + } + }, + { + key: "onFrameColorChanged", + value: function (e) { + this._myActivityFrameColorChanged.push(e); + } + }, + { + key: "_subscribeMyContextChanged", + value: function (e, t, n, r) { + var i = this.window; + if (!wn(i)) { + var o = i.activity; + wn(o) || + (e.id === o.id && + this._notifyMyContextChanged(e, t, n, r)); + } + } + }, + { + key: "_subscribeMyWindowEvent", + value: function (e, t, n) { + wn(this.window) || + (this.window.id === t.id && + (n === Mn.ActivityWindowJoinedActivity + ? (this._notifyMyWindowEvent( + e, + this._myActivityJoinedCallbacks + ), + this._notifyMyContextChanged( + e, + e.context, + null, + null + )) + : n === Mn.ActivityWindowLeftActivity && + this._notifyMyWindowEvent( + e, + this._myActivityRemovedCallbacks + ))); + } + }, + { + key: "_notifyMyWindowEvent", + value: function (e, t) { + var n = this; + t.forEach(function (t) { + try { + t(e, event); + } catch (r) { + n._logger.warn("error in user callback " + r); + } + }); + } + }, + { + key: "_notifyMyContextChanged", + value: function (e, t, n, r) { + var i = this; + ((n = n || {}), + (r = r || []), + this._myContextUpdateCallbacks.forEach( + function (o) { + try { + o(t, n, r, e); + } catch (a) { + i._logger.warn( + "error in user callback " + a + ); + } + } + )); + } + }, + { + key: "_notifyAttached", + value: function (e) { + var t = this; + this._myAttached.forEach(function (n) { + try { + n(e); + } catch (r) { + t._logger.warn("error in user callback " + r); + } + }); + } + }, + { + key: "_notifyDetached", + value: function (e) { + var t = this; + this._myDetached.forEach(function (n) { + try { + n(e); + } catch (r) { + t._logger.warn("error in user callback " + r); + } + }); + } + }, + { + key: "_notifyAttachedTo", + value: function (e) { + var t = this; + this._myAttachedTo.forEach(function (n) { + try { + n(t.activity, e); + } catch (r) { + t._logger.warn("error in user callback " + r); + } + }); + } + }, + { + key: "_notifyDetachedFrom", + value: function (e, t, n) { + var r = this; + this._myDetachedFrom.forEach(function (i) { + try { + i(e, t, n); + } catch (o) { + r._logger.warn("error in user callback " + o); + } + }); + } + }, + { + key: "_subscribeActivitiesAttached", + value: function (e, t) { + var n = this.window; + if (!wn(n)) { + var r = n.activity; + wn(r) || + (e.id === r.id && + (t.windowIds.indexOf(n.id) >= 0 + ? this._notifyAttachedTo(t) + : this._notifyAttached(t))); + } + } + }, + { + key: "_subscribeActivitiesDetached", + value: function (e, t, n) { + var r = this.window; + if (!wn(r)) { + var i = r.activity; + wn(i) || + (t.id === i.id && this._notifyDetached(n), + e.id === i.id && + this._notifyDetachedFrom(e, t, n)); + } + } + }, + { + key: "_subscribeWindowFrameColorChanged", + value: function (e) { + var t = this.activity; + t && + t.owner && + t.owner.underlyingWindow.id === e.id && + this._myActivityFrameColorChanged.forEach( + function (t) { + t(e.frameColor); + } + ); + } + } + ]), + e + ); + })(), + wr = (function () { + function e(t, n) { + if ( + (v(this, e), + (this._logger = jn.Get("ReadyMarker [" + t + "]")), + this._logger.debug( + "Initializing ready marker for '" + + t + + "' with " + + n + + " signals to wait" + ), + n <= 0) + ) + throw new Error("Invalid signal number. Should be > 0"); + ((this._signals = n), (this._callbacks = []), (this._name = t)); + } + return ( + m(e, [ + { + key: "setCallback", + value: function (e) { + this.isSet() + ? e(void 0) + : this.isError() + ? e(this._error) + : this._callbacks.push(e); + } + }, + { + key: "signal", + value: function (e) { + if ( + (this._logger.debug( + "Signaled - " + + e + + " - signals left " + + (this._signals - 1) + ), + this._signals--, + this._signals < 0) + ) + throw new Error( + "Error in ready marker '" + + this._name + + " - signals are " + + this._signals + ); + this.isSet() && + this._callbacks.forEach(function (e) { + e(void 0); + }); + } + }, + { + key: "error", + value: function (e) { + ((this._error = e), + this._callbacks.forEach(function (t) { + t(e); + })); + } + }, + { + key: "isSet", + value: function () { + return !this.isError() && 0 === this._signals; + } + }, + { + key: "isError", + value: function () { + return !yn(this._error); + } + }, + { + key: "getError", + value: function () { + return this._error; + } + } + ]), + e + ); + })(), + br = (function () { + function e(t) { + (v(this, e), + (this._items = {}), + (this._listeners = []), + (this._processNew = t)); + } + return ( + m(e, [ + { + key: "addOne", + value: function (e) { + this.add([e]); + } + }, + { + key: "add", + value: function (e) { + var t = this; + e.forEach(function (e) { + t.process(new Wn(e, new Tn(Mn.Added))); + }); + } + }, + { + key: "process", + value: function (e) { + var t = e.context, + n = t.type, + r = e.entity; + if (n === Mn.StatusChange && !t.oldStatus) { + var i = this._items[r.id]; + i && (t.oldStatus = i.status); + } + (n === Mn.StatusChange && + t.oldStatus && + t.newStatus && + t.oldStatus.state === t.newStatus.state && + (t.type = Mn.Updated), + "undefined" === typeof htmlContainer && + (n === Mn.ActivityWindowJoinedActivity && + this._items[r.id] && + this._items[r.id].activity && + (t.type = Mn.Updated), + n === Mn.ActivityWindowLeftActivity && + this._items[r.id] && + !this._items[r.id].activity && + (t.type = Mn.Updated))); + var o = this._updateInternalCollections(r, n, t); + return (this._notifyListeners(o, t), o); + } + }, + { + key: "get", + value: function () { + var e = []; + for (var t in this._items) + if (this._items.hasOwnProperty(t)) { + var n = this._items[t]; + e.push(n); + } + return e; + } + }, + { + key: "getByName", + value: function (e) { + for (var t in this._items) + if (t === e) return this._items[t]; + } + }, + { + key: "getOrWait", + value: function (e) { + var t = this; + return new Promise(function (n) { + var r = function r(i) { + i.id === e && (n(i), t.unsubscribe(r)); + }; + t.subscribe(r); + var i = t.getByName(e); + if (i) return (t.unsubscribe(r), void n(i)); + }); + } + }, + { + key: "subscribe", + value: function (e) { + var t = this; + return ( + this._listeners.push(e), + Object.keys(this._items).forEach(function (n) { + var r = t._items[n]; + e(r, new Tn(Mn.Added.toString())); + }), + function () { + t.unsubscribe(e); + } + ); + } + }, + { + key: "unsubscribe", + value: function (e) { + var t = this._listeners.indexOf(e); + -1 !== t && this._listeners.splice(t, 1); + } + }, + { + key: "_notifyListeners", + value: function (e, t) { + this._listeners.forEach(function (n) { + try { + n(e, t); + } catch (r) { + return; + } + }); + } + }, + { + key: "_updateInternalCollections", + value: function (e, t, n) { + var r = e, + i = + (t === Mn.StatusChange && + r.status && + r.status.state === Rn.Destroyed) || + (t === Mn.StatusChange && + n && + n.newStatus && + n.newStatus.state === Rn.Destroyed), + o = t === Mn.Closed; + if ( + (t === Mn.Removed && + "undefined" === typeof r.isIndependent) || + o || + i + ) { + var a = this._items[e.id]; + return ( + delete this._items[e.id], + this._processNew(e), + a && e._beforeDelete(a), + e + ); + } + var s = e.id; + return ( + this._items.hasOwnProperty(s) + ? this._items[e.id]._update(e) + : (this._processNew(e), + (this._items[e.id] = e)), + this._items[e.id] + ); + } + } + ]), + e + ); + })(), + kr = (function () { + function e(t, n, r) { + var i = this; + (v(this, e), + (this._logger = jn.Get("activityManager")), + (this._announcedWindows = []), + (this._attachedCallbacks = []), + (this._detachedCallbacks = []), + (this._frameColorChangesCallbacks = []), + (this._windowHandlers = []), + (this._bridge = t), + (this._activityTypes = new br(function (e) { + return i._grabEntity(e); + })), + (this._windowTypes = new br(function (e) { + return i._grabEntity(e); + })), + (this._activities = new br(function (e) { + return i._grabEntity(e); + })), + (this._windows = new br(function (e) { + return i._grabEntity(e); + })), + (this._dataReadyMarker = new wr( + "Activity Manager Data", + [ + "GetActivityTypes", + "GetWindowTypes", + "GetActivities", + "GetWindows" + ].length + )), + (this._descriptorsMarker = new wr( + "Attached Activities Descriptors", + ["GetDescriptors"].length + )), + n + ? ((this._readyMarker = new wr( + "Activity Manager Announce", + ["Announcement"].length + )), + this._dataReadyMarker.setCallback(function (e) { + (e && i._readyMarker.error(e), + i._descriptorsMarker.setCallback(function (e) { + (e && i._readyMarker.error(e), + i._logger.debug("Auto announcing window"), + i + .announceWindow() + .then(function (e) { + (i._announcedWindows.push(e), + i._readyMarker.signal( + "Successfully announced window with id '" + + e.id + + "'" + )); + }) + .catch(function (e) { + (i._logger.debug( + "Will not announce window - " + + e + ), + i._readyMarker.signal()); + })); + }), + i.refreshDescriptors()); + })) + : (this._readyMarker = this._dataReadyMarker), + this._bridge.onActivitiesAttached(function (e) { + i._handleActivitiesAttached(e); + }), + this._bridge.onActivitiesDetached(function (e) { + i._handleActivitiesDetached(e); + }), + this._bridge.onActivityAttachedDescriptorsRefreshed( + function (e) { + i._handleActivityDescriptorsRefreshed(e); + } + ), + r && + r.onWindowFrameColorChanged( + this._handleWindowFrameColorChanged.bind(this) + ), + this._bridge.init(), + this._subscribeForData(), + this._bridge + .initReady() + .then(function (e) { + i._getInitialData(); + }) + .catch(function (e) { + console.log(e); + })); + } + return ( + m(e, [ + { + key: "usingHc", + get: function () { + return "HC" === this._bridge.bridgeType; + } + }, + { + key: "announcedWindows", + get: function () { + return this._announcedWindows; + }, + set: function (e) { + throw new Error("not allowed"); + } + }, + { + key: "ready", + value: function (e) { + var t = this, + n = new Promise(function (e, n) { + t._readyMarker.setCallback(function (r) { + r ? n(t._readyMarker.getError()) : e(t); + }); + }); + return Bn( + Promise.all([this._bridge.ready(), n]).then( + function () { + return t; + } + ), + e + ); + } + }, + { + key: "getActivityTypes", + value: function () { + return this._activityTypes.get(); + } + }, + { + key: "getActivityType", + value: function (e) { + return this._activityTypes.getByName(e); + } + }, + { + key: "registerActivityType", + value: function (e, t, n, r, i, o) { + var a = this; + return Bn( + new Promise(function (o, s) { + var c; + if (wn(e)) + s( + "activityTypeName argument can not be undefined" + ); + else if (vn(e)) + if (wn(a.getActivityType(e))) + if (yn(t)) + s( + "Owner window type can not be undefined" + ); + else { + c = vn(t) + ? { + type: t, + name: "", + isIndependent: !1, + arguments: {} + } + : t; + var u = []; + if (!yn(n) && gn(n)) + for (var d in n) { + var l = n[d]; + if (vn(l)) { + var p = { + type: l, + name: "", + isIndependent: !1, + arguments: {}, + relativeTo: "", + relativeDirection: + "", + windowStyleAttributes: + {} + }; + u.push(p); + } else u.push(l); + } + a._bridge + .registerActivityType( + e, + c, + u, + r, + i + ) + .then(function (e) { + (a._grabEntity(e), o(e)); + }) + .catch(function (e) { + s(e); + }); + } + else + s( + "Activity type '" + + e + + "' already exists" + ); + else s("activityTypeName should be string"); + }), + o + ); + } + }, + { + key: "unregisterActivityType", + value: function (e, t) { + var n = this; + return Bn( + new Promise(function (t, r) { + var i = n.getActivityType(e); + yn(i) + ? r( + "Activity type '" + + e + + "' does not exists" + ) + : n._bridge + .unregisterActivityType(e) + .then(function () { + return t(i); + }, r); + }), + t + ); + } + }, + { + key: "initiate", + value: function (e, t, n, r) { + var i = this; + return Bn( + new Promise(function (n, o) { + yn(i.getActivityType(e)) + ? o( + "Activity type '" + + e + + "' does not exists" + ) + : i._bridge + .initiateActivity(e, t, r) + .then(function (e) { + i._activities + .getOrWait(e) + .then(function (e) { + n(e); + }) + .catch(function (e) { + return o(e); + }); + }) + .catch(function (e) { + o(e); + }); + }), + n + ); + } + }, + { + key: "subscribeActivityTypeEvents", + value: function (e) { + this._activityTypes.subscribe(function (t, n) { + e(t, n.type); + }); + } + }, + { + key: "getWindowTypes", + value: function () { + return this._windowTypes.get(); + } + }, + { + key: "getWindowType", + value: function (e) { + return this._windowTypes.getByName(e); + } + }, + { + key: "registerWindowFactory", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + if (wn(e)) i("no windowType specified"); + else { + if (mn(e)) e = e.getName(); + else if (!vn(e)) + return void i( + "windowType should be string or object that has getName method" + ); + r._bridge + .registerWindowFactory(e, t) + .then(function (e) { + n(e); + }) + .catch(function (e) { + i(e); + }); + } + }), + n + ); + } + }, + { + key: "unregisterWindowFactory", + value: function (e, t) { + var n = this; + return Bn( + new Promise(function (t, r) { + wn(e) + ? r("no windowType specified") + : vn(e) + ? n._bridge + .unregisterWindowFactory(e) + .then(function (e) { + t(e); + }) + .catch(function (e) { + r(e); + }) + : r("windowType should be a string"); + }), + t + ); + } + }, + { + key: "getActivities", + value: function (e) { + var t = this._activities.get(); + if ( + ((t = t.filter(function (e) { + return e._ownerId; + })), + !e) + ) + return t; + var n = e; + if (vn(e)) n = [e]; + else if (e instanceof Sn) n = [e.name]; + else if (!(e instanceof Array)) + throw new Error( + "Invalid input argument 'activityType' = " + e + ); + return t.filter(function (e) { + var t = e.type; + return _n(n, function (e) { + return t.id === e.id; + }); + }); + } + }, + { + key: "getActivityById", + value: function (e) { + return this._activities.getByName(e); + } + }, + { + key: "announceWindow", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + var o = n._bridge.getAnnouncementInfo(); + if ( + (yn(e) && (e = o.activityWindowId), + yn(t) && (t = o.activityWindowType), + wn(t)) + ) + throw new Error( + "Can not announce - unknown windowType" + ); + var a = o && o.activityId; + if (wn(e)) + (n._logger.debug( + "Registering window with type:'" + + t + + "', name:'" + + o.activityWindowName + + "', ind.:'" + + o.activityWindowIndependent + + "'" + ), + n._bridge + .registerWindow( + t, + o.activityWindowName, + o.activityWindowIndependent + ) + .then( + n._windows.getOrWait.bind( + n._windows + ) + ) + .then(function (e) { + return a + ? n._activities + .getOrWait(a) + .then(function (t) { + return e; + }) + : e; + }) + .then(function (e) { + r(e); + }) + .catch(function (e) { + n._logger.error(e); + })); + else { + n._logger.debug( + "Announcing window with id '" + + e + + "' and type '" + + t + + "'" + ); + var s = n._windows.getByName(e); + if (!wn(s)) + return ( + n._logger.debug( + "Window with id '" + + e + + "' already announced - reusing the window" + ), + void r(s) + ); + var c = function t(o, a, s) { + e === a.id && + s === Mn.ActivityWindowJoinedActivity && + (yn(a.activity) && + i("UNDEFINED ACTIVITY"), + n._logger.trace( + "Got joined event for id '" + + e + + "'" + ), + r(a), + n.unsubscribeWindowEvents(t)); + }; + (n.subscribeWindowEvents(c), + n._logger.trace( + "Waiting for joined event for id '" + + e + + "'" + ), + n._bridge.announceWindow(t, e)); + } + }); + } + }, + { + key: "subscribeWindowTypeEvents", + value: function (e) { + this._windowTypes.subscribe(function (t, n) { + e(t, n.type); + }); + } + }, + { + key: "subscribeActivityEvents", + value: function (e) { + var t = this; + return this._activities.subscribe(function (n, r) { + if (r.type === Mn.StatusChange) { + var i = r; + e(n, i.newStatus, i.oldStatus); + } + if ( + r.type === Mn.Removed || + (r.type === Mn.StatusChange && + r.newStatus.getState() === Rn.Destroyed) + ) { + var o, + a = u(t._windows.get()); + try { + for (a.s(); !(o = a.n()).done; ) { + var s = o.value; + s.activity && + s.activity.id === n.id && + t._windows.process( + new Wn( + s, + new Tn( + Mn.ActivityWindowLeftActivity + ) + ) + ); + } + } catch (c) { + a.e(c); + } finally { + a.f(); + } + } + }); + } + }, + { + key: "subscribeWindowEvents", + value: function (e) { + var t = function (t, n) { + var r = n.type; + (r === Mn.Added && (r = "opened"), + e(t.activity, t, r)); + }; + return ( + this._windowHandlers.push([e, t]), + this._windows.subscribe(t) + ); + } + }, + { + key: "unsubscribeWindowEvents", + value: function (e) { + var t = this._windowHandlers.find(function (t) { + return t[0] === e; + }); + t && + (this._windowHandlers.splice( + this._windowHandlers.indexOf(t), + 1 + ), + this._windows.unsubscribe(t[1])); + } + }, + { + key: "createWindow", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + var o, a; + if ( + (wn(t) && i("windowType is undefined"), + vn(t)) + ) + o = { + type: t, + name: "", + isIndependent: !1, + arguments: {} + }; + else if (t instanceof En) + o = { + type: t.type || t.id, + name: t.name || t.type || t.id, + isIndependent: !1 + }; + else { + var s = ["url"], + c = {}; + (Object.keys(t).forEach(function (e) { + -1 === s.indexOf(e) && (c[e] = t[e]); + }), + (o = c)); + } + if (!wn(o.relativeTo)) + if ( + "string" === typeof (a = o.relativeTo) + ) { + var u = r.getWindows({ type: a }); + !wn(u) && + u.length > 0 && + (o.relativeTo = u[0].id); + } else if (wn(a.type)) + wn(a.windowId) || + (o.relativeTo = a.windowId); + else { + var d = r.getWindows({ type: a.type }); + !wn(d) && + d.length > 0 && + (o.relativeTo = d[0].id); + } + r._bridge + .createWindow(e && e.id, o) + .then(function (t) { + r._logger.debug( + "Window created, waiting for window entity with id " + + t + ); + var i = function i(o, a) { + o.id !== t || + (e && !o.activity) || + (r._logger.debug( + "Got entity window with id " + + t + ), + n(o), + r._windows.unsubscribe(i)); + }; + r._windows.subscribe(i); + }) + .catch(function (e) { + i(e); + }); + }), + n + ); + } + }, + { + key: "createStackedWindows", + value: function (e, t, n, r) { + var i = this; + return Bn( + new Promise(function (r, o) { + (wn(e) && o("activity is undefined"), + wn(t) && + o("relativeWindowTypes is undefined"), + Array.isArray(t) || + o( + "relativeWindowTypes has to be an array" + ), + wn(n) && (n = 2e4)); + var a = []; + t.forEach(function (e) { + var t, r; + if ( + (((t = vn(e) + ? { + type: e, + name: "", + isIndependent: !1, + arguments: {} + } + : e).stackedWindow = !0), + (t.timeout = n), + !wn(t.relativeTo)) + ) + if (wn((r = t.relativeTo).type)) { + if (!wn(r.windowId)) { + var o = i.getWindows({ + id: r.windowId + }); + !wn(o) && + o.length > 0 && + (t.relativeTo = + o[0].type.name); + } + } else t.relativeTo = r.type; + a.push(t); + }); + var s = []; + (a.forEach(function (t) { + return s.push(i.createWindow(e, t)); + }), + Promise.all(s).then(r).catch(o)); + }), + r + ); + } + }, + { + key: "addWindowToActivity", + value: function (e, t, n) { + var r = this._bridge + .joinActivity(e.id, t.id) + .then(function () { + return t; + }); + return (Bn(r, n), r); + } + }, + { + key: "leaveWindowFromActivity", + value: function (e, t, n) { + var r = this._bridge + .leaveActivity(e.id, t.id) + .then(function () { + return t; + }); + return (Bn(r, n), r); + } + }, + { + key: "setActivityContext", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + (wn(e) && i("activity can not be null"), + r._bridge + .updateActivityContext(e, t, !0) + .then(function (t) { + n(e); + }) + .catch(function (e) { + i(e); + })); + }), + n + ); + } + }, + { + key: "updateActivityContext", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + wn(e) && i("activity can not be null"); + var o = []; + for (var a in t) + t.hasOwnProperty(a) && + null === t[a] && + o.push(a); + for (var s = 0, c = o; s < c.length; s++) { + var u = c[s]; + delete t[u]; + } + r._bridge + .updateActivityContext(e, t, !1, o) + .then(function (t) { + n(e); + }) + .catch(function (e) { + i(e); + }); + }), + n + ); + } + }, + { + key: "subscribeActivityContextChanged", + value: function (e) { + this._activities.subscribe(function (t, n) { + if (n.type === Mn.ActivityContextChange) { + var r = n; + e(t, r.context, r.updated, r.removed); + } + }); + } + }, + { + key: "stopActivity", + value: function (e, t) { + return Bn(this._bridge.stopActivity(e), t); + } + }, + { + key: "getWindows", + value: function (e) { + return yn(e) + ? this._windows.get() + : yn(e.id) + ? this._windows.get().filter(function (t) { + if (!yn(e.type) && t.type.id !== e.type) + return !1; + if (!yn(e.name) && t.name !== e.name) + return !1; + if (!yn(e.activityId)) { + if (wn(t.activity)) return !1; + if (t.activity.id !== e.activityId) + return !1; + } + return !0; + }) + : [this._windows.getByName(e.id)]; + } + }, + { + key: "getWindowBounds", + value: function (e) { + return this._bridge.getWindowBounds(e); + } + }, + { + key: "setWindowBounds", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + r._bridge + .setWindowBounds(e, t) + .then(function () { + return n(); + }) + .catch(function (e) { + return i(e); + }); + }), + n + ); + } + }, + { + key: "closeWindow", + value: function (e) { + return this._bridge.closeWindow(e); + } + }, + { + key: "activateWindow", + value: function (e, t) { + return this._bridge.activateWindow(e, t); + } + }, + { + key: "setWindowVisibility", + value: function (e, t) { + return this._bridge.setWindowVisibility(e, t); + } + }, + { + key: "clone", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + (e || i("activity can not be null"), + r._bridge + .cloneActivity(e.id, t) + .then(function (e) { + r._activities + .getOrWait(e) + .then(function (e) { + n(e); + }) + .catch(function (e) { + return i(e); + }); + }) + .catch(function (e) { + return i(e); + })); + }), + n + ); + } + }, + { + key: "attachActivities", + value: function (e, t, n, r) { + var i = this; + return ( + (n = n || {}), + Bn( + new Promise(function (r, o) { + if (i._activities.getByName(e)) { + if (i._activities.getByName(t)) + return i._bridge + .attachActivities(e, t, n) + .then(function (e) { + var t = e.to, + n = e.descriptor, + o = e.descriptors; + i._activities + .getOrWait(t) + .then(function (e) { + e._updateDescriptors( + o + ); + var t = + e.attached.filter( + function ( + e + ) { + return ( + e.ownerId === + n.ownerId + ); + } + )[0]; + r(t); + }); + }) + .catch(function (e) { + o(e); + }); + o("can not find activity with id " + t); + } else + o("can not find activity with id " + e); + }), + r + ) + ); + } + }, + { + key: "detachActivities", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + return r._bridge + .detachActivities(e, t) + .then(function () { + var e = void 0, + t = void 0, + o = void 0; + r._activities + .getOrWait(e) + .then(function (e) { + (e._updateDescriptors(o), + r._activities + .getOrWait(t) + .then(function (e) { + n(e); + })); + }) + .catch(function (e) { + return i(e); + }); + }) + .catch(function (e) { + i(e); + }); + }), + n + ); + } + }, + { + key: "subscribeActivitiesAttached", + value: function (e) { + this._attachedCallbacks.push(e); + } + }, + { + key: "subscribeActivitiesDetached", + value: function (e) { + this._detachedCallbacks.push(e); + } + }, + { + key: "subscribeActivityFrameColorChanged", + value: function (e) { + this._frameColorChangesCallbacks.push(e); + } + }, + { + key: "_grabEntity", + value: function (e) { + e._manager = this; + } + }, + { + key: "_getInitialData", + value: function () { + var e = this; + (this._logger.debug("Request initial data..."), + this._bridge + .getActivityTypes() + .then(function (t) { + (e._activityTypes.add(t), + e._dataReadyMarker.signal( + "Got act types" + )); + }) + .catch(function (t) { + (e._logger.error(t), + e._dataReadyMarker.error( + "Can not initialize ActivityManager - error getting activity types -" + + t + )); + }), + this._bridge + .getWindowTypes() + .then(function (t) { + (e._windowTypes.add(t), + e._dataReadyMarker.signal( + "Got window types" + )); + }) + .catch(function (t) { + (e._logger.error(t), + e._dataReadyMarker.error( + "Can not initialize ActivityManager - error getting window types " + + t + )); + }), + this._bridge + .getActivities() + .then(function (t) { + (e._activities.add(t), + e._dataReadyMarker.signal( + "Got activities" + )); + }) + .catch(function (t) { + (e._logger.error(t), + e._dataReadyMarker.error( + "Can not initialize ActivityManager - error getting activity instances -" + + t + )); + }), + this._bridge + .getActivityWindows() + .then(function (t) { + (e._windows.add(t), + e._dataReadyMarker.signal( + "Got windows" + )); + }) + .catch(function (t) { + (e._logger.error(t), + e._dataReadyMarker.error( + "Can not initialize ActivityManager - error getting activity windows -" + + t + )); + })); + } + }, + { + key: "_subscribeForData", + value: function () { + var e = this; + (this._logger.debug("Subscribe for data..."), + this._bridge.onActivityTypeStatusChange( + function (t) { + e._activityTypes.process(t); + } + ), + this._bridge.onWindowTypeStatusChange(function (t) { + e._windowTypes.process(t); + }), + this._bridge.onActivityWindowChange(function (t) { + e._windows.process(t); + }), + this._bridge.onActivityStatusChange(function (t) { + e._activities.process(t); + })); + } + }, + { + key: "_handleActivitiesAttached", + value: function (e) { + var t = this, + n = e.to, + r = e.descriptor, + i = e.descriptors; + this._activities.getOrWait(n).then(function (e) { + e._updateDescriptors(i); + var n = e.attached.filter(function (e) { + return e.ownerId === r.ownerId; + })[0]; + t._attachedCallbacks.forEach(function (t) { + try { + t(e, n); + } catch (r) { + return; + } + }); + }); + } + }, + { + key: "_handleActivitiesDetached", + value: function (e) { + var t = this, + n = e.oldActivityId, + r = e.newActivityId, + i = e.descriptors, + o = e.descriptor; + this._activities.getOrWait(n).then(function (e) { + (e._updateDescriptors(i), + t._activities.getOrWait(r).then(function (n) { + t._detachedCallbacks.forEach(function (t) { + try { + t(n, e, o); + } catch (r) { + return; + } + }); + })); + }); + } + }, + { + key: "_handleActivityDescriptorsRefreshed", + value: function (e) { + var t = e.id, + n = e.descriptors, + r = this._activities.getByName(t); + r && r._updateDescriptors(n); + } + }, + { + key: "refreshDescriptors", + value: function () { + var e = this; + this._bridge + .getAttachedDescriptors() + .then(function (t) { + (t && + Object.keys(t).forEach(function (n) { + var r = n, + i = t[n], + o = e._activities.getByName(r); + o && o._updateDescriptors(i); + }), + e._descriptorsMarker.signal( + "Successfully got descriptors" + )); + }) + .catch(function (t) { + e._descriptorsMarker.error( + "failed to get descriptors - " + t + ); + }); + } + }, + { + key: "_handleWindowFrameColorChanged", + value: function (e) { + if (e.activityId) { + var t = this._activities.getByName(e.activityId); + t && + t.owner && + t.owner.underlyingWindow.id === e.id && + this._frameColorChangesCallbacks.forEach( + function (n) { + try { + n(t, e.frameColor); + } catch (r) { + return; + } + } + ); + } + } + } + ]), + e + ); + })(), + xr = (function () { + function e(t, n) { + (v(this, e), + (this._m = t), + (this._my = n), + (this.activityTypes = { + get: this._getActivityTypesWrapper.bind(this), + register: this._m.registerActivityType.bind(this._m), + unregister: this._m.unregisterActivityType.bind(this._m), + subscribe: this._m.subscribeActivityTypeEvents.bind( + this._m + ), + unsubscribe: void 0, + initiate: this._m.initiate.bind(this._m) + }), + (this.windowTypes = { + get: this._getWindowTypesWrapper.bind(this), + registerFactory: this._m.registerWindowFactory.bind( + this._m + ), + unregisterFactory: this._m.unregisterWindowFactory.bind( + this._m + ), + subscribe: this._m.subscribeWindowTypeEvents.bind(this._m), + unsubscribe: void 0 + }), + (this.windows = { + get: this._m.getWindows.bind(this._m), + subscribe: this._m.subscribeWindowEvents.bind(this._m), + announce: this._m.announceWindow.bind(this._m), + unsubscribe: void 0, + create: this._m.createWindow.bind(this._m) + }), + (this.instances = { + get: this._m.getActivities.bind(this._m), + subscribe: this._m.subscribeActivityEvents.bind(this._m), + unsubscribe: void 0 + })); + } + return ( + m(e, [ + { + key: "onAttached", + value: function (e) { + this._m.subscribeActivitiesAttached(e); + } + }, + { + key: "onDetached", + value: function (e) { + this._m.subscribeActivitiesDetached(e); + } + }, + { + key: "onActivityFrameColorChanged", + value: function (e) { + this._m.subscribeActivityFrameColorChanged(e); + } + }, + { + key: "_getActivityTypesWrapper", + value: function (e) { + return yn(e) + ? this._m.getActivityTypes() + : this._m.getActivityType(e); + } + }, + { + key: "_getWindowTypesWrapper", + value: function (e) { + return yn(e) + ? this._m.getWindowTypes() + : this._m.getWindowType(e); + } + } + ]), + e + ); + })(), + _r = (function () { + function e(t, n) { + (v(this, e), + (this._mgr = t), + (this._my = n), + (this.all = new xr(t, n))); + } + return ( + m(e, [ + { + key: "ready", + value: function (e) { + var t = this; + return Bn( + new Promise(function (e, n) { + t._mgr + .ready() + .then(function () { + e(t); + }) + .catch(function (e) { + n(e); + }); + }), + e + ); + } + }, + { + key: "my", + get: function () { + return this._my; + } + }, + { + key: "aware", + get: function () { + return void 0 !== this._my.window; + } + }, + { + key: "inActivity", + get: function () { + return this.aware && void 0 !== this._my.activity; + } + }, + { + key: "agm", + get: function () { + if (this.aware) + return this.inActivity + ? this._my.activity.agm + : new On(null); + } + }, + { + key: "getAvailableFrameColors", + value: function () { + return []; + } + } + ]), + e + ); + })(), + Cr = (function () { + function e(t) { + var n, + r = this; + if ((v(this, e), !t)) throw new Error("config can not be null"); + if ( + (yn(t.logLevel) || (jn.Level = t.logLevel), + wn(t.logger) || (jn.GlueLogger = t.logger), + (this._isUsingHCImplementation = 2 === t.gdMajorVersion), + (this._isUsingGW3Implementation = + e.checkIsUsingGW3Implementation(t.connection)), + this._isUsingHCImplementation) + ) + throw new Error("GD2 not supported"); + if (!this._isUsingGW3Implementation) + throw new Error( + "Unable to instantiate activity bridge implementation" + ); + if (!(n = new gr(t))) + throw new Error( + "A bridge to native activity is needed to create activity lib." + ); + On.AGM = t.agm; + var i = new kr(n, !t.disableAutoAnnounce, t.windows), + o = new yr(i, t.windows); + ((this._api = new _r(i, o)), + (this._readyPromise = i.ready().then(function (e) { + return r; + }))); + } + return ( + m( + e, + [ + { + key: "api", + get: function () { + return this._api; + }, + set: function (e) { + this._api = e; + } + }, + { + key: "isUsingHCImplementation", + get: function () { + return this._isUsingHCImplementation; + } + }, + { + key: "isUsingGW3Implementation", + get: function () { + return this._isUsingGW3Implementation; + } + }, + { + key: "ready", + value: function (e) { + return Bn(this._readyPromise, e); + } + } + ], + [ + { + key: "checkIsUsingGW3Implementation", + value: function (e) { + return 3 === e.protocolVersion; + } + } + ] + ), + e + ); + })(), + Ir = "T42.ACS.Shutdown", + Sr = "T42.ACS.OnGDShutdown", + Er = "T42.ACS.Restart", + Wr = "T42.ACS.GetConfigurationRegion", + Tr = "T42.ACS.SetConfigurationRegion", + Ar = "T42.ACS.GetUser", + Pr = "T42.ACS.GetBranches", + Mr = "T42.ACS.GetCurrentBranch", + Rr = "T42.ACS.SetCurrentBranch", + Or = "T42.ACS.GetFunctionalEntitlement", + Dr = "T42.ACS.CanI", + Lr = "T42.ACS.StartApplication", + Br = "T42.ACS.StopApplication", + Nr = "T42.ACS.ActivateApplication", + Fr = "T42.ACS.OnEvent", + jr = "T42.ACS.GetApplications"; + function Hr(e) { + if ( + e && + e.errorHandling && + "function" !== typeof e.errorHandling && + "log" !== e.errorHandling && + "silent" !== e.errorHandling && + "throw" !== e.errorHandling + ) + throw new Error( + 'Invalid options passed to createRegistry. Prop errorHandling should be ["log" | "silent" | "throw" | (err) => void], but ' + + typeof e.errorHandling + + " was passed" + ); + var t = e && "function" === typeof e.errorHandling && e.errorHandling, + n = {}; + function r(e, t, r) { + var i = n[e]; + return ( + i || ((i = []), (n[e] = i)), + i.push(t), + r && + setTimeout(function () { + r.forEach(function (r) { + var i; + if ( + null === (i = n[e]) || void 0 === i + ? void 0 + : i.includes(t) + ) + try { + Array.isArray(r) + ? t.apply(void 0, r) + : t.apply(void 0, [r]); + } catch (a) { + o(a, e); + } + }); + }, 0), + function () { + var r = n[e]; + r && + (0 === + (r = r.reduce(function (e, n, r) { + return ((n === t && e.length === r) || e.push(n), e); + }, [])).length + ? delete n[e] + : (n[e] = r)); + } + ); + } + function i(e) { + for (var t = [], r = 1; r < arguments.length; r++) + t[r - 1] = arguments[r]; + var i = n[e]; + if (!i || 0 === i.length) return []; + var a = []; + return ( + i.forEach(function (n) { + try { + var r = n.apply(void 0, t); + a.push(r); + } catch (i) { + (a.push(void 0), o(i, e)); + } + }), + a + ); + } + function o(n, r) { + var i = n instanceof Error ? n : new Error(n); + if (t) t(i); + else { + var o = + '[ERROR] callback-registry: User callback for key "' + + r + + '" failed: ' + + i.stack; + if (e) + switch (e.errorHandling) { + case "log": + return console.error(o); + case "silent": + return; + case "throw": + throw new Error(o); + } + console.error(o); + } + } + function a() { + n = {}; + } + function s(e) { + n[e] && delete n[e]; + } + return { add: r, execute: i, clear: a, clearKey: s }; + } + Hr.default = Hr; + var zr = Hr; + function qr(e) { + return e + ? Object.keys(e).map(function (t) { + return e[t]; + }) + : []; + } + function Gr(e) { + var t; + try { + t = JSON.parse(JSON.stringify(e || {})); + } catch (n) { + t = {}; + } + return t; + } + function Ur(e, t) { + if (t.throwErrors && "function" !== typeof e) + throw new Error("Please provide the callback as a function!"); + } + var Vr = (function () { + function e(t, n, r, i) { + var o = this; + (v(this, e), + (this._appManager = t), + (this._name = n), + (this._agm = r), + (this._configuration = i), + (this._registry = zr()), + t.onInstanceStarted(function (e) { + (e.application && e.application.name !== o._name) || + o._registry.execute("instanceStarted", e); + }), + t.onInstanceStopped(function (e) { + (e.application && e.application.name !== o._name) || + o._registry.execute("instanceStopped", e); + }), + t.onAppRemoved(function (e) { + e.name === o._name && o._registry.execute("appRemoved", e); + }), + t.onAppChanged(function (e) { + e.name === o._name && o._registry.execute("appChanged", e); + }), + t.onAppAvailable(function (e) { + e.name === o._name && + ((o._props.IsReady = !0), + o._registry.execute("appAvailable", e)); + }), + t.onAppUnavailable(function (e) { + e.name === o._name && + ((o._props.IsReady = !1), + o._registry.execute("appUnavailable", e)); + })); + } + return ( + m(e, [ + { + key: "name", + get: function () { + return this._name; + } + }, + { + key: "title", + get: function () { + return this._props.Title; + } + }, + { + key: "version", + get: function () { + return this._props.Version; + } + }, + { + key: "autoStart", + get: function () { + return this._props.AutoStart; + } + }, + { + key: "isShell", + get: function () { + return this._props.IsShell; + } + }, + { + key: "caption", + get: function () { + return this._props.Caption; + } + }, + { + key: "hidden", + get: function () { + return this._props.IsHidden; + } + }, + { + key: "container", + get: function () { + return this._props.ApplicationName; + } + }, + { + key: "activityType", + get: function () { + return this._props.ActivityType; + } + }, + { + key: "activityWindowType", + get: function () { + return this._props.ActivityWindowType; + } + }, + { + key: "windowSettings", + get: function () { + return this._props.Arguments + ? Gr(this._props.Arguments) + : {}; + } + }, + { + key: "allowMultiple", + get: function () { + return this._props.AllowMultiple; + } + }, + { + key: "available", + get: function () { + return this._props.IsReady || !0; + } + }, + { + key: "icon", + get: function () { + return this._props.Icon; + } + }, + { + key: "iconURL", + get: function () { + return this._props.IconUrl; + } + }, + { + key: "sortOrder", + get: function () { + return this._props.SortOrder; + } + }, + { + key: "userProperties", + get: function () { + return this._props.UserProperties + ? Gr(this._props.UserProperties) + : {}; + } + }, + { + key: "keywords", + get: function () { + return this._props.Keywords ? this._props.Keywords : []; + } + }, + { + key: "isActivity", + get: function () { + return ( + void 0 !== this._props.ActivityType && + "" !== this._props.ActivityType + ); + } + }, + { + key: "configuration", + get: function () { + return { + autoStart: this._props.AutoStart, + caption: this._props.Caption, + hidden: this._props.IsHidden, + container: this._props.ApplicationName, + activityType: this._props.ActivityType, + allowMultiple: this._props.AllowMultiple + }; + } + }, + { + key: "instances", + get: function () { + var e = this; + return this._appManager + .instances() + .filter(function (t) { + return t.application.name === e._name; + }); + } + }, + { + key: "type", + get: function () { + return this._props.Type; + } + }, + { + key: "mode", + get: function () { + if (!this._props) return "unknown"; + if ( + this._props.Mode && + "string" === typeof this._props.Mode + ) + return this._props.Mode.toLowerCase(); + if (this.isActivity) return "unknown"; + if ( + this._props.Arguments && + this._props.Arguments.mode && + "string" === typeof this._props.Arguments.mode + ) + return this._props.Arguments.mode.toLowerCase(); + var e = this._props.WindowStyleAttributes; + if (e) { + var t = 'mode:"', + n = (e = e.split(" ").join("")).indexOf(t); + if (-1 !== n) { + var r = n + t.length, + i = e.indexOf('"', r), + o = e.substr(r, i - r); + if (o && "string" === typeof o) + return o.toLowerCase(); + } + } + return "flat"; + } + }, + { + key: "getConfiguration", + value: (function () { + var e = s( + a().mark(function e() { + var t, n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this._agm.invoke(jr, { + v2: { + apps: [ + this._name + ] + } + }) + ); + case 2: + return ( + (t = e.sent), + (n = + t.returned + .applications[0]), + e.abrupt("return", n) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "updateFromProps", + value: function (e) { + var t = this; + (this._props || (this._props = { Name: e.Name }), + Object.keys(e).forEach(function (n) { + t._props[n] = e[n]; + })); + } + }, + { + key: "start", + value: function (e, t) { + var n = this; + return new Promise( + (function () { + var r = s( + a().mark(function r(i, o) { + var s, c, u, d, l, p, h, f, v, m, g, y; + return a().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + ((p = n._name), + (h = 6e4), + !wn(e)) + ) { + r.next = 6; + break; + } + ((e = {}), + (r.next = 8)); + break; + case 6: + if ( + !( + ((null === + (s = + n._configuration()) || + void 0 === s + ? void 0 + : s.throwErrors) && + "object" !== + typeof e) || + Array.isArray( + e + ) + ) + ) { + r.next = 8; + break; + } + return r.abrupt( + "return", + o( + new Error( + 'Invalid "context" parameter - must be an object.' + ) + ) + ); + case 8: + if (!wn(t)) { + r.next = 12; + break; + } + ((t = {}), + (r.next = 14)); + break; + case 12: + if ( + !(null === + (c = + n._configuration()) || + void 0 === c + ? void 0 + : c.throwErrors) || + "object" === + typeof t + ) { + r.next = 14; + break; + } + return r.abrupt( + "return", + o( + new Error( + 'Invalid "options" parameter - must be an object.' + ) + ) + ); + case 14: + return ( + (f = + null === + (d = + null !== + (u = + t.awaitInterop) && + void 0 !== + u + ? u + : t.waitForAGMReady) || + void 0 === + d || + d), + (v = function ( + e + ) { + var t, + r = + setTimeout( + function () { + (t && + t(), + o( + "timed out while waiting for instance id " + .concat( + e, + " for app " + ) + .concat( + n.name + ) + )); + }, + h + ), + a = + function ( + n + ) { + n.id === + e && + (t && + (t(), + (t = + void 0)), + clearTimeout( + r + ), + i( + n + )); + }; + t = f + ? n._appManager.onInstanceAgmServerReady( + a + ) + : n._appManager.onInstanceStarted( + a + ); + }), + (r.prev = 16), + (r.next = 19), + n._agm.invoke( + Lr, + { + Name: p, + Context: + e, + Options: + t + }, + "best", + { + methodResponseTimeoutMs: + h + } + ) + ); + case 19: + ((m = r.sent), + "undefined" !== + typeof (g = + m.returned) + .timeout && + (h = + 1e3 * + g.timeout), + "undefined" !== + typeof g.waitForInterop && + "undefined" === + typeof t.waitForAGMReady && + "undefined" === + typeof t.awaitInterop && + (f = + g.waitForInterop), + g && g.Id + ? "startOnly" === + n + ._appManager + .mode + ? ((y = + n._appManager.handleInstanceStarted( + { + ActivityId: + void 0, + IsActivityOwner: + void 0, + Context: + void 0, + Title: void 0, + AgmServers: + void 0, + Id: g.Id, + Name: g.Name + } + )), + i(y)) + : v( + g.Id + ) + : i(void 0), + (r.next = 29)); + break; + case 26: + ((r.prev = 26), + (r.t0 = + r.catch( + 16 + )), + o( + null !== + (l = + r.t0 + .message) && + void 0 !== + l + ? l + : r.t0 + )); + case 29: + case "end": + return r.stop(); + } + }, + r, + null, + [[16, 26]] + ); + }) + ); + return function (e, t) { + return r.apply(this, arguments); + }; + })() + ); + } + }, + { + key: "onInstanceStarted", + value: function (e) { + return ( + Ur(e, this._configuration()), + this._registry.add("instanceStarted", e) + ); + } + }, + { + key: "onInstanceStopped", + value: function (e) { + return ( + Ur(e, this._configuration()), + this._registry.add("instanceStopped", e) + ); + } + }, + { + key: "onAvailable", + value: function (e) { + var t = this; + return ( + Ur(e, this._configuration()), + this._props.IsReady && + setTimeout(function () { + t._registry.execute("appAvailable", t); + }, 0), + this._registry.add("appAvailable", e) + ); + } + }, + { + key: "onUnavailable", + value: function (e) { + var t = this; + return ( + Ur(e, this._configuration()), + !1 === this._props.IsReady && + setTimeout(function () { + t._registry.execute("appUnavailable", t); + }, 0), + this._registry.add("appUnavailable", e) + ); + } + }, + { + key: "onChanged", + value: function (e) { + (Ur(e, this._configuration()), + this._registry.add("appChanged", e)); + } + }, + { + key: "onRemoved", + value: function (e) { + (Ur(e, this._configuration()), + this._registry.add("appRemoved", e)); + } + } + ]), + e + ); + })(), + $r = (function () { + function e(t, n, r, i, o, a, s, c) { + var u = this; + (v(this, e), + (this._id = t), + (this._appName = n), + (this._appManager = r), + (this._agm = i), + (this._activities = o), + (this._windows = a), + (this._configuration = c), + (this._registry = zr()), + s || + ((this._unsubscribeInstanceStopped = + this._appManager.onInstanceStopped(function (e) { + e.id === u._id && u._registry.execute("stopped", e); + })), + (this._unsubscribeInstanceAgmServerReady = + this._appManager.onInstanceAgmServerReady(function (e) { + e.id === u._id && + u._registry.execute("agmReady", e); + })))); + } + return ( + m(e, [ + { + key: "id", + get: function () { + return this._id; + } + }, + { + key: "application", + get: function () { + return this._appManager.application(this._appName); + } + }, + { + key: "activity", + get: function () { + var e = this; + if (!this._activities) + throw new Error( + "This method requires glue.activities library to be enabled." + ); + return this._activities.all.instances + .get() + .filter(function (t) { + return t.id === e._activityId; + })[0]; + } + }, + { + key: "isActivityOwner", + get: function () { + return this._isActivityOwner; + } + }, + { + key: "activityInstances", + get: function () { + var e = this; + return this._appManager + .instances() + .filter(function (t) { + return ( + "activity" !== t.application.type && + t.activityId && + t.activityId === e._activityId + ); + }); + } + }, + { + key: "activityOwnerInstance", + get: function () { + if (this._activityId) + return this.activityInstances.filter(function (e) { + return null === e || void 0 === e + ? void 0 + : e.isActivityOwner; + })[0]; + } + }, + { + key: "window", + get: function () { + var e = this; + if (!this._windows) + throw new Error( + "This method requires glue.windows library to be enabled." + ); + var t = this._windows.list().filter(function (t) { + return t.id === e._id; + })[0]; + return ( + !t && + this._activities && + this.activity && + this.activityOwnerInstance && + (t = this.activityOwnerInstance.window), + t + ); + } + }, + { + key: "context", + get: function () { + var e, t, n; + return null !== + (n = + null !== (e = this._startUpContext) && + void 0 !== e + ? e + : null === (t = this.window) || void 0 === t + ? void 0 + : t.context) && void 0 !== n + ? n + : {}; + } + }, + { + key: "title", + get: function () { + return this._title; + } + }, + { + key: "isActivityInstance", + get: function () { + return this._isActivityInstance; + } + }, + { + key: "activityId", + get: function () { + return this._activityId; + } + }, + { + key: "inActivity", + get: function () { + return this._inActivity; + } + }, + { + key: "isSingleWindowApp", + get: function () { + return !this._inActivity; + } + }, + { + key: "agm", + get: function () { + return this._agmInstance; + } + }, + { + key: "interopInstance", + get: function () { + return this._agmInstance; + } + }, + { + key: "onInteropReady", + value: function (e) { + var t = this; + return ( + Ur(e, this._configuration()), + this._agmInstance && + setTimeout(function () { + t._registry.execute("agmReady", t); + }, 0), + this._registry.add("agmReady", e) + ); + } + }, + { + key: "onAgmReady", + value: function (e) { + return this.onInteropReady(e); + } + }, + { + key: "onStopped", + value: function (e) { + return ( + Ur(e, this._configuration()), + this._registry.add("stopped", e) + ); + } + }, + { + key: "getWindow", + value: function () { + var e = this; + return new Promise(function (t, n) { + var r = e.window; + if (r) t(r); + else + var i = function (e, r) { + (e && n(e), + r && t(r), + setTimeout(function () { + (clearTimeout(o), a()); + }, 0)); + }, + o = setTimeout(function () { + i( + new Error( + "can not find a window with id ".concat( + e._id + ) + ) + ); + }, 3e4), + a = e._windows.onWindowAdded(function (t) { + t.id === e._id && i(void 0, t); + }); + }); + } + }, + { + key: "updateFromProps", + value: function (e) { + ((this._startUpContext = e.Context), + (this._title = e.Title), + (this._isActivityInstance = !1), + e.ActivityId && + "" !== e.ActivityId && + ((this._activityId = e.ActivityId), + (this._isActivityInstance = !0)), + (this._isActivityOwner = e.IsActivityOwner), + !this._activityId && + this._startUpContext && + this._startUpContext.activityId && + (this._activityId = + this._startUpContext.activityId), + (this._inActivity = Boolean(this._activityId)), + this.updateAgmInstanceFromProps(e)); + } + }, + { + key: "updateAgmInstanceFromProps", + value: function (e) { + if (e.AgmServers) { + var t = e.AgmServers; + t && + t.length > 0 && + !wn(t[0]) && + (this._agmInstance = t[0]); + } + } + }, + { + key: "stop", + value: function () { + var e = this; + return new Promise(function (t, n) { + var r = e._id; + e.isActivityOwner && (r = e.activityId); + var i = e._appManager.onInstanceStopped( + function (e) { + e.id === r && (i(), t()); + } + ); + e._agm + .invoke(Br, { Name: e._appName, Id: e._id }) + .then(function () { + "startOnly" === e._appManager.mode && + (e._appManager.handleInstanceStopped({ + Name: e._appName, + Id: e.id + }), + t()); + }) + .catch(function (e) { + return n(e); + }); + }); + } + }, + { + key: "activate", + value: function () { + return this._agm.invoke(Nr, { + Name: this._appName, + Id: this._id + }); + } + }, + { + key: "done", + value: function () { + (this._registry.clear(), + this._unsubscribeInstanceAgmServerReady(), + this._unsubscribeInstanceStopped()); + } + }, + { + key: "getContext", + value: function () { + return Promise.resolve(this.context); + } + } + ]), + e + ); + })(), + Jr = (function () { + function e(t, n, r, i, o, c, u) { + var d = this; + (v(this, e), + (this.mode = t), + (this._agm = n), + (this._activities = r), + (this._windows = i), + (this._logger = o), + (this._gdMajorVersion = c), + (this._configuration = u), + (this._apps = {}), + (this._instances = []), + (this._registry = zr()), + (this.getConfigurations = (function () { + var e = s( + a().mark(function e(t) { + var n, r; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = { v2: { apps: void 0 } }), + Array.isArray(t) && + (n.v2 = { apps: t }), + (e.next = 4), + d._agm.invoke(jr, n) + ); + case 4: + return ( + (r = e.sent), + e.abrupt( + "return", + r.returned.applications + ) + ); + case 6: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (this.application = function (e) { + var t; + if ( + (null === (t = d._configuration()) || void 0 === t + ? void 0 + : t.throwErrors) && + "string" !== typeof e + ) + throw new Error('"name" must be string'); + return d._apps[e]; + }), + (this.applications = function () { + return Object.keys(d._apps).map(function (e) { + return d._apps[e]; + }); + }), + (this.instances = function () { + return d._instances.map(function (e) { + return e; + }); + }), + (this.getMyInstance = function () { + var e = "undefined" !== typeof window && window.glue42gd; + if (!e) { + var t = d._agm.instance.instance; + return d._instances.find(function (e) { + return e.id === t; + }); + } + if (d._gdMajorVersion >= 3) { + var n = e.appInstanceId; + return d._instances.find(function (e) { + return e.id === n; + }); + } + }), + (this.getMyApplication = function () { + if (d._agm.instance) + return d.application(d._agm.instance.application); + }), + (this.handleSnapshotAppsAdded = function (e) { + var t = d.applications(); + (t.length > 0 && + t.forEach(function (t) { + var n = t.name; + e.find(function (e) { + return e.Name === t.name; + }) || d.handleAppRemoved({ Name: n }); + }), + e.forEach(function (e) { + t.find(function (t) { + return t.name === e.Name; + }) || d.handleAppAdded(e); + })); + }), + (this.handleSnapshotInstanceStarted = function (e) { + var t = d.instances(); + (t.length > 0 && + t.forEach(function (t) { + var n = t.id; + e.find(function (e) { + return e.Id === n; + }) || + d.handleInstanceStopped({ + Name: t.application.name, + Id: n + }); + }), + e.forEach(function (e) { + t.find(function (t) { + return t.id === e.Id; + }) || d.handleInstanceStarted(e); + })); + }), + (this.handleAppAdded = function (e) { + var t = d._getAppId(e); + (d._logger.trace("adding app ".concat(t)), + (d._apps[t] = new Vr(d, t, d._agm, d._configuration))); + var n = d._updateAppFromProps(e); + (d._registry.execute("appAdded", n), + d._registry.execute("appAvailable", n)); + }), + (this.handleAppUpdated = function (e) { + var t = d._updateAppFromProps(e); + d._registry.execute("appChanged", t); + }), + (this.handleAppRemoved = function (e) { + var t = d._getAppId(e); + d._logger.trace("removing app ".concat(t)); + var n = d.application(t); + ((d._instances = d._instances.filter(function (e) { + return e.application.name !== n.name; + })), + delete d._apps[t], + d._registry.execute("appRemoved", n)); + }), + (this.handleAppReady = function (e) { + var t = d._getAppId(e), + n = d._getAppOrThrow(t); + (n.updateFromProps(e), + n.available + ? d._registry.execute("appAvailable", n) + : d._registry.execute("appUnavailable", n)); + }), + (this.handleInstanceStarted = function (e) { + d._logger.trace( + "started app ".concat(e.Name, " ").concat(e.Id) + ); + var t = d._getInstanceId(e), + n = d._getInstanceAppName(e), + r = new $r( + t, + n, + d, + d._agm, + d._activities, + d._windows, + !1, + d._configuration + ); + return ( + d._updateInstanceFromProps(r, e), + d._instances.push(r), + d._registry.execute("instanceStarted", r), + r + ); + }), + (this.handleInstanceStopped = function (e) { + d._logger.trace( + "failed to start app ".concat(e.Name, " ").concat(e.Id) + ); + var t = d._getInstanceId(e), + n = d._getInstanceAppName(e), + r = d._getInstanceOrThrow(t, n); + ((d._instances = d._instances.filter(function (e) { + return !d._matchInstance(e, t, n); + })), + d._registry.execute("instanceStopped", r), + r.done()); + }), + (this.handleInstanceAgmServerReady = function (e) { + var t = d._getInstanceId(e), + n = d._getInstanceAppName(e), + r = d._getInstanceOrThrow(t, n); + (r.updateAgmInstanceFromProps(e), + d._registry.execute("instanceAgmServerReady", r)); + }), + (this.handleInstanceStartFailed = function (e) { + var t = d._getInstanceId(e), + n = d._getInstanceAppName(e), + r = new $r( + t, + n, + void 0, + void 0, + void 0, + void 0, + !0, + d._configuration + ); + (d._updateInstanceFromProps(r, e), + d._registry.execute("instanceStartFailed", r)); + }), + (this.handleInstanceUpdated = function (e) { + var t = d._getInstanceId(e), + n = d._getInstanceAppName(e), + r = d._getInstanceOrThrow(t, n); + d._updateInstanceFromProps(r, e); + }), + (this.onInstanceStarted = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("instanceStarted", e, d._instances) + ); + }), + (this.onInstanceStartFailed = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("instanceStartFailed", e) + ); + }), + (this.onInstanceStopped = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("instanceStopped", e) + ); + }), + (this.onInstanceUpdated = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("instanceChanged", e) + ); + }), + (this.onInstanceAgmServerReady = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("instanceAgmServerReady", e) + ); + }), + (this.onAppAdded = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("appAdded", e, Object.values(d._apps)) + ); + }), + (this.onAppRemoved = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("appRemoved", e) + ); + }), + (this.onAppAvailable = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("appAvailable", e) + ); + }), + (this.onAppUnavailable = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("appUnavailable", e) + ); + }), + (this.onAppChanged = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("appChanged", e) + ); + })); + } + return ( + m(e, [ + { + key: "_getAppOrThrow", + value: function (e) { + var t = this.application(e); + if (!t) + throw Error("app with id ".concat(e, " not found")); + return t; + } + }, + { + key: "_getAppId", + value: function (e) { + return e.Name; + } + }, + { + key: "_matchInstance", + value: function (e, t, n) { + return e.id === t && e.application.name === n; + } + }, + { + key: "_getInstanceByIdAndName", + value: function (e, t) { + var n = this; + return this._instances.filter(function (r) { + return n._matchInstance(r, e, t); + })[0]; + } + }, + { + key: "_getInstanceOrThrow", + value: function (e, t) { + var n = this._getInstanceByIdAndName(e, t); + if (!n) + throw Error( + "instance with id ".concat(e, " not found") + ); + return n; + } + }, + { + key: "_getInstanceId", + value: function (e) { + return e.Id; + } + }, + { + key: "_getInstanceAppName", + value: function (e) { + return e.Name; + } + }, + { + key: "_updateAppFromProps", + value: function (e) { + var t = this._getAppId(e); + this._logger.trace( + "updating app with + " + .concat(t, ", ") + .concat(JSON.stringify(e)) + ); + var n = this._getAppOrThrow(t); + return (n.updateFromProps(e), n); + } + }, + { + key: "_updateInstanceFromProps", + value: function (e, t) { + (this._logger.trace( + "updating instance with " + + this._getInstanceId(t) + + " for app " + + this._getInstanceAppName(t) + ), + e.updateFromProps(t)); + } + } + ]), + e + ); + })(); + function Kr(e, t, n) { + var r = function (e) { + return !!(e && e.constructor && e.call && e.apply); + }; + return r(t) || r(n) + ? (r(t) ? r(n) || (n = function () {}) : (t = function () {}), + e.then(t, n)) + : e; + } + var Qr = (function () { + function e(t) { + var n = this; + (v(this, e), + (this._agm = t), + (this._registry = zr()), + (this._isMethodRegistered = !1), + (this.handleBranchModified = function (e) { + n._registry.execute("branchChanged", e); + }), + (this.handleBranchesModified = function (e) { + n._registry.execute("branchesChanged", e); + }), + (this.getRegion = function (e, t) { + return Kr( + n._agmInvoke(Wr, function (e) { + return e.returned.Region; + }), + e, + t + ); + }), + (this.getBranches = function (e, t) { + return Kr( + n._agmInvoke(Pr, function (e) { + var t = e.returned.Branches; + return Object.keys(t).map(function (e) { + return t[e]; + }); + }), + e, + t + ); + }), + (this.getCurrentBranch = function (e, t) { + return Kr( + n._agmInvoke( + Mr, + function (e) { + return e.returned.Branch; + }, + void 0 + ), + e, + t + ); + }), + (this.setRegion = function (e, t, r) { + return Kr( + n._agmInvoke( + Tr, + function (e) { + return e.returned.ResultMessage; + }, + { Region: e } + ), + t, + r + ); + }), + (this.setCurrentBranch = function (e, t, r) { + return Kr( + n._agmInvoke( + Rr, + function (e) { + return e.returned.ResultMessage; + }, + { Branch: e } + ), + t, + r + ); + }), + (this.currentUser = function (e, t) { + return Kr(n._agmInvoke(Ar), e, t); + }), + (this.getFunctionalEntitlement = function (e, t, r) { + return Kr( + n._agmInvoke( + Or, + function (e) { + return e.returned.Entitlement; + }, + { Function: e } + ), + t, + r + ); + }), + (this.getFunctionalEntitlementBranch = function (e, t, r, i) { + return Kr( + n._agmInvoke( + Or, + function (e) { + return e.returned.Entitlement; + }, + { Function: e, Branch: t } + ), + r, + i + ); + }), + (this.canI = function (e, t, r) { + return Kr( + n._agmInvoke( + Dr, + function (e) { + return e.returned.Result; + }, + { Function: e } + ), + t, + r + ); + }), + (this.canIBranch = function (e, t, r, i) { + return Kr( + n._agmInvoke( + Dr, + function (e) { + return e.returned.Result; + }, + { Function: e, Branch: t } + ), + r, + i + ); + }), + (this.onBranchesChanged = function (e) { + return n._registry.add("branchesChanged", e); + }), + (this.onBranchChanged = function (e) { + return n._registry.add("branchChanged", e); + }), + (this.exit = function (e) { + return n._agmInvoke(Ir, null, e); + }), + (this.onShuttingDown = function (e) { + return ( + n.registerMethod(), + n._registry.add("onShuttingDown", e) + ); + }), + (this.restart = function (e) { + return n._agmInvoke(Er, null, e); + }), + (this._agmInvoke = function (e, t, r) { + return ( + (r = r || {}), + new Promise(function (i, o) { + var a = function (e) { + return o(e); + }; + n._agm + .invoke(e, r) + .then(function (e) { + (t || + (t = function (e) { + return e.returned; + }), + i(t(e))); + }) + .catch(a); + }) + ); + })); + } + return ( + m(e, [ + { + key: "registerMethod", + value: function () { + var e = this; + this._isMethodRegistered || + (this._agm.register( + Sr, + (function () { + var t = s( + a().mark(function t(n) { + var r, i; + return a().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.prev = 0), + (t.next = 3), + Promise.all( + e._registry.execute( + "onShuttingDown", + n + ) + ) + ); + case 3: + return ( + (r = t.sent), + (i = r.some( + function ( + e + ) { + return e.prevent; + } + )), + t.abrupt( + "return", + { + prevent: + i + } + ) + ); + case 8: + ((t.prev = 8), + (t.t0 = + t.catch( + 0 + ))); + case 10: + case "end": + return t.stop(); + } + }, + t, + null, + [[0, 8]] + ); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })() + ), + (this._isMethodRegistered = !0)); + } + } + ]), + e + ); + })(); + function Xr(e, t) { + return new Promise(function (n, r) { + e.invoke(jr, { skipIcon: !0 }) + .then(function (e) { + var r, + i = e.returned, + o = + null !== (r = e.returned.configuration) && void 0 !== r + ? r + : {}; + i || n(o); + var a = i.applications; + (a || n(o), + qr(a).map(function (e) { + return t.handleAppAdded(e); + }), + n(o)); + }) + .catch(function (e) { + return r( + "Error getting application snapshot: ".concat(e.message) + ); + }); + }); + } + var Yr = "OnBranchChanged", + Zr = "OnBranchesModified", + ei = "OnApplicationAdded", + ti = "OnApplicationRemoved", + ni = "OnApplicationChanged", + ri = "OnApplicationReady", + ii = "OnApplicationStarted", + oi = "OnApplicationAgmServerReady", + ai = "OnApplicationUpdated", + si = "OnApplicationStopped", + ci = "OnApplicationStartFailed"; + function ui(e, t, n, r) { + var i, + o = !1, + a = function () { + var a, + s, + c = new Promise(function (e, t) { + ((a = e), (s = t)); + }); + return ( + e + .subscribe(Fr, { + arguments: { skipIcon: r }, + waitTimeoutMs: 1e4 + }) + .then(function (r) { + ((i = r).onData(function (r) { + var i, + s = r.data, + c = + null !== (i = s.configuration) && + void 0 !== i + ? i + : {}, + u = qr(s[ei]); + (r.data.isSnapshot + ? t.handleSnapshotAppsAdded(u) + : u.forEach(function (e) { + return t.handleAppAdded(e); + }), + qr(s[ni]).forEach(function (e) { + return t.handleAppUpdated(e); + }), + qr(s[ti]).forEach(function (e) { + return t.handleAppRemoved(e); + }), + qr(s[ri]).forEach(function (e) { + return t.handleAppReady(e); + })); + var d = qr(s[ii]); + if ( + (r.data.isSnapshot + ? t.handleSnapshotInstanceStarted(d) + : d.forEach(function (e) { + return t.handleInstanceStarted(e); + }), + qr(s[ci]).forEach(function (e) { + return t.handleInstanceStartFailed(e); + }), + qr(s[si]).forEach(function (e) { + return t.handleInstanceStopped(e); + }), + qr(s[ai]).forEach(function (e) { + return t.handleInstanceUpdated(e); + }), + qr(s[oi]).forEach(function (e) { + return t.handleInstanceAgmServerReady(e); + }), + qr(s[Yr]).forEach(function (e) { + return n.handleBranchModified(e); + }), + qr(s[Zr]).forEach(function (e) { + return n.handleBranchesModified(e); + }), + !o) + ) { + o = !0; + var l = u.some(function (t) { + return ( + t.Name === e.instance.application + ); + }), + p = d.some(function (t) { + return t.Id === e.instance.instance; + }); + if (l) + if (p) a(c); + else + var h = t.onInstanceStarted( + function (t) { + t.id === e.instance.instance && + (h(), a(c)); + } + ); + else a(c); + } + }), + i.onFailed(function (e) { + return s(e); + })); + }) + .catch(function (e) { + var t; + return s( + "Error subscribing for " + .concat(Fr, " stream. Err: ") + .concat( + null !== (t = e.message) && void 0 !== t + ? t + : JSON.stringify(e) + ) + ); + }), + c + ); + }; + return { + start: a, + stop: function () { + i && i.close(); + } + }; + } + var di = "T42.ACS.InMemoryStoreCommand", + li = (function () { + function e(t) { + (v(this, e), (this.interop = t)); + } + return ( + m(e, [ + { + key: "import", + value: function (e, t) { + if (!e || !Array.isArray(e)) + return Promise.reject( + "invalid apps argument - should be an array of application definitions" + ); + if (t && "replace" !== t && "merge" !== t) + return Promise.reject( + "invalid mode argument - should be 'replace' or 'merge'" + ); + var n = { + command: "import", + args: { + apps: e, + mode: (t = + null !== t && void 0 !== t ? t : "replace") + } + }; + return this.interop.invoke(di, n).then(function (e) { + return e.returned; + }); + } + }, + { + key: "export", + value: function () { + return this.interop + .invoke(di, { command: "export" }) + .then(function (e) { + return e.returned.apps; + }); + } + }, + { + key: "remove", + value: function (e) { + if (!e || "string" !== typeof e) + return Promise.reject( + "invalid app name, should be a string value" + ); + var t = { command: "remove", args: { apps: [e] } }; + return this.interop.invoke(di, t).then(function (e) { + return e.returned; + }); + } + }, + { + key: "clear", + value: function () { + var e = { command: "clear" }; + return this.interop.invoke(di, e).then(function (e) { + return e.returned; + }); + } + }, + { + key: "createAppDef", + value: function (e, t) { + return ( + t || (t = "https://google.com"), + { + name: e, + type: "window", + title: e, + details: { url: t } + } + ); + } + } + ]), + e + ); + })(), + pi = function (e) { + if (!e) throw Error("config not set"); + if (!e.agm) throw Error("config.agm is missing"); + var t = "startOnly", + n = "skipIcons", + r = "full", + i = e.mode || t; + if (i !== t && i !== n && i !== r) + throw new Error( + "Invalid mode for appManager lib - ".concat( + i, + " is not supported" + ) + ); + var o, + a = e.activities, + s = e.agm, + c = e.logger, + u = e.windows, + d = {}, + l = new Jr( + i, + s, + a, + u, + c.subLogger("applications"), + e.gdMajorVersion, + function () { + return d; + } + ), + p = new Qr(s); + if (i === t) o = Xr(s, l); + else { + var h = ui(s, l, p, i === n); + o = h.start(); + } + return { + ready: function () { + return o.then(function (e) { + d = e; + }); + }, + applications: l.applications, + application: l.application, + getConfigurations: l.getConfigurations, + onAppAdded: l.onAppAdded, + onAppRemoved: l.onAppRemoved, + onAppChanged: l.onAppChanged, + onAppAvailable: l.onAppAvailable, + onAppUnavailable: l.onAppUnavailable, + instances: l.instances, + get myInstance() { + return l.getMyInstance(); + }, + get myApplication() { + return l.getMyApplication(); + }, + onInstanceStarted: l.onInstanceStarted, + onInstanceStopped: l.onInstanceStopped, + onInstanceUpdated: l.onInstanceUpdated, + onInstanceStartFailed: l.onInstanceStartFailed, + getRegion: p.getRegion, + getBranches: p.getBranches, + getCurrentBranch: p.getCurrentBranch, + getFunctionalEntitlement: p.getFunctionalEntitlement, + getFunctionalEntitlementBranch: p.getFunctionalEntitlementBranch, + setCurrentBranch: p.setCurrentBranch, + setRegion: p.setRegion, + currentUser: p.currentUser, + canI: p.canI, + canIBranch: p.canIBranch, + onBranchesChanged: p.onBranchesChanged, + exit: p.exit, + restart: p.restart, + onShuttingDown: p.onShuttingDown, + inMemory: new li(s) + }; + }; + function hi(e, t) { + return (e((t = { exports: {} }), t.exports), t.exports); + } + var fi = 1; + function vi() { + return (fi = (9301 * fi + 49297) % 233280) / 233280; + } + function mi(e) { + fi = e; + } + var gi, + yi, + wi, + bi = { nextValue: vi, seed: mi }, + ki = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-"; + function xi() { + wi = !1; + } + function _i(e) { + if (e) { + if (e !== gi) { + if (e.length !== ki.length) + throw new Error( + "Custom alphabet for shortid must be " + + ki.length + + " unique characters. You submitted " + + e.length + + " characters: " + + e + ); + var t = e.split("").filter(function (e, t, n) { + return t !== n.lastIndexOf(e); + }); + if (t.length) + throw new Error( + "Custom alphabet for shortid must be " + + ki.length + + " unique characters. These characters were not unique: " + + t.join(", ") + ); + ((gi = e), xi()); + } + } else gi !== ki && ((gi = ki), xi()); + } + function Ci(e) { + return (_i(e), gi); + } + function Ii(e) { + (bi.seed(e), yi !== e && (xi(), (yi = e))); + } + function Si() { + gi || _i(ki); + for (var e, t = gi.split(""), n = [], r = bi.nextValue(); t.length > 0; ) + ((r = bi.nextValue()), + (e = Math.floor(r * t.length)), + n.push(t.splice(e, 1)[0])); + return n.join(""); + } + function Ei() { + return wi || (wi = Si()); + } + function Wi(e) { + return Ei()[e]; + } + var Ti = { characters: Ci, seed: Ii, lookup: Wi, shuffled: Ei }, + Ai = "object" === typeof window && (window.crypto || window.msCrypto); + function Pi() { + if (!Ai || !Ai.getRandomValues) return 48 & Math.floor(256 * Math.random()); + var e = new Uint8Array(1); + return (Ai.getRandomValues(e), 48 & e[0]); + } + var Mi = Pi; + function Ri(e, t) { + for (var n, r = 0, i = ""; !n; ) + ((i += e(((t >> (4 * r)) & 15) | Mi())), + (n = t < Math.pow(16, r + 1)), + r++); + return i; + } + var Oi = Ri; + function Di(e) { + var t = Ti.shuffled(); + return { + version: 15 & t.indexOf(e.substr(0, 1)), + worker: 15 & t.indexOf(e.substr(1, 1)) + }; + } + var Li, + Bi, + Ni = Di, + Fi = 1459707606518, + ji = 6; + function Hi(e) { + var t = "", + n = Math.floor(0.001 * (Date.now() - Fi)); + return ( + n === Bi ? Li++ : ((Li = 0), (Bi = n)), + (t += Oi(Ti.lookup, ji)), + (t += Oi(Ti.lookup, e)), + Li > 0 && (t += Oi(Ti.lookup, Li)), + (t += Oi(Ti.lookup, n)) + ); + } + var zi = Hi; + function qi(e) { + if (!e || "string" !== typeof e || e.length < 6) return !1; + for (var t = Ti.characters(), n = e.length, r = 0; r < n; r++) + if (-1 === t.indexOf(e[r])) return !1; + return !0; + } + var Gi = qi, + Ui = hi(function (e) { + var t = 0; + function n(t) { + return (Ti.seed(t), e.exports); + } + function r(n) { + return ((t = n), e.exports); + } + function i(e) { + return (void 0 !== e && Ti.characters(e), Ti.shuffled()); + } + function o() { + return zi(t); + } + ((e.exports = o), + (e.exports.generate = o), + (e.exports.seed = n), + (e.exports.worker = r), + (e.exports.characters = i), + (e.exports.decode = Ni), + (e.exports.isValid = Gi)); + }); + (Ui.generate, Ui.seed, Ui.worker, Ui.characters, Ui.decode, Ui.isValid); + var Vi = Ui, + $i = "T42.JumpList.Action", + Ji = (function () { + function e() { + (v(this, e), + (this._groupActionCallbacks = new Map()), + (this._registered = !1)); + } + return ( + m(e, [ + { + key: "init", + value: function (e, t, n) { + ((this._executor = e), + (this._agm = t), + (this._logger = n), + this.registerCallbackMethod()); + } + }, + { + key: "setEnabled", + value: function (e, t) { + var n = { enabled: t }; + return this._executor.updateJumpList(e, n); + } + }, + { + key: "createCategory", + value: function (e, t, n) { + this.validateActions(t, n); + var r = { + category: { + title: t, + operation: "create", + actions: this.toUpdateActions(e, "create", t, n) + } + }; + return this._executor.updateJumpList(e, r); + } + }, + { + key: "removeCategory", + value: function (e, t) { + var n = { + category: { + title: t, + operation: "remove", + actions: [] + } + }; + return ( + this.manageActionCallback( + e, + n.category.operation, + t + ), + this._executor.updateJumpList(e, n) + ); + } + }, + { + key: "createActions", + value: function (e, t, n) { + this.validateActions(t, n); + var r = { + category: { + title: t, + operation: "update", + actions: this.toUpdateActions(e, "create", t, n) + } + }; + return this._executor.updateJumpList(e, r); + } + }, + { + key: "removeActions", + value: function (e, t, n) { + var r = { + category: { + title: t, + operation: "update", + actions: this.toUpdateActions(e, "remove", t, n) + } + }; + return this._executor.updateJumpList(e, r); + } + }, + { + key: "getActions", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o, + s = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = []), + (e.next = 3), + this.getJumpListSettings( + t + ) + ); + case 3: + return ( + (i = e.sent), + (o = i.categories.find( + function (e) { + return ( + e.title === + n + ); + } + )) && + o.actions.forEach( + function (e) { + var t = + s.getActionCallback( + e.callbackId + ); + (t && + (e.callback = + t.callback), + r.push({ + icon: e.icon, + callback: + e.callback, + singleInstanceTitle: + e.singleInstanceTitle, + multiInstanceTitle: + e.multiInstanceTitle + })); + } + ), + e.abrupt( + "return", + Promise.resolve(r) + ) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getJumpListSettings", + value: function (e) { + return this._executor.getJumpList(e); + } + }, + { + key: "toUpdateActions", + value: function (e, t, n, r) { + var i = this; + return r.map(function (r) { + var o = { + icon: r.icon, + callback: r.callback, + callbackId: Vi.generate(), + singleInstanceTitle: r.singleInstanceTitle, + multiInstanceTitle: r.multiInstanceTitle, + operation: t + }; + return (i.manageActionCallback(e, t, n, o), o); + }); + } + }, + { + key: "manageActionCallback", + value: function (e, t, n, r) { + var i, + o = "".concat(n, "-").concat(e); + if ("create" === t) + (this._groupActionCallbacks.has(o) || + this._groupActionCallbacks.set(o, []), + this._groupActionCallbacks.get(o).push({ + callbackId: r.callbackId, + callback: r.callback + })); + else if ("remove" === t) + if (r) { + var a = + null !== + (i = + this._groupActionCallbacks.get( + o + )) && void 0 !== i + ? i + : []; + 0 === + (a = a.filter(function (e) { + return e.callbackId !== r.callbackId; + })).length + ? this._groupActionCallbacks.delete(o) + : this._groupActionCallbacks.set(o, a); + } else this._groupActionCallbacks.delete(o); + } + }, + { + key: "registerCallbackMethod", + value: function () { + var e = this; + if (!this._registered) { + this._registered = !0; + try { + this._agm.register($i, function (t, n) { + var r = e.getActionCallback(t.callbackId); + if (r) + try { + r.callback(); + } catch (i) { + e._logger.error( + "Unable to execute user callback for jump list action!", + i + ); + } + }); + } catch (t) { + return ( + this._logger.error( + "Unable to register method ".concat( + $i, + " for invoking jump list action callbacks!" + ), + t + ), + Promise.reject(t) + ); + } + } + } + }, + { + key: "getActionCallback", + value: function (e) { + var t; + return ( + o(this._groupActionCallbacks.values()).forEach( + function (n) { + var r = n.find(function (t) { + return t.callbackId === e; + }); + r && (t = r); + } + ), + t + ); + } + }, + { + key: "validateActions", + value: function (e, t) { + if (!(t && t.length > 0)) + throw new Error( + "Category '".concat( + e, + "' doesn't contain any actions!" + ) + ); + t.forEach(function (t) { + if (!t.singleInstanceTitle) + throw new Error( + "Category '".concat( + e, + "' contains an action with undefined singleInstanceTitle!" + ) + ); + if (!t.multiInstanceTitle) + throw new Error( + "Category '".concat( + e, + "' contains an action with undefined multiInstanceTitle!" + ) + ); + if (!t.callback) + throw new Error( + "Category '".concat( + e, + "' contains an action with undefined callback function!" + ) + ); + }); + } + } + ]), + e + ); + })(), + Ki = new Ji(), + Qi = new ((function () { + function e() { + (v(this, e), + (this.waitForTimeoutInMilliseconds = 6e4), + (this._windows = {}), + (this._pendingWindows = {}), + (this._pendingWindowsStates = {}), + (this._registry = zr())); + } + return ( + m(e, [ + { + key: "init", + value: function (e) { + this._logger = e; + } + }, + { + key: "get", + value: function (e) { + return this._windows[e] || this._pendingWindows[e]; + } + }, + { + key: "getIfReady", + value: function (e) { + return this._windows[e]; + } + }, + { + key: "list", + get: function () { + return this._windows; + } + }, + { + key: "add", + value: function (e) { + if (this._pendingWindows[e.API.id]) + this._logger.error( + "trying to add window with id ".concat( + e.API.id, + " from windowStore, which already exists" + ) + ); + else { + var t = "remote" === e.API.windowType; + ((this._pendingWindows[e.API.id] = e), + (this._pendingWindowsStates[e.API.id] = { + ready: !1, + urlChanged: t + }), + this._registry.execute("on-added", e)); + } + } + }, + { + key: "remove", + value: function (e) { + (delete this._windows[e.API.id], + delete this._pendingWindows[e.API.id], + delete this._pendingWindowsStates[e.API.id], + this._registry.execute("on-removed", e)); + } + }, + { + key: "setReadyState", + value: function (e) { + var t = this._pendingWindowsStates[e]; + "undefined" !== typeof t && + ((t.ready = !0), + t.urlChanged && this.markReadyToShow(e)); + } + }, + { + key: "setUrlChangedState", + value: function (e) { + var t = this._pendingWindowsStates[e]; + "undefined" !== typeof t && + ((t.urlChanged = !0), + t.ready && this.markReadyToShow(e)); + } + }, + { + key: "setCompositionChangedState", + value: function (e, t) { + "undefined" !== typeof this._pendingWindowsStates[e] && + !1 === t && + this.markReadyToShow(e); + } + }, + { + key: "waitFor", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i, + o = setTimeout(function () { + (i(), r("waitFor timed out.")); + }, t.waitForTimeoutInMilliseconds), + a = t._windows[e]; + a + ? (clearTimeout(o), n(a)) + : (i = t.onReadyWindow(function (t) { + t.API.id === e && + (clearTimeout(o), i(), n(t)); + })); + }); + } + }, + { + key: "onReadyWindow", + value: function (e) { + return this._registry.add("on-ready", e); + } + }, + { + key: "onAdded", + value: function (e) { + return this._registry.add("on-added", e); + } + }, + { + key: "onRemoved", + value: function (e) { + return this._registry.add("on-removed", e); + } + }, + { + key: "markReadyToShow", + value: function (e) { + (this._pendingWindows[e] && + ((this._windows[e] = this._pendingWindows[e]), + delete this._pendingWindows[e], + delete this._pendingWindowsStates[e]), + this._registry.execute( + "on-ready", + this._windows[e] + )); + } + } + ]), + e + ); + })())(), + Xi = (function () { + function e() { + v(this, e); + } + return ( + m(e, null, [ + { + key: "getGDMajorVersion", + value: function () { + if ("undefined" === typeof window) return -1; + if (!window.glueDesktop) return -1; + if (!window.glueDesktop.version) return -1; + var e = Number(window.glueDesktop.version.substr(0, 1)); + return isNaN(e) ? -1 : e; + } + }, + { + key: "callbackifyPromise", + value: function (e, t, n) { + var r = function (e) { + var t = e; + if ( + (e instanceof Error && (t = e.message), + "function" !== typeof n) + ) + return Promise.reject(t); + n(t); + }; + try { + return e() + .then(function (e) { + return ("function" === typeof t && t(e), e); + }) + .catch(function (e) { + return r(e); + }); + } catch (i) { + return r(i); + } + } + }, + { + key: "getMonitor", + value: function (e, t) { + var n = this; + return t + .map(function (t) { + var r = t.left, + i = t.top, + o = t.workingAreaWidth, + a = t.workingAreaHeight; + return { + monitor: t, + totalOverlap: n.calculateTotalOverlap( + { + left: r, + top: i, + width: o, + height: a + }, + e + ) + }; + }) + .sort(function (e, t) { + return t.totalOverlap - e.totalOverlap; + })[0].monitor; + } + }, + { + key: "getDisplayCenterOfScreen", + value: function (e, t, n) { + var r = e.width / t.scaleFactor, + i = e.height / t.scaleFactor, + o = t.workArea.left / n.scaleFactor, + a = t.workArea.top / n.scaleFactor, + s = t.workArea.width / t.scaleFactor, + c = t.workArea.height / t.scaleFactor, + u = Math.max((s - r) / 2, 0), + d = Math.max((c - i) / 2, 0), + l = Math.floor(o + u), + p = Math.floor(a + d); + return { + left: l * n.scaleFactor, + top: p * n.scaleFactor, + width: e.width, + height: e.height + }; + } + }, + { + key: "isNode", + value: function () { + if ("undefined" !== typeof e._isNode) return e._isNode; + if ("undefined" !== typeof window) + return ((e._isNode = !1), !1); + try { + e._isNode = + "[object process]" === + Object.prototype.toString.call(n.g.process); + } catch (t) { + e._isNode = !1; + } + return e._isNode; + } + }, + { + key: "calculateTotalOverlap", + value: function (e, t) { + var n = e.left, + r = e.top, + i = n + e.width, + o = r + e.height, + a = t.left, + s = t.top, + c = a + t.width, + u = s + t.height; + return ( + Math.max(0, Math.min(i, c) - Math.max(n, a)) * + Math.max(0, Math.min(o, u) - Math.max(r, s)) + ); + } + } + ]), + e + ); + })(), + Yi = (function () { + function e(t, n) { + (v(this, e), (this.windowId = t), (this._categoryTitle = n.title)); + } + return ( + m(e, [ + { + key: "list", + value: function () { + return Ki.getActions( + this.windowId, + this._categoryTitle + ); + } + }, + { + key: "create", + value: function (e) { + return Ki.createActions( + this.windowId, + this._categoryTitle, + e + ); + } + }, + { + key: "remove", + value: function (e) { + return Ki.removeActions( + this.windowId, + this._categoryTitle, + e + ); + } + } + ]), + e + ); + })(), + Zi = (function () { + function e(t) { + (v(this, e), (this.windowId = t)); + } + return ( + m(e, [ + { + key: "list", + value: function () { + return this.getCategories(); + } + }, + { + key: "create", + value: function (e, t) { + return Ki.createCategory(this.windowId, e, t); + } + }, + { + key: "remove", + value: function (e) { + return Ki.removeCategory(this.windowId, e); + } + }, + { + key: "find", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getCategories() + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.find( + function (e) { + return ( + e.title === + t + ); + } + ) + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getCategories", + value: (function () { + var e = s( + a().mark(function e() { + var t, + n = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = []), + (e.next = 3), + Ki.getJumpListSettings( + this.windowId + ) + ); + case 3: + return ( + e.sent.categories.forEach( + function (e) { + t.push({ + title: e.title, + actions: + new Yi( + n.windowId, + e + ) + }); + } + ), + e.abrupt("return", t) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + } + ]), + e + ); + })(), + eo = (function () { + function e(t) { + (v(this, e), (this.windowId = t), (this._categories = new Zi(t))); + } + return ( + m(e, [ + { + key: "categories", + get: function () { + return this._categories; + } + }, + { + key: "isEnabled", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Ki.getJumpListSettings( + this.windowId + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.enabled + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setEnabled", + value: function (e) { + return Ki.setEnabled(this.windowId, e); + } + } + ]), + e + ); + })(), + to = function (e, t, n, r, i, o, c, u) { + var d, + l, + p, + h, + f, + v = zr(), + m = function () { + var e = c(); + if (!e) + throw new Error( + "To use this method you need to enable channels API - set the channels property to true when initializing the Glue42 library" + ); + return e; + }, + g = e, + y = t.name, + w = t.mode, + b = t.bounds, + k = t.url, + x = t.title, + _ = null !== (d = t.context) && void 0 !== d ? d : {}, + C = t.frameColor, + I = t.focus, + S = null !== (l = t.neighbours) && void 0 !== l ? l : {}, + E = t.groupId, + W = t.isGroupHeaderVisible, + T = t.isTabHeaderVisible, + A = null !== (p = t.isTabSelected) && void 0 !== p && p, + P = t.settings, + M = t.applicationName, + R = t.isVisible, + O = t.isSticky, + D = t.isCollapsed, + L = t.state, + B = t.tabGroupId, + N = t.tabIndex, + F = t.frameId, + j = t.isLocked, + H = null !== (h = t.frameButtons) && void 0 !== h ? h : [], + z = t.zoomFactor, + q = t.placementSettings, + G = new eo(e); + function U(t, r) { + return "undefined" === typeof t || "function" === typeof t + ? Xi.callbackifyPromise( + function () { + if (!e) + throw new Error("The window is already closed."); + return n.close(yn); + }, + t, + r + ) + : n.close(yn, t); + } + function V(e, t, r) { + if ("function" === typeof t) + return Xi.callbackifyPromise( + function () { + if (bn(e)) + throw new Error( + "The new URL must be a non-empty string." + ); + return n.navigate(yn, e); + }, + t, + r + ); + if (bn(e)) + throw new Error("The new URL must be a non-empty string."); + return n.navigate(yn, e, t); + } + function $(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ( + !e || + 0 === Object.keys(e).length || + Object.keys(e).every(function (e) { + return !e; + }) + ) + throw new Error( + "Invalid style arguments: " + JSON.stringify(e) + ); + if (e && void 0 !== e.focus) { + if ("boolean" !== typeof e.focus) + throw new Error( + "Focus must be a boolean value. Currently, only `focus: true` is supported." + ); + !1 === e.focus && + console.warn("`focus: false` is not supported!"); + } + if ( + e && + void 0 !== e.hidden && + "boolean" !== typeof e.hidden + ) + throw new Error( + "The `hidden` property must hold a boolean value." + ); + for ( + var t = 0, + r = [ + "minHeight", + "maxHeight", + "minWidth", + "maxWidth" + ]; + t < r.length; + t++ + ) { + var i = r[t], + o = e, + a = o[i]; + if (i in e) { + if (wn(a)) { + delete o[i]; + continue; + } + if (!fn(o[i])) + throw new Error( + '"'.concat(i, '" must be a number') + ); + } + } + return n.setStyle(yn, e); + }, + t, + r + ); + } + function J(e, t, r) { + return Xi.callbackifyPromise( + function () { + return n.resetButtons(yn, e); + }, + t, + r + ); + } + function K() { + return n.getButtons(yn); + } + function Q(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ("string" === typeof e) { + if ("always" !== e) + throw new Error( + "`onTop` must hold a `always` value." + ); + } else if ("boolean" !== typeof e) + throw new Error( + "`onTop` must hold a boolean or `always` value." + ); + return n.setOnTop(yn, e); + }, + t, + r + ); + } + function X(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ( + !e || + Object.keys(e).every(function (e) { + return void 0 === e; + }) + ) + throw new Error( + "The properties of `constraints` cannot be null or undefined." + ); + return n.setSizeConstraints(yn, e); + }, + t, + r + ); + } + function Y() { + return n.getSizeConstraints(yn); + } + function Z(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (wn(e)) + throw new Error( + "`newTitle` must not be null or undefined." + ); + return e === x ? Promise.resolve(yn) : n.setTitle(yn, e); + }, + t, + r + ); + } + function ee(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ("boolean" !== typeof e) + throw new Error( + "`isSticky` must hold a boolean value." + ); + return n.setSticky(yn, e); + }, + t, + r + ); + } + function te(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (wn(e)) + throw new Error( + "The properties of `bounds` cannot be null or undefined." + ); + return n.moveResize(yn, e); + }, + t, + r + ); + } + function ne(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ("undefined" === typeof e || 0 === Object.keys(e).length) + throw new Error("Button info is not available."); + if (bn(e.buttonId)) + throw new Error( + "`buttonId` must not be null or undefined." + ); + if (bn(e.imageBase64)) + throw new Error( + "`imageBase64` must not be null or undefined." + ); + return n.addFrameButton(yn, e); + }, + t, + r + ); + } + function re(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (bn(e)) + throw new Error( + "`buttonId` must not be null or undefined." + ); + return n.removeFrameButton(yn, e); + }, + t, + r + ); + } + function ie(e, t) { + return Xi.callbackifyPromise( + function () { + return I ? Promise.resolve(yn) : n.activate(yn); + }, + e, + t + ); + } + function oe(e, t) { + return Xi.callbackifyPromise( + function () { + return I ? Promise.resolve(yn) : n.focus(yn); + }, + e, + t + ); + } + function ae(e, t) { + return Xi.callbackifyPromise( + function () { + return n.maximizeRestore(yn); + }, + e, + t + ); + } + function se(e, t) { + return Xi.callbackifyPromise( + function () { + return "maximized" === L + ? Promise.resolve(yn) + : n.maximize(yn); + }, + e, + t + ); + } + function ce(e, t) { + return Xi.callbackifyPromise( + function () { + return "normal" === L ? Promise.resolve(yn) : n.restore(yn); + }, + e, + t + ); + } + function ue(e, t) { + return Xi.callbackifyPromise( + function () { + return "minimized" === L + ? Promise.resolve(yn) + : n.minimize(yn); + }, + e, + t + ); + } + function de(e, t) { + return Xi.callbackifyPromise( + function () { + return D ? Promise.resolve(yn) : n.collapse(yn); + }, + e, + t + ); + } + function le(e, t) { + return Xi.callbackifyPromise( + function () { + return D ? n.expand(yn) : Promise.resolve(yn); + }, + e, + t + ); + } + function pe(e, t) { + return Xi.callbackifyPromise( + function () { + return n.toggleCollapse(yn); + }, + e, + t + ); + } + function he(e, t, r, i) { + return Xi.callbackifyPromise( + function () { + if (wn(e)) + throw new Error( + "A target window is not specified - ".concat( + "string" === typeof e ? e : JSON.stringify(e) + ) + ); + if ("string" === typeof e) { + var r = Qi.get(e); + if (!r) + throw new Error( + 'Invalid "target" parameter or no such window. Invoked with: '.concat( + e + ) + ); + e = r.API; + } + return ( + "string" === typeof t && + (t = { direction: t, autoAlign: !0 }), + n.snap(yn, e, t) + ); + }, + r, + i + ); + } + function fe(e, t, r, i) { + return Xi.callbackifyPromise( + function () { + var r, + i, + o = + 'Invalid "tab" parameter - must be an object with an "id" property or a string. Invoked for source window with ID:'; + if (wn(e)) { + var a = "" + .concat(o, " ") + .concat( + "string" === typeof e ? e : JSON.stringify(e) + ); + throw new Error(a); + } + if ("string" === typeof e) { + if ( + wn( + (i = + null === (r = Qi.get(e)) || void 0 === r + ? void 0 + : r.API) + ) + ) { + var s = "" + .concat(o, " ") + .concat( + "string" === typeof i + ? i + : JSON.stringify(i) + ); + throw new Error(s); + } + } else { + if (wn(e.id)) throw new Error(o); + i = e; + } + var c = {}; + return ( + wn(t) || + ("number" === typeof t + ? (c.index = t) + : ((c.selected = t.selected), + (c.index = t.index))), + n.attachTab(yn, i, c) + ); + }, + r, + i + ); + } + function ve() { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + t = arguments.length > 1 ? arguments[1] : void 0, + r = arguments.length > 2 ? arguments[2] : void 0; + return Xi.callbackifyPromise( + function () { + var t = {}; + function r(e) { + return void 0 !== e.relativeTo; + } + return ( + r(e) + ? ("string" === typeof e.relativeTo + ? (t.relativeTo = e.relativeTo) + : wn(e.relativeTo.id) || + (t.relativeTo = e.relativeTo.id), + wn(e.relativeDirection) || + (t.relativeDirection = e.relativeDirection), + wn(e.width) || (t.width = e.width), + wn(e.height) || (t.height = e.height)) + : wn(e.bounds) || (t.bounds = e.bounds), + wn(e.hideTabHeader) || + (t.hideTabHeader = e.hideTabHeader), + n.detachTab(yn, t) + ); + }, + t, + r + ); + } + function me(e, t, r) { + return Xi.callbackifyPromise( + function () { + return n.setVisible(yn, e); + }, + t, + r + ); + } + function ge(e) { + return ye.apply(this, arguments); + } + function ye() { + return (ye = s( + a().mark(function e(t) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + t && we(t), + e.abrupt("return", n.center(yn, t)) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function we(e) { + if ("object" !== typeof e) + throw Error("display argument must be a valid display object"); + if (!e.workArea || !e.scaleFactor) + throw Error("display argument is not a valid display object"); + } + function be(e) { + return n.showLoader(yn, e); + } + function ke() { + return n.hideLoader(yn); + } + function xe(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (wn(e)) + throw new Error( + '"context" must not be null or undefined.' + ); + return n.updateContext(yn, e, !1); + }, + t, + r + ); + } + function _e(e, t) { + return Xi.callbackifyPromise( + function () { + return n.lock(yn); + }, + e, + t + ); + } + function Ce(e, t) { + return Xi.callbackifyPromise( + function () { + return n.unlock(yn); + }, + e, + t + ); + } + function Ie(e, t) { + return Xi.callbackifyPromise( + function () { + return n.getIcon(yn); + }, + e, + t + ); + } + function Se(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (bn(e)) + throw new Error( + '"base64Image" must be a non-empty string.' + ); + return n.setIcon(yn, e); + }, + t, + r + ); + } + function Ee(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (bn(e)) + throw new Error( + '"frameColor" must be a non-empty string' + ); + return n.setFrameColor(yn, e); + }, + t, + r + ); + } + function We(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ("boolean" !== typeof e) + throw new Error( + '"toBeTabHeaderVisible" must hold a boolean value.' + ); + return n.setTabHeaderVisible(yn, e); + }, + t, + r + ); + } + function Te(e) { + return Ae.apply(this, arguments); + } + function Ae() { + return (Ae = s( + a().mark(function e(t) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!bn(t)) { + e.next = 2; + break; + } + throw new Error( + '"'.concat( + t, + '" must not be null or undefined' + ) + ); + case 2: + return e.abrupt( + "return", + n.setTabTooltip(yn, t) + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Pe() { + return Me.apply(this, arguments); + } + function Me() { + return (Me = s( + a().mark(function e() { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + n.getTabTooltip(yn) + ); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Re(e) { + return n.showPopup(yn, e); + } + function Oe(e) { + return n.createFlydown(yn.id, e); + } + function De(e) { + return n.setModalState(yn.id, e || !1); + } + function Le(e, t) { + return Xi.callbackifyPromise( + function () { + return n.zoomIn(yn); + }, + e, + t + ); + } + function Be(e, t) { + return Xi.callbackifyPromise( + function () { + return n.zoomOut(yn); + }, + e, + t + ); + } + function Ne(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (isNaN(e)) throw new Error("zoomFactor is not a number"); + return n.setZoomFactor(yn, e); + }, + t, + r + ); + } + function Fe() { + return n.showDevTools(yn); + } + function je(e) { + return n.capture(yn, e); + } + function He(e, t) { + var r = { shouldFlash: !0, mode: "auto" }; + return ( + "boolean" === typeof e && (r.shouldFlash = e), + "undefined" !== typeof t && (r.mode = t), + n.flash(yn, r) + ); + } + function ze(e) { + var t = { shouldFlash: !0 }; + return ( + "boolean" === typeof e && (t.shouldFlash = e), + n.flashTab(yn, t) + ); + } + function qe(e) { + return n.print(yn, e); + } + function Ge(e) { + return n.printToPDF(yn, e); + } + function Ue(t) { + return new Promise(function (r, i) { + var o = bt(function (t, n, i) { + e === t.id && (o(), r(yn)); + }); + n.ungroup(yn, t).catch(function (e) { + (o(), i(e)); + }); + }); + } + function Ve(e) { + return n.place(yn, e); + } + function $e(e) { + return n.refresh(yn, e); + } + function Je(e, t) { + return n.download(yn, e, t); + } + function Ke(e) { + return n.configureWindow(yn, e); + } + function Qe() { + return n.getWindowConfiguration(yn); + } + function Xe(e) { + if (!xn(e)) throw new Error("callback should be a function"); + return (e(yn.title, yn), Wt("onTitleChanged", e)); + } + function Ye(t) { + if (!xn(t)) throw new Error("callback should be a function"); + return (void 0 === e && t(yn), v.add("onClose", t)); + } + function Ze(e) { + return Wt("onUrlChanged", e); + } + function et(e) { + return Wt("onFrameButtonAdded", e); + } + function tt(e) { + return Wt("onFrameButtonRemoved", e); + } + function nt(e) { + return Wt("onFrameButtonClicked", e); + } + function rt(e) { + if (!xn(e)) throw new Error("callback should be a function"); + return (D && e(yn), v.add("collapsed", e)); + } + function it(e) { + if (!xn(e)) throw new Error("callback should be a function"); + return (D || e(yn), v.add("expanded", e)); + } + function ot(e) { + return "maximized" === L + ? Wt("maximized", e, [yn]) + : Wt("maximized", e); + } + function at(e) { + return "minimized" === L + ? Wt("minimized", e, [yn]) + : Wt("minimized", e); + } + function st(e) { + return "normal" === L ? Wt("normal", e, [yn]) : Wt("normal", e); + } + function ct(e) { + return Wt("attached", e); + } + function ut(e) { + return Wt("detached", e); + } + function dt(e) { + return Wt("visibility-changed", e); + } + function lt(e) { + return Wt("context-updated", e); + } + function pt(e) { + return Wt("lock-changed", e); + } + function ht(e) { + return Wt("bounds-changed", e); + } + function ft(e) { + return Wt("focus-changed", e); + } + function vt(e) { + return Wt("sticky-changed", e); + } + function mt(e) { + return Wt("frame-color-changed", e); + } + function gt(e) { + return Wt("tab-header-visibility-changed", e); + } + function yt(e) { + return Wt("window-attached", e); + } + function wt(e) { + return Wt("window-detached", e); + } + function bt(e) { + return Wt("group-changed", e); + } + function kt(e) { + return Wt("tab-selection-changed", e); + } + function xt(e) { + if (!xn(e)) throw new Error("callback must be a function"); + var t = function (t, n, r) { + var i = e(r); + (null === i || void 0 === i ? void 0 : i.then) + ? i.then(t).catch(n) + : t(); + }; + return n.onClosing(t, yn); + } + function _t(e) { + if (!xn(e)) throw new Error("callback must be a function"); + var t = function (t, n, r) { + var i = e(r); + (null === i || void 0 === i ? void 0 : i.then) + ? i.then(t).catch(n) + : t(); + }; + return n.onRefreshing(t, yn); + } + function Ct(e) { + if (!xn(e)) throw new Error("callback must be a function"); + var t = function (t, n, r, i) { + var o = e(i); + (null === o || void 0 === o ? void 0 : o.then) + ? o.then(t).catch(n) + : t(); + }; + return n.onNavigating(t, yn); + } + function It(e) { + return Wt("zoom-factor-changed", e); + } + function St(e) { + return Wt("placementSettingsChanged", e); + } + function Et(e) { + return Wt("neighbours-changed", e); + } + function Wt(e, t, n) { + if (!xn(t)) throw new Error("callback must be a function"); + return v.add(e, t, n); + } + function Tt() { + return n.goBack(yn); + } + function At() { + return n.goForward(yn); + } + function Pt(e) { + return n.startDrag(yn, e); + } + function Mt(e) { + if ( + (null === e || void 0 === e ? void 0 : e.timerDuration) && + isNaN(null === e || void 0 === e ? void 0 : e.timerDuration) + ) + throw new Error("timerDuration must be a number"); + if ( + (null === e || void 0 === e ? void 0 : e.showTimer) && + "boolean" !== + typeof (null === e || void 0 === e ? void 0 : e.showTimer) + ) + throw new Error("showTimer must be a boolean"); + return n.showDialog(yn, e); + } + function Rt(e) { + ((k = e.url), + (x = e.title), + (_ = e.context || {}), + (b = e.bounds), + (C = e.frameColor), + (I = e.focus), + (S = e.neighbours || {}), + (E = e.groupId), + (W = e.isGroupHeaderVisible), + (T = e.isTabHeaderVisible), + (A = e.isTabSelected), + (P = e.settings), + (R = e.isVisible), + (O = e.isSticky), + (D = e.isCollapsed), + (L = e.state), + (B = e.tabGroupId), + (F = e.frameId), + (j = e.isLocked), + (z = e.zoomFactor), + (q = e.placementSettings)); + } + function Ot(e) { + ((x = e), + n.finished.finally(function () { + v.execute("onTitleChanged", e, yn); + })); + } + function Dt(e) { + ((k = e), v.execute("onUrlChanged", e, yn)); + } + function Lt(e) { + e !== R && ((R = e), v.execute("visibility-changed", yn)); + } + function Bt(e) { + ((P = e), v.execute("settings-changed", yn)); + } + function Nt(e) { + ((_ = e), v.execute("context-updated", _, yn)); + } + function Ft() { + void 0 !== e && (v.execute("onClose", yn), (e = void 0)); + } + function jt(e) { + var t = ["buttonId", "imageBase64", "order", "tooltip"].reduce( + function (t, n) { + return ((t[n] = e[n]), t); + }, + {} + ); + (-1 === + H.map(function (e) { + return e.buttonId; + }).indexOf(e.buttonId) && H.push(t), + v.execute("onFrameButtonAdded", t, yn)); + } + function Ht(e) { + var t; + ((H = H.reduce(function (n, r) { + return (r.buttonId === e ? (t = r) : n.push(r), n); + }, [])), + void 0 !== t && v.execute("onFrameButtonRemoved", t, yn)); + } + function zt(e) { + var t = H.filter(function (t) { + return t.buttonId === e.buttonId; + }); + t.length > 0 && v.execute("onFrameButtonClicked", t[0], yn); + } + function qt(e) { + return Gt.apply(this, arguments); + } + function Gt() { + return (Gt = s( + a().mark(function e(t) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + "collapsed" === t + ? (D = !0) + : "expanded" === t + ? (D = !1) + : (L = t), + (e.next = 3), + n.finished + ); + case 3: + v.execute(t, yn); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Ut(e) { + ((j = e), v.execute("lock-changed", yn)); + } + function Vt(e) { + (b.top === e.top && + b.left === e.left && + b.width === e.width && + b.height === e.height) || + ((b = e), v.execute("bounds-changed", yn)); + } + function $t(e) { + ((I = e), v.execute("focus-changed", yn)); + } + function Jt(e) { + ((O = e), v.execute("sticky-changed", e, yn)); + } + function Kt(e) { + ((C = e), v.execute("frame-color-changed", yn)); + } + function Qt(e, t, n) { + ((B = e), (F = t), (T = n), v.execute("frame-attached", yn)); + } + function Xt(e) { + ((S = e.neighbors || {}), + (N = e.index), + v.execute("neighbours-changed", S, yn)); + } + function Yt(e) { + W = e; + } + function Zt(e) { + T !== e && + ((T = e), v.execute("tab-header-visibility-changed", yn)); + } + function en(e, t) { + return tn.apply(this, arguments); + } + function tn() { + return (tn = s( + a().mark(function t(r, i) { + var o, s; + return a().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + r === e + ? ((A = !0), (o = yn)) + : ((A = !1), + (o = Qi.get(r) + ? Qi.get(r).API + : void 0)), + (s = Qi.get(i) + ? Qi.get(i).API + : void 0), + (t.next = 4), + n.finished + ); + case 4: + v.execute( + "tab-selection-changed", + o, + s, + yn + ); + case 5: + case "end": + return t.stop(); + } + }, t); + }) + )).apply(this, arguments); + } + function nn(e, t, n, r, i) { + return rn.apply(this, arguments); + } + function rn() { + return (rn = s( + a().mark(function e(t, r, i, o, s) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (B = t), + (T = i), + (F = r), + "undefined" !== typeof o && (j = o), + (e.next = 6), + n.finished + ); + case 6: + (s.forEach(function (e) { + e.Events.handleWindowAttached(yn); + }), + v.execute("attached", yn)); + case 8: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function on(e) { + v.execute("window-attached", e); + } + function an(e, t) { + return sn.apply(this, arguments); + } + function sn() { + return (sn = s( + a().mark(function e(t, r) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (B = void 0), + (A = !1), + "undefined" !== typeof t && (j = t), + (e.next = 5), + n.finished + ); + case 5: + (r.forEach(function (e) { + e.Events.handleWindowDetached(yn); + }), + v.execute("detached", yn)); + case 7: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function cn(e) { + v.execute("window-detached", e); + } + function un(e) { + ((z = e), v.execute("zoom-factor-changed", yn)); + } + function dn(e) { + var t, + n = e; + if (n.display) { + var r = o(); + if (r) { + var i = n.display - 1; + t = new Promise(function (e, t) { + r.all() + .then(function (t) { + var n = t.find(function (e) { + return e.index === i; + }); + e(n); + }) + .catch(t); + }); + } else t = Promise.resolve(void 0); + } else t = Promise.resolve(void 0); + t.then(function (e) { + ((n.display = e), + (q = n), + v.execute("placementSettingsChanged", yn)); + }); + } + function ln(e, t) { + ((f = e), + (E = null === e || void 0 === e ? void 0 : e.id), + wn(e) || wn(t) || v.execute("group-changed", yn, e, t)); + } + function pn() { + var e = Qi.list; + return "tab" !== w.toLowerCase() + ? [] + : Object.keys(e) + .reduce(function (t, n) { + var r = e[n]; + return ( + r && + r.API.tabGroupId && + "undefined" !== typeof r.API.tabGroupId && + "undefined" !== typeof yn.tabGroupId && + r.API.tabGroupId === yn.tabGroupId && + t.push(r.API), + t + ); + }, []) + .sort(function (e, t) { + if (e.tabIndex !== t.tabIndex) { + if (-1 === e.tabIndex) + return Number.MAX_SAFE_INTEGER; + if (-1 === t.tabIndex) + return Number.MIN_SAFE_INTEGER; + } + return e.tabIndex - t.tabIndex; + }); + } + function hn(e) { + return e.reduce(function (e, t) { + var n = Qi.get(t); + return (n && e.push(n.API), e); + }, []); + } + function vn(e) { + var t = S[e]; + if ("undefined" !== typeof t) return hn(t); + } + function mn() { + var t; + if (M) return M; + if (_._APPLICATION_NAME) return _._APPLICATION_NAME; + if (_ && _._t42 && _._t42.application) return _._t42.application; + var n = gn(); + if (n && n.applicationName) return n.applicationName; + var r = i(); + if (r) { + var o = r.instances().find(function (t) { + return e === t.id; + }); + if (o) + return null === (t = o.application) || void 0 === t + ? void 0 + : t.name; + } + } + function gn() { + if ( + "undefined" !== typeof window && + window.glue42gd && + window.glue42gd.getWindowInfo + ) { + var t = window.glue42gd.getWindowInfo(e); + return t || void 0; + } + } + var yn = { + get id() { + return g; + }, + get name() { + return y; + }, + get application() { + var e = i(), + t = mn(); + if (t && e) return e.application(t); + }, + get hostInstance() { + return n.hostInstance; + }, + get interopInstance() { + var e = this, + t = u.servers().find(function (t) { + return t.windowId === e.id; + }); + if (t) return t; + var n = mn(); + return n ? { application: n } : void 0; + }, + get agmInstance() { + return yn.interopInstance; + }, + get url() { + return k; + }, + get title() { + return x; + }, + get windowStyleAttributes() { + return P; + }, + get settings() { + return P; + }, + get tabGroupId() { + return "tab" === w.toLowerCase() ? B : void 0; + }, + get tabIndex() { + return "tab" === w.toLowerCase() ? N : void 0; + }, + get frameId() { + return F; + }, + get frameButtons() { + return H.sort(function (e, t) { + return e.order - t.order; + }); + }, + get mode() { + return w; + }, + get state() { + return L; + }, + get isCollapsed() { + return D; + }, + get isVisible() { + return R; + }, + get isLocked() { + return j; + }, + get context() { + return _; + }, + get bounds() { + return b; + }, + get minHeight() { + return P.minHeight; + }, + get maxHeight() { + return P.maxHeight; + }, + get minWidth() { + return P.minWidth; + }, + get maxWidth() { + return P.maxWidth; + }, + get isFocused() { + return I; + }, + get frameColor() { + return C; + }, + get opened() { + return void 0 !== yn.id; + }, + get group() { + return f; + }, + get groupId() { + return E; + }, + get isSticky() { + return O; + }, + get topNeighbours() { + return vn("top"); + }, + get leftNeighbours() { + return vn("left"); + }, + get rightNeighbours() { + return vn("right"); + }, + get bottomNeighbours() { + return vn("bottom"); + }, + get isGroupHeaderVisible() { + return W; + }, + get activityId() { + if (_._t42) return _._t42.activityId; + var e = gn(); + return e ? e.activityId : void 0; + }, + get activityWindowId() { + if (_._t42) return _._t42.activityWindowId; + var e = gn(); + return e ? e.activityWindowId : void 0; + }, + get windowType() { + return t.windowType || "electron"; + }, + get zoomFactor() { + return z; + }, + get screen() { + if ("undefined" !== typeof window && window.glue42gd) + return Xi.getMonitor(yn.bounds, window.glue42gd.monitors); + }, + get placementSettings() { + return Object.assign({}, q); + }, + get jumpList() { + return G; + }, + maximize: se, + restore: ce, + minimize: ue, + maximizeRestore: ae, + collapse: de, + expand: le, + toggleCollapse: pe, + focus: oe, + activate: ie, + moveResize: te, + setTitle: Z, + setStyle: $, + setOnTop: Q, + resetButtons: J, + getButtons: K, + setSizeConstraints: X, + getSizeConstraints: Y, + navigate: V, + addFrameButton: ne, + removeFrameButton: re, + setVisible: me, + show: function () { + return me(!0); + }, + hide: function () { + return me(!1); + }, + center: ge, + close: U, + snap: he, + showLoader: be, + hideLoader: ke, + updateContext: xe, + lock: _e, + unlock: Ce, + getIcon: Ie, + setIcon: Se, + setFrameColor: Ee, + setTabTooltip: Te, + getTabTooltip: Pe, + attachTab: fe, + detachTab: ve, + setTabHeaderVisible: We, + showPopup: Re, + createFlydown: Oe, + setModalState: De, + setZoomFactor: Ne, + zoomIn: Le, + zoomOut: Be, + showDevTools: Fe, + capture: je, + flash: He, + flashTab: ze, + setSticky: ee, + print: qe, + printToPDF: Ge, + place: Ve, + ungroup: Ue, + refresh: $e, + goBack: Tt, + goForward: At, + download: Je, + configure: Ke, + getConfiguration: Qe, + getChannel: (function () { + var e = s( + a().mark(function e() { + var t, n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + m().getWindowsWithChannels({ + windowIds: [g] + }) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + null === (t = n[0]) || + void 0 === t + ? void 0 + : t.channel + ) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })(), + startDrag: Pt, + showDialog: Mt, + onClose: Ye, + onUrlChanged: Ze, + onTitleChanged: Xe, + onFrameButtonAdded: et, + onFrameButtonRemoved: tt, + onFrameButtonClicked: nt, + onCollapsed: rt, + onExpanded: it, + onMinimized: at, + onMaximized: ot, + onNormal: st, + onAttached: ct, + onDetached: ut, + onVisibilityChanged: dt, + onContextUpdated: lt, + onLockingChanged: pt, + onBoundsChanged: ht, + onFrameColorChanged: mt, + onFocusChanged: ft, + onStickyChanged: vt, + onGroupChanged: bt, + onWindowAttached: yt, + onWindowDetached: wt, + onTabSelectionChanged: kt, + onTabHeaderVisibilityChanged: gt, + onClosing: xt, + onRefreshing: _t, + onZoomFactorChanged: It, + onPlacementSettingsChanged: St, + onNeighboursChanged: Et, + onNavigating: Ct, + get tabs() { + return pn(); + }, + get isTabHeaderVisible() { + return T; + }, + get isTabSelected() { + return A; + }, + getURL: function () { + return Promise.resolve(k); + }, + getTitle: function () { + return Promise.resolve(x); + }, + getBounds: function () { + return Promise.resolve(b); + }, + getContext: function () { + return Promise.resolve(_); + }, + setContext: function (e) { + if (wn(e)) + throw new Error( + '"context" must not be null or undefined, set to empty object if you want to clear it out.' + ); + return n.updateContext(yn, e, !0); + }, + getDisplay: function () { + return o().getByWindowId(e); + }, + resizeTo: function (e, t) { + return te({ width: e, height: t }); + }, + moveTo: function (e, t) { + return te({ top: e, left: t }); + }, + getParentWindow: function () { + return s( + a().mark(function e() { + var t, n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ((n = P.parentInstanceId)) { + e.next = 3; + break; + } + return e.abrupt("return", void 0); + case 3: + return e.abrupt( + "return", + null === (t = Qi.list[n]) || + void 0 === t + ? void 0 + : t.API + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )(); + }, + getChildWindows: function () { + return s( + a().mark(function t() { + return a().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return t.abrupt( + "return", + Object.keys(Qi.list) + .map(function (e) { + return Qi.list[e].API; + }) + .filter(function (t) { + return ( + t.settings + .parentInstanceId === + e + ); + }) + ); + case 1: + case "end": + return t.stop(); + } + }, t); + }) + )(); + }, + joinChannel: function (t) { + return m().join(t, e); + }, + leaveChannel: function () { + return m().leave(e); + } + }; + return { + API: yn, + Events: { + handleUpdate: Rt, + handleWindowClose: Ft, + handleWindowChangeState: qt, + handleTitleChanged: Ot, + handleVisibilityChanged: Lt, + handleUrlChanged: Dt, + handleWindowSettingsChanged: Bt, + handleContextUpdated: Nt, + handleFrameIsLockedChanged: Ut, + handleBoundsChanged: Vt, + handleFocusChanged: $t, + handleFrameButtonAdded: jt, + handleFrameButtonRemoved: Ht, + handleFrameButtonClicked: zt, + handleFrameColorChanged: Kt, + handleFrameAttached: Qt, + handleFrameSelectionChanged: en, + handleCompositionChanged: Xt, + handleGroupHeaderVisibilityChanged: Yt, + handleTabHeaderVisibilityChanged: Zt, + handleGroupChanged: ln, + handleAttached: nn, + handleDetached: an, + handleWindowAttached: on, + handleWindowDetached: cn, + handleZoomFactorChanged: un, + handleIsStickyChanged: Jt, + handlePlacementSettingsChanged: dn + } + }; + }; + function no(e, t) { + var n = Qi.list; + return Object.keys(n).reduce(function (r, i) { + var o = n[i]; + return (o.API.tabGroupId === t && o.API.id !== e && r.push(o), r); + }, []); + } + function ro(e) { + return !( + e && + !Object.keys(e).every(function (t) { + return void 0 === e[t]; + }) + ); + } + var io = (function () { + function e() { + (v(this, e), + (this.GroupMethodName = "T42.Group.Execute"), + (this.WndMethodName = "T42.Wnd.Execute"), + (this._registry = zr()), + (this._finished = Promise.resolve()), + (this.unsubCallbacks = {})); + } + return ( + m(e, [ + { + key: "hostInstance", + get: function () { + return this.agmTarget; + } + }, + { + key: "finished", + get: function () { + return this._finished; + } + }, + { + key: "init", + value: function (e, t, n) { + var r = this; + ((this.agm = e), + (this.agmTarget = t), + (this._configuration = n), + this._registry.add("event", function (e) { + "Closed" === e.type && + Object.keys(r.unsubCallbacks).forEach( + function (t) { + t.startsWith(e.windowId) && + delete r.unsubCallbacks[t]; + } + ); + })); + } + }, + { + key: "handleEvent", + value: function (e) { + this._registry.execute("event", e); + } + }, + { + key: "open", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r, i, o; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (this._finished = + new Promise( + function (e) { + n = e; + } + )), + (e.prev = 1), + (e.next = 4), + this.agm.invoke( + "T42.Wnd.Create", + t, + this.agmTarget + ) + ); + case 4: + if ( + void 0 !== + (r = e.sent).returned + ) { + e.next = 7; + break; + } + throw new Error( + "failed to execute T42.Wnd.Create - unknown reason" + ); + case 7: + return ( + (i = r.returned.id), + (e.next = 10), + Qi.waitFor(i) + ); + case 10: + return ( + (o = e.sent), + (this._configuration && + !this._configuration + .windowAvailableOnURLChanged) || + setTimeout( + function () { + "electron" === + o.API + .windowType && + o.Events.handleUrlChanged( + o + .API + .url + ); + }, + 0 + ), + e.abrupt( + "return", + o.API + ) + ); + case 15: + throw ( + (e.prev = 15), + (e.t0 = e.catch(1)), + e.t0 + ); + case 18: + return ( + (e.prev = 18), + n(), + e.finish(18) + ); + case 21: + case "end": + return e.stop(); + } + }, + e, + this, + [[1, 15, 18, 21]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "close", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "close", + { + windowId: t.id, + options: n + }, + "Closed" + ) + ); + case 2: + if (((r = e.sent), !n)) { + e.next = 5; + break; + } + return e.abrupt( + "return", + r.closed + ); + case 5: + return e.abrupt( + "return", + t + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "navigate", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "navigate", + { + windowId: t.id, + options: { + url: n, + urlLoadOptions: + r + } + }, + "UrlChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setStyle", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s, c, u, d; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (i = []), + (o = function (e) { + return i.push(e); + }), + wn(n.focus) || + t.isFocused || + o(t.focus()), + wn(n.hidden) || + ((s = !n.hidden), + o(t.setVisible(s))), + wn(n.onTop) || + o( + t.setOnTop( + n.onTop + ) + ), + (bn(n.tabTooltip) && + bn(n.tabToolTip)) || + ((c = + null !== + (r = + n.tabTooltip) && + void 0 !== r + ? r + : n.tabToolTip), + o( + t.setTabTooltip( + c + ) + )), + bn(n.tabTitle) || + o( + this.execute( + "setTabTitle", + { + windowId: + t.id, + options: + { + tabTitle: + n.tabTitle + } + } + ) + ), + !ro( + (u = { + minHeight: + n.minHeight, + minWidth: + n.minWidth, + maxHeight: + n.maxHeight, + maxWidth: + n.maxWidth + }) + ) && + o( + t.setSizeConstraints( + u + ) + ), + !ro( + (d = { + allowClose: + n.allowClose, + allowCollapse: + n.allowCollapse, + allowLockUnlock: + n.allowLockUnlock, + allowMaximize: + n.allowMaximize, + allowMinimize: + n.allowMinimize + }) + ) && + o( + t.resetButtons( + d + ) + ), + (e.next = 15), + Promise.all(i) + ); + case 15: + return e.abrupt( + "return", + t + ); + case 16: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setSizeConstraints", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setSizeConstraints", + { + windowId: t.id, + options: n + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getSizeConstraints", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "getSizeConstraints", + { windowId: t.id } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setTabTooltip", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setTabTooltip", + { + windowId: t.id, + options: { + tabTooltip: + n + } + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getTabTooltip", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "getTabTooltip", + { windowId: t.id } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.tabTooltip + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "resetButtons", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "resetButtons", + { + windowId: t.id, + options: n + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getButtons", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "getButtons", + { windowId: t.id } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setOnTop", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setOnTop", + { + windowId: t.id, + options: { + onTop: n + } + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setTitle", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = { + windowId: t.id, + options: { + title: n + } + }), + (e.next = 3), + this.execute( + "setTitle", + r, + "TitleChanged" + ) + ); + case 3: + return e.abrupt( + "return", + t + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setSticky", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = { + windowId: t.id, + options: { + isSticky: n + } + }), + (e.next = 3), + this.execute( + "setSticky", + r + ) + ); + case 3: + return e.abrupt( + "return", + t + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "moveResize", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + !( + "undefined" !== + typeof window && + window.glueDesktop + .versionNum < + 31200 + ) + ) { + e.next = 4; + break; + } + return e.abrupt( + "return", + new Promise( + (function () { + var e = s( + a().mark( + function e( + i, + o + ) { + var s, + c, + u, + d, + l; + return a().wrap( + function ( + e + ) { + for (;;) + switch ( + (e.prev = + e.next) + ) { + case 0: + return ( + (s = + r.areBoundsEqual( + n, + t + )), + (c = + !1), + (u = + function () { + c || + ((c = + !0), + l && + (l(), + (l = + void 0)), + i( + t + ), + d && + (clearTimeout( + d + ), + (d = + void 0))); + }), + s || + (l = + t.onBoundsChanged( + function ( + e + ) { + r.areBoundsEqual( + n, + e + ) && + u(); + } + )), + (e.prev = 4), + (e.next = 7), + r.execute( + "moveResize", + { + windowId: + t.id, + options: + { + bounds: n + } + } + ) + ); + case 7: + e.next = 13; + break; + case 9: + return ( + (e.prev = 9), + (e.t0 = + e.catch( + 4 + )), + o( + e.t0 + ), + e.abrupt( + "return" + ) + ); + case 13: + if ( + !s + ) { + e.next = 16; + break; + } + return ( + u(), + e.abrupt( + "return" + ) + ); + case 16: + d = + setTimeout( + function () { + u(); + }, + 1e3 + ); + case 17: + case "end": + return e.stop(); + } + }, + e, + null, + [ + [ + 4, + 9 + ] + ] + ); + } + ) + ); + return function ( + t, + n + ) { + return e.apply( + this, + arguments + ); + }; + })() + ) + ); + case 4: + return ( + (e.next = 6), + this.execute( + "moveResize", + { + windowId: t.id, + options: { + bounds: n + } + } + ) + ); + case 6: + return e.abrupt( + "return", + t + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "addFrameButton", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "addButton", + { + windowId: t.id, + options: n + }, + "ButtonAdded" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "removeFrameButton", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "removeButton", + { + windowId: t.id, + options: n + }, + "ButtonRemoved" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "activate", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (r = new Promise( + function (e, r) { + n = + t.onFocusChanged( + function () { + e(); + } + ); + } + )), + (e.next = 4), + Promise.all([ + this.execute( + "activate", + { + windowId: + t.id + }, + "FocusChanged" + ), + r + ]) + ); + case 4: + return e.abrupt( + "return", + t + ); + case 7: + throw ( + (e.prev = 7), + (e.t0 = e.catch(0)), + e.t0 + ); + case 10: + return ( + (e.prev = 10), + n && n(), + e.finish(10) + ); + case 13: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 7, 10, 13]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "focus", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (r = new Promise( + function (e, r) { + n = + t.onFocusChanged( + function () { + e(); + } + ); + } + )), + (e.next = 4), + Promise.all([ + this.execute( + "focus", + { + windowId: + t.id + }, + "FocusChanged" + ), + r + ]) + ); + case 4: + return e.abrupt( + "return", + t + ); + case 7: + throw ( + (e.prev = 7), + (e.t0 = e.catch(0)), + e.t0 + ); + case 10: + return ( + (e.prev = 10), + n && n(), + e.finish(10) + ); + case 13: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 7, 10, 13]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "maximizeRestore", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "maximizeRestore", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "maximize", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "maximize", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "restore", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "restore", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "minimize", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "minimize", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "collapse", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "collapse", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "expand", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "expand", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "toggleCollapse", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "toggleCollapse", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "snap", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + var i; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + ((i = { + targetWindowId: n.id + }).snappingEdge = + r.direction), + (i.autoAlign = + r.autoAlign), + (e.next = 5), + this.execute( + "snap", + { + windowId: t.id, + options: i + }, + "CompositionChanged", + "CompositionChanged-".concat( + n.id + ) + ) + ); + case 5: + return e.abrupt( + "return", + t + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "attachTab", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "attachTab", + { + windowId: t.id, + options: { + index: r, + sourceWindowId: + n.id, + targetWindowId: + t.id + } + }, + "WindowFrameAdded-".concat( + n.id + ), + "WindowFrameRemoved-".concat( + n.id + ) + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "detachTab", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = [ + "WindowFrameRemoved", + "WindowFrameAdded" + ]), + wn( + null === n || + void 0 === n + ? void 0 + : n.relativeTo + ) + ? r.push( + "BoundsChanged" + ) + : (r.push( + "CompositionChanged" + ), + r.push( + "CompositionChanged-".concat( + n.relativeTo + ) + )), + (e.next = 4), + this.execute.apply( + this, + [ + "detachTab", + { + windowId: + t.id, + options: n + } + ].concat(r) + ) + ); + case 4: + return e.abrupt( + "return", + t + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setVisible", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r, + i = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = + !( + i.length > 1 && + void 0 !== i[1] + ) || i[1]), + (r = n + ? "show" + : "hide"), + (e.next = 4), + this.execute( + r, + { windowId: t.id }, + "VisibilityChanged" + ) + ); + case 4: + return e.abrupt( + "return", + t + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "center", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute("center", { + windowId: t.id, + options: n + }) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "showLoader", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "showLoadingAnimation", + { + windowId: t.id, + options: n + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "hideLoader", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "hideLoadingAnimation", + { windowId: t.id } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "updateContext", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + var i, o, s; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (o = + this.swapUndefinedToNull( + n + )), + (s = new Promise( + function (e, n) { + i = + t.onContextUpdated( + function () { + e(); + } + ); + } + )), + (e.next = 5), + Promise.all([ + this.execute( + "updateContext", + { + windowId: + t.id, + context: o, + replace: r + } + ), + s + ]) + ); + case 5: + return e.abrupt( + "return", + t + ); + case 8: + throw ( + (e.prev = 8), + (e.t0 = e.catch(0)), + e.t0 + ); + case 11: + return ( + (e.prev = 11), + i && i(), + e.finish(11) + ); + case 14: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 8, 11, 14]] + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "lock", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "lockUnlock", + { + windowId: t.id, + options: { + lock: !0 + } + }, + "FrameIsLockedChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "unlock", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "lockUnlock", + { + windowId: t.id, + options: { + lock: !1 + } + }, + "FrameIsLockedChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getIcon", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "getIcon", + { + windowId: t.id, + options: {} + } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.icon + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setIcon", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setIcon", + { + windowId: t.id, + options: { + dataURL: n + } + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setFrameColor", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setFrameColor", + { + windowId: t.id, + options: { + frameColor: + n + } + }, + "FrameColorChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setTabHeaderVisible", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setTabHeaderVisible", + { + windowId: t.id, + options: { + toShow: n + } + }, + "TabHeaderVisibilityChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "showPopup", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (n) { + e.next = 2; + break; + } + throw new Error( + "The options object is not valid!" + ); + case 2: + return ( + (r = c({}, n)) + .targetLocation || + (r.targetLocation = + "bottom"), + (i = c( + c({}, r), + {}, + { + popupBounds: + r.size, + targetId: t.id, + popupId: + r.windowId + } + )), + (e.next = 7), + this.execute( + "showPopupWindow", + { + windowId: t.id, + options: i + } + ) + ); + case 7: + return e.abrupt( + "return", + t + ); + case 8: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "createFlydown", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (n) { + e.next = 2; + break; + } + throw new Error( + "The options object is not valid!" + ); + case 2: + return ( + (r = c({}, n)) + .horizontalOffset || + (r.horizontalOffset = 0), + r.verticalOffset || + (r.verticalOffset = 0), + (i = + this.reformatFlydownOptions( + t, + r + )), + e.abrupt( + "return", + this.execute( + "setFlydownArea", + { + windowId: t, + options: i + } + ).then(function () { + var e = + i.zones.map( + function ( + e + ) { + return e.id; + } + ); + return ( + i.zones.forEach( + function ( + e + ) { + var t = + "function" === + typeof e.flydownSize + ? e.flydownSize + : function () { + return e.flydownSize; + }; + (n.size instanceof + Function && + e.flydownSize && + (t = + (function () { + var t = + s( + a().mark( + function t( + r, + i + ) { + var o; + return a().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + if ( + !( + n.size instanceof + Function + ) + ) { + t.next = 4; + break; + } + return ( + (t.next = 3), + n.size( + r, + i + ) + ); + case 3: + o = + t.sent; + case 4: + if ( + !( + e.flydownSize instanceof + Function && + e.flydownSize !== + n.size + ) + ) { + t.next = 11; + break; + } + return ( + (t.next = 7), + e.flydownSize( + r, + i + ) + ); + case 7: + if ( + ((t.t0 = + t.sent), + t.t0) + ) { + t.next = 10; + break; + } + t.t0 = + o; + case 10: + return t.abrupt( + "return", + t.t0 + ); + case 11: + return t.abrupt( + "return", + o || + e.flydownSize + ); + case 12: + case "end": + return t.stop(); + } + }, + t + ); + } + ) + ); + return function ( + e, + n + ) { + return t.apply( + this, + arguments + ); + }; + })()), + o._registry.clearKey( + "" + .concat( + i.targetId, + "_" + ) + .concat( + e.id + ) + ), + o._registry.add( + "" + .concat( + i.targetId, + "_" + ) + .concat( + e.id + ), + t + )); + } + ), + { + destroy: + function () { + return o.clearFlydownArea( + i.targetId, + e + ); + }, + options: + r + } + ); + }) + ) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setModalState", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this.execute( + "setModalState", + { + windowId: t, + options: { + isModal: n + } + } + ) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "handleFlydownBoundsRequested", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s, u, d; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = function () { + return (n.cancel = + !0); + }), + (i = { + zoneId: n.flydownId, + flydownWindowBounds: + n.flydownWindowBounds, + flydownWindowId: + n.flydownWindowId + }), + (e.next = 4), + Promise.all( + this._registry.execute( + "" + .concat( + t, + "_" + ) + .concat( + n.flydownId + ), + i, + r + ) + ) + ); + case 4: + if ( + 1 !== + (o = e.sent).length + ) { + e.next = 10; + break; + } + return ( + (s = { + height: 0, + width: 0, + top: 0, + left: 0 + }), + (u = + "object" !== + typeof o[0] || + Array.isArray(o[0]) + ? s + : o[0]), + (d = c( + c({}, n), + {}, + { + flydownWindowBounds: + u + } + )), + e.abrupt("return", d) + ); + case 10: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "handleOnEventRequested", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (i = + null !== + (r = + this + .unsubCallbacks[ + t + ]) && + void 0 !== r + ? r + : []), + (o = !1), + (s = []), + (e.next = 5), + Promise.all( + i.map(function (e) { + return new Promise( + function ( + t, + r + ) { + e( + function () { + t(); + }, + function () { + r(); + }, + function ( + e + ) { + ((o = + !0), + s.push( + e + )); + }, + n + ); + } + ); + }) + ) + ); + case 5: + return e.abrupt("return", { + prevented: o, + preventArgs: s + }); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "zoomIn", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute("zoomIn", { + windowId: t.id + }) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "zoomOut", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "zoomOut", + { windowId: t.id } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setZoomFactor", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setZoomFactor", + { + windowId: t.id, + options: { + zoomFactor: + n + } + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "showDevTools", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "showDevTools", + { windowId: t.id } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "capture", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "captureScreenshot", + { + windowId: t.id, + options: c( + {}, + n + ) + } + ) + ); + case 2: + return ( + (r = e.sent.data), + e.abrupt("return", r) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "captureGroup", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "captureGroupScreenshot", + { + windowId: t[0], + options: c( + { + groupWindowIds: + t + }, + n + ) + } + ) + ); + case 2: + return ( + (r = e.sent.data), + e.abrupt("return", r) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "flash", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute("flash", { + windowId: t.id, + options: c({}, n) + }) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "flashTab", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "flashTab", + { + windowId: t.id, + options: c( + {}, + n + ) + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "configure", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this.execute( + "configure", + { + windowId: t, + options: c( + {}, + n + ) + } + ) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "print", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute("print", { + windowId: t.id, + options: c({}, n) + }) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "printToPDF", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "printToPDF", + { + windowId: t.id, + options: c( + {}, + n + ) + } + ) + ); + case 2: + return ( + (r = e.sent.filePath), + e.abrupt("return", r) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "place", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((r = c({}, n)), + n.display && + "current" !== + n.display) + ) { + e.next = 5; + break; + } + return ( + (e.next = 4), + t.getDisplay() + ); + case 4: + r.display = e.sent; + case 5: + return ( + r.display && + "string" !== + typeof r.display && + "number" !== + typeof r.display && + (r.display = + r.display + .index + 1), + e.abrupt( + "return", + this.execute( + "place", + { + windowId: + t.id, + options: c( + {}, + r + ) + } + ) + ) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "refresh", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "refresh", + { + windowId: t.id, + options: { + ignoreCache: + n + } + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "download", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + ((r = + o.length > 2 && + void 0 !== o[2] + ? o[2] + : {}).enableDownloadBar = + !r.silent), + (e.next = 4), + this.execute( + "downloadURL", + { + windowId: t.id, + options: { + url: n, + options: r + } + } + ) + ); + case 4: + return ( + (i = e.sent), + e.abrupt("return", { + url: n, + path: i.fullPath, + size: i.fileSize + }) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "configureWindow", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "configureWindow", + { + windowId: t.id, + options: n + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getWindowConfiguration", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "getWindowConfiguration", + { windowId: t.id } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "startDrag", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "startDrag", + { + windowId: t.id, + options: n + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "showDialog", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + var o = Vi.generate(), + a = n._registry.add("event", function (t) { + if ( + "DialogResult" === t.type && + t.windowId === e.id && + t.data.token === o + ) { + a(); + var n = t.data; + "status" in n && + ("failed" === n.status + ? i(n.message) + : "successful" === n.status && + r(n.result)); + } + }); + n.execute("showDialog", { + windowId: e.id, + options: Object.assign({}, c({}, t), { + token: o + }) + }); + }); + } + }, + { + key: "execute", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o, + s = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + for ( + r = s.length, + i = new Array( + r > 2 + ? r - 2 + : 0 + ), + o = 2; + o < r; + o++ + ) + i[o - 2] = s[o]; + return e.abrupt( + "return", + this.executeCore.apply( + this, + [ + this + .WndMethodName, + t, + n + ].concat(i) + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "executeGroup", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o, + s = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + for ( + r = s.length, + i = new Array( + r > 2 + ? r - 2 + : 0 + ), + o = 2; + o < r; + o++ + ) + i[o - 2] = s[o]; + return e.abrupt( + "return", + this.executeCore.apply( + this, + [ + this + .GroupMethodName, + t, + n + ].concat(i) + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "ungroup", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = { + windowId: t.id, + options: n + }), + (e.next = 3), + this.execute( + "ungroup", + r + ) + ); + case 3: + return e.abrupt( + "return", + t + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "updateJumpList", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = { + windowId: t, + options: n + }), + (e.next = 3), + this.execute( + "updateJumplist", + r + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getJumpList", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = { windowId: t }), + (e.next = 3), + this.execute( + "getJumplist", + n + ) + ); + case 3: + return ( + (r = e.sent), + e.abrupt("return", r) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "onClosing", + value: function (e, t) { + var n = + "undefined" !== typeof window && window.glue42gd; + return n && "electron" === t.windowType + ? n.addCloseHandler(e, t.id) + : this.nonWindowHandlers(e, t.id, "OnClosing"); + } + }, + { + key: "onRefreshing", + value: function (e, t) { + var n = + "undefined" !== typeof window && window.glue42gd; + return n && "electron" === t.windowType + ? n.addRefreshHandler(e, t.id) + : this.nonWindowHandlers(e, t.id, "OnRefreshing"); + } + }, + { + key: "onNavigating", + value: function (e, t) { + var n = + "undefined" !== typeof window && window.glue42gd; + return n && "electron" === t.windowType + ? n.addWillNavigateHandler(e, t.id) + : this.nonWindowHandlers(e, t.id, "OnNavigating"); + } + }, + { + key: "goBack", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute("goBack", { + windowId: t.id + }) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "goForward", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "goForward", + { windowId: t.id } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "nonWindowHandlers", + value: function (e, t, n) { + var r = this, + i = "".concat(t, "-").concat(n), + o = function () { + if (r.unsubCallbacks[i]) { + var o = r.unsubCallbacks[i]; + r.unsubCallbacks[i] = o.filter( + function (t) { + return t !== e; + } + ); + } + 0 === r.unsubCallbacks[i].length && + r.execute(n, { + windowId: t, + options: { unsubscribe: !0 } + }); + }; + if (this.unsubCallbacks[i]) + return (this.unsubCallbacks[i].push(e), o); + this.unsubCallbacks[i] = [e]; + var a = { windowId: t }; + return (this.execute(n, a), o); + } + }, + { + key: "reformatFlydownOptions", + value: function (e, t) { + var n = function (e, n) { + if ( + t[n] && + (void 0 === e[n] || null === e[n]) + ) { + var r = t[n]; + e[n] = r; + } + }, + r = t.zones.map(function (e) { + return ( + n(e, "windowId"), + n(e, "targetLocation"), + !t.size || + (void 0 !== e.flydownSize && + null !== e.flydownSize) || + (e.flydownSize = t.size), + (e.flydownBounds = e.flydownSize), + (e.flydownId = e.windowId), + e.targetLocation || + (e.targetLocation = "bottom"), + e + ); + }); + return c( + c({}, t), + {}, + { + zones: r, + targetId: e, + flydownBounds: t.size, + flydownActiveArea: t.activeArea + } + ); + } + }, + { + key: "clearFlydownArea", + value: function (e, t) { + var n = this; + return this.execute("clearFlydownWindowArea", { + windowId: e, + options: {} + }).then(function () { + t.forEach(function (t) { + n._registry.clearKey( + "".concat(e, "_").concat(t) + ); + }); + }); + } + }, + { + key: "executeWithoutToken", + value: function (e) { + for ( + var t = this, + n = [], + r = arguments.length, + a = new Array(r > 1 ? r - 1 : 0), + s = 1; + s < r; + s++ + ) + a[s - 1] = arguments[s]; + var c = + null === a || void 0 === a + ? void 0 + : a + .filter(function (e) { + return !wn(e); + }) + .map(function (r) { + return new Promise(function (o) { + var a = r.split("-"), + s = i(a, 2), + c = s[0], + u = s[1], + d = + void 0 === u + ? e.windowId + : u; + n.push( + t._registry.add( + "event", + function (e) { + e.type === c && + e.windowId === + d && + o(); + } + ) + ); + }); + }), + u = new Promise(function (n, r) { + t.agm + .invoke("T42.Wnd.Execute", e, t.agmTarget) + .then(function (e) { + e.returned && e.returned.errorMsg + ? r(e) + : n(e.returned); + }) + .catch(function (e) { + return r(e); + }); + }); + return Promise.all([u].concat(o(c))) + .then(function (e) { + return e[0]; + }) + .finally(function () { + n.forEach(function (e) { + return e(); + }); + }); + } + }, + { + key: "executeCore", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + var i, + o, + s, + u, + d, + l = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((i = c( + c({}, r), + {}, + { command: n } + )), + (this._finished = + new Promise( + function (e) { + o = e; + } + )), + (e.prev = 2), + !( + "undefined" !== + typeof window && + window.glueDesktop + .versionNum < + 31200 + )) + ) { + e.next = 10; + break; + } + for ( + s = l.length, + u = new Array( + s > 3 + ? s - 3 + : 0 + ), + d = 3; + d < s; + d++ + ) + u[d - 3] = l[d]; + return ( + (e.next = 7), + this.executeWithoutToken.apply( + this, + [i].concat(u) + ) + ); + case 7: + case 12: + return e.abrupt( + "return", + e.sent + ); + case 10: + return ( + (e.next = 12), + this.executeWithToken( + t, + i + ) + ); + case 13: + return ( + (e.prev = 13), + o(), + e.finish(13) + ); + case 16: + case "end": + return e.stop(); + } + }, + e, + this, + [[2, , 13, 16]] + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "executeWithToken", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o, + s, + c, + u = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (i = Vi.generate()), + (o = new Promise( + function (e) { + r = + u._registry.add( + "event", + function ( + t + ) { + t.token === + i && + e(); + } + ); + } + )), + (s = new Promise( + function (e, r) { + ((n.token = i), + u.agm + .invoke( + t, + n, + u.agmTarget + ) + .then( + function ( + t + ) { + t.returned && + t + .returned + .errorMsg + ? r( + t + ) + : e( + t.returned + ); + } + ) + .catch( + function ( + e + ) { + r( + e + ); + } + )); + } + )), + (e.next = 6), + Promise.all([s, o]) + ); + case 6: + return ( + (c = e.sent), + e.abrupt("return", c[0]) + ); + case 10: + throw ( + (e.prev = 10), + (e.t0 = e.catch(0)), + e.t0 + ); + case 13: + return ( + (e.prev = 13), + r && r(), + e.finish(13) + ); + case 16: + case "end": + return e.stop(); + } + }, + e, + null, + [[0, 10, 13, 16]] + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "areBoundsEqual", + value: function (e, t) { + var n = t.bounds, + r = t.settings, + i = e.height, + o = e.width; + (e.height < r.minHeight && (i = r.minHeight), + e.height > r.maxHeight && (i = r.maxHeight), + e.width < r.minWidth && (o = r.minWidth), + e.width > r.maxWidth && (o = r.maxWidth)); + var a = !i || n.height === i, + s = !o || n.width === o, + c = !e.left || n.left === e.left, + u = !e.top || n.top === e.top; + return a && s && c && u; + } + }, + { + key: "swapUndefinedToNull", + value: function (e) { + try { + for ( + var t = {}, n = 0, r = Object.keys(e); + n < r.length; + n++ + ) { + var i = r[n], + o = e[i]; + ("undefined" === typeof o && (o = null), + (t[i] = o)); + } + return t; + } catch (a) { + return e; + } + } + } + ]), + e + ); + })(), + oo = new io(), + ao = (function () { + function e(t, n, r, i, o, a) { + (v(this, e), + (this._registry = zr()), + (this._waitTimeout = 1e4), + (this._agm = t), + (this._logger = n.subLogger("gd-env")), + (this._windowId = a), + (this._appManagerGetter = r), + (this._displayAPIGetter = i), + (this._channelsAPIGetter = o)); + } + return ( + m(e, [ + { + key: "init", + value: function () { + var e = this; + return new Promise(function (t, n) { + (e._agm.register( + "T42.Wnd.OnEventWithResponse", + function (t, n) { + return e.respondToEvent(t); + } + ), + new Promise(function (r, i) { + e._agm + .subscribe("T42.Wnd.OnEvent", { + waitTimeoutMs: e._waitTimeout, + target: "best", + arguments: { withConfig: !0 }, + onData: function (n) { + "Configuration" !== n.data.type + ? (e.updateWindow( + n.data, + t + ), + oo.handleEvent(n.data), + oo.init( + e._agm, + e._agmInstance, + e._configuration + )) + : (e._configuration = + n.data); + }, + onConnected: function (t) { + ((e._agmInstance = t), + oo.init( + e._agm, + e._agmInstance + )); + } + }) + .catch(function (e) { + var t, + r = "" + .concat( + null === + (t = + null === e || + void 0 === e + ? void 0 + : e.method) || + void 0 === t + ? void 0 + : t.name, + " - " + ) + .concat( + JSON.stringify( + null === e || + void 0 === e + ? void 0 + : e.called_with + ), + " - " + ) + .concat( + null === e || + void 0 === e + ? void 0 + : e.message + ); + n(new Error(r)); + }); + })); + }); + } + }, + { + key: "executor", + get: function () { + return oo; + } + }, + { + key: "open", + value: function (e, t, n) { + var r = c({}, (n = n || {})); + return ( + void 0 !== r.relativeTo && + "string" !== typeof r.relativeTo && + (r.relativeTo = r.relativeTo.id || ""), + (r.name = e), + (r.url = t), + (r.windowState = n.windowState || n.state), + delete r.state, + this.executor.open(r) + ); + } + }, + { + key: "createFlydown", + value: function (e, t) { + return this.executor.createFlydown(e, t); + } + }, + { + key: "showPopup", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = Qi.get(t)), + (e.next = 3), + this.executor.showPopup( + r.API, + n + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "tabAttached", + value: function (e) { + return this._registry.add("tab-attached", e); + } + }, + { + key: "tabDetached", + value: function (e) { + return this._registry.add("tab-detached", e); + } + }, + { + key: "onWindowFrameColorChanged", + value: function (e) { + return this._registry.add("frame-color-changed", e); + } + }, + { + key: "onEvent", + value: function (e) { + return this._registry.add("window-event", e); + } + }, + { + key: "my", + value: function () { + return this._windowId; + } + }, + { + key: "execute", + value: function (e, t, n) { + return this._agm.invoke("T42.Wnd.Execute", { + command: e, + options: n, + windowId: t + }); + } + }, + { + key: "onCompositionChanged", + value: function (e) { + return this._registry.add("composition-changed", e); + } + }, + { + key: "onGroupHeaderVisibilityChanged", + value: function (e) { + return this._registry.add("group-header-changed", e); + } + }, + { + key: "onGroupVisibilityChanged", + value: function (e) { + return this._registry.add( + "group-visibility-changed", + e + ); + } + }, + { + key: "onGroupStateChanged", + value: function (e) { + return this._registry.add("group-state-changed", e); + } + }, + { + key: "onWindowGotFocus", + value: function (e) { + return this._registry.add("got-focus", e); + } + }, + { + key: "onWindowLostFocus", + value: function (e) { + return this._registry.add("lost-focus", e); + } + }, + { + key: "respondToEvent", + value: function (e) { + return "ShowFlydownBoundsRequested" === e.type + ? this.executor.handleFlydownBoundsRequested( + e.data.windowId, + e.data + ) + : "OnClosing" === e.type || + "OnRefreshing" === e.type || + "OnNavigating" === e.type + ? this.executor.handleOnEventRequested( + e.data.callbackId, + e.data.args + ) + : Promise.reject( + "There isn't a handler for ".concat(e.type) + ); + } + }, + { + key: "updateWindow", + value: function (e, t) { + var n, + r = this, + i = this.getExtendedStreamEvent(e); + if ("Snapshot" === e.type) + return ( + e.windows.forEach(function (e) { + var t = Qi.get(e.id); + if (t) + t.Events.handleUpdate( + r.mapToWindowConstructorOptions(e) + ); + else { + var n = r.createWindow(e.id, e); + Qi.markReadyToShow(n.API.id); + } + r._registry.execute("window-event", i); + }), + void t(this) + ); + if ("CommandExecuted" !== e.type) { + if ("Created" === e.type) { + var o = e, + c = this.createWindow( + o.windowId, + o.data || {} + ); + return ( + Qi.setReadyState(c.API.id), + void this._registry.execute( + "window-event", + i + ) + ); + } + if ("OnGroupVisibilityChanged" === e.type) { + var u = e; + return ( + this._registry.execute( + "group-visibility-changed", + u.data + ), + void this._registry.execute( + "window-event", + e + ) + ); + } + if ("OnGroupStateChanged" === e.type) { + var d = e; + return ( + this._registry.execute( + "group-state-changed", + d.data + ), + void this._registry.execute( + "window-event", + e + ) + ); + } + var l = Qi.get(e.windowId); + if (l) { + var p = l.API, + h = l.Events; + if ("BoundsChanged" === e.type) { + var f = e; + h.handleBoundsChanged(f.data); + } + if ("UrlChanged" === e.type) { + var v = e; + (Qi.setUrlChangedState(v.windowId), + h.handleUrlChanged(v.data)); + } + if ("TitleChanged" === e.type) { + var m = e; + h.handleTitleChanged(m.data); + } + if ("IsStickyChanged" === e.type) { + var g = e; + h.handleIsStickyChanged(g.data); + } + if ( + ("VisibilityChanged" === e.type && + h.handleVisibilityChanged(e.data), + "ContextChanged" === e.type && + h.handleContextUpdated(e.data), + "StateChanged" === e.type && + h.handleWindowChangeState(e.data), + "FrameColorChanged" === e.type && + (h.handleFrameColorChanged(e.data), + this._registry.execute( + "frame-color-changed", + p + )), + "CompositionChanged" === e.type) + ) { + var y = e; + (h.handleCompositionChanged(y.data), + Qi.setCompositionChangedState( + y.data.windowId, + null === + (n = this._configuration) || + void 0 === n + ? void 0 + : n.windowAvailableOnURLChanged + ), + this._registry.execute( + "composition-changed", + y.data + )); + } + if ("GroupHeaderVisibilityChanged" === e.type) { + var w = e; + (h.handleGroupHeaderVisibilityChanged( + w.data.groupHeaderVisible + ), + this._registry.execute( + "group-header-changed", + w.data + )); + } + if ("FocusChanged" === e.type) { + var b = e; + this.focusChanged(h, p, b.data); + } + if ( + ("WindowFrameChanged" === e.type && + (h.handleFrameAttached( + e.data.frameId, + e.data.frameId, + e.data.isTabHeaderVisible + ), + this._registry.execute( + "frame-changed" + )), + "WindowFrameAdded" === e.type) + ) { + var k = no(p.id, e.data.frameId), + x = e.data; + h.handleAttached( + x.frameId, + x.frameId, + x.isTabHeaderVisible, + x.isLocked, + k + ).then( + s( + a().mark(function t() { + return a().wrap(function (t) { + for (;;) + switch ( + (t.prev = t.next) + ) { + case 0: + if ( + !( + k.length > + 0 + ) + ) { + t.next = 4; + break; + } + return ( + (t.next = 3), + oo.finished + ); + case 3: + r._registry.execute( + "tab-attached", + p, + e.data + .frameId, + e.data + .isTabHeaderVisible + ); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ) + ); + } + if ("WindowFrameRemoved" === e.type) { + var _ = p.tabGroupId, + C = no(p.id, _); + h.handleDetached(e.data.isLocked, C).then( + s( + a().mark(function t() { + return a().wrap(function (t) { + for (;;) + switch ( + (t.prev = t.next) + ) { + case 0: + if ( + !( + C.length > + 0 + ) + ) { + t.next = 4; + break; + } + return ( + (t.next = 3), + oo.finished + ); + case 3: + r._registry.execute( + "tab-detached", + p, + e.data + .frameId, + p.tabGroupId + ); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ) + ); + } + ("TabHeaderVisibilityChanged" === e.type && + h.handleTabHeaderVisibilityChanged( + e.data.isTabHeaderVisible + ), + "FrameSelectionChanged" === e.type && + h.handleFrameSelectionChanged( + e.data.newWindowId, + e.data.prevWindowId + ), + "ButtonClicked" === e.type && + h.handleFrameButtonClicked(e.data), + "ButtonAdded" === e.type && + h.handleFrameButtonAdded(e.data), + "ButtonRemoved" === e.type && + h.handleFrameButtonRemoved(e.data), + "WindowZoomFactorChanged" === e.type && + h.handleZoomFactorChanged(e.data), + "Closed" === e.type && + (Qi.remove(l), h.handleWindowClose()), + "FrameIsLockedChanged" === e.type && + h.handleFrameIsLockedChanged(e.data), + "PlacementSettingsChanged" === e.type && + h.handlePlacementSettingsChanged( + e.data + ), + this._registry.execute("window-event", i)); + } else + this._logger.error( + "received update for unknown window. Stream:', ".concat( + JSON.stringify(e, null, 4) + ) + ); + } else this._registry.execute("window-event", i); + } + }, + { + key: "createWindow", + value: function (e, t) { + var n = to( + e, + this.mapToWindowConstructorOptions(t), + oo, + this._logger, + this._appManagerGetter, + this._displayAPIGetter, + this._channelsAPIGetter, + this._agm + ); + return (Qi.add(n), n); + } + }, + { + key: "focusChanged", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + t.handleFocusChanged(r), + (e.next = 3), + Qi.waitFor(n.id) + ); + case 3: + r + ? this._registry.execute( + "got-focus", + n + ) + : this._registry.execute( + "lost-focus", + n + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "mapToWindowConstructorOptions", + value: function (e) { + return { + name: e.name, + context: e.context, + bounds: e.bounds, + url: e.url, + title: e.title, + isVisible: e.isVisible, + focus: e.isFocused, + state: e.state, + frameColor: e.frameColor, + groupId: e.groupId, + neighbours: e.neighbors, + isFocused: e.isFocused, + isGroupHeaderVisible: e.groupHeaderVisible, + isCollapsed: e.isCollapsed, + tabGroupId: e.frameId, + frameId: e.frameId, + mode: e.mode, + isTabHeaderVisible: e.isTabHeaderVisible, + isTabSelected: e.isActiveTab, + settings: e.settings, + windowType: e.windowType, + zoomFactor: e.zoomFactor, + isLocked: e.isLocked, + placementSettings: e.placementSettings, + isSticky: e.isSticky, + tabIndex: e.tabIndex, + frameButtons: e.frameButtons, + jumpListOptions: e.jumpList, + applicationName: e.applicationName + }; + } + }, + { + key: "getExtendedStreamEvent", + value: function (e) { + try { + if (!e.windowId) return e; + var t = Qi.get(e.windowId); + if (!t) return e; + var n = c( + { state: e.type, windowName: t.API.name }, + e + ); + return ( + "WindowFrameAdded" === n.state && + (n.state = "TabAttached"), + "StateChanged" === n.state && + (n.state = + n.data.charAt(0).toUpperCase() + + n.data.slice(1)), + "ButtonAdded" === n.state && + (n.state = "FrameButtonAdded"), + "ButtonRemoved" === n.state && + (n.state = "FrameButtonRemoved"), + n + ); + } catch (r) { + return e; + } + } + } + ]), + e + ); + })(), + so = function (e, t, n, r, i, o) { + var a = t; + if (2 === o) + throw (a.trace("running in HC"), new Error("GD2 not supported")); + return o >= 3 + ? (a.trace("running in GD 3"), + new ao(e, a, n, r, i, window.glue42gd.windowId).init()) + : new ao(e, a, n, r, i).init(); + }, + co = function (e, t) { + var n = zr(), + r = [], + i = !1, + c = !0; + function u(e) { + return d.apply(this, arguments); + } + function d() { + return (d = s( + a().mark(function e(i) { + var o; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (-1 !== r.indexOf(i)) { + e.next = 7; + break; + } + return ( + r.push(i), + (o = + Qi.get( + i + )).Events.handleGroupChanged( + W, + void 0 + ), + (e.next = 6), + t.finished + ); + case 6: + n.execute("window-added", W, o.API); + case 7: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function l(e) { + return p.apply(this, arguments); + } + function p() { + return (p = s( + a().mark(function e(i) { + var o; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (-1 === (o = r.indexOf(i.API.id))) { + e.next = 7; + break; + } + return ( + r.splice(o, 1), + i.Events.handleGroupChanged(void 0, W), + (e.next = 6), + t.finished + ); + case 6: + n.execute("window-removed", W, i.API); + case 7: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function h(e, t, n) { + var r; + "string" === typeof e ? (r = e) : wn(e) || (r = e.id); + var i = k(r); + if (i) return ("function" === typeof t && t(i), i); + "function" === typeof n && n("No window with ID: ".concat(r)); + } + function f(e) { + var t = b(); + return ("function" === typeof e && e(t), t); + } + function v(e, t) { + return m.apply(this, arguments); + } + function m() { + return ( + (m = s( + a().mark(function e(n, r) { + var i, + o, + s, + c = arguments; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + for ( + i = c.length, + o = new Array( + i > 2 ? i - 2 : 0 + ), + s = 2; + s < i; + s++ + ) + o[s - 2] = c[s]; + return ( + (e.next = 3), + t.execute.apply(t, [n, r].concat(o)) + ); + case 3: + return e.abrupt("return", W); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )), + m.apply(this, arguments) + ); + } + function g(e) { + n.execute("header-visibility-changed", W); + } + function y(e) { + ((c = e), n.execute("group-visibility-changed", W)); + } + function w(e) { + i = e; + } + function b() { + var e = []; + return ( + r.forEach(function (t) { + var n = k(t); + "undefined" !== typeof n && e.push(n); + }), + e + ); + } + function k(e) { + return Qi.get(e) ? Qi.get(e).API : void 0; + } + function x() { + return ( + void 0 === + b().find(function (e) { + return !e.isGroupHeaderVisible; + }) + ); + } + function _() { + return i; + } + function C(e) { + return n.add("header-visibility-changed", e); + } + function I(e) { + return n.add("window-added", e); + } + function S(e) { + return n.add("window-removed", e); + } + function E(e) { + if (!e) throw new Error("Callback argument is required"); + if (e && "function" !== typeof e) + throw new Error("Callback argument must be a function"); + return n.add("group-visibility-changed", e); + } + var W = { + id: e, + get windows() { + return f(); + }, + find: h, + get isHeaderVisible() { + return x(); + }, + get isHibernated() { + return _(); + }, + get isVisible() { + return c; + }, + showHeader: function (e, t) { + return Xi.callbackifyPromise( + function () { + return v.apply( + void 0, + [ + "setGroupHeaderVisibility", + { windowId: r[0], options: { toShow: !0 } } + ].concat( + o( + r.map(function (e) { + return "GroupHeaderVisibilityChanged-".concat( + e + ); + }) + ) + ) + ); + }, + e, + t + ); + }, + hideHeader: function (e, t) { + return Xi.callbackifyPromise( + function () { + return v.apply( + void 0, + [ + "setGroupHeaderVisibility", + { windowId: r[0], options: { toShow: !1 } } + ].concat( + o( + r.map(function (e) { + return "GroupHeaderVisibilityChanged-".concat( + e + ); + }) + ) + ) + ); + }, + e, + t + ); + }, + getTitle: (function () { + var e = s( + a().mark(function e() { + var n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + t.execute("getGroupTitle", { + windowId: r[0] + }) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n.title) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + function n() { + return e.apply(this, arguments); + } + return n; + })(), + setTitle: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!bn(t)) { + e.next = 2; + break; + } + throw new Error( + "`title` must not be null or undefined." + ); + case 2: + return e.abrupt( + "return", + v("setGroupTitle", { + windowId: r[0], + options: { title: t } + }) + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })(), + capture: function (e) { + return t.captureGroup(r, e); + }, + maximize: function (e, t) { + return Xi.callbackifyPromise( + function () { + return v.apply( + void 0, + ["maximizeGroup", { windowId: r[0] }].concat( + o( + r.map(function (e) { + return "StateChanged-".concat(e); + }) + ) + ) + ); + }, + e, + t + ); + }, + restore: function (e, t) { + return Xi.callbackifyPromise( + function () { + return v.apply( + void 0, + ["restoreGroup", { windowId: r[0] }].concat( + o( + r.map(function (e) { + return "StateChanged-".concat(e); + }) + ) + ) + ); + }, + e, + t + ); + }, + show: function (n) { + if (!wn(n) && !kn(n)) + throw new Error("Activate flag must be a boolean!"); + return ( + (n = !!wn(n) || n), + t.executeGroup("showGroup", { + groupId: e, + options: { activate: n } + }) + ); + }, + hide: function () { + return t.executeGroup("hideGroup", { groupId: e }); + }, + onHeaderVisibilityChanged: C, + onWindowAdded: I, + onWindowRemoved: S, + onVisibilityChanged: E + }; + return { + groupAPI: W, + groupInternal: { + get windows() { + return r; + }, + addWindow: u, + removeWindow: l, + handleGroupHeaderVisibilityChanged: g, + handleGroupVisibilityChanged: y, + handleGroupHibernateChanged: w + } + }; + }, + uo = function (e, t) { + var n = zr(), + r = {}, + i = -1, + o = Qi.list; + function c() { + return d(e.my()); + } + function u(e) { + var t = Object.keys(r).map(function (e) { + if (r[e]) return r[e].groupAPI; + }); + return ("function" === typeof e && e(t), t); + } + function d(e, t, n) { + var i; + "string" === typeof e ? (i = e) : wn(e) || (i = e.id); + var o = Object.values(r).find(function (e) { + return e.groupAPI.windows.filter(function (e) { + return e.id === i; + }).length; + }); + if (o) + return ("function" === typeof t && t(o.groupAPI), o.groupAPI); + "function" === typeof n && + n("Cannot find the group of the window."); + } + function l(e) { + return e + ? new Promise(function (t, n) { + var i = r[e]; + if (i) t(i.groupAPI); + else + var o = m(function (n) { + n.id === e && (o(), t(n)); + }); + }) + : Promise.reject("groupId must be defined"); + } + function p(e, t) { + return h.apply(this, arguments); + } + function h() { + return (h = s( + a().mark(function e(t, n) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (wn(n) || kn(n)) { + e.next = 2; + break; + } + throw new Error( + "Activate flag must be a boolean!" + ); + case 2: + return ( + (n = !!wn(n) || n), + (e.next = 5), + oo.executeGroup("resumeGroup", { + groupId: t, + options: { activate: n } + }) + ); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function f(e) { + return v.apply(this, arguments); + } + function v() { + return (v = s( + a().mark(function e(t) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + oo.executeGroup("hibernateGroup", { + groupId: t + }) + ); + case 2: + return e.abrupt("return", t); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function m(e) { + return n.add("group-added", e); + } + function g(e) { + return n.add("group-removed", e); + } + function y(e) { + return n.add("window-moved", e); + } + function w(e) { + if (!e) throw new Error("Callback argument is required"); + if (e && "function" !== typeof e) + throw new Error("Callback argument must be a function"); + return n.add("group-hibernated", e); + } + function b(e) { + if (!e) throw new Error("Callback argument is required"); + if (e && "function" !== typeof e) + throw new Error("Callback argument must be a function"); + return n.add("group-resumed", e); + } + function k(t) { + if (r.hasOwnProperty(t)) return r[t]; + var i = co(t, e.executor); + r[t] = i; + var o = i.groupAPI; + return (n.execute("group-added", o), i); + } + function x(e) { + var t = e.groupAPI; + 0 === t.windows.length && + (delete r[t.id], n.execute("group-removed", t)); + } + function _(e, t) { + var n = k(e); + return (n.groupInternal.addWindow(t), n); + } + function C(e, t) { + e && (e.groupInternal.removeWindow(t), x(e)); + } + function I(e) { + var t = e.groupId, + n = e.windowId, + r = Qi.get(n); + if (r) { + var i = E(r.API); + wn(t) + ? C(i, r) + : !wn(i) || wn(t) + ? i.groupAPI.id !== t && S(r, i.groupAPI.id, t) + : _(t, r.API.id); + } + } + function S(e, t, i) { + var o = e.API.id, + a = r[t]; + C(a, e); + var s = _(i, o); + (e.Events.handleGroupChanged(s.groupAPI, a.groupAPI), + n.execute("window-moved", o, t, i)); + } + function E(e) { + var t; + return ( + "string" === typeof e ? (t = e) : wn(e) || (t = e.id), + Object.values(r).find(function (e) { + return e.groupInternal.windows.filter(function (e) { + return e === t; + }).length; + }) + ); + } + return ( + Object.keys(o).forEach(function (e) { + var t = o[e], + n = t.API.groupId, + r = t.API.id; + bn(n) || _(n, r); + }), + Qi.onRemoved(function (e) { + C(E(e.API), e); + }), + e.onCompositionChanged(function (e) { + I(e); + }), + e.onGroupHeaderVisibilityChanged(function (e) { + var t = d(e.windowId); + if ("undefined" !== typeof t) { + var n = r[t.id]; + (-1 === i && (i = t.windows.length), + 0 === --i && + ((i = -1), + n.groupInternal.handleGroupHeaderVisibilityChanged( + e + ))); + } + }), + e.onGroupVisibilityChanged(function (e) { + var t = r[e.groupId]; + t && t.groupInternal.handleGroupVisibilityChanged(e.visible); + }), + e.onGroupStateChanged(function (e) { + var t = r[e.groupId]; + "hibernated" === e.state + ? (t && + t.groupAPI && + t.groupInternal.handleGroupHibernateChanged(!0), + n.execute("group-hibernated", e.groupId)) + : "resumed" === e.state && + (t && + t.groupAPI && + t.groupInternal.handleGroupHibernateChanged(!1), + n.execute("group-resumed", t.groupAPI)); + }), + { + groupsAPI: { + get my() { + return c(); + }, + list: u, + findGroupByWindow: d, + waitForGroup: l, + onGroupAdded: m, + onGroupRemoved: g, + hibernate: f, + resume: p, + onHibernated: w, + onResumed: b + }, + groupsEvents: { onWindowMoved: y } + } + ); + }, + lo = function (e, t, n, r, i, o) { + var a, + s, + c = zr(), + u = t; + Qi.init(u); + var d = new Promise(function (t, c) { + so(e, u, n, r, i, o) + .then(function (n) { + ((s = n), (a = uo(n)), Ki.init(n.executor, e, u), t()); + }) + .catch(function (e) { + var t = + "Timed out waiting for connection to Glue42 Enterprise: Error: ".concat( + e.message + ); + (u.error(t, e), c(new Error(t))); + }); + }); + function l() { + return d; + } + function p() { + var e = Qi.getIfReady(s.my()); + return e ? e.API : void 0; + } + function h(e, t, n, r, i) { + return Xi.callbackifyPromise( + function () { + if (bn(e)) throw new Error("The window name is missing."); + if (bn(t)) throw new Error("The window URL is missing."); + if (!wn(n)) + for ( + var r = n, + i = 0, + o = [ + "minHeight", + "maxHeight", + "minWidth", + "maxWidth", + "width", + "height", + "top", + "left" + ]; + i < o.length; + i++ + ) { + var a = o[i]; + if (a in r) { + var c = r[a]; + if (wn(c)) { + delete r[a]; + continue; + } + if (!fn(c)) { + var u = "".concat(a, " must be a number"); + throw new Error(u); + } + if ( + ("width" === r[a] || "height" === r[a]) && + c <= 0 + ) { + var d = "".concat( + a, + " must be a positive number" + ); + throw new Error(d); + } + } + } + return s.open(e, t, n); + }, + r, + i + ); + } + function f(e, t, n) { + var r = Qi.list, + i = Object.keys(r).reduce(function (t, n) { + var i, + o = r[n]; + return ( + (null === + (i = null === o || void 0 === o ? void 0 : o.API) || + void 0 === i + ? void 0 + : i.name) === e && t.push(o.API), + t + ); + }, []); + if (i[0]) return ("function" === typeof t && t(i[0]), i[0]); + "function" === typeof n && n("There is no window with name:" + e); + } + function v(e, t, n) { + var r = Qi.list, + i = Object.keys(r).reduce(function (t, n) { + var i = r[n]; + return ( + "undefined" !== typeof i && + i.API.id === e && + t.push(i.API), + t + ); + }, []); + if (i[0]) return ("function" === typeof t && t(i[0]), i[0]); + "function" === typeof n && + n("There is no window with such id:" + e); + } + function m(e) { + var t = Qi.list, + n = Object.keys(t).map(function (e) { + return t[e].API; + }); + if ("function" !== typeof e) return n; + e(n); + } + function g(e) { + var t = p(), + n = t ? t.id : ""; + return oo.configure(n, e); + } + function y(e) { + return c.add("window-added", e); + } + function w(e) { + return c.add("window-removed", e); + } + function b(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.tabAttached(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function k(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.tabDetached(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function x(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.onWindowFrameColorChanged(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function _(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.onWindowGotFocus(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function C(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.onWindowLostFocus(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function I(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.onEvent(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function S(e, t) { + return s.createFlydown(e, t); + } + function E(e, t) { + return s.showPopup(e, t); + } + function W(e) { + c.execute("window-added", e.API); + } + function T(e) { + c.execute("window-removed", e.API); + } + return ( + Qi.onReadyWindow(W), + Qi.onRemoved(T), + { + my: p, + open: h, + find: f, + findById: v, + list: m, + ready: l, + onWindowAdded: y, + windowAdded: y, + onWindowRemoved: w, + windowRemoved: w, + onTabAttached: b, + onTabDetached: k, + onWindowFrameColorChanged: x, + get groups() { + return a.groupsAPI; + }, + onWindowGotFocus: _, + onWindowLostFocus: C, + onEvent: I, + createFlydown: S, + showPopup: E, + configure: g + } + ); + }, + po = new ((function () { + function e() { + (v(this, e), (this.layouts = [])); + } + return ( + m(e, [ + { + key: "removeWhere", + value: function (e) { + this.layouts = this.layouts.filter(e); + } + }, + { + key: "removeAll", + value: function () { + this.layouts = []; + } + }, + { + key: "add", + value: function (e) { + this.layouts.push(e); + } + }, + { + key: "all", + get: function () { + return this.layouts; + } + }, + { + key: "where", + value: function (e) { + return this.layouts.filter(e); + } + }, + { + key: "first", + value: function (e) { + return this.where(e)[0]; + } + } + ]), + e + ); + })())(), + ho = "T42.HC.GetSaveContext", + fo = (function () { + function e(t, n, r, i) { + (v(this, e), + (this.config = t), + (this.activitiesGetter = n), + (this.callbacks = r), + (this.logger = i), + (this.interop = t.agm), + this.registerRequestMethods()); + } + return ( + m(e, [ + { + key: "onSaveRequested", + value: function (e) { + return this.callbacks.add("saveRequested", e); + } + }, + { + key: "isActivityOwner", + value: function () { + if ("undefined" !== typeof htmlContainer) { + var e = htmlContainer.getContext(); + return e && e._t42 && e._t42.activityIsOwner; + } + var t = this.activitiesGetter(); + if (!t) return !1; + if (!t.inActivity) return !1; + var n = t.my.window, + r = t.my.activity; + return !(!r && !n) && r.owner.id === n.id; + } + }, + { + key: "registerRequestMethods", + value: function () { + var e = this; + this.interop.register(ho, function (t) { + var n = e.callbacks.execute("saveRequested", t); + (null === n || void 0 === n ? void 0 : n.length) > + 1 && + e.logger.warn( + 'Multiple subscriptions for "glue.layouts.onSaveRequested" - only the first one will be used' + ); + var r = n[0], + i = e.config.autoSaveWindowContext; + if ("boolean" === typeof i && i) + return { autoSaveWindowContext: i }; + if (Array.isArray(i) && i.length > 0) + return { autoSaveWindowContext: i }; + var o = { + windowContext: + null === r || void 0 === r + ? void 0 + : r.windowContext, + activityContext: void 0 + }; + return ( + e.isActivityOwner() && + (o.activityContext = + null === r || void 0 === r + ? void 0 + : r.activityContext), + o + ); + }); + } + } + ]), + e + ); + })(); + function vo(e) { + if (!e) return e; + if (Array.isArray(e)) + return e.map(function (e) { + return vo(e); + }); + if ( + "string" === typeof e || + "number" === typeof e || + "boolean" === typeof e + ) + return e; + var t = {}; + return Object.keys(e).reduce(function (t, n) { + var r, + i = vo(e[n]), + o = n; + return ( + (null === (r = n[0]) || void 0 === r ? void 0 : r.toLowerCase()) !== + n[0] && (o = n[0].toLowerCase() + n.substr(1)), + (t[o] = i), + t + ); + }, t); + } + var mo = m(function e(t) { + (v(this, e), + (this.name = t.name), + (this.type = t.type), + (this.components = t.components), + (this.context = t.context), + (this.metadata = t.metadata), + (this.version = t.version), + (this.displays = t.displays)); + }), + go = "T42.ACS.Command", + yo = (function () { + function e(t, n, r, i) { + (v(this, e), + (this.config = t), + (this.stream = n), + (this.callbacks = r), + (this.isRegisterMethodForLayoutModified = !1), + (this.appManager = t.appManager), + (this.provider = new fo(t, t.activityGetter, r, i)), + n.subscribe()); + } + return ( + m(e, [ + { + key: "setDefaultGlobal", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = + "SelectDefaultLayout"), + (e.next = 3), + this.invokeMethodCore( + n, + { name: t } + ) + ); + case 3: + return e.abrupt("return"); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clearDefaultGlobal", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = + "DeselectDefaultLayout"), + this.invokeMethodCore( + t + ), + e.abrupt("return") + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getDefaultGlobal", + value: (function () { + var e = s( + a().mark(function e() { + var t, n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = + "GetDefaultLayout"), + (e.next = 3), + this.invokeMethodCore(t) + ); + case 3: + if ( + ((n = e.sent), + (r = n.returned)) + ) { + e.next = 7; + break; + } + return e.abrupt( + "return", + void 0 + ); + case 7: + if (!this.isSlimMode()) { + e.next = 9; + break; + } + return e.abrupt( + "return", + r + ); + case 9: + return e.abrupt( + "return", + this.list().find( + function (e) { + return ( + e.name === + r.name && + "Global" === + e.type + ); + } + ) + ); + case 10: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "ready", + value: function () { + return "fullWaitSnapshot" === this.config.mode + ? this.stream.gotSnapshot + : this.stream.ready; + } + }, + { + key: "save", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i, o; + if ((t.verifyNotSlimMode(), wn(e))) + return r(new Error("layout is required")); + if (bn(e.name)) + return r( + new Error( + "layout.name argument is required" + ) + ); + (bn(e.type) && (e.type = "Global"), + bn(e.activityId) || (e.type = "Activity")); + var a = { + name: e.name, + type: e.type, + context: + null !== (i = e.context) && void 0 !== i + ? i + : {}, + metadata: + null !== (o = e.metadata) && void 0 !== o + ? o + : {}, + options: {} + }; + if ("Activity" === e.type) { + var s = e.activityId; + if (!s) { + if (!t.appManager.myInstance.inActivity) + return r( + new Error( + "Current application is not in activity. Cannot save activity layout for it." + ) + ); + s = t.appManager.myInstance.activityId; + } + a.activityId = s; + } else { + if ("Global" !== e.type) + return r( + new Error( + "layout type ".concat( + e.type, + " is not supported" + ) + ) + ); + (Array.isArray(e.ignoreInstances) && + (a.options.ignoreInstances = + e.ignoreInstances), + Array.isArray(e.instances) && + (a.options.instances = e.instances)); + } + t.invokeMethodAndTrack("SaveLayout", a, n, r); + }); + } + }, + { + key: "restore", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i, o, a; + if ((t.verifyNotSlimMode(), wn(e))) + return r( + new Error("options argument is required") + ); + if (bn(e.name)) + return r( + new Error( + "options.name argument is required" + ) + ); + if ( + (bn(e.type) && (e.type = "Global"), + bn(e.activityIdToJoin) || (e.type = "Activity"), + "Activity" === e.type) + ) { + if ( + (wn(e.setActivityContext) && + (e.setActivityContext = !0), + "boolean" !== typeof e.setActivityContext) + ) + return r( + new Error( + "`setActivityContext` must hold a boolean value." + ) + ); + e.activityIdToJoin = + null !== (i = e.activityIdToJoin) && + void 0 !== i + ? i + : t.appManager.myInstance.activityId; + } + if ( + (wn(e.closeRunningInstance) || + (e.closeRunningInstances = + e.closeRunningInstance), + wn(e.closeRunningInstances) && + (e.closeRunningInstances = !0), + !kn(e.closeRunningInstances)) + ) + return r( + new Error( + "`closeRunningInstances` must hold a boolean value." + ) + ); + if ( + (wn(e.closeMe) && + (e.closeMe = e.closeRunningInstances), + !kn(e.closeMe)) + ) + return r( + new Error( + "`closeMe` must hold a boolean value." + ) + ); + if (!wn(e.context) && !mn(e.context)) + return r( + new Error( + "`context` must hold an object value." + ) + ); + if (!wn(e.timeout) && "number" !== typeof e.timeout) + return r( + new Error( + "`timeout` must hold an number value." + ) + ); + e.context = + null !== (o = e.context) && void 0 !== o + ? o + : {}; + var s = { + activityToJoin: e.activityIdToJoin, + setActivityContext: e.setActivityContext, + ignoreActivityWindowTypes: + e.ignoreActivityWindowTypes, + reuseExistingWindows: e.reuseWindows, + closeRunningInstances: + e.closeRunningInstances, + excludeFromClosing: e.closeMe + ? [] + : [ + null === + (a = + t.appManager + .myInstance) || + void 0 === a + ? void 0 + : a.id + ] + }, + c = { + type: e.type, + name: e.name, + context: e.context, + options: s + }; + (e.timeout && (c.timeout = e.timeout), + t.invokeMethodAndTrack( + "RestoreLayout", + c, + n, + r, + !0 + )); + }); + } + }, + { + key: "remove", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + if ((n.verifyNotSlimMode(), !t)) + return i( + new Error("name argument is required") + ); + if (!e) + return i( + new Error("type argument is required") + ); + var o = { type: e, name: t }; + n.invokeMethodAndTrack("RemoveLayout", o, r, i); + }); + } + }, + { + key: "list", + value: function () { + return (this.verifyNotSlimMode(), po.all); + } + }, + { + key: "import", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + if ( + (n.verifyNotSlimMode(), + !wn(t) && "merge" !== t && "replace" !== t) + ) + return i( + new Error( + "".concat( + t, + ' is not supported - only "merge" and "replace"' + ) + ) + ); + if (!Array.isArray(e)) + return i( + new Error( + "layouts arguments is not an array" + ) + ); + var o = { mode: t || "replace", layouts: e }; + n.invokeMethodAndTrack( + "ImportLayouts", + o, + r, + i, + !0 + ); + }); + } + }, + { + key: "export", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i = function (r) { + var i = t + .getObjectValues(r.Layouts) + .map(function (e) { + return new mo(vo(e)); + }); + (e && + (i = i.filter(function (t) { + return t.type === e; + })), + n(i)); + }; + t.invokeMethodAndTrack( + "ExportLayouts", + {}, + i, + r, + !0 + ); + }); + } + }, + { + key: "rename", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + if ((n.verifyNotSlimMode(), !e)) + return i( + new Error("layout argument is required") + ); + if (!e.name) + return i( + new Error("name argument is required") + ); + if (!e.type) + return i( + new Error("type argument is required") + ); + var o = { + type: e.type, + oldName: e.name, + newName: t + }; + n.invokeMethodAndTrack("RenameLayout", o, r, i); + }); + } + }, + { + key: "updateMetadata", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + if (!e) + return r( + new Error("layout argument is required") + ); + if (!e.name) + return r( + new Error("name argument is required") + ); + if (!e.type) + return r( + new Error("type argument is required") + ); + if (!e.metadata) + return r( + new Error("metadata argument is required") + ); + var i = { + name: e.name, + type: e.type, + metadata: e.metadata + }; + t.invokeMethodAndTrack( + "UpdateMetadata", + i, + n, + r, + !0 + ); + }); + } + }, + { + key: "hibernate", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + if (!e) return i(new Error("name cannot be empty")); + var o = { + name: e, + type: "Global", + context: (t = t || {}).context || {}, + metadata: t.metadata || {} + }; + n.invokeMethodAndTrack( + "HibernateLayout", + o, + r, + i, + !0 + ); + }); + } + }, + { + key: "resume", + value: function (e, t, n) { + var r = this; + return new Promise(function (i, o) { + if (!e) return o(new Error("name cannot be empty")); + var a = c( + { name: e, type: "Global", context: t }, + n + ); + r.invokeMethodAndTrack("ResumeLayout", a, i, o, !0); + }); + } + }, + { + key: "getCurrentLayout", + value: (function () { + var e = s( + a().mark(function e() { + var t, n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = + "GetCurrentLayout"), + (e.next = 3), + this.invokeMethodCore(t) + ); + case 3: + if ( + ((n = e.sent), + (r = n.returned.layout)) + ) { + e.next = 7; + break; + } + return e.abrupt( + "return", + void 0 + ); + case 7: + return ( + this.isSlimMode() || + (r = + this.list().find( + function ( + e + ) { + return ( + e.name === + r.name && + e.type === + r.type + ); + } + )), + e.abrupt("return", r) + ); + case 9: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "onAdded", + value: function (e) { + var t = this.callbacks.add("added", e); + return ( + po.all.length > 0 && + po.all.forEach(function (t) { + try { + e(t); + } catch (n) {} + }), + t + ); + } + }, + { + key: "onRemoved", + value: function (e) { + return this.callbacks.add("removed", e); + } + }, + { + key: "onChanged", + value: function (e) { + return this.callbacks.add("changed", e); + } + }, + { + key: "onRestored", + value: function (e) { + return this.callbacks.add("restored", e); + } + }, + { + key: "onRenamed", + value: function (e) { + return this.callbacks.add("renamed", e); + } + }, + { + key: "onEvent", + value: function (e) { + return this.stream.onEvent(e); + } + }, + { + key: "onSaveRequested", + value: function (e) { + return this.provider.onSaveRequested(e); + } + }, + { + key: "onLayoutModified", + value: function (e) { + return ( + !1 === this.isRegisterMethodForLayoutModified && + ((this.isRegisterMethodForLayoutModified = !0), + this.registerMethodForLayoutModified()), + this.callbacks.add("layout-modified", e) + ); + } + }, + { + key: "updateAppContextInCurrent", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + if (e && "object" !== typeof e) + return r( + new Error("context must be an object") + ); + var i = { + context: (e = + null !== e && void 0 !== e ? e : {}) + }; + t.invokeMethodAndTrack( + "UpdateLayoutComponentContext", + i, + n, + r, + !0 + ); + }); + } + }, + { + key: "updateDefaultContext", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + if (e && "object" !== typeof e) + return r( + new Error("context must be an object") + ); + var i = { + context: (e = + null !== e && void 0 !== e ? e : {}) + }; + t.invokeMethodAndTrack( + "UpdateDefaultContext", + i, + n, + r, + !0 + ); + }); + } + }, + { + key: "get", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + (r = this.list().find( + function (e) { + return ( + e.name === + t && + e.type === n + ); + } + )) + ) { + e.next = 3; + break; + } + throw new Error( + "cannot find layout with name=" + .concat( + t, + " and type=" + ) + .concat(n) + ); + case 3: + return e.abrupt( + "return", + r + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getAll", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = this.list().filter( + function (e) { + return ( + t === e.type + ); + } + )), + e.abrupt("return", n) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "forceRefresh", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = "RefreshLayouts"), + (e.next = 3), + this.invokeMethodCore(t) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "isSlimMode", + value: function () { + return "slim" === this.config.mode; + } + }, + { + key: "verifyNotSlimMode", + value: function () { + if (this.isSlimMode()) + throw Error( + "Operation not allowed in slim mode. Run in full mode." + ); + } + }, + { + key: "registerMethodForLayoutModified", + value: (function () { + var e = s( + a().mark(function e() { + var t = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.config.agm.register( + "T42.ACS.LayoutModified", + function (e, n) { + t.callbacks.execute( + "layout-modified", + e + ); + } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "invokeMethodAndTrack", + value: function (e, t, n, r, i) { + var o, + a = i, + s = Vi(); + t.token = s; + var c = function () { + a && o && n(o); + }, + u = 12e4; + i || + this.stream + .waitFor(s, u) + .then(function () { + ((a = !0), c()); + }) + .catch(function (e) { + r(e); + }); + var d = function (t) { + if (!t.returned) + return r( + new Error("No result from method " + e) + ); + if ( + t.returned.status && + "Success" !== t.returned.status && + "PartialSuccess" !== t.returned.status + ) { + if ("string" === typeof t.returned) + return r(new Error(t.returned)); + if ("object" === typeof t.returned) + return t.returned.status && + t.returned.failed + ? r( + new Error( + "" + .concat( + t.returned.status, + ": " + ) + .concat( + JSON.stringify( + t.returned.failed + ) + ) + ) + ) + : r(new Error(t.returned)); + } + ((o = t.returned), c()); + }; + this.invokeMethodCore(e, t, "best", { + methodResponseTimeoutMs: u + }) + .then(d) + .catch(function (e) { + return r(e); + }); + } + }, + { + key: "invokeMethodCore", + value: (function () { + var e = s( + a().mark(function e(t, n, r, i) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + !this.isCommandMethodPresent() + ) { + e.next = 6; + break; + } + return ( + (e.next = 3), + this.config.agm.invoke( + go, + { + command: t, + data: n + }, + r, + i + ) + ); + case 3: + case 8: + return e.abrupt( + "return", + e.sent + ); + case 6: + return ( + (e.next = 8), + this.config.agm.invoke( + "T42.ACS.".concat( + t + ), + n, + r, + i + ) + ); + case 9: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r, i) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getObjectValues", + value: function (e) { + return e + ? Object.keys(e).map(function (t) { + return e[t]; + }) + : []; + } + }, + { + key: "isCommandMethodPresent", + value: function () { + return this.config.agm.methods().some(function (e) { + return e.name === go; + }); + } + } + ]), + e + ); + })(), + wo = (function () { + function e(t, n) { + var r = this; + (v(this, e), + (this.agm = t), + (this.callbacks = n), + (this.StreamName = "T42.ACS.OnLayoutEvent"), + (this.ready = new Promise(function (e, t) { + ((r.resolveReady = e), (r.rejectReady = t)); + })), + (this.gotSnapshot = new Promise(function (e, t) { + ((r.resolveGotSnapshot = e), (r.rejectGotSnapshot = t)); + }))); + } + return ( + m(e, [ + { + key: "subscribe", + value: function (e) { + var t = this, + n = function (e) { + return t.getObjectValues(e).map(function (e) { + return vo(e); + }); + }; + this.checkForLayoutEventMethod() + ? this.agm + .subscribe(this.StreamName, { + waitTimeoutMs: 1e4 + }) + .then(function (e) { + (e.onData(function (e) { + var r = e.data; + (r.IsSnapshot && + t.resolveGotSnapshot(), + t.addLayouts( + n(r.OnLayoutAdded), + r.IsSnapshot + ), + t.removeLayouts( + n(r.OnLayoutRemoved) + ), + t.changeLayouts( + n(r.OnLayoutChanged) + ), + t.renameLayouts( + n(r.OnLayoutRenamed) + ), + t.restoredLayout( + n(r.OnLayoutRestored) + ), + t.callbacks.execute( + "streamEvent", + r + )); + }), + e.onFailed(function (e) { + var n = 'Can not subscribe to "' + .concat( + t.StreamName, + '" stream - ' + ) + .concat(JSON.stringify(e)); + (t.rejectReady(n), + t.rejectGotSnapshot(n)); + }), + t.resolveReady()); + }) + .catch(function (e) { + var n = 'Error subscribing to "' + .concat(t.StreamName, '" stream - ') + .concat(JSON.stringify(e)); + (t.rejectReady(n), + t.rejectGotSnapshot(n)); + }) + : (e && this.resolveReady(), + setTimeout(function () { + t.subscribe(!0); + }, 500)); + } + }, + { + key: "onEvent", + value: function (e) { + return this.callbacks.add("streamEvent", e); + } + }, + { + key: "waitFor", + value: function (e, t) { + var n = this; + return ( + t || (t = 3e4), + new Promise(function (r, i) { + var o = !1, + a = n.onEvent(function (t) { + t.Token === e && ((o = !0), a(), r()); + }); + setTimeout(function () { + o || i("timed out"); + }, t); + }) + ); + } + }, + { + key: "checkForLayoutEventMethod", + value: function () { + try { + return ( + -1 !== + this.agm + .methods() + .map(function (e) { + return e.name; + }) + .indexOf(this.StreamName) + ); + } catch (e) { + return !1; + } + } + }, + { + key: "addLayouts", + value: function (e, t) { + var n = this; + if (e) { + var r = function (e) { + var t = new mo(e); + (po.add(t), n.callbacks.execute("added", t)); + }; + e.forEach(function (e) { + (t && + po.first(function (t) { + return n.compareLayouts(t, e); + })) || + r(e); + }); + } + } + }, + { + key: "removeLayouts", + value: function (e) { + var t = this; + e && + e.forEach(function (e) { + (po.removeWhere(function (n) { + return !t.compareLayouts(n, e); + }), + t.callbacks.execute("removed", e)); + }); + } + }, + { + key: "changeLayouts", + value: function (e) { + var t = this; + e && + e.forEach(function (e) { + (po.removeWhere(function (n) { + return !t.compareLayouts(n, e); + }), + po.add(new mo(e)), + t.callbacks.execute("changed", e)); + }); + } + }, + { + key: "renameLayouts", + value: function (e) { + var t = this; + e && + e.forEach(function (e) { + var n = po.first(function (n) { + return t.compareLayouts(n, { + type: e.type, + name: e.oldName + }); + }); + if (!n) + throw Error( + "received rename event for unknown layout with type " + .concat(e.type, " and name ") + .concat(e.oldName) + ); + ((n.name = e.newName), + t.callbacks.execute("renamed", n)); + }); + } + }, + { + key: "compareLayouts", + value: function (e, t) { + return e.name === t.name && e.type === t.type; + } + }, + { + key: "getObjectValues", + value: function (e) { + return e + ? Object.keys(e).map(function (t) { + return e[t]; + }) + : []; + } + }, + { + key: "restoredLayout", + value: function (e) { + var t = this; + e && + e.forEach(function (e) { + var n = po.first(function (n) { + return t.compareLayouts(n, { + type: e.type, + name: e.name + }); + }); + t.callbacks.execute("restored", n); + }); + } + } + ]), + e + ); + })(); + function bo(e) { + if (!e.agm) throw Error("config.agm is required"); + if (!e.logger) throw Error("config.logger is required"); + e.mode = e.mode || "slim"; + var t, + n = e.logger, + r = zr(); + return (e.mode, (t = new wo(e.agm, r)), new yo(e, t, r, n)); + } + var ko, + xo, + _o, + Co = "T42.Displays.Command", + Io = "T42.Displays.OnEvent", + So = (function () { + function e(t, n) { + var r = this; + (v(this, e), + (this._agm = t), + (this._logger = n), + (this._registry = zr()), + (this._registered = !1), + (this.all = s( + a().mark(function e() { + var t; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r.callGD(ko.GetAll, {}) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.map(r.decorateDisplay) + ) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )), + (this.get = (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r.callGD(ko.Get, { id: t }) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + r.decorateDisplay(n) + ) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (this.getPrimary = s( + a().mark(function e() { + var t; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ((e.next = 2), r.all()); + case 2: + return ( + (t = e.sent.find(function (e) { + return e.isPrimary; + })), + e.abrupt("return", t) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )), + (this.capture = (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r.callGD(ko.Capture, c({}, t)) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (this.captureAll = (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r.callGD( + ko.CaptureAll, + c({}, t) + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (this.getMousePosition = s( + a().mark(function e() { + var t; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r.callGD(ko.GetMousePosition) + ); + case 2: + return ( + (t = e.sent), + e.abrupt("return", t) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )), + (this.callGD = (function () { + var e = s( + a().mark(function e(t, n) { + var i; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r._agm.invoke(Co, { + options: c({}, n), + command: t + }) + ); + case 2: + return ( + (i = e.sent), + e.abrupt( + "return", + i.returned.data + ) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })()), + (this.decorateDisplay = function (e) { + var t = c( + c({}, e), + {}, + { + capture: function (t) { + return r.capture({ id: e.id, size: t }); + } + } + ), + n = t.workArea; + return ((n.x = n.left), (n.y = t.workArea.top), t); + })); + } + return ( + m(e, [ + { + key: "getByWindowId", + value: function (e) { + return this.callGD(ko.GetByWindowId, { id: e }); + } + }, + { + key: "onDisplayChanged", + value: function (e) { + return ( + this.register(), + this._registry.add("on-display-changed", e) + ); + } + }, + { + key: "register", + value: function () { + var e = this; + this._registered || + ((this._registered = !0), + this._agm.register(Io, function (t, n) { + var r = t.event, + i = t.data; + "display-changed" === r + ? e._registry.execute( + "on-display-changed", + i.displays.map(e.decorateDisplay) + ) + : e._logger.warn( + "unknown event - ".concat(r) + ); + })); + } + } + ]), + e + ); + })(); + !(function (e) { + ((e.Capture = "capture"), + (e.CaptureAll = "captureAll"), + (e.GetAll = "getAll"), + (e.Get = "get"), + (e.GetByWindowId = "getByWindowId"), + (e.GetMousePosition = "getMousePosition")); + })(ko || (ko = {})); + var Eo = "T42.Channels.Announce"; + function Wo(e, t) { + return To.apply(this, arguments); + } + function To() { + return (To = s( + a().mark(function e(t, n) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((xo = t), + "undefined" !== typeof window && + window.glue42gd && + (_o = window.glue42gd.windowId), + _o) + ) { + e.next = 4; + break; + } + return e.abrupt("return"); + case 4: + return ( + (e.next = 6), + xo.register( + "T42.Channels.Command", + function (e) { + var t = e.command; + if (!t) + throw new Error( + "missing command argument" + ); + if ("join" !== t) { + if ("leave" !== t) { + if ("get" === t) + return { id: n.current() }; + throw new Error( + "unknown command ".concat(t) + ); + } + n.leaveNoSelectorSwitch(); + } else { + var r = e.channel; + if (!r) + throw new Error( + "missing argument id" + ); + n.joinNoSelectorSwitch(r); + } + } + ) + ); + case 6: + return ( + (e.next = 8), + xo.invoke("T42.Channels.Announce", { + swId: _o, + instance: xo.instance.instance + }) + ); + case 8: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Ao(e, t) { + return Po.apply(this, arguments); + } + function Po() { + return (Po = s( + a().mark(function e(t, n) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + xo.invoke("T42.Channels.Announce", { + swId: null !== n && void 0 !== n ? n : _o, + command: "switchChannel", + data: { newChannel: t } + }); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Mo(e) { + return Ro.apply(this, arguments); + } + function Ro() { + return (Ro = s( + a().mark(function e(t) { + var n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + xo.invoke(Eo, { + command: "getChannelsInfo", + data: { filter: t } + }) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n.returned) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Oo(e, t, n) { + return Do.apply(this, arguments); + } + function Do() { + return (Do = s( + a().mark(function e(t, n, r) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + xo.invoke(Eo, { + command: t, + data: { id: n, color: r } + }) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + var Lo = "___channel___", + Bo = "latest_fdc3_type", + No = (function () { + function e(t) { + (v(this, e), (this.contexts = t)); + } + return ( + m(e, [ + { + key: "subscribe", + value: function (e) { + this.callback = e; + } + }, + { + key: "subscribeFor", + value: function (e, t) { + if (!this.isChannel(e)) + return Promise.reject( + new Error( + "Channel with name: ".concat( + e, + " doesn't exist!" + ) + ) + ); + var n = this.createContextName(e); + return this.contexts.subscribe( + n, + function (e, n, r, i, o) { + t( + e.data, + e, + null === o || void 0 === o + ? void 0 + : o.updaterId + ); + } + ); + } + }, + { + key: "switchChannel", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.unsubscribe(), + (n = + this.createContextName( + t + )), + (e.next = 4), + this.contexts.subscribe( + n, + function ( + e, + t, + n, + i, + o + ) { + r.callback && + r.callback( + e.data, + e, + null === + o || + void 0 === + o + ? void 0 + : o.updaterId + ); + } + ) + ); + case 4: + this.unsubscribeFunc = + e.sent; + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "leave", + value: function () { + (this.callback && this.callback({}, void 0), + this.unsubscribe()); + } + }, + { + key: "all", + value: function () { + return this.contexts + .all() + .filter(function (e) { + return e.startsWith(Lo); + }) + .map(function (e) { + return e.substr(Lo.length); + }); + } + }, + { + key: "getContextData", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, i, o; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (this.isChannel(t)) { + e.next = 2; + break; + } + throw new Error( + "A channel with name: ".concat( + t, + " doesn't exist!" + ) + ); + case 2: + return ( + (n = + this.createContextName( + t + )), + (e.next = 5), + this.contexts.get(n) + ); + case 5: + if (!(i = e.sent)[Bo]) { + e.next = 9; + break; + } + return ( + i.latest_fdc3_type, + (o = r(i, g)), + e.abrupt("return", o) + ); + case 9: + return e.abrupt( + "return", + i + ); + case 10: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "updateChannel", + value: function (e, t) { + var n = this.createContextName(e); + return this.contexts.update(n, t); + } + }, + { + key: "updateData", + value: function (e, t) { + var n = this.createContextName(e), + r = this.getFDC3Type(t); + if (this.contexts.setPathSupported) { + var i = Object.keys(t).map(function (e) { + return { path: "data." + e, value: t[e] }; + }); + return ( + r && i.push({ path: Bo, value: r }), + this.contexts.setPaths(n, i) + ); + } + return ( + r && (t[Bo] = r), + this.contexts.update(n, { data: t }) + ); + } + }, + { + key: "isChannel", + value: function (e) { + return this.all().some(function (t) { + return t === e; + }); + } + }, + { + key: "remove", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (this.isChannel(t)) { + e.next = 2; + break; + } + throw new Error( + "A channel with name: ".concat( + t, + " doesn't exist!" + ) + ); + case 2: + return ( + (n = + this.createContextName( + t + )), + (e.next = 5), + this.contexts.destroy(n) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "unsubscribe", + value: function () { + this.unsubscribeFunc && this.unsubscribeFunc(); + } + }, + { + key: "createContextName", + value: function (e) { + return Lo + e; + } + }, + { + key: "getFDC3Type", + value: function (e) { + var t = Object.keys(e).filter(function (e) { + return 0 === e.indexOf("fdc3_"); + }); + if (0 !== t.length) { + if (t.length > 1) + throw new Error( + "FDC3 does not support updating of multiple context keys" + ); + return t[0].split("_").slice(1).join("_"); + } + } + } + ]), + e + ); + })(), + Fo = (function () { + function e(t, n, r, i) { + (v(this, e), + (this.shared = t), + (this.interop = n), + (this.getWindows = r), + (this.logger = i), + (this.subsKey = "subs"), + (this.changedKey = "changed"), + (this.isInitialJoin = !0), + (this.registry = zr()), + (this.pendingReplays = {}), + this.shared.subscribe(this.handler.bind(this)), + "undefined" !== typeof window && + "undefined" !== typeof window.glue42gd && + ((this.currentContext = window.glue42gd.initialChannel), + this.currentContext && + this.joinNoSelectorSwitch(this.currentContext))); + } + return ( + m(e, [ + { + key: "subscribe", + value: function (e) { + var t = this; + if ("function" !== typeof e) + throw new Error( + "Please provide the callback as a function!" + ); + var n = Vi(); + if (((this.pendingReplays[n] = !0), this.lastUpdate)) { + var r = Object.assign({}, this.lastUpdate); + setTimeout(function () { + (t.pendingReplays[n] && + (t.lastUpdate && (r = t.lastUpdate), + e(r.context.data, r.context, r.updaterId)), + delete t.pendingReplays[n]); + }, 0); + } + var i = this.registry.add(this.subsKey, e); + return function () { + ((t.pendingReplays[n] = !1), i()); + }; + } + }, + { + key: "subscribeFor", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("string" === typeof t) { + e.next = 2; + break; + } + throw new Error( + "Please provide the name as a string!" + ); + case 2: + if ( + "function" === typeof n + ) { + e.next = 4; + break; + } + throw new Error( + "Please provide the callback as a function!" + ); + case 4: + return ( + (e.next = 6), + this.shared.subscribeFor( + t, + n + ) + ); + case 6: + return ( + (r = e.sent), + e.abrupt("return", r) + ); + case 8: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "publish", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("object" === typeof t) { + e.next = 2; + break; + } + throw new Error( + "Please provide the data as an object!" + ); + case 2: + if (!n) { + e.next = 8; + break; + } + if ("string" === typeof n) { + e.next = 5; + break; + } + throw new Error( + "Please provide the name as a string!" + ); + case 5: + if ( + this.shared.isChannel(n) + ) { + e.next = 7; + break; + } + return e.abrupt( + "return", + Promise.reject( + new Error( + "A channel with name: ".concat( + n, + " doesn't exist!" + ) + ) + ) + ); + case 7: + return e.abrupt( + "return", + this.shared.updateData( + n, + t + ) + ); + case 8: + if (this.currentContext) { + e.next = 10; + break; + } + throw new Error( + "Not joined to any channel!" + ); + case 10: + return e.abrupt( + "return", + this.shared.updateData( + this.currentContext, + t + ) + ); + case 11: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "all", + value: function () { + var e = this.shared.all(); + return Promise.resolve(e); + } + }, + { + key: "list", + value: (function () { + var e = s( + a().mark(function e() { + var t, + n, + r = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.all() + ); + case 2: + return ( + (t = e.sent), + (e.next = 5), + Promise.all( + t.map(function (e) { + return r.get(e); + }) + ) + ); + case 5: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "get", + value: function (e) { + return "string" !== typeof e + ? Promise.reject( + new Error( + "Please provide the channel name as a string!" + ) + ) + : this.shared.getContextData(e); + } + }, + { + key: "getMy", + value: function () { + return this.currentContext + ? this.get(this.currentContext) + : Promise.resolve(void 0); + } + }, + { + key: "join", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!n) { + e.next = 2; + break; + } + return e.abrupt( + "return", + Ao(t, n) + ); + case 2: + return e.abrupt( + "return", + this.joinCore(t) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "joinNoSelectorSwitch", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this.joinCore(t, !1) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "leave", + value: function (e) { + return e ? Ao(void 0, e) : this.leaveCore(); + } + }, + { + key: "leaveNoSelectorSwitch", + value: function () { + return this.leaveCore(!1); + } + }, + { + key: "current", + value: function () { + return this.currentContext; + } + }, + { + key: "my", + value: function () { + return this.current(); + } + }, + { + key: "changed", + value: function (e) { + var t = this; + if ("function" !== typeof e) + throw new Error( + "Please provide the callback as a function!" + ); + return ( + this.current() && + setTimeout(function () { + e(t.current()); + }, 0), + this.registry.add(this.changedKey, e) + ); + } + }, + { + key: "onChanged", + value: function (e) { + return this.changed(e); + } + }, + { + key: "add", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("object" === typeof t) { + e.next = 2; + break; + } + throw new Error( + "Please provide the info as an object!" + ); + case 2: + if ( + "undefined" !== + typeof t.name + ) { + e.next = 4; + break; + } + throw new Error( + "info.name is missing!" + ); + case 4: + if ( + "string" === + typeof t.name + ) { + e.next = 6; + break; + } + throw new Error( + "Please provide the info.name as a string!" + ); + case 6: + if ( + "undefined" !== + typeof t.meta + ) { + e.next = 8; + break; + } + throw new Error( + "info.meta is missing!" + ); + case 8: + if ( + "object" === + typeof t.meta + ) { + e.next = 10; + break; + } + throw new Error( + "Please provide the info.meta as an object!" + ); + case 10: + if ( + "undefined" !== + typeof t.meta.color + ) { + e.next = 12; + break; + } + throw new Error( + "info.meta.color is missing!" + ); + case 12: + if ( + "string" === + typeof t.meta.color + ) { + e.next = 14; + break; + } + throw new Error( + "Please provide the info.meta.color as a string!" + ); + case 14: + return ( + (n = { + name: t.name, + meta: t.meta || {}, + data: t.data || {} + }), + (e.next = 17), + this.shared.updateChannel( + t.name, + n + ) + ); + case 17: + return ( + (e.next = 19), + Oo( + "addChannel", + t.name, + t.meta.color + ) + ); + case 19: + return e.abrupt( + "return", + n + ); + case 20: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "remove", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("string" === typeof t) { + e.next = 2; + break; + } + throw new Error( + "Please provide the channel name as a string!" + ); + case 2: + return ( + (e.next = 4), + this.shared.remove(t) + ); + case 4: + return ( + (e.next = 6), + Oo("removeChannel", t) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getWindowsOnChannel", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("string" === typeof t) { + e.next = 2; + break; + } + throw new Error( + "Please provide the channel name as a string!" + ); + case 2: + return ( + (e.next = 4), + this.getWindowsWithChannels( + { channels: [t] } + ) + ); + case 4: + return ( + (n = e.sent), + e.abrupt( + "return", + n.map(function (e) { + return e.window; + }) + ) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getWindowsWithChannels", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (e.next = 3), + Mo(t) + ); + case 3: + if ( + ((n = e.sent), + (r = this.getWindows()), + !(null === n || + void 0 === n + ? void 0 + : n.windows)) + ) { + e.next = 7; + break; + } + return e.abrupt( + "return", + n.windows.map( + function (e) { + return { + window: r.findById( + e.windowId + ), + channel: + e.channel, + application: + e.application + }; + } + ) + ); + case 7: + e.next = 12; + break; + case 9: + ((e.prev = 9), + (e.t0 = e.catch(0)), + this.logger.error( + "Error getting all channel enabled windows. This method is available since Glue42 3.12", + e.t0 + )); + case 12: + return e.abrupt( + "return", + [] + ); + case 13: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 9]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "handler", + value: function (e, t, n) { + t || n + ? ((this.lastUpdate = { context: t, updaterId: n }), + (this.pendingReplays = {}), + this.registry.execute(this.subsKey, e, t, n)) + : (this.lastUpdate = void 0); + } + }, + { + key: "joinCore", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r, + i, + o = this, + s = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = + !( + s.length > 1 && + void 0 !== s[1] + ) || s[1]), + "string" === typeof t) + ) { + e.next = 3; + break; + } + throw new Error( + "Please provide the channel name as a string!" + ); + case 3: + if ( + this.isInitialJoin || + t !== + this.currentContext + ) { + e.next = 5; + break; + } + return e.abrupt("return"); + case 5: + if ( + ((this.isInitialJoin = + !1), + (r = function (e) { + return o.shared + .all() + .includes(e); + })(t)) + ) { + e.next = 11; + break; + } + return ( + (i = new Promise( + function (e, n) { + var i = + setInterval( + function () { + r( + t + ) && + (clearTimeout( + o + ), + clearInterval( + i + ), + e()); + }, + 100 + ), + o = + setTimeout( + function () { + return ( + clearInterval( + i + ), + n( + new Error( + "A channel with name: ".concat( + t, + " doesn't exist!" + ) + ) + ) + ); + }, + 3e3 + ); + } + )), + (e.next = 11), + i + ); + case 11: + return ( + (this.currentContext = + t), + (this.lastUpdate = + void 0), + (e.next = 15), + this.shared.switchChannel( + t + ) + ); + case 15: + (n && Ao(t), + this.registry.execute( + this.changedKey, + t + )); + case 17: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "leaveCore", + value: function () { + var e = + !( + arguments.length > 0 && void 0 !== arguments[0] + ) || arguments[0]; + return ( + (this.currentContext = void 0), + this.registry.execute(this.changedKey, void 0), + this.shared.leave(), + e && Ao(), + Promise.resolve() + ); + } + } + ]), + e + ); + })(); + function jo(e, t, n, r) { + var i = new No(e), + o = new Fo(i, t, n, r), + c = Wo(t, o); + return { + subscribe: o.subscribe.bind(o), + subscribeFor: o.subscribeFor.bind(o), + publish: o.publish.bind(o), + all: o.all.bind(o), + list: o.list.bind(o), + get: o.get.bind(o), + join: o.join.bind(o), + leave: o.leave.bind(o), + current: o.current.bind(o), + my: o.my.bind(o), + changed: o.changed.bind(o), + onChanged: o.onChanged.bind(o), + add: o.add.bind(o), + remove: o.remove.bind(o), + getWindowsOnChannel: o.getWindowsOnChannel.bind(o), + getWindowsWithChannels: o.getWindowsWithChannels.bind(o), + getMy: o.getMy.bind(o), + ready: (function () { + var t = s( + a().mark(function t() { + return a().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Promise.all([e.ready(), c]) + ); + case 2: + case "end": + return t.stop(); + } + }, t); + }) + ); + function n() { + return t.apply(this, arguments); + } + return n; + })() + }; + } + var Ho = "T42.Hotkeys.Command", + zo = "T42.Hotkeys.Invoke", + qo = "register", + Go = "unregister", + Uo = "unregisterAll", + Vo = (function () { + function e(t) { + (v(this, e), + (this.agm = t), + (this.registry = zr()), + (this.firstHotkey = !0), + (this.hotkeys = new Map())); + } + return ( + m(e, [ + { + key: "register", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + "undefined" !== typeof t + ) { + e.next = 2; + break; + } + throw new Error( + "Hotkey parameter missing" + ); + case 2: + if ("string" !== typeof t) { + e.next = 6; + break; + } + ((t = { hotkey: t }), + (e.next = 9)); + break; + case 6: + if (t.hotkey) { + e.next = 8; + break; + } + throw new Error( + "Info's hotkey parameter missing" + ); + case 8: + t = { + hotkey: t.hotkey, + description: + t.description + }; + case 9: + if ( + ((r = this.formatHotkey( + t.hotkey + )), + !this.hotkeys.has(r)) + ) { + e.next = 12; + break; + } + throw new Error( + "Shortcut for ".concat( + r, + " already registered" + ) + ); + case 12: + if (!this.firstHotkey) { + e.next = 16; + break; + } + return ( + (this.firstHotkey = !1), + (e.next = 16), + this.registerInvokeAGMMethod() + ); + case 16: + return ( + this.registry.add(r, n), + (e.next = 19), + this.agm.invoke(Ho, { + command: qo, + hotkey: r, + description: + t.description + }) + ); + case 19: + this.hotkeys.set(r, t); + case 20: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "unregister", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + "undefined" !== typeof t + ) { + e.next = 2; + break; + } + throw new Error( + "hotkey parameter missing" + ); + case 2: + if ("string" === typeof t) { + e.next = 4; + break; + } + throw new Error( + "hotkey parameter must be string" + ); + case 4: + return ( + (n = + this.formatHotkey( + t + )), + (e.next = 7), + this.agm.invoke(Ho, { + command: Go, + hotkey: n + }) + ); + case 7: + (this.hotkeys.delete(n), + this.registry.clearKey( + n + )); + case 9: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "unregisterAll", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.agm.invoke(Ho, { + command: Uo + }) + ); + case 2: + (this.hotkeys.clear(), + this.registry.clear()); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "isRegistered", + value: function (e) { + var t = this.formatHotkey(e); + return this.hotkeys.has(t); + } + }, + { + key: "registerInvokeAGMMethod", + value: function () { + var e = this; + return this.agm.register(zo, function (t) { + var n = t.key.toLowerCase(), + r = e.hotkeys.get(n); + e.registry.execute(n, r); + }); + } + }, + { + key: "formatHotkey", + value: function (e) { + if (e) return e.replace(/\s/g, "").toLowerCase(); + } + } + ]), + e + ); + })(); + function $o(e) { + var t = new Vo(e); + return { + register: t.register.bind(t), + unregister: t.unregister.bind(t), + unregisterAll: t.unregisterAll.bind(t), + isRegistered: t.isRegistered.bind(t), + ready: function () { + return Promise.resolve(); + } + }; + } + var Jo = "6.0.1", + Ko = function (e) { + function t(e, t, r) { + if ("boolean" !== typeof e || e) { + var i = n(e, t, r); + if ("undefined" !== typeof i) + return "object" === typeof e + ? ((e.mode = i), e) + : { mode: i }; + } + } + function n(e, t, r) { + return "object" === typeof e + ? n(e.mode, t, r).toString() + : "undefined" === typeof e + ? "boolean" !== typeof t || t + ? "boolean" === typeof t && t + ? "undefined" === typeof r + ? t + : r + : "undefined" === typeof t + ? void 0 + : t + : void 0 + : "boolean" === typeof e + ? e + ? "undefined" === typeof r + ? t + : r + : void 0 + : e; + } + var r = !0, + i = "startOnly", + o = !Xi.isNode() && "trackMyTypeAndInitiatedFromMe", + a = "trackMyTypeAndInitiatedFromMe", + s = "slim", + c = s, + u = + "boolean" === typeof e.exposeAPI || + "boolean" === typeof e.exposeGlue; + return { + layouts: t(e.layouts, s, c), + activities: t(e.activities, o, a), + appManager: t(e.appManager, r, i), + windows: t(e.windows, !0, !0), + channels: t(e.channels, !1, !0), + displays: t(e.displays, !0, !0), + exposeAPI: u || !0 + }; + }, + Qo = (function () { + function e(t) { + (v(this, e), + (this.options = t), + (this.callbacks = zr()), + (this.actions = t.actions), + (this.body = t.body), + (this.badge = t.badge), + (this.data = t.data), + (this.dir = t.dir), + (this.icon = t.icon), + (this.image = t.image), + (this.lang = t.lang), + (this.renotify = t.renotify), + (this.requireInteraction = t.requireInteraction), + (this.silent = t.silent), + (this.tag = t.tag), + (this.timestamp = t.timestamp), + (this.title = t.title)); + } + return ( + m(e, [ + { + key: "close", + value: function () { + throw new Error("Method not implemented."); + } + }, + { + key: "addEventListener", + value: function (e, t, n) { + this.callbacks.add(e, t); + } + }, + { key: "removeEventListener", value: function (e, t, n) {} }, + { + key: "dispatchEvent", + value: function (e) { + return (this.callbacks.execute(e.type, e), !0); + } + } + ]), + e + ); + })(), + Xo = (function () { + function e(t, n) { + (v(this, e), (this.interop = t), (this.onStreamEvent = n)); + } + return ( + m(e, [ + { + key: "onVisibilityChanged", + value: function (e) { + return this.onStreamEvent( + "on-panel-visibility-changed", + e + ); + } + }, + { + key: "toggle", + value: function () { + return this.interop.invoke("T42.Notifications.Show"); + } + }, + { + key: "show", + value: function () { + return this.interop.invoke("T42.Notifications.Show", { + show: !0 + }); + } + }, + { + key: "hide", + value: function () { + return this.interop.invoke("T42.Notifications.Hide"); + } + }, + { + key: "isVisible", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Notifications.Execute", + { + command: + "isPanelVisible" + } + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned + .panelVisible + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "toAPI", + value: function () { + return { + onVisibilityChanged: + this.onVisibilityChanged.bind(this), + toggle: this.toggle.bind(this), + show: this.show.bind(this), + hide: this.hide.bind(this), + isVisible: this.isVisible.bind(this) + }; + } + } + ]), + e + ); + })(), + Yo = 0, + Zo = (function () { + function e(t, n) { + (v(this, e), + (this.interop = t), + (this.logger = n), + (this.NotificationsSubscribeStream = + "T42.GNS.Subscribe.Notifications"), + (this.NotificationsCounterStream = "T42.Notifications.Counter"), + (this.RaiseNotificationMethodName = + "T42.GNS.Publish.RaiseNotification"), + (this.NotificationsExecuteMethod = "T42.Notifications.Execute"), + (this.methodsRegistered = !1), + (this.NOTIFICATIONS_CONFIGURE_METHOD_NAME = + "T42.Notifications.Configure"), + (this.methodNameRoot = "T42.Notifications.Handler-" + Vi()), + (this.nextId = 0), + (this.notifications = {}), + (this.registry = zr()), + (this.subscribedForNotifications = !1), + (this.subscribedCounterStream = !1), + (this.subscriptionsCountForNotifications = 0), + (this.subscriptionsCountForCounter = 0), + (this._panel = new Xo(t, this.onStreamEventCore.bind(this))), + this.subscribeInternalEvents()); + } + return ( + m(e, [ + { + key: "maxActions", + get: function () { + return 2; + } + }, + { + key: "panel", + get: function () { + return this._panel.toAPI(); + } + }, + { + key: "raise", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r, + i, + o, + s, + c, + u, + d, + l, + p, + h, + f = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + (this.validate(t), + this.methodsRegistered) + ) { + e.next = 7; + break; + } + for ( + o = [], s = Yo; + s < this.maxActions; + s++ + ) + o.push( + this.interop.register( + "" + .concat( + this + .methodNameRoot, + "_" + ) + .concat(s), + this.handleNotificationEvent.bind( + this + ) + ) + ); + return ( + (this.methodsRegistered = + !0), + (e.next = 7), + Promise.all(o) + ); + case 7: + return ( + (c = String( + this.nextId++ + )), + (u = + null !== + (n = t.type) && + void 0 !== n + ? n + : "Notification"), + (d = { + title: t.title, + type: u, + severity: + null !== + (r = + t.severity) && + void 0 !== r + ? r + : "None", + description: t.body, + glueRoutingDetailMethodName: + "" + .concat( + this + .methodNameRoot, + "_" + ) + .concat(Yo), + actions: [], + sourceId: c, + source: t.source, + publishExtraEvents: + !0, + clickInterop: + t.clickInterop + }), + t.actions && + this.handleActions( + t, + c, + d + ), + this.handleOptions( + t, + d + ), + (l = new Qo(t)), + (this.notifications[c] = + l), + (e.prev = 14), + (e.next = 17), + this.interop.invoke( + this + .RaiseNotificationMethodName, + { notification: d } + ) + ); + case 17: + ((p = e.sent), + (l.id = + null === + (i = + p.returned) || + void 0 === i + ? void 0 + : i.id), + (e.next = 25)); + break; + case 21: + ((e.prev = 21), + (e.t0 = e.catch(14)), + (h = e.t0.message), + setTimeout(function () { + f.handleNotificationErrorEvent( + l, + h + ); + }, 1)); + case 25: + return e.abrupt( + "return", + l + ); + case 26: + case "end": + return e.stop(); + } + }, + e, + this, + [[14, 21]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setFilter", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Notifications.Filter", + t + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.returned + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getFilter", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Notifications.Filter" + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "configure", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r, i, o, s; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + t && + !Array.isArray(t) + ) { + e.next = 2; + break; + } + throw new Error( + "Invalid options - should be an object." + ); + case 2: + if ( + 0 !== + Object.values(t).length + ) { + e.next = 4; + break; + } + throw new Error( + "The argument must be a non-empty object." + ); + case 4: + if ( + "undefined" === + typeof t.enable || + "boolean" === + typeof t.enable + ) { + e.next = 6; + break; + } + throw new Error( + "Expected type of enabled - boolean." + ); + case 6: + if ( + "undefined" === + typeof t.enableToasts || + "boolean" === + typeof t.enableToasts + ) { + e.next = 8; + break; + } + throw new Error( + "Expected type of enableToasts - boolean." + ); + case 8: + if ( + "undefined" === + typeof t.toastExpiry || + "number" === + typeof t.toastExpiry + ) { + e.next = 10; + break; + } + throw new Error( + "Expected type of toastExpiry - number." + ); + case 10: + if ( + !t.sourceFilter || + "object" === + typeof t.sourceFilter + ) { + e.next = 12; + break; + } + throw new Error( + "Expected type of sourceFilter - object." + ); + case 12: + if ( + !(null === + (n = + t.sourceFilter) || + void 0 === n + ? void 0 + : n.allowed) || + Array.isArray( + null === + (r = + t.sourceFilter) || + void 0 === r + ? void 0 + : r.allowed + ) + ) { + e.next = 14; + break; + } + throw new Error( + "Expected type of sourceFilter.allowed - array." + ); + case 14: + if ( + !(null === + (i = + t.sourceFilter) || + void 0 === i + ? void 0 + : i.blocked) || + Array.isArray( + null === + (o = + t.sourceFilter) || + void 0 === o + ? void 0 + : o.blocked + ) + ) { + e.next = 16; + break; + } + throw new Error( + "Expected type of sourceFilter.blocked - array." + ); + case 16: + return ( + (e.next = 18), + this.interop.invoke( + this + .NOTIFICATIONS_CONFIGURE_METHOD_NAME, + t + ) + ); + case 18: + return ( + (s = e.sent), + e.abrupt( + "return", + s.returned + ) + ); + case 20: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getConfiguration", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "getConfiguration" + } + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "list", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { command: "list" } + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned + .notifications + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "onRaised", + value: function (e) { + return this.onStreamEventCore( + "on-notification-raised", + e + ); + } + }, + { + key: "onStateChanged", + value: function (e) { + return this.onStreamEventCore("on-state-changed", e); + } + }, + { + key: "onClosed", + value: function (e) { + return this.onStreamEventCore( + "on-notification-closed", + e + ); + } + }, + { + key: "onConfigurationChanged", + value: function (e) { + var t = this; + if ("function" !== typeof e) + throw new Error( + "Please provide the callback as a function!" + ); + this.subscribe(); + var n = this.registry.add( + "on-configuration-changed", + e + ); + return function () { + (n(), t.closeStreamSubscriptionIfNoNeeded()); + }; + } + }, + { + key: "onCounterChanged", + value: function (e) { + var t = this; + if ("function" !== typeof e) + throw new Error( + "Please provide the callback as a function!" + ); + this.subscribeForCounterStream(); + var n = this.registry.add("on-counter-changed", e); + return function () { + (n(), t.closeStreamCounterSubscriptionIfNoNeeded()); + }; + } + }, + { + key: "clearAll", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "clearAll" + } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clearOld", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "clearAllOld" + } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clear", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (t) { + e.next = 2; + break; + } + throw new Error( + "The 'id' argument cannot be null or undefined" + ); + case 2: + if ("string" === typeof t) { + e.next = 4; + break; + } + throw new Error( + "The 'id' argument must be a string" + ); + case 4: + return ( + (e.next = 6), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "clear", + data: { id: t } + } + ) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "click", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "click", + data: { + id: t, + action: n + } + } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setState", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (t) { + e.next = 2; + break; + } + throw new Error( + "The 'id' argument cannot be null or undefined" + ); + case 2: + if ("string" === typeof t) { + e.next = 4; + break; + } + throw new Error( + "The 'id' argument must be a string" + ); + case 4: + if (n) { + e.next = 6; + break; + } + throw new Error( + "The 'state' argument cannot be null or undefined" + ); + case 6: + if ("string" === typeof n) { + e.next = 8; + break; + } + throw new Error( + "The 'state' argument must be a string" + ); + case 8: + if ( + [ + "Active", + "Acknowledged", + "Stale" + ].includes(n) + ) { + e.next = 11; + break; + } + throw new Error( + "The state argument: ".concat( + n, + " is not valid!" + ) + ); + case 11: + return ( + (e.next = 13), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "updateState", + data: { + id: t, + state: n + } + } + ) + ); + case 13: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "toAPI", + value: function () { + return { + maxActions: this.maxActions, + panel: this._panel.toAPI(), + raise: this.raise.bind(this), + setFilter: this.setFilter.bind(this), + getFilter: this.getFilter.bind(this), + configure: this.configure.bind(this), + getConfiguration: this.getConfiguration.bind(this), + list: this.list.bind(this), + onRaised: this.onRaised.bind(this), + onStateChanged: this.onStateChanged.bind(this), + onClosed: this.onClosed.bind(this), + onConfigurationChanged: + this.onConfigurationChanged.bind(this), + onCounterChanged: this.onCounterChanged.bind(this), + clearAll: this.clearAll.bind(this), + clearOld: this.clearOld.bind(this), + clear: this.clear.bind(this), + click: this.click.bind(this), + setState: this.setState.bind(this) + }; + } + }, + { + key: "onStreamEventCore", + value: function (e, t) { + var n = this; + if ("function" !== typeof t) + throw new Error( + "Please provide the callback as a function!" + ); + this.subscribe(); + var r = this.registry.add(e, t); + return function () { + (r(), n.closeStreamSubscriptionIfNoNeeded()); + }; + } + }, + { + key: "handleOptions", + value: function (e, t) { + if ( + (e.icon && + ((t.attributes = t.attributes || []), + t.attributes.push({ + key: "icon", + value: { stringValue: e.icon } + })), + e.data) + ) { + t.attributes = t.attributes || []; + var n = JSON.stringify(e.data); + t.attributes.push({ + key: "data", + value: { stringValue: n } + }); + } + ("number" === typeof e.panelExpiry && + ((t.attributes = t.attributes || []), + t.attributes.push({ + key: "panelExpiry", + value: { + stringValue: e.panelExpiry.toString() + } + })), + "number" === typeof e.toastExpiry && + ((t.attributes = t.attributes || []), + t.attributes.push({ + key: "toastExpiry", + value: { + stringValue: e.toastExpiry.toString() + } + }))); + } + }, + { + key: "handleActions", + value: function (e, t, n) { + var r, + i, + o, + a, + s = this, + c = e.actions.slice(0, this.maxActions), + d = Yo, + l = u(c); + try { + var p = function () { + var e = a.value, + c = { + g42notificationId: t, + g42action: e.action, + g42interopMethod: + null === (r = e.interop) || + void 0 === r + ? void 0 + : r.method, + g42interopTarget: + null === (i = e.interop) || + void 0 === i + ? void 0 + : i.target, + g42interopArguments: JSON.stringify( + null === (o = e.interop) || + void 0 === o + ? void 0 + : o.arguments + ) + }, + u = Object.keys(c).map(function (e) { + return { + name: e, + value: { stringValue: c[e] } + }; + }), + l = { + name: "" + .concat(s.methodNameRoot, "_") + .concat(d), + description: e.title, + displayName: e.title, + parameters: u + }; + (n.actions.push(l), d++); + }; + for (l.s(); !(a = l.n()).done; ) p(); + } catch (h) { + l.e(h); + } finally { + l.f(); + } + } + }, + { + key: "validate", + value: function (e) { + if (!e) + throw new Error( + "invalid options - should be an object" + ); + if ("object" !== typeof e) + throw new Error( + "invalid options - should be an object" + ); + if (!e.title) + throw new Error( + "invalid options - should have a title" + ); + if ("string" !== typeof e.title) + throw new Error( + "invalid options - title should be a string" + ); + if (e.severity && "string" !== typeof e.severity) + throw new Error( + "invalid options - severity should be a string" + ); + if (e.panelExpiry && "number" !== typeof e.panelExpiry) + throw new Error( + "invalid options - panelExpiry should be a number" + ); + if (e.toastExpiry && "number" !== typeof e.toastExpiry) + throw new Error( + "invalid options - toastExpiry should be a number" + ); + } + }, + { + key: "subscribe", + value: function () { + var e = this; + (this.subscriptionsCountForNotifications++, + this.subscribedForNotifications || + ((this.subscribedForNotifications = !0), + this.logger.info( + 'Attempting to subscribe to "'.concat( + this.NotificationsSubscribeStream, + '".' + ) + ), + this.interop + .subscribe( + this.NotificationsSubscribeStream, + { arguments: { sendDeltaOnly: !0 } } + ) + .then(function (t) { + ((e.subscriptionForNotifications = t), + e.logger.info( + 'Successfully subscribed to "'.concat( + e.NotificationsSubscribeStream, + '".' + ) + ), + t.onData(function (t) { + var n = t.data; + e.handleData(n); + }), + t.onClosed(function () { + e.subscribedForNotifications = + !1; + for ( + var t = arguments.length, + n = new Array(t), + r = 0; + r < t; + r++ + ) + n[r] = arguments[r]; + e.logger.info( + "Stream subscription Closed - ".concat( + JSON.stringify(n) + ) + ); + }), + t.onFailed(function () { + e.subscribedForNotifications = + !1; + for ( + var t = arguments.length, + n = new Array(t), + r = 0; + r < t; + r++ + ) + n[r] = arguments[r]; + e.logger.warn( + "Stream subscription Failed - ".concat( + JSON.stringify(n) + ) + ); + })); + }) + .catch(function (t) { + ((e.subscribedForNotifications = !1), + e.logger.error( + 'Unable to subscribe to "'.concat( + e.NotificationsSubscribeStream, + '"' + ), + t + )); + }))); + } + }, + { + key: "subscribeForCounterStream", + value: function () { + var e = this; + (this.subscriptionsCountForCounter++, + this.subscribedCounterStream || + ((this.subscribedCounterStream = !0), + this.logger.info( + 'Attempting to subscribe to "'.concat( + this.NotificationsCounterStream, + '".' + ) + ), + this.interop + .subscribe( + this.NotificationsCounterStream, + { arguments: { sendDeltaOnly: !0 } } + ) + .then(function (t) { + ((e.subscriptionForCounter = t), + e.logger.info( + 'Successfully subscribed to "'.concat( + e.NotificationsCounterStream, + '".' + ) + ), + t.onData(function (t) { + var n = t.data; + e.registry.execute( + "on-counter-changed", + { count: n.count } + ); + }), + t.onClosed(function () { + e.subscribedCounterStream = !1; + for ( + var t = arguments.length, + n = new Array(t), + r = 0; + r < t; + r++ + ) + n[r] = arguments[r]; + e.logger.info( + "Stream subscription Closed - ".concat( + JSON.stringify(n) + ) + ); + }), + t.onFailed(function () { + e.subscribedCounterStream = !1; + for ( + var t = arguments.length, + n = new Array(t), + r = 0; + r < t; + r++ + ) + n[r] = arguments[r]; + e.logger.warn( + "Stream subscription Failed - ".concat( + JSON.stringify(n) + ) + ); + })); + }) + .catch(function (t) { + ((e.subscribedCounterStream = !1), + e.logger.error( + 'Unable to subscribe to "'.concat( + e.NotificationsCounterStream, + '"' + ), + t + )); + }))); + } + }, + { + key: "subscribeInternalEvents", + value: function () { + var e = this; + (this.registry.add( + "on-notification-closed", + function (t) { + e.handleOnClosed(t); + } + ), + this.registry.add( + "on-notification-raised", + function (t) { + e.handleOnShow(t.id); + } + )); + } + }, + { + key: "handleData", + value: function (e) { + var t; + try { + ("items" in e && Array.isArray(e.items) + ? this.handleItemsData(e) + : "deltas" in e && + Array.isArray(e.deltas) && + this.handleDeltas(e), + "configuration" in e && + "object" === typeof e.configuration && + (this.logger.info( + "Received configuration ".concat( + JSON.stringify(e.configuration), + " from the stream" + ) + ), + this.registry.execute( + "on-configuration-changed", + e.configuration, + e.configuration.allApplications + )), + "command" in e && + "string" === typeof e.command && + (this.logger.info( + 'Received command "'.concat( + null !== (t = e.command) && + void 0 !== t + ? t + : JSON.stringify(e), + '" from the stream' + ) + ), + ("showPanel" !== e.command && + "hidePanel" !== e.command) || + this.registry.execute( + "on-panel-visibility-changed", + "showPanel" === e.command + ))); + } catch (n) { + this.logger.error( + "Failed to parse data from the stream", + n + ); + } + } + }, + { + key: "handleItemsData", + value: function (e) { + var t = this, + n = e.items; + this.logger.info( + "Received ".concat( + n.length, + " notifications from the stream" + ) + ); + var r = n; + if (e.isSnapshot) + r.forEach(function (e) { + t.registry.execute("on-notification-raised", e); + }); + else { + var i = r[0]; + "Closed" === i.state + ? this.registry.execute( + "on-notification-closed", + { id: i.id } + ) + : "Active" === i.state && + this.registry.execute( + "on-notification-raised", + i + ); + } + } + }, + { + key: "handleDeltas", + value: function (e) { + var t = this; + e.deltas.forEach(function (e) { + var n = e.id, + r = e.delta; + "Closed" === r.state + ? t.registry.execute("on-notification-closed", { + id: n + }) + : t.registry.execute( + "on-state-changed", + { id: n }, + r.state + ); + }); + } + }, + { + key: "handleOnClosed", + value: function (e) { + var t = this.getNotification(e), + n = t.notification, + r = t.key; + n && + (this.handleEvent(n, "close"), + delete this.notifications[r]); + } + }, + { + key: "handleOnShow", + value: function (e) { + var t = this.getNotification(e).notification; + t && this.handleEvent(t, "show"); + } + }, + { + key: "getNotification", + value: function (e) { + var t, n; + for (var r in this.notifications) + if (this.notifications[r].id === e) { + ((t = this.notifications[r]), (n = r)); + break; + } + return { notification: t, key: n }; + } + }, + { + key: "handleNotificationEvent", + value: function (e) { + var t = this.getGnsNotificationArgs(e); + if ("unknown" !== t.event) { + var n = this.notifications[t.notificationId]; + n && this.handleNotificationEventCore(n, t); + } + } + }, + { + key: "handleNotificationEventCore", + value: function (e, t) { + switch (t.event) { + case "action": + return this.handleNotificationActionEvent( + e, + t.notificationActionPayload + ); + case "click": + return this.handleNotificationClickEvent(e); + case "close": + return this.handleEvent(e, "close"); + case "error": + return this.handleNotificationErrorEvent( + e, + t.error + ); + case "show": + return this.handleEvent(e, "show"); + } + } + }, + { + key: "handleNotificationActionEvent", + value: function (e, t) { + var n = { type: "onaction", action: t.g42action }; + (e.onaction && e.onaction(n), e.dispatchEvent(n)); + } + }, + { + key: "handleNotificationClickEvent", + value: function (e) { + var t = { type: "onclick" }; + (e.onclick && e.onclick(t), e.dispatchEvent(t)); + } + }, + { + key: "handleEvent", + value: function (e, t) { + var n, + r = { type: t }; + (null === (n = e["on".concat(t)]) || + void 0 === n || + n.call(e, r), + e.dispatchEvent(r)); + } + }, + { + key: "handleNotificationErrorEvent", + value: function (e, t) { + var n = { type: "onerror", error: t }; + (e.onerror && e.onerror(n), e.dispatchEvent(n)); + } + }, + { + key: "getGnsNotificationArgs", + value: function (e) { + var t, + n = + null === (t = e.notification) || void 0 === t + ? void 0 + : t.event; + return n + ? { + event: n, + notificationId: + e.notification.sourceNotificationId, + notificationActionPayload: e + } + : this.getBackwardGnsNotificationArgs(e); + } + }, + { + key: "getBackwardGnsNotificationArgs", + value: function (e) { + var t; + return e.g42notificationId + ? { + event: "action", + notificationId: e.g42notificationId, + notificationActionPayload: e + } + : ( + null === (t = e.notification) || + void 0 === t + ? void 0 + : t.sourceNotificationId + ) + ? { + event: "click", + notificationId: + e.notification.sourceNotificationId, + notificationActionPayload: e + } + : { + event: "unknown", + notificationId: void 0, + notificationActionPayload: e + }; + } + }, + { + key: "closeStreamSubscriptionIfNoNeeded", + value: function () { + (this.subscriptionsCountForNotifications--, + this.subscriptionForNotifications && + 0 === this.subscriptionsCountForNotifications && + (this.subscriptionForNotifications.close(), + (this.subscriptionForNotifications = void 0))); + } + }, + { + key: "closeStreamCounterSubscriptionIfNoNeeded", + value: function () { + (this.subscriptionsCountForCounter--, + this.subscriptionForCounter && + 0 === this.subscriptionsCountForCounter && + (this.subscriptionForCounter.close(), + (this.subscriptionForCounter = void 0))); + } + } + ]), + e + ); + })(), + ea = "T42.Themes.Configuration", + ta = (function () { + function e(t, n) { + (v(this, e), + (this.contexts = t), + (this.interop = n), + (this.registry = zr()), + (this.isSubscribed = !1), + this.getConfiguration()); + } + return ( + m(e, [ + { + key: "list", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getConfiguration() + ); + case 2: + if (this.getMethodName) { + e.next = 4; + break; + } + throw new Error( + "not supported" + ); + case 4: + return ( + (e.next = 6), + this.getAll() + ); + case 6: + return e.abrupt( + "return", + e.sent.returned.all + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getCurrent", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getConfiguration() + ); + case 2: + if (this.getMethodName) { + e.next = 4; + break; + } + throw new Error( + "not supported" + ); + case 4: + return ( + (e.next = 6), + this.getAll() + ); + case 6: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned.all.find( + function (e) { + return ( + e.name === + t + .returned + .selected + ); + } + ) + ) + ); + case 8: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "select", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getConfiguration() + ); + case 2: + if (this.setMethodName) { + e.next = 4; + break; + } + throw new Error( + "not supported" + ); + case 4: + return ( + (e.next = 6), + this.interop.invoke( + this.setMethodName, + { theme: t } + ) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "onChanged", + value: function (e) { + return ( + this.subscribe(), + this.registry.add("changed", e) + ); + } + }, + { + key: "getConfiguration", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((e.prev = 0), + !this.sharedContextName) + ) { + e.next = 3; + break; + } + return e.abrupt("return"); + case 3: + return ( + (e.next = 5), + this.interop.invoke(ea) + ); + case 5: + ((t = e.sent), + (this.sharedContextName = + t.returned.sharedContextName), + (this.getMethodName = + t.returned.getThemesMethodName), + (this.setMethodName = + t.returned.setThemesMethodName), + (e.next = 14)); + break; + case 11: + return ( + (e.prev = 11), + (e.t0 = e.catch(0)), + e.abrupt("return") + ); + case 14: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 11]] + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getAll", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getConfiguration() + ); + case 2: + return ( + (e.next = 4), + this.interop.invoke( + this.getMethodName + ) + ); + case 4: + return e.abrupt( + "return", + e.sent + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "subscribe", + value: (function () { + var e = s( + a().mark(function e() { + var t = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getConfiguration() + ); + case 2: + if (!this.isSubscribed) { + e.next = 4; + break; + } + return e.abrupt("return"); + case 4: + ((this.isSubscribed = !0), + this.contexts.subscribe( + this + .sharedContextName, + function (e) { + e && + e.all && + e.selected && + t.registry.execute( + "changed", + e.all.find( + function ( + t + ) { + return ( + t.name === + e.selected + ); + } + ) + ); + } + )); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + } + ]), + e + ); + })(); + function na(e, t) { + var n = new ta(e, t); + return { + list: n.list.bind(n), + getCurrent: n.getCurrent.bind(n), + select: n.select.bind(n), + onChanged: n.onChanged.bind(n), + ready: function () { + return Promise.resolve(); + } + }; + } + var ra = "Tick42.FDC3.Intents.", + ia = "T42.Intents.Resolver.Control", + oa = 400, + aa = 440, + sa = 6e4, + ca = ["applicationName", "type"], + ua = "intentsResolver", + da = 2147483647, + la = 6e4, + pa = 9e4, + ha = function (e, t, n) { + return new Promise(function (r, i) { + var o = setTimeout(function () { + var e = n || "Promise timeout hit: ".concat(t); + i(e); + }, t); + new Promise(e) + .then(function (e) { + (clearTimeout(o), r(e)); + }) + .catch(function (e) { + (clearTimeout(o), i(e)); + }); + }); + }, + fa = function (e, t, n) { + return new Promise(function (r, i) { + var o = !0, + a = setTimeout(function () { + if (o) { + o = !1; + var e = n || "Promise timeout hit: ".concat(t); + i(e); + } + }, t); + e() + .then(function (e) { + o && ((o = !1), clearTimeout(a), r(e)); + }) + .catch(function (e) { + o && ((o = !1), clearTimeout(a), i(e)); + }); + }); + }, + va = (function () { + function e(t, n, r, i, o) { + (v(this, e), + (this.interop = t), + (this.windows = n), + (this.logger = r), + (this.appManager = o), + (this.myIntents = new Set()), + (this.intentsResolverResponsePromises = {}), + (this.useIntentsResolverUI = !0), + (this.unregisterIntentPromises = []), + this.checkIfIntentsResolverIsEnabled(i, o)); + } + return ( + m(e, [ + { + key: "find", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r, i; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Promise.all( + this + .unregisterIntentPromises + ) + ); + case 2: + return ( + (e.next = 4), + this.all() + ); + case 4: + if ( + ((n = e.sent), + "undefined" !== + typeof t) + ) { + e.next = 7; + break; + } + return e.abrupt( + "return", + n + ); + case 7: + if ("string" !== typeof t) { + e.next = 9; + break; + } + return e.abrupt( + "return", + n.filter(function (e) { + return e.name === t; + }) + ); + case 9: + if ("object" === typeof t) { + e.next = 11; + break; + } + throw new Error( + "Please provide the intentFilter as a string or an object!" + ); + case 11: + return ( + t.contextType && + ((r = + t.contextType.toLowerCase()), + (n = n.filter( + function (e) { + return e.handlers.some( + function ( + e + ) { + var t; + return null === + (t = + e.contextTypes) || + void 0 === + t + ? void 0 + : t.some( + function ( + e + ) { + return ( + e.toLowerCase() === + r + ); + } + ); + } + ); + } + ))), + t.resultType && + ((i = + t.resultType.toLowerCase()), + (n = n.filter( + function (e) { + return e.handlers.some( + function ( + e + ) { + var t; + return ( + (null === + (t = + e.resultType) || + void 0 === + t + ? void 0 + : t.toLowerCase()) === + i + ); + } + ); + } + ))), + t.name && + (n = n.filter( + function (e) { + return ( + e.name === + t.name + ); + } + )), + e.abrupt("return", n) + ); + case 15: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "raise", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r, + i, + o, + s = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + !( + ("string" !== + typeof t && + "object" !== + typeof t) || + ("object" === + typeof t && + "string" !== + typeof t.intent) + ) + ) { + e.next = 2; + break; + } + throw new Error( + "Please provide the intent as a string or an object with an intent property!" + ); + case 2: + return ( + "string" === typeof t && + (t = { intent: t }), + this.validateIntentRequest( + t + ), + (e.next = 6), + Promise.all( + this + .unregisterIntentPromises + ) + ); + case 6: + if ( + ((n = t.timeout || pa), + (r = {}), + (i = + this.coreRaiseIntent.bind( + this, + { + request: t, + resolverInstance: + r, + timeout: n + } + )), + !t.waitUserResponseIndefinitely) + ) { + e.next = 11; + break; + } + return e.abrupt( + "return", + i() + ); + case 11: + return ( + (o = fa( + i, + n, + "Timeout of " + .concat( + n, + "ms hit for intent request " + ) + .concat( + JSON.stringify( + t + ) + ) + )).catch(function () { + return s.handleRaiseOnError( + r.instanceId + ); + }), + e.abrupt("return", o) + ); + case 14: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "all", + value: (function () { + var e = s( + a().mark(function e() { + var t, + n, + r, + i, + o, + c, + d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b, + k, + x, + _, + C = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Promise.all( + this + .unregisterIntentPromises + ) + ); + case 2: + return ( + (e.prev = 2), + (e.next = 5), + this.interop.invoke( + "T42.ACS.GetApplications", + { + withIntentsInfo: + !0 + } + ) + ); + case 5: + ((n = e.sent), + (t = + n.returned + .applications), + (e.next = 13)); + break; + case 9: + return ( + (e.prev = 9), + (e.t0 = e.catch(2)), + this.logger.error( + "Failed to get the applications!", + e.t0 + ), + e.abrupt("return", []) + ); + case 13: + ((r = {}), + (i = t.filter( + function (e) { + return ( + e.intents && + e.intents + .length > + 0 + ); + } + )), + (o = u(i))); + try { + for ( + o.s(); + !(c = o.n()).done; + + ) { + ((d = c.value), + (l = u( + d.intents + ))); + try { + for ( + l.s(); + !(p = l.n()) + .done; + + ) + ((h = + p.value), + (f = + r[ + h + .name + ]) || + ((f = + { + name: h.name, + handlers: + [] + }), + (r[ + h.name + ] = + f)), + (v = { + applicationName: + d.name, + applicationTitle: + d.title || + "", + applicationDescription: + d.caption, + displayName: + h.displayName, + contextTypes: + h.contexts, + applicationIcon: + d.icon, + type: "app", + resultType: + h.resultType + }), + f.handlers.push( + v + )); + } catch (I) { + l.e(I); + } finally { + l.f(); + } + } + } catch (I) { + o.e(I); + } finally { + o.f(); + } + if ( + ((m = + this.interop.servers()), + (g = m + .map(function (e) { + return e.windowId; + }) + .filter( + function (e) { + return ( + "undefined" !== + typeof e + ); + } + )), + (y = "T42.Wnd.GetInfo"), + !this.interop + .methods() + .some(function (e) { + return ( + e.name === y + ); + })) + ) { + e.next = 31; + break; + } + return ( + (e.prev = 22), + (e.next = 25), + this.interop.invoke(y, { + ids: g + }) + ); + case 25: + ((b = e.sent), + (w = + b.returned.windows), + (e.next = 31)); + break; + case 29: + ((e.prev = 29), + (e.t1 = e.catch(22))); + case 31: + ((k = u(m)), + (e.prev = 32), + (_ = a().mark( + function e() { + var n; + return a().wrap( + function ( + e + ) { + for (;;) + switch ( + (e.prev = + e.next) + ) { + case 0: + return ( + (n = + x.value), + (e.next = 3), + Promise.all( + n + .getMethods() + .filter( + function ( + e + ) { + return e.name.startsWith( + ra + ); + } + ) + .map( + (function () { + var e = + s( + a().mark( + function e( + i + ) { + var o, + s, + c, + u, + d, + l, + p; + return a().wrap( + function ( + e + ) { + for (;;) + switch ( + (e.prev = + e.next) + ) { + case 0: + return ( + (o = + i.name.replace( + ra, + "" + )), + (s = + r[ + o + ]) || + ((s = + { + name: o, + handlers: + [] + }), + (r[ + o + ] = + s)), + (c = + i + .flags + .intent), + (u = + t.find( + function ( + e + ) { + return ( + e.name === + n.application + ); + } + )) && + u.intents && + (d = + u.intents.find( + function ( + e + ) { + return ( + e.name === + o + ); + } + )), + (e.next = 8), + C.windowsIdToTitle( + n.windowId, + w + ) + ); + case 8: + ((l = + e.sent), + (p = + { + instanceId: + n.instance, + applicationName: + n.application, + applicationIcon: + c.icon || + (null === + u || + void 0 === + u + ? void 0 + : u.icon), + applicationTitle: + (null === + u || + void 0 === + u + ? void 0 + : u.title) || + "", + applicationDescription: + c.description || + (null === + u || + void 0 === + u + ? void 0 + : u.caption), + displayName: + c.displayName || + (null === + d || + void 0 === + d + ? void 0 + : d.displayName), + contextTypes: + c.contextTypes || + (null === + d || + void 0 === + d + ? void 0 + : d.contexts), + instanceTitle: + l, + type: "instance", + resultType: + (null === + d || + void 0 === + d + ? void 0 + : d.resultType) || + c.resultType + }), + s.handlers.push( + p + )); + case 11: + case "end": + return e.stop(); + } + }, + e + ); + } + ) + ); + return function ( + t + ) { + return e.apply( + this, + arguments + ); + }; + })() + ) + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e + ); + } + )), + k.s()); + case 35: + if ((x = k.n()).done) { + e.next = 39; + break; + } + return e.delegateYield( + _(), + "t2", + 37 + ); + case 37: + e.next = 35; + break; + case 39: + e.next = 44; + break; + case 41: + ((e.prev = 41), + (e.t3 = e.catch(32)), + k.e(e.t3)); + case 44: + return ( + (e.prev = 44), + k.f(), + e.finish(44) + ); + case 47: + return e.abrupt( + "return", + Object.values(r) + ); + case 48: + case "end": + return e.stop(); + } + }, + e, + this, + [ + [2, 9], + [22, 29], + [32, 41, 44, 47] + ] + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "addIntentListener", + value: function (e, t) { + var n = this; + if ( + ("string" !== typeof e && "object" !== typeof e) || + ("object" === typeof e && + "string" !== typeof e.intent) + ) + throw new Error( + "Please provide the intent as a string or an object with an intent property!" + ); + if ("function" !== typeof t) + throw new Error( + "Please provide the handler as a function!" + ); + var i, + o = "string" === typeof e ? e : e.intent, + a = "".concat(ra).concat(o), + s = {}; + if (this.myIntents.has(o)) + throw new Error( + "Intent listener for intent ".concat( + o, + " already registered!" + ) + ); + this.myIntents.add(o); + var c = { + unsubscribe: function () { + (n.myIntents.delete(o), + i + .then(function () { + return n.interop.unregister(a); + }) + .catch(function (e) { + return n.logger.trace( + "Unregistration of a method with name " + .concat( + a, + " failed with reason: " + ) + .concat(JSON.stringify(e)) + ); + })); + } + }; + return ( + "object" === typeof e && (e.intent, (s = r(e, y))), + (i = this.interop.register( + { name: a, flags: { intent: s } }, + function (e) { + if (n.myIntents.has(o)) return t(e); + } + )).catch(function (e) { + (n.myIntents.delete(o), + n.logger.warn( + "Registration of a method with name " + .concat(a, " failed with reason: ") + .concat(JSON.stringify(e)) + )); + }), + c + ); + } + }, + { + key: "register", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var i, + o, + s, + c, + u = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + !( + ("string" !== + typeof t && + "object" !== + typeof t) || + ("object" === + typeof t && + "string" !== + typeof t.intent) + ) + ) { + e.next = 2; + break; + } + throw new Error( + "Please provide the intent as a string or an object with an intent property!" + ); + case 2: + if ( + "function" === typeof n + ) { + e.next = 4; + break; + } + throw new Error( + "Please provide the handler as a function!" + ); + case 4: + return ( + (e.next = 6), + Promise.all( + this + .unregisterIntentPromises + ) + ); + case 6: + if ( + ((i = + "string" === + typeof t + ? t + : t.intent), + (o = + this.buildInteropMethodName( + i + )), + (s = {}), + !this.myIntents.has(i)) + ) { + e.next = 12; + break; + } + throw new Error( + "Intent listener for intent ".concat( + i, + " already registered!" + ) + ); + case 12: + return ( + this.myIntents.add(i), + "object" === typeof t && + (t.intent, + (c = r(t, w)), + (s = c)), + (e.prev = 14), + (e.next = 17), + this.interop.register( + { + name: o, + flags: { + intent: s + } + }, + function (e) { + if ( + u.myIntents.has( + i + ) + ) + return n(e); + } + ) + ); + case 17: + e.next = 23; + break; + case 19: + throw ( + (e.prev = 19), + (e.t0 = e.catch(14)), + this.myIntents.delete( + i + ), + new Error( + "Registration of a method with name " + .concat( + o, + " failed with reason: " + ) + .concat( + JSON.stringify( + e.t0 + ) + ) + ) + ); + case 23: + return e.abrupt("return", { + unsubscribe: + function () { + return u.unsubscribeIntent( + i + ); + } + }); + case 24: + case "end": + return e.stop(); + } + }, + e, + this, + [[14, 19]] + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "coreRaiseIntent", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r, + i, + o, + s, + c, + u, + d, + l, + p, + h, + f = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = t.request), + (r = + t.resolverInstance), + (i = t.timeout), + (e.next = 3), + this.get(n.intent) + ); + case 3: + if ( + "undefined" !== + typeof (c = e.sent) + ) { + e.next = 6; + break; + } + throw new Error( + "Intent ".concat( + n.intent, + " not found." + ) + ); + case 6: + if ( + ((u = + this.checkIfResolverShouldBeOpened( + c, + n + )), + (d = u.open), + (l = u.reason), + d) + ) { + e.next = 10; + break; + } + return ( + this.logger.trace( + "Intent Resolver UI won't be used. Reason: ".concat( + l + ) + ), + e.abrupt( + "return", + n.waitUserResponseIndefinitely + ? fa( + function () { + return f.raiseIntent( + n, + i + ); + }, + i, + "Timeout of ".concat( + i, + "ms hit for raise to resolve" + ) + ) + : this.raiseIntent( + n, + i + ) + ) + ); + case 10: + return ( + (e.next = 12), + this.startResolverApp( + n, + r + ) + ); + case 12: + if ( + ((p = e.sent), + null === + (o = this.logger) || + void 0 === o || + o.trace( + "Raising intent to target handler: " + .concat( + JSON.stringify( + p + ), + " with timeout of " + ) + .concat(i) + ), + !n.waitUserResponseIndefinitely) + ) { + e.next = 16; + break; + } + return e.abrupt( + "return", + fa( + function () { + return f.raiseIntentToTargetHandler( + n, + p, + i + ); + }, + i, + "Timeout of ".concat( + i, + "ms hit for raise to resolve" + ) + ) + ); + case 16: + return ( + (e.next = 18), + this.raiseIntentToTargetHandler( + n, + p, + i + ) + ); + case 18: + return ( + (h = e.sent), + null === + (s = this.logger) || + void 0 === s || + s.trace( + "Result from raise() method for intent " + .concat( + JSON.stringify( + n.intent + ), + ": " + ) + .concat( + JSON.stringify( + h + ) + ) + ), + e.abrupt("return", h) + ); + case 21: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "get", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.all() + ); + case 2: + return e.abrupt( + "return", + e.sent.find( + function (e) { + return ( + e.name === t + ); + } + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "raiseIntent", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s, c, u; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = t.intent), + (e.next = 3), + this.get(r) + ); + case 3: + if ( + "undefined" !== + typeof (i = e.sent) + ) { + e.next = 6; + break; + } + throw new Error( + "Intent ".concat( + r, + " not found." + ) + ); + case 6: + if ( + ((o = t.handlers + ? this.findHandlerByFilter( + t.handlers, + { + type: "app" + } + ) + : this.findHandlerByFilter( + i.handlers, + { + type: "app" + } + )), + (s = t.handlers + ? this.findHandlerByFilter( + t.handlers, + { + type: "instance" + } + ) + : this.findHandlerByFilter( + i.handlers, + { + type: "instance" + } + )), + (t.target && + "reuse" !== + t.target) || + (c = s || o), + "startNew" === + t.target && (c = o), + "object" === + typeof t.target && + t.target.app && + (c = + this.findHandlerByFilter( + i.handlers, + { + app: t + .target + .app + } + )), + "object" === + typeof t.target && + t.target.instance && + (c = + this.findHandlerByFilter( + i.handlers, + { + instance: + t + .target + .instance, + app: t + .target + .app + } + )), + c) + ) { + e.next = 14; + break; + } + throw new Error( + "Can not raise intent for request ".concat( + JSON.stringify(t), + " - can not find intent handler!" + ) + ); + case 14: + return ( + (e.next = 16), + this.raiseIntentToTargetHandler( + t, + c, + n + ) + ); + case 16: + return ( + (u = e.sent), + e.abrupt("return", u) + ); + case 18: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "raiseIntentToTargetHandler", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + var i, o, s, u, d; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + (null === + (i = this.logger) || + void 0 === i || + i.trace( + "Raising intent to target handler:".concat( + JSON.stringify( + n + ) + ) + ), + n.instanceId) + ) { + e.next = 5; + break; + } + return ( + (e.next = 4), + this.invokeStartApp( + n.applicationName, + t.context, + t.options + ) + ); + case 4: + n.instanceId = e.sent; + case 5: + return ( + (s = "" + .concat(ra) + .concat(t.intent)), + (u = { + methodResponseTimeoutMs: + r + ? r + 1e3 + : la, + waitTimeoutMs: r + ? r + 1e3 + : la + }), + (e.next = 9), + this.interop.invoke( + s, + t.context, + { + instance: + n.instanceId + }, + u + ) + ); + case 9: + return ( + (d = e.sent), + null === + (o = this.logger) || + void 0 === o || + o.trace( + "raiseIntent command completed. Returning result: ".concat( + JSON.stringify( + d + ) + ) + ), + e.abrupt("return", { + request: t, + handler: c( + c({}, n), + {}, + { + type: "instance" + } + ), + result: d.returned + }) + ); + case 12: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "startResolverApp", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s, c, u, d, l, p; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + null === + (r = this.logger) || + void 0 === r || + r.trace( + "Intents Resolver UI with app name ".concat( + this + .intentsResolverAppName, + " will be used" + ) + ), + (e.next = 3), + this.registerIntentResolverMethod() + ); + case 3: + return ( + (c = e.sent), + null === + (i = this.logger) || + void 0 === i || + i.trace( + "Registered interop method ".concat( + c + ) + ), + (u = + this.buildStartContext( + t, + c + )), + (e.next = 8), + this.buildStartOptions() + ); + case 8: + return ( + (d = e.sent), + null === + (o = this.logger) || + void 0 === o || + o.trace( + "Starting Intents Resolver UI with context: " + .concat( + JSON.stringify( + u + ), + " and options: " + ) + .concat( + JSON.stringify( + d + ) + ) + ), + (e.next = 12), + this.appManager + .application( + this + .intentsResolverAppName + ) + .start(u, d) + ); + case 12: + return ( + (l = e.sent), + n && + (n.instanceId = + l.id), + null === + (s = this.logger) || + void 0 === s || + s.trace( + "Intents Resolver instance with id ".concat( + l.id, + " opened" + ) + ), + this.subscribeOnInstanceStopped( + l + ), + this.createResponsePromise( + t, + l.id, + c + ), + (e.next = 19), + this.handleInstanceResponse( + l.id + ) + ); + case 19: + return ( + (p = e.sent), + e.abrupt("return", p) + ); + case 21: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "windowsIdToTitle", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + "undefined" === typeof n + ) { + e.next = 2; + break; + } + return e.abrupt( + "return", + null === + (r = n.find( + function (e) { + return ( + e.id === + t + ); + } + )) || void 0 === r + ? void 0 + : r.title + ); + case 2: + return ( + (o = + null === + (i = + this + .windows) || + void 0 === i + ? void 0 + : i.findById( + t + )), + (e.next = 5), + null === o || + void 0 === o + ? void 0 + : o.getTitle() + ); + case 5: + return ( + (s = e.sent), + e.abrupt("return", s) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "handleInstanceResponse", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r, i, o; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (e.next = 3), + this + .intentsResolverResponsePromises[ + t + ].promise + ); + case 3: + return ( + (r = e.sent), + (i = r.handler), + (o = r.intent), + null === + (n = this.logger) || + void 0 === n || + n.trace( + "Intent handler chosen for intent " + .concat( + o, + ": " + ) + .concat( + JSON.stringify( + i + ) + ) + ), + this.stopResolverInstance( + t + ), + e.abrupt("return", i) + ); + case 11: + throw ( + (e.prev = 11), + (e.t0 = e.catch(0)), + this.stopResolverInstance( + t + ), + new Error(e.t0) + ); + case 15: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 11]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "registerIntentResolverMethod", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = ia + Vi()), + (e.next = 3), + this.interop.register( + t, + this.resolverResponseHandler.bind( + this + ) + ) + ); + case 3: + return e.abrupt( + "return", + t + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "resolverResponseHandler", + value: function (e, t) { + var n = t.instance, + r = this.validateIntentsResolverResponse(e); + r || + (this.logger.trace( + "Intent Resolver sent invalid response. Error: ".concat( + r.error + ) + ), + this.intentsResolverResponsePromises[n].reject( + r.error + ), + this.stopResolverInstance(n)); + var i = r.ok; + (this.intentsResolverResponsePromises[n].resolve(i), + this.cleanUpIntentResolverPromise(n)); + } + }, + { + key: "buildStartContext", + value: function (e, t) { + return { + intent: e, + callerId: this.interop.instance.instance, + methodName: t + }; + } + }, + { + key: "buildStartOptions", + value: (function () { + var e = s( + a().mark(function e() { + var t, n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + (t = this.windows.my()) + ) { + e.next = 3; + break; + } + return e.abrupt("return"); + case 3: + return ( + (e.next = 5), + t.getBounds() + ); + case 5: + return ( + (n = e.sent), + e.abrupt("return", { + top: + (n.height - + aa) / + 2 + + n.top, + left: + (n.width - oa) / + 2 + + n.left + }) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "createResponsePromise", + value: function (e, t, n) { + var r, + i, + o = e.waitUserResponseIndefinitely + ? da + : this.intentsResolverResponseTimeout, + a = ha( + function (e, t) { + ((r = e), (i = t)); + }, + o, + "Timeout of " + .concat( + o, + "ms hit waiting for the user to choose a handler for intent " + ) + .concat(e.intent) + ); + this.intentsResolverResponsePromises[t] = { + intent: e.intent, + resolve: r, + reject: i, + promise: a, + methodName: n + }; + } + }, + { + key: "invokeStartApp", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + var i; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.ACS.StartApplication", + { + Name: t, + options: r + } + ) + ); + case 2: + return ( + (i = e.sent), + e.abrupt( + "return", + i.returned.Id + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "subscribeOnInstanceStopped", + value: function (e) { + var t = this, + n = e.onStopped(function (e) { + var r = t.intentsResolverResponsePromises[e.id]; + if (!r) return n(); + (r.reject( + "Cannot resolve raise intent " + .concat(r.intent, " - User closed ") + .concat( + t.intentsResolverAppName, + " app without choosing an intent handler" + ) + ), + t.cleanUpIntentResolverPromise(e.id), + n()); + }); + } + }, + { + key: "cleanUpIntentResolverPromise", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + (n = + this + .intentsResolverResponsePromises[ + t + ]) + ) { + e.next = 3; + break; + } + return e.abrupt("return"); + case 3: + (this.interop + .unregister( + n.methodName + ) + .catch(function (e) { + return r.logger.warn( + e + ); + }), + delete this + .intentsResolverResponsePromises[ + t + ]); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "validateIntentsResolverResponse", + value: function (e) { + if ( + Object.keys(e).some(function (e) { + return "intent" !== e && "handler" !== e; + }) + ) + return { + isValid: !1, + error: "Response is not a valid object. Expected { intent: string, handler: IntentHandler }" + }; + if ("string" !== typeof e.intent) + return { + isValid: !1, + error: "Response object has invalid 'intent' key. Expected a string, got ".concat( + typeof e.intent + ) + }; + if ("object" !== typeof e.handler) + return { + isValid: !1, + error: "Response object has invalid 'handler' key. Expected an object, got ".concat( + typeof e.handler + ) + }; + var t = ca.filter(function (t) { + return !(t in e.handler); + }); + return t.length + ? { + isValid: !1, + error: "Handler in Response object does not provide compulsory keys: ".concat( + t.join(", ") + ) + } + : { + isValid: !0, + ok: { + intent: e.intent, + handler: c({}, e.handler) + } + }; + } + }, + { + key: "handleRaiseOnError", + value: function (e) { + e && this.stopResolverInstance(e); + } + }, + { + key: "stopResolverInstance", + value: function (e) { + var t = this, + n = this.windows.findById(e); + null === n || + void 0 === n || + n.close().catch(function (e) { + return t.logger.error(e); + }); + } + }, + { + key: "checkIfIntentsResolverIsEnabled", + value: function (e, t) { + var n, r, i, o, a; + t + ? ((this.useIntentsResolverUI = + "boolean" !== + typeof (null === (n = e.intents) || + void 0 === n + ? void 0 + : n.enableIntentsResolverUI) || + e.intents.enableIntentsResolverUI), + (this.intentsResolverAppName = + null !== + (i = + null === (r = e.intents) || + void 0 === r + ? void 0 + : r.intentsResolverAppName) && + void 0 !== i + ? i + : ua), + (this.intentsResolverResponseTimeout = + null !== + (a = + null === (o = e.intents) || + void 0 === o + ? void 0 + : o.methodResponseTimeoutMs) && + void 0 !== a + ? a + : sa)) + : (this.useIntentsResolverUI = !1); + } + }, + { + key: "checkIfResolverShouldBeOpened", + value: function (e, t) { + return this.useIntentsResolverUI + ? this.appManager.application( + this.intentsResolverAppName + ) + ? this.checkIfIntentHasMoreThanOneHandler(e, t) + ? { open: !0 } + : { + open: !1, + reason: "Raised intent ".concat( + e.name, + " has only one handler" + ) + } + : { + open: !1, + reason: "Intent Resolver Application with name ".concat( + this.intentsResolverAppName, + " not found." + ) + } + : { + open: !1, + reason: "Intent Resolver is disabled. Raising intent to first found handler" + }; + } + }, + { + key: "checkIfIntentHasMoreThanOneHandler", + value: function (e, t) { + return t.target + ? "reuse" === t.target + ? t.handlers + ? t.handlers.filter(function (e) { + return ( + "instance" === e.type && + e.instanceId + ); + }).length > 1 || + t.handlers.filter(function (e) { + return "app" === e.type; + }).length > 1 + : e.handlers.filter(function (e) { + return ( + "instance" === e.type && + e.instanceId + ); + }).length > 1 || + e.handlers.filter(function (e) { + return "app" === e.type; + }).length > 1 + : "startNew" === t.target + ? t.handlers + ? t.handlers.filter(function (e) { + return "app" === e.type; + }).length > 1 + : e.handlers.filter(function (e) { + return "app" === e.type; + }).length > 1 + : (t.target, !1) + : t.handlers + ? t.handlers.length > 1 + : e.handlers.length > 1; + } + }, + { + key: "buildInteropMethodName", + value: function (e) { + return "".concat(ra).concat(e); + } + }, + { + key: "clearUnregistrationPromise", + value: function (e) { + this.unregisterIntentPromises = + this.unregisterIntentPromises.filter(function (t) { + return t !== e; + }); + } + }, + { + key: "unsubscribeIntent", + value: function (e) { + var t = this; + this.myIntents.delete(e); + var n = this.buildInteropMethodName(e), + r = this.interop.unregister(n); + (this.unregisterIntentPromises.push(r), + r + .then(function () { + t.clearUnregistrationPromise(r); + }) + .catch(function (e) { + (t.logger.error( + "Unregistration of a method with name ".concat( + n, + " failed with reason: " + ), + e + ), + t.clearUnregistrationPromise(r)); + })); + } + }, + { + key: "validateIntentRequest", + value: function (e) { + var t = this; + (this.validateIntentRequestContext(e.context), + this.validateIntentRequestTarget(e.target), + this.validateIntentRequestTimeout(e.timeout), + this.validateWaitUserResponseIndefinitely( + e.waitUserResponseIndefinitely + ), + e.handlers && + e.handlers.forEach(function (e) { + return t.validateIntentRequestHandler(e); + })); + } + }, + { + key: "validateIntentRequestTarget", + value: function (e) { + if (e && "string" !== typeof e && "object" !== typeof e) + throw new Error( + 'Please provide the intent target as one of the valid values: "reuse", "startNew", { app: string }, { instance: string } ' + ); + } + }, + { + key: "validateIntentRequestContext", + value: function (e) { + if (e) { + if ("object" !== typeof e) + throw new Error( + "Please provide the intent context as an object" + ); + if (e.type && "string" !== typeof e.type) + throw new Error( + "Please provide the intent context as an object with 'type' property as string" + ); + if (e.data && "object" !== typeof e.data) + throw new Error( + "Please provide the intent context as an object with 'data' property as object" + ); + } + } + }, + { + key: "validateIntentRequestHandler", + value: function (e) { + if (!e.applicationName) + throw new Error( + "Please provide applicationName for handler ".concat( + JSON.stringify(e) + ) + ); + if (!e.type) + throw new Error( + "Please provide type for handler ".concat( + JSON.stringify(e) + ) + ); + if ("instance" === e.type && !e.instanceId) + throw new Error( + "Please provide instanceId for handler ".concat( + JSON.stringify(e) + ) + ); + } + }, + { + key: "validateIntentRequestTimeout", + value: function (e) { + if (e) { + if ("number" !== typeof e) + throw new Error( + "Please provide the timeout as a number" + ); + if (e <= 0) + throw new Error( + "Please provide the timeout as a positive number" + ); + } + } + }, + { + key: "validateWaitUserResponseIndefinitely", + value: function (e) { + if (e && "boolean" !== typeof e) + throw new Error( + "Please provide waitUserResponseIndefinitely as a boolean" + ); + } + }, + { + key: "findHandlerByFilter", + value: function (e, t) { + return t.type + ? e.find(function (e) { + return e.type === t.type; + }) + : t.instance + ? e.find(function (e) { + return t.app + ? e.applicationName === t.app && + e.instanceId === t.instance + : e.instanceId === t.instance; + }) + : t.app + ? e.find(function (e) { + return e.applicationName === t.app; + }) + : void 0; + } + } + ]), + e + ); + })(), + ma = (function () { + function e() { + (v(this, e), + (this.initialized = !1), + (this.details = []), + (this.reject = function () {}), + (this.resolve = function () {})); + } + return ( + m(e, [ + { + key: "init", + value: function (e) { + var t = this; + ((this.initialized = !0), + this.addCall(e), + (this.promise = new Promise(function (e, n) { + ((t.resolve = e), (t.reject = n)); + }))); + } + }, + { + key: "addCall", + value: function (e) { + this.details.push({ date: new Date(), config: e }); + } + }, + { + key: "done", + value: function (e) { + this.resolve(e); + } + }, + { + key: "error", + value: function (e) { + this.reject(e); + } + } + ]), + e + ); + })(), + ga = (function () { + function e(t, n) { + (v(this, e), + (this.appName = t), + (this.interop = n), + (this.registry = zr()), + (this.interopMethodRegistered = !1)); + } + return ( + m(e, [ + { + key: "get", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Prefs.Get", + { + app: + null !== + t && + void 0 !== t + ? t + : this + .appName + } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.returned + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "set", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyDataObject( + t + ), + (e.next = 3), + this.interop.invoke( + "T42.Prefs.Set", + { + app: + null !== + (r = + null === + n || + void 0 === + n + ? void 0 + : n.app) && + void 0 !== r + ? r + : this + .appName, + data: t, + merge: !1 + } + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setFor", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyApp(t), + this.verifyDataObject( + n + ), + e.abrupt( + "return", + this.set(n, { + app: t + }) + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "update", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyDataObject( + t + ), + (e.next = 3), + this.interop.invoke( + "T42.Prefs.Set", + { + app: + null !== + (r = + null === + n || + void 0 === + n + ? void 0 + : n.app) && + void 0 !== r + ? r + : this + .appName, + data: t, + merge: !0 + } + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "updateFor", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyApp(t), + this.verifyDataObject( + n + ), + e.abrupt( + "return", + this.update(n, { + app: t + }) + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clear", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Prefs.Set", + { + app: + null !== + t && + void 0 !== t + ? t + : this + .appName, + clear: !0 + } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clearFor", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyApp(t), + (e.next = 3), + this.interop.invoke( + "T42.Prefs.Set", + { + app: t, + clear: !0 + } + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getAll", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Prefs.Get" + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clearAll", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Prefs.Set", + { clear: !0 } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "subscribe", + value: function (e) { + return ( + this.verifyCallback(e), + this.subscribeFor(this.appName, e) + ); + } + }, + { + key: "subscribeFor", + value: function (e, t) { + var n = this; + (this.verifyApp(e), this.verifyCallback(t)); + var r = this.registry.add(e, t); + return ( + this.registerInteropIfNeeded().then(function () { + n.interop.invoke("T42.Prefs.Get", { + app: e, + subscribe: !0 + }); + }), + function () { + r(); + } + ); + } + }, + { + key: "registerInteropIfNeeded", + value: (function () { + var e = s( + a().mark(function e() { + var t = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + !this + .interopMethodRegistered + ) { + e.next = 2; + break; + } + return e.abrupt("return"); + case 2: + return ( + (this.interopMethodRegistered = + !0), + (e.next = 5), + this.interop.register( + "T42.Prefs.Update", + function (e) { + t.registry.execute( + e.app, + e + ); + } + ) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "verifyApp", + value: function (e) { + if (!e) throw new Error("app should be defined"); + if (!vn(e)) throw new Error("app should be a string"); + } + }, + { + key: "verifyDataObject", + value: function (e) { + if (!e) throw new Error("data should be defined"); + if (!mn(e)) throw new Error("data should be an object"); + } + }, + { + key: "verifyCallback", + value: function (e) { + if (!xn(e)) + throw new Error("callback should be defined"); + } + } + ]), + e + ); + })(), + ya = (function () { + function e(t, n) { + (v(this, e), (this.methodName = t), (this.interop = n)); + } + return ( + m(e, [ + { + key: "get", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.invoke( + "get-cookies", + { filter: t } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.returned.cookies + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "set", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyCookieObject( + t + ), + (e.next = 3), + this.invoke( + "set-cookie", + t + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "remove", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (vn(t)) { + e.next = 2; + break; + } + throw new Error( + "url should be a string" + ); + case 2: + if (vn(n)) { + e.next = 4; + break; + } + throw new Error( + "name should be a string" + ); + case 4: + return ( + (e.next = 6), + this.invoke( + "remove-cookie", + { url: t, name: n } + ) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "invoke", + value: function (e, t) { + return this.interop.invoke(this.methodName, { + command: e, + args: t + }); + } + }, + { + key: "verifyCookieObject", + value: function (e) { + if (!e) throw new Error("cookie should be defined"); + if (!mn(e)) + throw new Error("cookie should be an object"); + } + } + ]), + e + ); + })(); + function wa(e, t) { + var n = new ya(t, e); + return { + get: n.get.bind(n), + remove: n.remove.bind(n), + set: n.set.bind(n), + ready: function () { + return Promise.resolve(); + } + }; + } + var ba, + ka, + xa = (function () { + function e(t) { + (v(this, e), + (this.config = t), + (this.glue42EventName = "Glue42"), + (this.events = { + notifyStarted: { + name: "notifyStarted", + handle: this.handleNotifyStarted.bind(this) + }, + requestGlue: { + name: "requestGlue", + handle: this.handleRequestGlue.bind(this) + } + })); + } + return ( + m(e, [ + { + key: "start", + value: function (e) { + Xi.isNode() || + ((this.glue = e), + this.wireCustomEventListener(), + this.announceStarted()); + } + }, + { + key: "wireCustomEventListener", + value: function () { + var e = this; + window.addEventListener( + this.glue42EventName, + function (t) { + var n = t.detail; + if (n && n.glue42) { + var r = n.glue42.event, + i = e.events[r]; + i && i.handle(n.glue42.message); + } + } + ); + } + }, + { + key: "announceStarted", + value: function () { + this.send("start"); + } + }, + { + key: "handleRequestGlue", + value: function () { + this.config.exposeAPI + ? this.send("requestGlueResponse", { + glue: this.glue + }) + : this.send("requestGlueResponse", { + error: "Will not give access to the underlying Glue API, because it was explicitly denied upon initialization." + }); + } + }, + { + key: "handleNotifyStarted", + value: function () { + this.announceStarted(); + } + }, + { + key: "send", + value: function (e, t) { + var n = { glue42: { event: e, message: t } }, + r = new CustomEvent(this.glue42EventName, { + detail: n + }); + window.dispatchEvent(r); + } + } + ]), + e + ); + })(), + _a = new ma(), + Ca = (function () { + var e = s( + a().mark(function e(t) { + var n, r, i; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = !1), + _a.initialized || ((n = !0), _a.init(t)), + !(r = + "undefined" !== typeof window && + window.glue42gd)) + ) { + e.next = 7; + break; + } + if (n) { + e.next = 7; + break; + } + return ( + _a.addCall(t), + e.abrupt("return", _a.promise) + ); + case 7: + return ((e.next = 9), Ia(t, r)); + case 9: + return ( + (i = e.sent), + _a.resolve(i), + e.abrupt("return", i) + ); + case 12: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })(), + Ia = (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b, + k, + x, + _, + C, + I, + S, + E, + W, + T; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (W = function (e) { + E.push(e); + }), + (I = function (e, t, n) { + var r = t.subLogger(e); + if (n && n.logger) { + var i = n.logger; + (i.console && + r.consoleLevel(i.console), + i.publish && + r.publishLevel(i.publish)); + } + return r; + }), + (C = function (e) { + var t = wa(e.interop, r); + return (W(t), t); + }), + (_ = function (e) { + var r, + i, + o = + null !== + (i = + null !== + (r = + t.application) && + void 0 !== r + ? r + : null === n || + void 0 === n + ? void 0 + : n.application) && + void 0 !== i + ? i + : e.interop.instance + .application, + a = new ga(o, e.interop); + return (W(a), a); + }), + (x = function (e) { + if (e.contexts) { + var t = na(e.contexts, e.interop); + return (W(t), t); + } + }), + (k = function (e) { + if (o.displays) { + var t = I( + "displays", + e.logger, + o.displays + ); + return ( + (d = new So(e.agm, t)), + W(d), + d + ); + } + }), + (b = function (e) { + var t = new Zo( + e.interop, + e.logger + ).toAPI(); + return (W(t), t); + }), + (w = function (e) { + var n = new va( + e.agm, + u, + e.logger.subLogger("intents"), + t, + s + ); + return (W(n), n); + }), + (y = function (e) { + var t = $o(e.agm); + return (W(t), t); + }), + (g = function (e) { + if (o.channels && e.contexts) { + var t = I( + "channels", + e.logger, + o.channels + ); + return ( + (l = jo( + e.contexts, + e.agm, + function () { + return u; + }, + t + )), + W(l), + l + ); + } + }), + (m = function (e) { + var t; + if (o.layouts) { + var n = I( + "layouts", + e.logger, + o.layouts + ), + r = o.layouts, + a = bo({ + agm: e.agm, + appManager: s, + activityGetter: + function () { + return c; + }, + logger: n, + mode: r.mode, + autoSaveWindowContext: + null !== + (t = + r.autoSaveWindowContext) && + void 0 !== t && + t, + gdMajorVersion: i + }); + return (W(a), a); + } + }), + (v = function (e) { + if (o.appManager) { + var t = I( + "appManager", + e.logger, + o.appManager + ); + return ( + (s = pi({ + agm: e.agm, + windows: u, + logger: t, + activities: c, + mode: o.appManager.mode, + gdMajorVersion: i + })), + W(s), + s + ); + } + }), + (f = function (e) { + var t; + if ( + o.activities && + Cr.checkIsUsingGW3Implementation && + Cr.checkIsUsingGW3Implementation( + e.connection + ) + ) { + var r = I( + "activity", + e.logger, + o.activities + ); + return ( + (c = new Cr({ + connection: e.connection, + contexts: e.contexts, + agm: e.agm, + logger: r, + logLevel: "info", + disableAutoAnnounce: !1, + disposeRequestHandling: + "exit", + announcementInfo: null, + windows: u, + appManagerGetter: + function () { + return s; + }, + mode: o.activities.mode, + typesToTrack: + o.activities + .typesToTrack, + activityId: + null === + (t = + null === n || + void 0 === n + ? void 0 + : n.activityInfo) || + void 0 === t + ? void 0 + : t.activityId, + gdMajorVersion: i + }).api), + W(c), + c + ); + } + }), + (h = function (e) { + if (o.windows) { + var t = I( + "windows", + e.logger, + o.windows + ); + return ( + (u = lo( + e.agm, + t, + function () { + return s; + }, + function () { + return d; + }, + function () { + return l; + }, + i + )), + W(u), + u + ); + } + }), + (r = "T42.GD.Execute"), + (i = Xi.getGDMajorVersion()), + (o = Ko((t = t || {}))), + (t.gateway = t.gateway || {}), + (p = new xa(o)), + (S = { + libs: [ + { name: "windows", create: h }, + { name: "activities", create: f }, + { name: "appManager", create: v }, + { name: "layouts", create: m }, + { name: "channels", create: g }, + { name: "hotkeys", create: y }, + { name: "displays", create: k }, + { name: "intents", create: w }, + { + name: "notifications", + create: b + }, + { name: "themes", create: x }, + { name: "prefs", create: _ }, + { name: "cookies", create: C } + ], + version: Jo, + enrichGlue: function (e) { + ((e.config.activities = + o.activities), + (e.config.windows = o.windows), + (e.config.appManager = + o.appManager), + (e.config.layouts = o.layouts), + (e.config.channels = + o.channels), + (e.config.displays = + o.displays)); + } + }), + (E = []), + "undefined" !== typeof window && + (window.glueFactoryLog || + (window.glueFactoryLog = []), + window.glueFactoryLog.push(E)), + (e.next = 25), + pn(t, S) + ); + case 25: + if ( + ((T = e.sent), + !Array.isArray( + null === t || void 0 === t + ? void 0 + : t.libraries + ) || !t.libraries.length) + ) { + e.next = 29; + break; + } + return ( + (e.next = 29), + Promise.all( + t.libraries.map(function (e) { + return e(T, t); + }) + ) + ); + case 29: + return (p.start(T), e.abrupt("return", T)); + case 31: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })(); + ((Ca.coreVersion = pn.version), (Ca.version = Jo), (Ca.calls = _a)); + var Sa = Ca, + Ea = !0; + if ("undefined" !== typeof window) { + var Wa = window, + Ta = null !== (ba = Wa.iodesktop) && void 0 !== ba ? ba : Wa.glue42gd; + (Ta && + Ta.autoInjected && + ((Sa = null !== (ka = Wa.IODesktop) && void 0 !== ka ? ka : Wa.Glue), + (Ea = !1)), + Ea && ((Wa.Glue = Sa), (Wa.IODesktop = Sa)), + delete Wa.IOBrowser, + delete Wa.GlueCore); + } + return ((Sa.default = Sa), Sa); + })(); + }, + 725: function (e) { + "use strict"; + var t = Object.getOwnPropertySymbols, + n = Object.prototype.hasOwnProperty, + r = Object.prototype.propertyIsEnumerable; + e.exports = (function () { + try { + if (!Object.assign) return !1; + var e = new String("abc"); + if (((e[5] = "de"), "5" === Object.getOwnPropertyNames(e)[0])) return !1; + for (var t = {}, n = 0; n < 10; n++) t["_" + String.fromCharCode(n)] = n; + if ( + "0123456789" !== + Object.getOwnPropertyNames(t) + .map(function (e) { + return t[e]; + }) + .join("") + ) + return !1; + var r = {}; + return ( + "abcdefghijklmnopqrst".split("").forEach(function (e) { + r[e] = e; + }), + "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, r)).join("") + ); + } catch (i) { + return !1; + } + })() + ? Object.assign + : function (e, i) { + for ( + var o, + a, + s = (function (e) { + if (null === e || void 0 === e) + throw new TypeError( + "Object.assign cannot be called with null or undefined" + ); + return Object(e); + })(e), + c = 1; + c < arguments.length; + c++ + ) { + for (var u in (o = Object(arguments[c]))) + n.call(o, u) && (s[u] = o[u]); + if (t) { + a = t(o); + for (var d = 0; d < a.length; d++) + r.call(o, a[d]) && (s[a[d]] = o[a[d]]); + } + } + return s; + }; + }, + 888: function (e, t, n) { + "use strict"; + var r = n(47); + function i() {} + function o() {} + ((o.resetWarningCache = i), + (e.exports = function () { + function e(e, t, n, i, o, a) { + if (a !== r) { + var s = 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 ((s.name = "Invariant Violation"), s); + } + } + function t() { + return e; + } + e.isRequired = e; + var n = { + array: e, + bigint: e, + bool: e, + func: e, + number: e, + object: e, + string: e, + symbol: e, + any: e, + arrayOf: t, + element: e, + elementType: e, + instanceOf: t, + node: e, + objectOf: t, + oneOf: t, + oneOfType: t, + shape: t, + exact: t, + checkPropTypes: o, + resetWarningCache: i + }; + return ((n.PropTypes = n), n); + })); + }, + 7: function (e, t, n) { + e.exports = n(888)(); + }, + 47: function (e) { + "use strict"; + e.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; + }, + 463: function (e, t, n) { + "use strict"; + var r = n(791), + i = n(725), + o = n(296); + function a(e) { + for ( + var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; + n < arguments.length; + n++ + ) + t += "&args[]=" + encodeURIComponent(arguments[n]); + return ( + "Minified React error #" + + e + + "; visit " + + t + + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." + ); + } + if (!r) throw Error(a(227)); + var s = new Set(), + c = {}; + function u(e, t) { + (d(e, t), d(e + "Capture", t)); + } + function d(e, t) { + for (c[e] = t, e = 0; e < t.length; e++) s.add(t[e]); + } + var l = !( + "undefined" === typeof window || + "undefined" === typeof window.document || + "undefined" === typeof window.document.createElement + ), + p = + /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, + h = Object.prototype.hasOwnProperty, + f = {}, + v = {}; + function m(e, t, n, r, i, o, a) { + ((this.acceptsBooleans = 2 === t || 3 === t || 4 === t), + (this.attributeName = r), + (this.attributeNamespace = i), + (this.mustUseProperty = n), + (this.propertyName = e), + (this.type = t), + (this.sanitizeURL = o), + (this.removeEmptyString = a)); + } + var g = {}; + ("children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style" + .split(" ") + .forEach(function (e) { + g[e] = new m(e, 0, !1, e, null, !1, !1); + }), + [ + ["acceptCharset", "accept-charset"], + ["className", "class"], + ["htmlFor", "for"], + ["httpEquiv", "http-equiv"] + ].forEach(function (e) { + var t = e[0]; + g[t] = new m(t, 1, !1, e[1], null, !1, !1); + }), + ["contentEditable", "draggable", "spellCheck", "value"].forEach(function (e) { + g[e] = new m(e, 2, !1, e.toLowerCase(), null, !1, !1); + }), + [ + "autoReverse", + "externalResourcesRequired", + "focusable", + "preserveAlpha" + ].forEach(function (e) { + g[e] = new m(e, 2, !1, e, null, !1, !1); + }), + "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope" + .split(" ") + .forEach(function (e) { + g[e] = new m(e, 3, !1, e.toLowerCase(), null, !1, !1); + }), + ["checked", "multiple", "muted", "selected"].forEach(function (e) { + g[e] = new m(e, 3, !0, e, null, !1, !1); + }), + ["capture", "download"].forEach(function (e) { + g[e] = new m(e, 4, !1, e, null, !1, !1); + }), + ["cols", "rows", "size", "span"].forEach(function (e) { + g[e] = new m(e, 6, !1, e, null, !1, !1); + }), + ["rowSpan", "start"].forEach(function (e) { + g[e] = new m(e, 5, !1, e.toLowerCase(), null, !1, !1); + })); + var y = /[\-:]([a-z])/g; + function w(e) { + return e[1].toUpperCase(); + } + function b(e, t, n, r) { + var i = g.hasOwnProperty(t) ? g[t] : null; + (null !== i + ? 0 === i.type + : !r && + 2 < t.length && + ("o" === t[0] || "O" === t[0]) && + ("n" === t[1] || "N" === t[1])) || + ((function (e, t, n, r) { + if ( + null === t || + "undefined" === typeof t || + (function (e, t, n, r) { + if (null !== n && 0 === n.type) return !1; + switch (typeof t) { + case "function": + case "symbol": + return !0; + case "boolean": + return ( + !r && + (null !== n + ? !n.acceptsBooleans + : "data-" !== + (e = e.toLowerCase().slice(0, 5)) && + "aria-" !== e) + ); + default: + return !1; + } + })(e, t, n, r) + ) + return !0; + if (r) return !1; + if (null !== n) + switch (n.type) { + case 3: + return !t; + case 4: + return !1 === t; + case 5: + return isNaN(t); + case 6: + return isNaN(t) || 1 > t; + } + return !1; + })(t, n, i, r) && (n = null), + r || null === i + ? (function (e) { + return ( + !!h.call(v, e) || + (!h.call(f, e) && + (p.test(e) ? (v[e] = !0) : ((f[e] = !0), !1))) + ); + })(t) && + (null === n ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) + : i.mustUseProperty + ? (e[i.propertyName] = null === n ? 3 !== i.type && "" : n) + : ((t = i.attributeName), + (r = i.attributeNamespace), + null === n + ? e.removeAttribute(t) + : ((n = + 3 === (i = i.type) || (4 === i && !0 === n) + ? "" + : "" + n), + r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n)))); + } + ("accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height" + .split(" ") + .forEach(function (e) { + var t = e.replace(y, w); + g[t] = new m(t, 1, !1, e, null, !1, !1); + }), + "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type" + .split(" ") + .forEach(function (e) { + var t = e.replace(y, w); + g[t] = new m(t, 1, !1, e, "http://www.w3.org/1999/xlink", !1, !1); + }), + ["xml:base", "xml:lang", "xml:space"].forEach(function (e) { + var t = e.replace(y, w); + g[t] = new m(t, 1, !1, e, "http://www.w3.org/XML/1998/namespace", !1, !1); + }), + ["tabIndex", "crossOrigin"].forEach(function (e) { + g[e] = new m(e, 1, !1, e.toLowerCase(), null, !1, !1); + }), + (g.xlinkHref = new m( + "xlinkHref", + 1, + !1, + "xlink:href", + "http://www.w3.org/1999/xlink", + !0, + !1 + )), + ["src", "href", "action", "formAction"].forEach(function (e) { + g[e] = new m(e, 1, !1, e.toLowerCase(), null, !0, !0); + })); + var k = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, + x = 60103, + _ = 60106, + C = 60107, + I = 60108, + S = 60114, + E = 60109, + W = 60110, + T = 60112, + A = 60113, + P = 60120, + M = 60115, + R = 60116, + O = 60121, + D = 60128, + L = 60129, + B = 60130, + N = 60131; + if ("function" === typeof Symbol && Symbol.for) { + var F = Symbol.for; + ((x = F("react.element")), + (_ = F("react.portal")), + (C = F("react.fragment")), + (I = F("react.strict_mode")), + (S = F("react.profiler")), + (E = F("react.provider")), + (W = F("react.context")), + (T = F("react.forward_ref")), + (A = F("react.suspense")), + (P = F("react.suspense_list")), + (M = F("react.memo")), + (R = F("react.lazy")), + (O = F("react.block")), + F("react.scope"), + (D = F("react.opaque.id")), + (L = F("react.debug_trace_mode")), + (B = F("react.offscreen")), + (N = F("react.legacy_hidden"))); + } + var j, + H = "function" === typeof Symbol && Symbol.iterator; + function z(e) { + return null === e || "object" !== typeof e + ? null + : "function" === typeof (e = (H && e[H]) || e["@@iterator"]) + ? e + : null; + } + function q(e) { + if (void 0 === j) + try { + throw Error(); + } catch (n) { + var t = n.stack.trim().match(/\n( *(at )?)/); + j = (t && t[1]) || ""; + } + return "\n" + j + e; + } + var G = !1; + function U(e, t) { + if (!e || G) return ""; + G = !0; + var n = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + try { + if (t) + if ( + ((t = function () { + throw Error(); + }), + Object.defineProperty(t.prototype, "props", { + set: function () { + throw Error(); + } + }), + "object" === typeof Reflect && Reflect.construct) + ) { + try { + Reflect.construct(t, []); + } catch (c) { + var r = c; + } + Reflect.construct(e, [], t); + } else { + try { + t.call(); + } catch (c) { + r = c; + } + e.call(t.prototype); + } + else { + try { + throw Error(); + } catch (c) { + r = c; + } + e(); + } + } catch (c) { + if (c && r && "string" === typeof c.stack) { + for ( + var i = c.stack.split("\n"), + o = r.stack.split("\n"), + a = i.length - 1, + s = o.length - 1; + 1 <= a && 0 <= s && i[a] !== o[s]; + + ) + s--; + for (; 1 <= a && 0 <= s; a--, s--) + if (i[a] !== o[s]) { + if (1 !== a || 1 !== s) + do { + if ((a--, 0 > --s || i[a] !== o[s])) + return "\n" + i[a].replace(" at new ", " at "); + } while (1 <= a && 0 <= s); + break; + } + } + } finally { + ((G = !1), (Error.prepareStackTrace = n)); + } + return (e = e ? e.displayName || e.name : "") ? q(e) : ""; + } + function V(e) { + switch (e.tag) { + case 5: + return q(e.type); + case 16: + return q("Lazy"); + case 13: + return q("Suspense"); + case 19: + return q("SuspenseList"); + case 0: + case 2: + case 15: + return (e = U(e.type, !1)); + case 11: + return (e = U(e.type.render, !1)); + case 22: + return (e = U(e.type._render, !1)); + case 1: + return (e = U(e.type, !0)); + default: + return ""; + } + } + function $(e) { + if (null == e) return null; + if ("function" === typeof e) return e.displayName || e.name || null; + if ("string" === typeof e) return e; + switch (e) { + case C: + return "Fragment"; + case _: + return "Portal"; + case S: + return "Profiler"; + case I: + return "StrictMode"; + case A: + return "Suspense"; + case P: + return "SuspenseList"; + } + if ("object" === typeof e) + switch (e.$$typeof) { + case W: + return (e.displayName || "Context") + ".Consumer"; + case E: + return (e._context.displayName || "Context") + ".Provider"; + case T: + var t = e.render; + return ( + (t = t.displayName || t.name || ""), + e.displayName || + ("" !== t ? "ForwardRef(" + t + ")" : "ForwardRef") + ); + case M: + return $(e.type); + case O: + return $(e._render); + case R: + ((t = e._payload), (e = e._init)); + try { + return $(e(t)); + } catch (n) {} + } + return null; + } + function J(e) { + switch (typeof e) { + case "boolean": + case "number": + case "object": + case "string": + case "undefined": + return e; + default: + return ""; + } + } + function K(e) { + var t = e.type; + return ( + (e = e.nodeName) && + "input" === e.toLowerCase() && + ("checkbox" === t || "radio" === t) + ); + } + function Q(e) { + e._valueTracker || + (e._valueTracker = (function (e) { + var t = K(e) ? "checked" : "value", + n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t), + r = "" + e[t]; + if ( + !e.hasOwnProperty(t) && + "undefined" !== typeof n && + "function" === typeof n.get && + "function" === typeof n.set + ) { + var i = n.get, + o = n.set; + return ( + Object.defineProperty(e, t, { + configurable: !0, + get: function () { + return i.call(this); + }, + set: function (e) { + ((r = "" + e), o.call(this, e)); + } + }), + Object.defineProperty(e, t, { enumerable: n.enumerable }), + { + getValue: function () { + return r; + }, + setValue: function (e) { + r = "" + e; + }, + stopTracking: function () { + ((e._valueTracker = null), delete e[t]); + } + } + ); + } + })(e)); + } + function X(e) { + if (!e) return !1; + var t = e._valueTracker; + if (!t) return !0; + var n = t.getValue(), + r = ""; + return ( + e && (r = K(e) ? (e.checked ? "true" : "false") : e.value), + (e = r) !== n && (t.setValue(e), !0) + ); + } + function Y(e) { + if ( + "undefined" === + typeof (e = e || ("undefined" !== typeof document ? document : void 0)) + ) + return null; + try { + return e.activeElement || e.body; + } catch (t) { + return e.body; + } + } + function Z(e, t) { + var n = t.checked; + return i({}, t, { + defaultChecked: void 0, + defaultValue: void 0, + value: void 0, + checked: null != n ? n : e._wrapperState.initialChecked + }); + } + function ee(e, t) { + var n = null == t.defaultValue ? "" : t.defaultValue, + r = null != t.checked ? t.checked : t.defaultChecked; + ((n = J(null != t.value ? t.value : n)), + (e._wrapperState = { + initialChecked: r, + initialValue: n, + controlled: + "checkbox" === t.type || "radio" === t.type + ? null != t.checked + : null != t.value + })); + } + function te(e, t) { + null != (t = t.checked) && b(e, "checked", t, !1); + } + function ne(e, t) { + te(e, t); + var n = J(t.value), + r = t.type; + if (null != n) + "number" === r + ? ((0 === n && "" === e.value) || e.value != n) && (e.value = "" + n) + : e.value !== "" + n && (e.value = "" + n); + else if ("submit" === r || "reset" === r) + return void e.removeAttribute("value"); + (t.hasOwnProperty("value") + ? ie(e, t.type, n) + : t.hasOwnProperty("defaultValue") && ie(e, t.type, J(t.defaultValue)), + null == t.checked && + null != t.defaultChecked && + (e.defaultChecked = !!t.defaultChecked)); + } + function re(e, t, n) { + if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) { + var r = t.type; + if ( + !( + ("submit" !== r && "reset" !== r) || + (void 0 !== t.value && null !== t.value) + ) + ) + return; + ((t = "" + e._wrapperState.initialValue), + n || t === e.value || (e.value = t), + (e.defaultValue = t)); + } + ("" !== (n = e.name) && (e.name = ""), + (e.defaultChecked = !!e._wrapperState.initialChecked), + "" !== n && (e.name = n)); + } + function ie(e, t, n) { + ("number" === t && Y(e.ownerDocument) === e) || + (null == n + ? (e.defaultValue = "" + e._wrapperState.initialValue) + : e.defaultValue !== "" + n && (e.defaultValue = "" + n)); + } + function oe(e, t) { + return ( + (e = i({ children: void 0 }, t)), + (t = (function (e) { + var t = ""; + return ( + r.Children.forEach(e, function (e) { + null != e && (t += e); + }), + t + ); + })(t.children)) && (e.children = t), + e + ); + } + function ae(e, t, n, r) { + if (((e = e.options), t)) { + t = {}; + for (var i = 0; i < n.length; i++) t["$" + n[i]] = !0; + for (n = 0; n < e.length; n++) + ((i = t.hasOwnProperty("$" + e[n].value)), + e[n].selected !== i && (e[n].selected = i), + i && r && (e[n].defaultSelected = !0)); + } else { + for (n = "" + J(n), t = null, i = 0; i < e.length; i++) { + if (e[i].value === n) + return ( + (e[i].selected = !0), + void (r && (e[i].defaultSelected = !0)) + ); + null !== t || e[i].disabled || (t = e[i]); + } + null !== t && (t.selected = !0); + } + } + function se(e, t) { + if (null != t.dangerouslySetInnerHTML) throw Error(a(91)); + return i({}, t, { + value: void 0, + defaultValue: void 0, + children: "" + e._wrapperState.initialValue + }); + } + function ce(e, t) { + var n = t.value; + if (null == n) { + if (((n = t.children), (t = t.defaultValue), null != n)) { + if (null != t) throw Error(a(92)); + if (Array.isArray(n)) { + if (!(1 >= n.length)) throw Error(a(93)); + n = n[0]; + } + t = n; + } + (null == t && (t = ""), (n = t)); + } + e._wrapperState = { initialValue: J(n) }; + } + function ue(e, t) { + var n = J(t.value), + r = J(t.defaultValue); + (null != n && + ((n = "" + n) !== e.value && (e.value = n), + null == t.defaultValue && e.defaultValue !== n && (e.defaultValue = n)), + null != r && (e.defaultValue = "" + r)); + } + function de(e) { + var t = e.textContent; + t === e._wrapperState.initialValue && "" !== t && null !== t && (e.value = t); + } + var le = { + html: "http://www.w3.org/1999/xhtml", + mathml: "http://www.w3.org/1998/Math/MathML", + svg: "http://www.w3.org/2000/svg" + }; + function pe(e) { + switch (e) { + case "svg": + return "http://www.w3.org/2000/svg"; + case "math": + return "http://www.w3.org/1998/Math/MathML"; + default: + return "http://www.w3.org/1999/xhtml"; + } + } + function he(e, t) { + return null == e || "http://www.w3.org/1999/xhtml" === e + ? pe(t) + : "http://www.w3.org/2000/svg" === e && "foreignObject" === t + ? "http://www.w3.org/1999/xhtml" + : e; + } + var fe, + ve, + me = + ((ve = function (e, t) { + if (e.namespaceURI !== le.svg || "innerHTML" in e) e.innerHTML = t; + else { + for ( + (fe = fe || document.createElement("div")).innerHTML = + "" + t.valueOf().toString() + "", + t = fe.firstChild; + e.firstChild; + + ) + e.removeChild(e.firstChild); + for (; t.firstChild; ) e.appendChild(t.firstChild); + } + }), + "undefined" !== typeof MSApp && MSApp.execUnsafeLocalFunction + ? function (e, t, n, r) { + MSApp.execUnsafeLocalFunction(function () { + return ve(e, t); + }); + } + : ve); + function ge(e, t) { + if (t) { + var n = e.firstChild; + if (n && n === e.lastChild && 3 === n.nodeType) + return void (n.nodeValue = t); + } + e.textContent = t; + } + var ye = { + animationIterationCount: !0, + borderImageOutset: !0, + borderImageSlice: !0, + borderImageWidth: !0, + boxFlex: !0, + boxFlexGroup: !0, + boxOrdinalGroup: !0, + columnCount: !0, + columns: !0, + flex: !0, + flexGrow: !0, + flexPositive: !0, + flexShrink: !0, + flexNegative: !0, + flexOrder: !0, + gridArea: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowSpan: !0, + gridRowStart: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnSpan: !0, + gridColumnStart: !0, + fontWeight: !0, + lineClamp: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + tabSize: !0, + widows: !0, + zIndex: !0, + zoom: !0, + fillOpacity: !0, + floodOpacity: !0, + stopOpacity: !0, + strokeDasharray: !0, + strokeDashoffset: !0, + strokeMiterlimit: !0, + strokeOpacity: !0, + strokeWidth: !0 + }, + we = ["Webkit", "ms", "Moz", "O"]; + function be(e, t, n) { + return null == t || "boolean" === typeof t || "" === t + ? "" + : n || "number" !== typeof t || 0 === t || (ye.hasOwnProperty(e) && ye[e]) + ? ("" + t).trim() + : t + "px"; + } + function ke(e, t) { + for (var n in ((e = e.style), t)) + if (t.hasOwnProperty(n)) { + var r = 0 === n.indexOf("--"), + i = be(n, t[n], r); + ("float" === n && (n = "cssFloat"), + r ? e.setProperty(n, i) : (e[n] = i)); + } + } + Object.keys(ye).forEach(function (e) { + we.forEach(function (t) { + ((t = t + e.charAt(0).toUpperCase() + e.substring(1)), (ye[t] = ye[e])); + }); + }); + var xe = i( + { menuitem: !0 }, + { + area: !0, + base: !0, + br: !0, + col: !0, + embed: !0, + hr: !0, + img: !0, + input: !0, + keygen: !0, + link: !0, + meta: !0, + param: !0, + source: !0, + track: !0, + wbr: !0 + } + ); + function _e(e, t) { + if (t) { + if (xe[e] && (null != t.children || null != t.dangerouslySetInnerHTML)) + throw Error(a(137, e)); + if (null != t.dangerouslySetInnerHTML) { + if (null != t.children) throw Error(a(60)); + if ( + "object" !== typeof t.dangerouslySetInnerHTML || + !("__html" in t.dangerouslySetInnerHTML) + ) + throw Error(a(61)); + } + if (null != t.style && "object" !== typeof t.style) throw Error(a(62)); + } + } + function Ce(e, t) { + if (-1 === e.indexOf("-")) return "string" === typeof t.is; + switch (e) { + case "annotation-xml": + case "color-profile": + case "font-face": + case "font-face-src": + case "font-face-uri": + case "font-face-format": + case "font-face-name": + case "missing-glyph": + return !1; + default: + return !0; + } + } + function Ie(e) { + return ( + (e = e.target || e.srcElement || window).correspondingUseElement && + (e = e.correspondingUseElement), + 3 === e.nodeType ? e.parentNode : e + ); + } + var Se = null, + Ee = null, + We = null; + function Te(e) { + if ((e = ni(e))) { + if ("function" !== typeof Se) throw Error(a(280)); + var t = e.stateNode; + t && ((t = ii(t)), Se(e.stateNode, e.type, t)); + } + } + function Ae(e) { + Ee ? (We ? We.push(e) : (We = [e])) : (Ee = e); + } + function Pe() { + if (Ee) { + var e = Ee, + t = We; + if (((We = Ee = null), Te(e), t)) for (e = 0; e < t.length; e++) Te(t[e]); + } + } + function Me(e, t) { + return e(t); + } + function Re(e, t, n, r, i) { + return e(t, n, r, i); + } + function Oe() {} + var De = Me, + Le = !1, + Be = !1; + function Ne() { + (null === Ee && null === We) || (Oe(), Pe()); + } + function Fe(e, t) { + var n = e.stateNode; + if (null === n) return null; + var r = ii(n); + if (null === r) return null; + n = r[t]; + e: switch (t) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + case "onMouseEnter": + ((r = !r.disabled) || + (r = !( + "button" === (e = e.type) || + "input" === e || + "select" === e || + "textarea" === e + )), + (e = !r)); + break e; + default: + e = !1; + } + if (e) return null; + if (n && "function" !== typeof n) throw Error(a(231, t, typeof n)); + return n; + } + var je = !1; + if (l) + try { + var He = {}; + (Object.defineProperty(He, "passive", { + get: function () { + je = !0; + } + }), + window.addEventListener("test", He, He), + window.removeEventListener("test", He, He)); + } catch (ve) { + je = !1; + } + function ze(e, t, n, r, i, o, a, s, c) { + var u = Array.prototype.slice.call(arguments, 3); + try { + t.apply(n, u); + } catch (d) { + this.onError(d); + } + } + var qe = !1, + Ge = null, + Ue = !1, + Ve = null, + $e = { + onError: function (e) { + ((qe = !0), (Ge = e)); + } + }; + function Je(e, t, n, r, i, o, a, s, c) { + ((qe = !1), (Ge = null), ze.apply($e, arguments)); + } + function Ke(e) { + var t = e, + n = e; + if (e.alternate) for (; t.return; ) t = t.return; + else { + e = t; + do { + (0 !== (1026 & (t = e).flags) && (n = t.return), (e = t.return)); + } while (e); + } + return 3 === t.tag ? n : null; + } + function Qe(e) { + if (13 === e.tag) { + var t = e.memoizedState; + if ( + (null === t && null !== (e = e.alternate) && (t = e.memoizedState), + null !== t) + ) + return t.dehydrated; + } + return null; + } + function Xe(e) { + if (Ke(e) !== e) throw Error(a(188)); + } + function Ye(e) { + if ( + ((e = (function (e) { + var t = e.alternate; + if (!t) { + if (null === (t = Ke(e))) throw Error(a(188)); + return t !== e ? null : e; + } + for (var n = e, r = t; ; ) { + var i = n.return; + if (null === i) break; + var o = i.alternate; + if (null === o) { + if (null !== (r = i.return)) { + n = r; + continue; + } + break; + } + if (i.child === o.child) { + for (o = i.child; o; ) { + if (o === n) return (Xe(i), e); + if (o === r) return (Xe(i), t); + o = o.sibling; + } + throw Error(a(188)); + } + if (n.return !== r.return) ((n = i), (r = o)); + else { + for (var s = !1, c = i.child; c; ) { + if (c === n) { + ((s = !0), (n = i), (r = o)); + break; + } + if (c === r) { + ((s = !0), (r = i), (n = o)); + break; + } + c = c.sibling; + } + if (!s) { + for (c = o.child; c; ) { + if (c === n) { + ((s = !0), (n = o), (r = i)); + break; + } + if (c === r) { + ((s = !0), (r = o), (n = i)); + break; + } + c = c.sibling; + } + if (!s) throw Error(a(189)); + } + } + if (n.alternate !== r) throw Error(a(190)); + } + if (3 !== n.tag) throw Error(a(188)); + return n.stateNode.current === n ? e : t; + })(e)), + !e) + ) + return null; + for (var t = e; ; ) { + if (5 === t.tag || 6 === t.tag) return t; + if (t.child) ((t.child.return = t), (t = t.child)); + else { + if (t === e) break; + for (; !t.sibling; ) { + if (!t.return || t.return === e) return null; + t = t.return; + } + ((t.sibling.return = t.return), (t = t.sibling)); + } + } + return null; + } + function Ze(e, t) { + for (var n = e.alternate; null !== t; ) { + if (t === e || t === n) return !0; + t = t.return; + } + return !1; + } + var et, + tt, + nt, + rt, + it = !1, + ot = [], + at = null, + st = null, + ct = null, + ut = new Map(), + dt = new Map(), + lt = [], + pt = + "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split( + " " + ); + function ht(e, t, n, r, i) { + return { + blockedOn: e, + domEventName: t, + eventSystemFlags: 16 | n, + nativeEvent: i, + targetContainers: [r] + }; + } + function ft(e, t) { + switch (e) { + case "focusin": + case "focusout": + at = null; + break; + case "dragenter": + case "dragleave": + st = null; + break; + case "mouseover": + case "mouseout": + ct = null; + break; + case "pointerover": + case "pointerout": + ut.delete(t.pointerId); + break; + case "gotpointercapture": + case "lostpointercapture": + dt.delete(t.pointerId); + } + } + function vt(e, t, n, r, i, o) { + return null === e || e.nativeEvent !== o + ? ((e = ht(t, n, r, i, o)), null !== t && null !== (t = ni(t)) && tt(t), e) + : ((e.eventSystemFlags |= r), + (t = e.targetContainers), + null !== i && -1 === t.indexOf(i) && t.push(i), + e); + } + function mt(e) { + var t = ti(e.target); + if (null !== t) { + var n = Ke(t); + if (null !== n) + if (13 === (t = n.tag)) { + if (null !== (t = Qe(n))) + return ( + (e.blockedOn = t), + void rt(e.lanePriority, function () { + o.unstable_runWithPriority(e.priority, function () { + nt(n); + }); + }) + ); + } else if (3 === t && n.stateNode.hydrate) + return void (e.blockedOn = + 3 === n.tag ? n.stateNode.containerInfo : null); + } + e.blockedOn = null; + } + function gt(e) { + if (null !== e.blockedOn) return !1; + for (var t = e.targetContainers; 0 < t.length; ) { + var n = Yt(e.domEventName, e.eventSystemFlags, t[0], e.nativeEvent); + if (null !== n) + return (null !== (t = ni(n)) && tt(t), (e.blockedOn = n), !1); + t.shift(); + } + return !0; + } + function yt(e, t, n) { + gt(e) && n.delete(t); + } + function wt() { + for (it = !1; 0 < ot.length; ) { + var e = ot[0]; + if (null !== e.blockedOn) { + null !== (e = ni(e.blockedOn)) && et(e); + break; + } + for (var t = e.targetContainers; 0 < t.length; ) { + var n = Yt(e.domEventName, e.eventSystemFlags, t[0], e.nativeEvent); + if (null !== n) { + e.blockedOn = n; + break; + } + t.shift(); + } + null === e.blockedOn && ot.shift(); + } + (null !== at && gt(at) && (at = null), + null !== st && gt(st) && (st = null), + null !== ct && gt(ct) && (ct = null), + ut.forEach(yt), + dt.forEach(yt)); + } + function bt(e, t) { + e.blockedOn === t && + ((e.blockedOn = null), + it || + ((it = !0), + o.unstable_scheduleCallback(o.unstable_NormalPriority, wt))); + } + function kt(e) { + function t(t) { + return bt(t, e); + } + if (0 < ot.length) { + bt(ot[0], e); + for (var n = 1; n < ot.length; n++) { + var r = ot[n]; + r.blockedOn === e && (r.blockedOn = null); + } + } + for ( + null !== at && bt(at, e), + null !== st && bt(st, e), + null !== ct && bt(ct, e), + ut.forEach(t), + dt.forEach(t), + n = 0; + n < lt.length; + n++ + ) + (r = lt[n]).blockedOn === e && (r.blockedOn = null); + for (; 0 < lt.length && null === (n = lt[0]).blockedOn; ) + (mt(n), null === n.blockedOn && lt.shift()); + } + function xt(e, t) { + var n = {}; + return ( + (n[e.toLowerCase()] = t.toLowerCase()), + (n["Webkit" + e] = "webkit" + t), + (n["Moz" + e] = "moz" + t), + n + ); + } + var _t = { + animationend: xt("Animation", "AnimationEnd"), + animationiteration: xt("Animation", "AnimationIteration"), + animationstart: xt("Animation", "AnimationStart"), + transitionend: xt("Transition", "TransitionEnd") + }, + Ct = {}, + It = {}; + function St(e) { + if (Ct[e]) return Ct[e]; + if (!_t[e]) return e; + var t, + n = _t[e]; + for (t in n) if (n.hasOwnProperty(t) && t in It) return (Ct[e] = n[t]); + return e; + } + l && + ((It = document.createElement("div").style), + "AnimationEvent" in window || + (delete _t.animationend.animation, + delete _t.animationiteration.animation, + delete _t.animationstart.animation), + "TransitionEvent" in window || delete _t.transitionend.transition); + var Et = St("animationend"), + Wt = St("animationiteration"), + Tt = St("animationstart"), + At = St("transitionend"), + Pt = new Map(), + Mt = new Map(), + Rt = [ + "abort", + "abort", + Et, + "animationEnd", + Wt, + "animationIteration", + Tt, + "animationStart", + "canplay", + "canPlay", + "canplaythrough", + "canPlayThrough", + "durationchange", + "durationChange", + "emptied", + "emptied", + "encrypted", + "encrypted", + "ended", + "ended", + "error", + "error", + "gotpointercapture", + "gotPointerCapture", + "load", + "load", + "loadeddata", + "loadedData", + "loadedmetadata", + "loadedMetadata", + "loadstart", + "loadStart", + "lostpointercapture", + "lostPointerCapture", + "playing", + "playing", + "progress", + "progress", + "seeking", + "seeking", + "stalled", + "stalled", + "suspend", + "suspend", + "timeupdate", + "timeUpdate", + At, + "transitionEnd", + "waiting", + "waiting" + ]; + function Ot(e, t) { + for (var n = 0; n < e.length; n += 2) { + var r = e[n], + i = e[n + 1]; + ((i = "on" + (i[0].toUpperCase() + i.slice(1))), + Mt.set(r, t), + Pt.set(r, i), + u(i, [r])); + } + } + (0, o.unstable_now)(); + var Dt = 8; + function Lt(e) { + if (0 !== (1 & e)) return ((Dt = 15), 1); + if (0 !== (2 & e)) return ((Dt = 14), 2); + if (0 !== (4 & e)) return ((Dt = 13), 4); + var t = 24 & e; + return 0 !== t + ? ((Dt = 12), t) + : 0 !== (32 & e) + ? ((Dt = 11), 32) + : 0 !== (t = 192 & e) + ? ((Dt = 10), t) + : 0 !== (256 & e) + ? ((Dt = 9), 256) + : 0 !== (t = 3584 & e) + ? ((Dt = 8), t) + : 0 !== (4096 & e) + ? ((Dt = 7), 4096) + : 0 !== (t = 4186112 & e) + ? ((Dt = 6), t) + : 0 !== (t = 62914560 & e) + ? ((Dt = 5), t) + : 67108864 & e + ? ((Dt = 4), 67108864) + : 0 !== (134217728 & e) + ? ((Dt = 3), 134217728) + : 0 !== (t = 805306368 & e) + ? ((Dt = 2), t) + : 0 !== (1073741824 & e) + ? ((Dt = 1), 1073741824) + : ((Dt = 8), e); + } + function Bt(e, t) { + var n = e.pendingLanes; + if (0 === n) return (Dt = 0); + var r = 0, + i = 0, + o = e.expiredLanes, + a = e.suspendedLanes, + s = e.pingedLanes; + if (0 !== o) ((r = o), (i = Dt = 15)); + else if (0 !== (o = 134217727 & n)) { + var c = o & ~a; + 0 !== c + ? ((r = Lt(c)), (i = Dt)) + : 0 !== (s &= o) && ((r = Lt(s)), (i = Dt)); + } else + 0 !== (o = n & ~a) + ? ((r = Lt(o)), (i = Dt)) + : 0 !== s && ((r = Lt(s)), (i = Dt)); + if (0 === r) return 0; + if ( + ((r = n & (((0 > (r = 31 - qt(r)) ? 0 : 1 << r) << 1) - 1)), + 0 !== t && t !== r && 0 === (t & a)) + ) { + if ((Lt(t), i <= Dt)) return t; + Dt = i; + } + if (0 !== (t = e.entangledLanes)) + for (e = e.entanglements, t &= r; 0 < t; ) + ((i = 1 << (n = 31 - qt(t))), (r |= e[n]), (t &= ~i)); + return r; + } + function Nt(e) { + return 0 !== (e = -1073741825 & e.pendingLanes) + ? e + : 1073741824 & e + ? 1073741824 + : 0; + } + function Ft(e, t) { + switch (e) { + case 15: + return 1; + case 14: + return 2; + case 12: + return 0 === (e = jt(24 & ~t)) ? Ft(10, t) : e; + case 10: + return 0 === (e = jt(192 & ~t)) ? Ft(8, t) : e; + case 8: + return ( + 0 === (e = jt(3584 & ~t)) && + 0 === (e = jt(4186112 & ~t)) && + (e = 512), + e + ); + case 2: + return (0 === (t = jt(805306368 & ~t)) && (t = 268435456), t); + } + throw Error(a(358, e)); + } + function jt(e) { + return e & -e; + } + function Ht(e) { + for (var t = [], n = 0; 31 > n; n++) t.push(e); + return t; + } + function zt(e, t, n) { + e.pendingLanes |= t; + var r = t - 1; + ((e.suspendedLanes &= r), + (e.pingedLanes &= r), + ((e = e.eventTimes)[(t = 31 - qt(t))] = n)); + } + var qt = Math.clz32 + ? Math.clz32 + : function (e) { + return 0 === e ? 32 : (31 - ((Gt(e) / Ut) | 0)) | 0; + }, + Gt = Math.log, + Ut = Math.LN2; + var Vt = o.unstable_UserBlockingPriority, + $t = o.unstable_runWithPriority, + Jt = !0; + function Kt(e, t, n, r) { + Le || Oe(); + var i = Xt, + o = Le; + Le = !0; + try { + Re(i, e, t, n, r); + } finally { + (Le = o) || Ne(); + } + } + function Qt(e, t, n, r) { + $t(Vt, Xt.bind(null, e, t, n, r)); + } + function Xt(e, t, n, r) { + var i; + if (Jt) + if ((i = 0 === (4 & t)) && 0 < ot.length && -1 < pt.indexOf(e)) + ((e = ht(null, e, t, n, r)), ot.push(e)); + else { + var o = Yt(e, t, n, r); + if (null === o) i && ft(e, r); + else { + if (i) { + if (-1 < pt.indexOf(e)) + return ((e = ht(o, e, t, n, r)), void ot.push(e)); + if ( + (function (e, t, n, r, i) { + switch (t) { + case "focusin": + return ((at = vt(at, e, t, n, r, i)), !0); + case "dragenter": + return ((st = vt(st, e, t, n, r, i)), !0); + case "mouseover": + return ((ct = vt(ct, e, t, n, r, i)), !0); + case "pointerover": + var o = i.pointerId; + return ( + ut.set( + o, + vt(ut.get(o) || null, e, t, n, r, i) + ), + !0 + ); + case "gotpointercapture": + return ( + (o = i.pointerId), + dt.set( + o, + vt(dt.get(o) || null, e, t, n, r, i) + ), + !0 + ); + } + return !1; + })(o, e, t, n, r) + ) + return; + ft(e, r); + } + Or(e, t, r, null, n); + } + } + } + function Yt(e, t, n, r) { + var i = Ie(r); + if (null !== (i = ti(i))) { + var o = Ke(i); + if (null === o) i = null; + else { + var a = o.tag; + if (13 === a) { + if (null !== (i = Qe(o))) return i; + i = null; + } else if (3 === a) { + if (o.stateNode.hydrate) + return 3 === o.tag ? o.stateNode.containerInfo : null; + i = null; + } else o !== i && (i = null); + } + } + return (Or(e, t, r, i, n), null); + } + var Zt = null, + en = null, + tn = null; + function nn() { + if (tn) return tn; + var e, + t, + n = en, + r = n.length, + i = "value" in Zt ? Zt.value : Zt.textContent, + o = i.length; + for (e = 0; e < r && n[e] === i[e]; e++); + var a = r - e; + for (t = 1; t <= a && n[r - t] === i[o - t]; t++); + return (tn = i.slice(e, 1 < t ? 1 - t : void 0)); + } + function rn(e) { + var t = e.keyCode; + return ( + "charCode" in e ? 0 === (e = e.charCode) && 13 === t && (e = 13) : (e = t), + 10 === e && (e = 13), + 32 <= e || 13 === e ? e : 0 + ); + } + function on() { + return !0; + } + function an() { + return !1; + } + function sn(e) { + function t(t, n, r, i, o) { + for (var a in ((this._reactName = t), + (this._targetInst = r), + (this.type = n), + (this.nativeEvent = i), + (this.target = o), + (this.currentTarget = null), + e)) + e.hasOwnProperty(a) && ((t = e[a]), (this[a] = t ? t(i) : i[a])); + return ( + (this.isDefaultPrevented = ( + null != i.defaultPrevented + ? i.defaultPrevented + : !1 === i.returnValue + ) + ? on + : an), + (this.isPropagationStopped = an), + this + ); + } + return ( + i(t.prototype, { + preventDefault: function () { + this.defaultPrevented = !0; + var e = this.nativeEvent; + e && + (e.preventDefault + ? e.preventDefault() + : "unknown" !== typeof e.returnValue && + (e.returnValue = !1), + (this.isDefaultPrevented = on)); + }, + stopPropagation: function () { + var e = this.nativeEvent; + e && + (e.stopPropagation + ? e.stopPropagation() + : "unknown" !== typeof e.cancelBubble && + (e.cancelBubble = !0), + (this.isPropagationStopped = on)); + }, + persist: function () {}, + isPersistent: on + }), + t + ); + } + var cn, + un, + dn, + ln = { + eventPhase: 0, + bubbles: 0, + cancelable: 0, + timeStamp: function (e) { + return e.timeStamp || Date.now(); + }, + defaultPrevented: 0, + isTrusted: 0 + }, + pn = sn(ln), + hn = i({}, ln, { view: 0, detail: 0 }), + fn = sn(hn), + vn = i({}, hn, { + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0, + pageX: 0, + pageY: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + getModifierState: En, + button: 0, + buttons: 0, + relatedTarget: function (e) { + return void 0 === e.relatedTarget + ? e.fromElement === e.srcElement + ? e.toElement + : e.fromElement + : e.relatedTarget; + }, + movementX: function (e) { + return "movementX" in e + ? e.movementX + : (e !== dn && + (dn && "mousemove" === e.type + ? ((cn = e.screenX - dn.screenX), + (un = e.screenY - dn.screenY)) + : (un = cn = 0), + (dn = e)), + cn); + }, + movementY: function (e) { + return "movementY" in e ? e.movementY : un; + } + }), + mn = sn(vn), + gn = sn(i({}, vn, { dataTransfer: 0 })), + yn = sn(i({}, hn, { relatedTarget: 0 })), + wn = sn(i({}, ln, { animationName: 0, elapsedTime: 0, pseudoElement: 0 })), + bn = i({}, ln, { + clipboardData: function (e) { + return "clipboardData" in e ? e.clipboardData : window.clipboardData; + } + }), + kn = sn(bn), + xn = sn(i({}, ln, { data: 0 })), + _n = { + Esc: "Escape", + Spacebar: " ", + Left: "ArrowLeft", + Up: "ArrowUp", + Right: "ArrowRight", + Down: "ArrowDown", + Del: "Delete", + Win: "OS", + Menu: "ContextMenu", + Apps: "ContextMenu", + Scroll: "ScrollLock", + MozPrintableKey: "Unidentified" + }, + Cn = { + 8: "Backspace", + 9: "Tab", + 12: "Clear", + 13: "Enter", + 16: "Shift", + 17: "Control", + 18: "Alt", + 19: "Pause", + 20: "CapsLock", + 27: "Escape", + 32: " ", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 45: "Insert", + 46: "Delete", + 112: "F1", + 113: "F2", + 114: "F3", + 115: "F4", + 116: "F5", + 117: "F6", + 118: "F7", + 119: "F8", + 120: "F9", + 121: "F10", + 122: "F11", + 123: "F12", + 144: "NumLock", + 145: "ScrollLock", + 224: "Meta" + }, + In = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" }; + function Sn(e) { + var t = this.nativeEvent; + return t.getModifierState ? t.getModifierState(e) : !!(e = In[e]) && !!t[e]; + } + function En() { + return Sn; + } + var Wn = i({}, hn, { + key: function (e) { + if (e.key) { + var t = _n[e.key] || e.key; + if ("Unidentified" !== t) return t; + } + return "keypress" === e.type + ? 13 === (e = rn(e)) + ? "Enter" + : String.fromCharCode(e) + : "keydown" === e.type || "keyup" === e.type + ? Cn[e.keyCode] || "Unidentified" + : ""; + }, + code: 0, + location: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + repeat: 0, + locale: 0, + getModifierState: En, + charCode: function (e) { + return "keypress" === e.type ? rn(e) : 0; + }, + keyCode: function (e) { + return "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0; + }, + which: function (e) { + return "keypress" === e.type + ? rn(e) + : "keydown" === e.type || "keyup" === e.type + ? e.keyCode + : 0; + } + }), + Tn = sn(Wn), + An = sn( + i({}, vn, { + pointerId: 0, + width: 0, + height: 0, + pressure: 0, + tangentialPressure: 0, + tiltX: 0, + tiltY: 0, + twist: 0, + pointerType: 0, + isPrimary: 0 + }) + ), + Pn = sn( + i({}, hn, { + touches: 0, + targetTouches: 0, + changedTouches: 0, + altKey: 0, + metaKey: 0, + ctrlKey: 0, + shiftKey: 0, + getModifierState: En + }) + ), + Mn = sn(i({}, ln, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 })), + Rn = i({}, vn, { + deltaX: function (e) { + return "deltaX" in e + ? e.deltaX + : "wheelDeltaX" in e + ? -e.wheelDeltaX + : 0; + }, + deltaY: function (e) { + return "deltaY" in e + ? e.deltaY + : "wheelDeltaY" in e + ? -e.wheelDeltaY + : "wheelDelta" in e + ? -e.wheelDelta + : 0; + }, + deltaZ: 0, + deltaMode: 0 + }), + On = sn(Rn), + Dn = [9, 13, 27, 32], + Ln = l && "CompositionEvent" in window, + Bn = null; + l && "documentMode" in document && (Bn = document.documentMode); + var Nn = l && "TextEvent" in window && !Bn, + Fn = l && (!Ln || (Bn && 8 < Bn && 11 >= Bn)), + jn = String.fromCharCode(32), + Hn = !1; + function zn(e, t) { + switch (e) { + case "keyup": + return -1 !== Dn.indexOf(t.keyCode); + case "keydown": + return 229 !== t.keyCode; + case "keypress": + case "mousedown": + case "focusout": + return !0; + default: + return !1; + } + } + function qn(e) { + return "object" === typeof (e = e.detail) && "data" in e ? e.data : null; + } + var Gn = !1; + var Un = { + color: !0, + date: !0, + datetime: !0, + "datetime-local": !0, + email: !0, + month: !0, + number: !0, + password: !0, + range: !0, + search: !0, + tel: !0, + text: !0, + time: !0, + url: !0, + week: !0 + }; + function Vn(e) { + var t = e && e.nodeName && e.nodeName.toLowerCase(); + return "input" === t ? !!Un[e.type] : "textarea" === t; + } + function $n(e, t, n, r) { + (Ae(r), + 0 < (t = Lr(t, "onChange")).length && + ((n = new pn("onChange", "change", null, n, r)), + e.push({ event: n, listeners: t }))); + } + var Jn = null, + Kn = null; + function Qn(e) { + Wr(e, 0); + } + function Xn(e) { + if (X(ri(e))) return e; + } + function Yn(e, t) { + if ("change" === e) return t; + } + var Zn = !1; + if (l) { + var er; + if (l) { + var tr = "oninput" in document; + if (!tr) { + var nr = document.createElement("div"); + (nr.setAttribute("oninput", "return;"), + (tr = "function" === typeof nr.oninput)); + } + er = tr; + } else er = !1; + Zn = er && (!document.documentMode || 9 < document.documentMode); + } + function rr() { + Jn && (Jn.detachEvent("onpropertychange", ir), (Kn = Jn = null)); + } + function ir(e) { + if ("value" === e.propertyName && Xn(Kn)) { + var t = []; + if (($n(t, Kn, e, Ie(e)), (e = Qn), Le)) e(t); + else { + Le = !0; + try { + Me(e, t); + } finally { + ((Le = !1), Ne()); + } + } + } + } + function or(e, t, n) { + "focusin" === e + ? (rr(), (Kn = n), (Jn = t).attachEvent("onpropertychange", ir)) + : "focusout" === e && rr(); + } + function ar(e) { + if ("selectionchange" === e || "keyup" === e || "keydown" === e) return Xn(Kn); + } + function sr(e, t) { + if ("click" === e) return Xn(t); + } + function cr(e, t) { + if ("input" === e || "change" === e) return Xn(t); + } + var ur = + "function" === typeof Object.is + ? Object.is + : function (e, t) { + return ( + (e === t && (0 !== e || 1 / e === 1 / t)) || + (e !== e && t !== t) + ); + }, + dr = Object.prototype.hasOwnProperty; + function lr(e, t) { + if (ur(e, t)) return !0; + if ("object" !== typeof e || null === e || "object" !== typeof t || null === t) + return !1; + var n = Object.keys(e), + r = Object.keys(t); + if (n.length !== r.length) return !1; + for (r = 0; r < n.length; r++) + if (!dr.call(t, n[r]) || !ur(e[n[r]], t[n[r]])) return !1; + return !0; + } + function pr(e) { + for (; e && e.firstChild; ) e = e.firstChild; + return e; + } + function hr(e, t) { + var n, + r = pr(e); + for (e = 0; r; ) { + if (3 === r.nodeType) { + if (((n = e + r.textContent.length), e <= t && n >= t)) + return { node: r, offset: t - e }; + e = n; + } + e: { + for (; r; ) { + if (r.nextSibling) { + r = r.nextSibling; + break e; + } + r = r.parentNode; + } + r = void 0; + } + r = pr(r); + } + } + function fr(e, t) { + return ( + !(!e || !t) && + (e === t || + ((!e || 3 !== e.nodeType) && + (t && 3 === t.nodeType + ? fr(e, t.parentNode) + : "contains" in e + ? e.contains(t) + : !!e.compareDocumentPosition && + !!(16 & e.compareDocumentPosition(t))))) + ); + } + function vr() { + for (var e = window, t = Y(); t instanceof e.HTMLIFrameElement; ) { + try { + var n = "string" === typeof t.contentWindow.location.href; + } catch (r) { + n = !1; + } + if (!n) break; + t = Y((e = t.contentWindow).document); + } + return t; + } + function mr(e) { + var t = e && e.nodeName && e.nodeName.toLowerCase(); + return ( + t && + (("input" === t && + ("text" === e.type || + "search" === e.type || + "tel" === e.type || + "url" === e.type || + "password" === e.type)) || + "textarea" === t || + "true" === e.contentEditable) + ); + } + var gr = l && "documentMode" in document && 11 >= document.documentMode, + yr = null, + wr = null, + br = null, + kr = !1; + function xr(e, t, n) { + var r = n.window === n ? n.document : 9 === n.nodeType ? n : n.ownerDocument; + kr || + null == yr || + yr !== Y(r) || + ("selectionStart" in (r = yr) && mr(r) + ? (r = { start: r.selectionStart, end: r.selectionEnd }) + : (r = { + anchorNode: (r = ( + (r.ownerDocument && r.ownerDocument.defaultView) || + window + ).getSelection()).anchorNode, + anchorOffset: r.anchorOffset, + focusNode: r.focusNode, + focusOffset: r.focusOffset + }), + (br && lr(br, r)) || + ((br = r), + 0 < (r = Lr(wr, "onSelect")).length && + ((t = new pn("onSelect", "select", null, t, n)), + e.push({ event: t, listeners: r }), + (t.target = yr)))); + } + (Ot( + "cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split( + " " + ), + 0 + ), + Ot( + "drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split( + " " + ), + 1 + ), + Ot(Rt, 2)); + for ( + var _r = + "change selectionchange textInput compositionstart compositionend compositionupdate".split( + " " + ), + Cr = 0; + Cr < _r.length; + Cr++ + ) + Mt.set(_r[Cr], 0); + (d("onMouseEnter", ["mouseout", "mouseover"]), + d("onMouseLeave", ["mouseout", "mouseover"]), + d("onPointerEnter", ["pointerout", "pointerover"]), + d("onPointerLeave", ["pointerout", "pointerover"]), + u( + "onChange", + "change click focusin focusout input keydown keyup selectionchange".split( + " " + ) + ), + u( + "onSelect", + "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split( + " " + ) + ), + u("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]), + u( + "onCompositionEnd", + "compositionend focusout keydown keypress keyup mousedown".split(" ") + ), + u( + "onCompositionStart", + "compositionstart focusout keydown keypress keyup mousedown".split(" ") + ), + u( + "onCompositionUpdate", + "compositionupdate focusout keydown keypress keyup mousedown".split(" ") + )); + var Ir = + "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split( + " " + ), + Sr = new Set("cancel close invalid load scroll toggle".split(" ").concat(Ir)); + function Er(e, t, n) { + var r = e.type || "unknown-event"; + ((e.currentTarget = n), + (function (e, t, n, r, i, o, s, c, u) { + if ((Je.apply(this, arguments), qe)) { + if (!qe) throw Error(a(198)); + var d = Ge; + ((qe = !1), (Ge = null), Ue || ((Ue = !0), (Ve = d))); + } + })(r, t, void 0, e), + (e.currentTarget = null)); + } + function Wr(e, t) { + t = 0 !== (4 & t); + for (var n = 0; n < e.length; n++) { + var r = e[n], + i = r.event; + r = r.listeners; + e: { + var o = void 0; + if (t) + for (var a = r.length - 1; 0 <= a; a--) { + var s = r[a], + c = s.instance, + u = s.currentTarget; + if (((s = s.listener), c !== o && i.isPropagationStopped())) + break e; + (Er(i, s, u), (o = c)); + } + else + for (a = 0; a < r.length; a++) { + if ( + ((c = (s = r[a]).instance), + (u = s.currentTarget), + (s = s.listener), + c !== o && i.isPropagationStopped()) + ) + break e; + (Er(i, s, u), (o = c)); + } + } + } + if (Ue) throw ((e = Ve), (Ue = !1), (Ve = null), e); + } + function Tr(e, t) { + var n = oi(t), + r = e + "__bubble"; + n.has(r) || (Rr(t, e, 2, !1), n.add(r)); + } + var Ar = "_reactListening" + Math.random().toString(36).slice(2); + function Pr(e) { + e[Ar] || + ((e[Ar] = !0), + s.forEach(function (t) { + (Sr.has(t) || Mr(t, !1, e, null), Mr(t, !0, e, null)); + })); + } + function Mr(e, t, n, r) { + var i = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 0, + o = n; + if ( + ("selectionchange" === e && 9 !== n.nodeType && (o = n.ownerDocument), + null !== r && !t && Sr.has(e)) + ) { + if ("scroll" !== e) return; + ((i |= 2), (o = r)); + } + var a = oi(o), + s = e + "__" + (t ? "capture" : "bubble"); + a.has(s) || (t && (i |= 4), Rr(o, e, i, t), a.add(s)); + } + function Rr(e, t, n, r) { + var i = Mt.get(t); + switch (void 0 === i ? 2 : i) { + case 0: + i = Kt; + break; + case 1: + i = Qt; + break; + default: + i = Xt; + } + ((n = i.bind(null, t, n, e)), + (i = void 0), + !je || + ("touchstart" !== t && "touchmove" !== t && "wheel" !== t) || + (i = !0), + r + ? void 0 !== i + ? e.addEventListener(t, n, { capture: !0, passive: i }) + : e.addEventListener(t, n, !0) + : void 0 !== i + ? e.addEventListener(t, n, { passive: i }) + : e.addEventListener(t, n, !1)); + } + function Or(e, t, n, r, i) { + var o = r; + if (0 === (1 & t) && 0 === (2 & t) && null !== r) + e: for (;;) { + if (null === r) return; + var a = r.tag; + if (3 === a || 4 === a) { + var s = r.stateNode.containerInfo; + if (s === i || (8 === s.nodeType && s.parentNode === i)) break; + if (4 === a) + for (a = r.return; null !== a; ) { + var c = a.tag; + if ( + (3 === c || 4 === c) && + ((c = a.stateNode.containerInfo) === i || + (8 === c.nodeType && c.parentNode === i)) + ) + return; + a = a.return; + } + for (; null !== s; ) { + if (null === (a = ti(s))) return; + if (5 === (c = a.tag) || 6 === c) { + r = o = a; + continue e; + } + s = s.parentNode; + } + } + r = r.return; + } + !(function (e, t, n) { + if (Be) return e(t, n); + Be = !0; + try { + De(e, t, n); + } finally { + ((Be = !1), Ne()); + } + })(function () { + var r = o, + i = Ie(n), + a = []; + e: { + var s = Pt.get(e); + if (void 0 !== s) { + var c = pn, + u = e; + switch (e) { + case "keypress": + if (0 === rn(n)) break e; + case "keydown": + case "keyup": + c = Tn; + break; + case "focusin": + ((u = "focus"), (c = yn)); + break; + case "focusout": + ((u = "blur"), (c = yn)); + break; + case "beforeblur": + case "afterblur": + c = yn; + break; + case "click": + if (2 === n.button) break e; + case "auxclick": + case "dblclick": + case "mousedown": + case "mousemove": + case "mouseup": + case "mouseout": + case "mouseover": + case "contextmenu": + c = mn; + break; + case "drag": + case "dragend": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "dragstart": + case "drop": + c = gn; + break; + case "touchcancel": + case "touchend": + case "touchmove": + case "touchstart": + c = Pn; + break; + case Et: + case Wt: + case Tt: + c = wn; + break; + case At: + c = Mn; + break; + case "scroll": + c = fn; + break; + case "wheel": + c = On; + break; + case "copy": + case "cut": + case "paste": + c = kn; + break; + case "gotpointercapture": + case "lostpointercapture": + case "pointercancel": + case "pointerdown": + case "pointermove": + case "pointerout": + case "pointerover": + case "pointerup": + c = An; + } + var d = 0 !== (4 & t), + l = !d && "scroll" === e, + p = d ? (null !== s ? s + "Capture" : null) : s; + d = []; + for (var h, f = r; null !== f; ) { + var v = (h = f).stateNode; + if ( + (5 === h.tag && + null !== v && + ((h = v), + null !== p && + null != (v = Fe(f, p)) && + d.push(Dr(f, v, h))), + l) + ) + break; + f = f.return; + } + 0 < d.length && + ((s = new c(s, u, null, n, i)), + a.push({ event: s, listeners: d })); + } + } + if (0 === (7 & t)) { + if ( + ((c = "mouseout" === e || "pointerout" === e), + (!(s = "mouseover" === e || "pointerover" === e) || + 0 !== (16 & t) || + !(u = n.relatedTarget || n.fromElement) || + (!ti(u) && !u[Zr])) && + (c || s) && + ((s = + i.window === i + ? i + : (s = i.ownerDocument) + ? s.defaultView || s.parentWindow + : window), + c + ? ((c = r), + null !== + (u = (u = n.relatedTarget || n.toElement) + ? ti(u) + : null) && + (u !== (l = Ke(u)) || (5 !== u.tag && 6 !== u.tag)) && + (u = null)) + : ((c = null), (u = r)), + c !== u)) + ) { + if ( + ((d = mn), + (v = "onMouseLeave"), + (p = "onMouseEnter"), + (f = "mouse"), + ("pointerout" !== e && "pointerover" !== e) || + ((d = An), + (v = "onPointerLeave"), + (p = "onPointerEnter"), + (f = "pointer")), + (l = null == c ? s : ri(c)), + (h = null == u ? s : ri(u)), + ((s = new d(v, f + "leave", c, n, i)).target = l), + (s.relatedTarget = h), + (v = null), + ti(i) === r && + (((d = new d(p, f + "enter", u, n, i)).target = h), + (d.relatedTarget = l), + (v = d)), + (l = v), + c && u) + ) + e: { + for (p = u, f = 0, h = d = c; h; h = Br(h)) f++; + for (h = 0, v = p; v; v = Br(v)) h++; + for (; 0 < f - h; ) ((d = Br(d)), f--); + for (; 0 < h - f; ) ((p = Br(p)), h--); + for (; f--; ) { + if (d === p || (null !== p && d === p.alternate)) + break e; + ((d = Br(d)), (p = Br(p))); + } + d = null; + } + else d = null; + (null !== c && Nr(a, s, c, d, !1), + null !== u && null !== l && Nr(a, l, u, d, !0)); + } + if ( + "select" === + (c = + (s = r ? ri(r) : window).nodeName && + s.nodeName.toLowerCase()) || + ("input" === c && "file" === s.type) + ) + var m = Yn; + else if (Vn(s)) + if (Zn) m = cr; + else { + m = ar; + var g = or; + } + else + (c = s.nodeName) && + "input" === c.toLowerCase() && + ("checkbox" === s.type || "radio" === s.type) && + (m = sr); + switch ( + (m && (m = m(e, r)) + ? $n(a, m, n, i) + : (g && g(e, s, r), + "focusout" === e && + (g = s._wrapperState) && + g.controlled && + "number" === s.type && + ie(s, "number", s.value)), + (g = r ? ri(r) : window), + e) + ) { + case "focusin": + (Vn(g) || "true" === g.contentEditable) && + ((yr = g), (wr = r), (br = null)); + break; + case "focusout": + br = wr = yr = null; + break; + case "mousedown": + kr = !0; + break; + case "contextmenu": + case "mouseup": + case "dragend": + ((kr = !1), xr(a, n, i)); + break; + case "selectionchange": + if (gr) break; + case "keydown": + case "keyup": + xr(a, n, i); + } + var y; + if (Ln) + e: { + switch (e) { + case "compositionstart": + var w = "onCompositionStart"; + break e; + case "compositionend": + w = "onCompositionEnd"; + break e; + case "compositionupdate": + w = "onCompositionUpdate"; + break e; + } + w = void 0; + } + else + Gn + ? zn(e, n) && (w = "onCompositionEnd") + : "keydown" === e && + 229 === n.keyCode && + (w = "onCompositionStart"); + (w && + (Fn && + "ko" !== n.locale && + (Gn || "onCompositionStart" !== w + ? "onCompositionEnd" === w && Gn && (y = nn()) + : ((en = "value" in (Zt = i) ? Zt.value : Zt.textContent), + (Gn = !0))), + 0 < (g = Lr(r, w)).length && + ((w = new xn(w, e, null, n, i)), + a.push({ event: w, listeners: g }), + y ? (w.data = y) : null !== (y = qn(n)) && (w.data = y))), + (y = Nn + ? (function (e, t) { + switch (e) { + case "compositionend": + return qn(t); + case "keypress": + return 32 !== t.which ? null : ((Hn = !0), jn); + case "textInput": + return (e = t.data) === jn && Hn ? null : e; + default: + return null; + } + })(e, n) + : (function (e, t) { + if (Gn) + return "compositionend" === e || (!Ln && zn(e, t)) + ? ((e = nn()), + (tn = en = Zt = null), + (Gn = !1), + e) + : null; + switch (e) { + case "paste": + default: + return null; + case "keypress": + if ( + !(t.ctrlKey || t.altKey || t.metaKey) || + (t.ctrlKey && t.altKey) + ) { + if (t.char && 1 < t.char.length) + return t.char; + if (t.which) + return String.fromCharCode(t.which); + } + return null; + case "compositionend": + return Fn && "ko" !== t.locale ? null : t.data; + } + })(e, n)) && + 0 < (r = Lr(r, "onBeforeInput")).length && + ((i = new xn("onBeforeInput", "beforeinput", null, n, i)), + a.push({ event: i, listeners: r }), + (i.data = y))); + } + Wr(a, t); + }); + } + function Dr(e, t, n) { + return { instance: e, listener: t, currentTarget: n }; + } + function Lr(e, t) { + for (var n = t + "Capture", r = []; null !== e; ) { + var i = e, + o = i.stateNode; + (5 === i.tag && + null !== o && + ((i = o), + null != (o = Fe(e, n)) && r.unshift(Dr(e, o, i)), + null != (o = Fe(e, t)) && r.push(Dr(e, o, i))), + (e = e.return)); + } + return r; + } + function Br(e) { + if (null === e) return null; + do { + e = e.return; + } while (e && 5 !== e.tag); + return e || null; + } + function Nr(e, t, n, r, i) { + for (var o = t._reactName, a = []; null !== n && n !== r; ) { + var s = n, + c = s.alternate, + u = s.stateNode; + if (null !== c && c === r) break; + (5 === s.tag && + null !== u && + ((s = u), + i + ? null != (c = Fe(n, o)) && a.unshift(Dr(n, c, s)) + : i || (null != (c = Fe(n, o)) && a.push(Dr(n, c, s)))), + (n = n.return)); + } + 0 !== a.length && e.push({ event: t, listeners: a }); + } + function Fr() {} + var jr = null, + Hr = null; + function zr(e, t) { + switch (e) { + case "button": + case "input": + case "select": + case "textarea": + return !!t.autoFocus; + } + return !1; + } + function qr(e, t) { + return ( + "textarea" === e || + "option" === e || + "noscript" === e || + "string" === typeof t.children || + "number" === typeof t.children || + ("object" === typeof t.dangerouslySetInnerHTML && + null !== t.dangerouslySetInnerHTML && + null != t.dangerouslySetInnerHTML.__html) + ); + } + var Gr = "function" === typeof setTimeout ? setTimeout : void 0, + Ur = "function" === typeof clearTimeout ? clearTimeout : void 0; + function Vr(e) { + 1 === e.nodeType + ? (e.textContent = "") + : 9 === e.nodeType && null != (e = e.body) && (e.textContent = ""); + } + function $r(e) { + for (; null != e; e = e.nextSibling) { + var t = e.nodeType; + if (1 === t || 3 === t) break; + } + return e; + } + function Jr(e) { + e = e.previousSibling; + for (var t = 0; e; ) { + if (8 === e.nodeType) { + var n = e.data; + if ("$" === n || "$!" === n || "$?" === n) { + if (0 === t) return e; + t--; + } else "/$" === n && t++; + } + e = e.previousSibling; + } + return null; + } + var Kr = 0; + var Qr = Math.random().toString(36).slice(2), + Xr = "__reactFiber$" + Qr, + Yr = "__reactProps$" + Qr, + Zr = "__reactContainer$" + Qr, + ei = "__reactEvents$" + Qr; + function ti(e) { + var t = e[Xr]; + if (t) return t; + for (var n = e.parentNode; n; ) { + if ((t = n[Zr] || n[Xr])) { + if ( + ((n = t.alternate), + null !== t.child || (null !== n && null !== n.child)) + ) + for (e = Jr(e); null !== e; ) { + if ((n = e[Xr])) return n; + e = Jr(e); + } + return t; + } + n = (e = n).parentNode; + } + return null; + } + function ni(e) { + return !(e = e[Xr] || e[Zr]) || + (5 !== e.tag && 6 !== e.tag && 13 !== e.tag && 3 !== e.tag) + ? null + : e; + } + function ri(e) { + if (5 === e.tag || 6 === e.tag) return e.stateNode; + throw Error(a(33)); + } + function ii(e) { + return e[Yr] || null; + } + function oi(e) { + var t = e[ei]; + return (void 0 === t && (t = e[ei] = new Set()), t); + } + var ai = [], + si = -1; + function ci(e) { + return { current: e }; + } + function ui(e) { + 0 > si || ((e.current = ai[si]), (ai[si] = null), si--); + } + function di(e, t) { + (si++, (ai[si] = e.current), (e.current = t)); + } + var li = {}, + pi = ci(li), + hi = ci(!1), + fi = li; + function vi(e, t) { + var n = e.type.contextTypes; + if (!n) return li; + var r = e.stateNode; + if (r && r.__reactInternalMemoizedUnmaskedChildContext === t) + return r.__reactInternalMemoizedMaskedChildContext; + var i, + o = {}; + for (i in n) o[i] = t[i]; + return ( + r && + (((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = t), + (e.__reactInternalMemoizedMaskedChildContext = o)), + o + ); + } + function mi(e) { + return null !== (e = e.childContextTypes) && void 0 !== e; + } + function gi() { + (ui(hi), ui(pi)); + } + function yi(e, t, n) { + if (pi.current !== li) throw Error(a(168)); + (di(pi, t), di(hi, n)); + } + function wi(e, t, n) { + var r = e.stateNode; + if (((e = t.childContextTypes), "function" !== typeof r.getChildContext)) + return n; + for (var o in (r = r.getChildContext())) + if (!(o in e)) throw Error(a(108, $(t) || "Unknown", o)); + return i({}, n, r); + } + function bi(e) { + return ( + (e = + ((e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext) || + li), + (fi = pi.current), + di(pi, e), + di(hi, hi.current), + !0 + ); + } + function ki(e, t, n) { + var r = e.stateNode; + if (!r) throw Error(a(169)); + (n + ? ((e = wi(e, t, fi)), + (r.__reactInternalMemoizedMergedChildContext = e), + ui(hi), + ui(pi), + di(pi, e)) + : ui(hi), + di(hi, n)); + } + var xi = null, + _i = null, + Ci = o.unstable_runWithPriority, + Ii = o.unstable_scheduleCallback, + Si = o.unstable_cancelCallback, + Ei = o.unstable_shouldYield, + Wi = o.unstable_requestPaint, + Ti = o.unstable_now, + Ai = o.unstable_getCurrentPriorityLevel, + Pi = o.unstable_ImmediatePriority, + Mi = o.unstable_UserBlockingPriority, + Ri = o.unstable_NormalPriority, + Oi = o.unstable_LowPriority, + Di = o.unstable_IdlePriority, + Li = {}, + Bi = void 0 !== Wi ? Wi : function () {}, + Ni = null, + Fi = null, + ji = !1, + Hi = Ti(), + zi = + 1e4 > Hi + ? Ti + : function () { + return Ti() - Hi; + }; + function qi() { + switch (Ai()) { + case Pi: + return 99; + case Mi: + return 98; + case Ri: + return 97; + case Oi: + return 96; + case Di: + return 95; + default: + throw Error(a(332)); + } + } + function Gi(e) { + switch (e) { + case 99: + return Pi; + case 98: + return Mi; + case 97: + return Ri; + case 96: + return Oi; + case 95: + return Di; + default: + throw Error(a(332)); + } + } + function Ui(e, t) { + return ((e = Gi(e)), Ci(e, t)); + } + function Vi(e, t, n) { + return ((e = Gi(e)), Ii(e, t, n)); + } + function $i() { + if (null !== Fi) { + var e = Fi; + ((Fi = null), Si(e)); + } + Ji(); + } + function Ji() { + if (!ji && null !== Ni) { + ji = !0; + var e = 0; + try { + var t = Ni; + (Ui(99, function () { + for (; e < t.length; e++) { + var n = t[e]; + do { + n = n(!0); + } while (null !== n); + } + }), + (Ni = null)); + } catch (n) { + throw (null !== Ni && (Ni = Ni.slice(e + 1)), Ii(Pi, $i), n); + } finally { + ji = !1; + } + } + } + var Ki = k.ReactCurrentBatchConfig; + function Qi(e, t) { + if (e && e.defaultProps) { + for (var n in ((t = i({}, t)), (e = e.defaultProps))) + void 0 === t[n] && (t[n] = e[n]); + return t; + } + return t; + } + var Xi = ci(null), + Yi = null, + Zi = null, + eo = null; + function to() { + eo = Zi = Yi = null; + } + function no(e) { + var t = Xi.current; + (ui(Xi), (e.type._context._currentValue = t)); + } + function ro(e, t) { + for (; null !== e; ) { + var n = e.alternate; + if ((e.childLanes & t) === t) { + if (null === n || (n.childLanes & t) === t) break; + n.childLanes |= t; + } else ((e.childLanes |= t), null !== n && (n.childLanes |= t)); + e = e.return; + } + } + function io(e, t) { + ((Yi = e), + (eo = Zi = null), + null !== (e = e.dependencies) && + null !== e.firstContext && + (0 !== (e.lanes & t) && (La = !0), (e.firstContext = null))); + } + function oo(e, t) { + if (eo !== e && !1 !== t && 0 !== t) + if ( + (("number" === typeof t && 1073741823 !== t) || + ((eo = e), (t = 1073741823)), + (t = { context: e, observedBits: t, next: null }), + null === Zi) + ) { + if (null === Yi) throw Error(a(308)); + ((Zi = t), + (Yi.dependencies = { + lanes: 0, + firstContext: t, + responders: null + })); + } else Zi = Zi.next = t; + return e._currentValue; + } + var ao = !1; + function so(e) { + e.updateQueue = { + baseState: e.memoizedState, + firstBaseUpdate: null, + lastBaseUpdate: null, + shared: { pending: null }, + effects: null + }; + } + function co(e, t) { + ((e = e.updateQueue), + t.updateQueue === e && + (t.updateQueue = { + baseState: e.baseState, + firstBaseUpdate: e.firstBaseUpdate, + lastBaseUpdate: e.lastBaseUpdate, + shared: e.shared, + effects: e.effects + })); + } + function uo(e, t) { + return { + eventTime: e, + lane: t, + tag: 0, + payload: null, + callback: null, + next: null + }; + } + function lo(e, t) { + if (null !== (e = e.updateQueue)) { + var n = (e = e.shared).pending; + (null === n ? (t.next = t) : ((t.next = n.next), (n.next = t)), + (e.pending = t)); + } + } + function po(e, t) { + var n = e.updateQueue, + r = e.alternate; + if (null !== r && n === (r = r.updateQueue)) { + var i = null, + o = null; + if (null !== (n = n.firstBaseUpdate)) { + do { + var a = { + eventTime: n.eventTime, + lane: n.lane, + tag: n.tag, + payload: n.payload, + callback: n.callback, + next: null + }; + (null === o ? (i = o = a) : (o = o.next = a), (n = n.next)); + } while (null !== n); + null === o ? (i = o = t) : (o = o.next = t); + } else i = o = t; + return ( + (n = { + baseState: r.baseState, + firstBaseUpdate: i, + lastBaseUpdate: o, + shared: r.shared, + effects: r.effects + }), + void (e.updateQueue = n) + ); + } + (null === (e = n.lastBaseUpdate) ? (n.firstBaseUpdate = t) : (e.next = t), + (n.lastBaseUpdate = t)); + } + function ho(e, t, n, r) { + var o = e.updateQueue; + ao = !1; + var a = o.firstBaseUpdate, + s = o.lastBaseUpdate, + c = o.shared.pending; + if (null !== c) { + o.shared.pending = null; + var u = c, + d = u.next; + ((u.next = null), null === s ? (a = d) : (s.next = d), (s = u)); + var l = e.alternate; + if (null !== l) { + var p = (l = l.updateQueue).lastBaseUpdate; + p !== s && + (null === p ? (l.firstBaseUpdate = d) : (p.next = d), + (l.lastBaseUpdate = u)); + } + } + if (null !== a) { + for (p = o.baseState, s = 0, l = d = u = null; ; ) { + c = a.lane; + var h = a.eventTime; + if ((r & c) === c) { + null !== l && + (l = l.next = + { + eventTime: h, + lane: 0, + tag: a.tag, + payload: a.payload, + callback: a.callback, + next: null + }); + e: { + var f = e, + v = a; + switch (((c = t), (h = n), v.tag)) { + case 1: + if ("function" === typeof (f = v.payload)) { + p = f.call(h, p, c); + break e; + } + p = f; + break e; + case 3: + f.flags = (-4097 & f.flags) | 64; + case 0: + if ( + null === + (c = + "function" === typeof (f = v.payload) + ? f.call(h, p, c) + : f) || + void 0 === c + ) + break e; + p = i({}, p, c); + break e; + case 2: + ao = !0; + } + } + null !== a.callback && + ((e.flags |= 32), + null === (c = o.effects) ? (o.effects = [a]) : c.push(a)); + } else + ((h = { + eventTime: h, + lane: c, + tag: a.tag, + payload: a.payload, + callback: a.callback, + next: null + }), + null === l ? ((d = l = h), (u = p)) : (l = l.next = h), + (s |= c)); + if (null === (a = a.next)) { + if (null === (c = o.shared.pending)) break; + ((a = c.next), + (c.next = null), + (o.lastBaseUpdate = c), + (o.shared.pending = null)); + } + } + (null === l && (u = p), + (o.baseState = u), + (o.firstBaseUpdate = d), + (o.lastBaseUpdate = l), + (Hs |= s), + (e.lanes = s), + (e.memoizedState = p)); + } + } + function fo(e, t, n) { + if (((e = t.effects), (t.effects = null), null !== e)) + for (t = 0; t < e.length; t++) { + var r = e[t], + i = r.callback; + if (null !== i) { + if (((r.callback = null), (r = n), "function" !== typeof i)) + throw Error(a(191, i)); + i.call(r); + } + } + } + var vo = new r.Component().refs; + function mo(e, t, n, r) { + ((n = + null === (n = n(r, (t = e.memoizedState))) || void 0 === n + ? t + : i({}, t, n)), + (e.memoizedState = n), + 0 === e.lanes && (e.updateQueue.baseState = n)); + } + var go = { + isMounted: function (e) { + return !!(e = e._reactInternals) && Ke(e) === e; + }, + enqueueSetState: function (e, t, n) { + e = e._reactInternals; + var r = pc(), + i = hc(e), + o = uo(r, i); + ((o.payload = t), + void 0 !== n && null !== n && (o.callback = n), + lo(e, o), + fc(e, i, r)); + }, + enqueueReplaceState: function (e, t, n) { + e = e._reactInternals; + var r = pc(), + i = hc(e), + o = uo(r, i); + ((o.tag = 1), + (o.payload = t), + void 0 !== n && null !== n && (o.callback = n), + lo(e, o), + fc(e, i, r)); + }, + enqueueForceUpdate: function (e, t) { + e = e._reactInternals; + var n = pc(), + r = hc(e), + i = uo(n, r); + ((i.tag = 2), + void 0 !== t && null !== t && (i.callback = t), + lo(e, i), + fc(e, r, n)); + } + }; + function yo(e, t, n, r, i, o, a) { + return "function" === typeof (e = e.stateNode).shouldComponentUpdate + ? e.shouldComponentUpdate(r, o, a) + : !t.prototype || + !t.prototype.isPureReactComponent || + !lr(n, r) || + !lr(i, o); + } + function wo(e, t, n) { + var r = !1, + i = li, + o = t.contextType; + return ( + "object" === typeof o && null !== o + ? (o = oo(o)) + : ((i = mi(t) ? fi : pi.current), + (o = (r = null !== (r = t.contextTypes) && void 0 !== r) + ? vi(e, i) + : li)), + (t = new t(n, o)), + (e.memoizedState = null !== t.state && void 0 !== t.state ? t.state : null), + (t.updater = go), + (e.stateNode = t), + (t._reactInternals = e), + r && + (((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = i), + (e.__reactInternalMemoizedMaskedChildContext = o)), + t + ); + } + function bo(e, t, n, r) { + ((e = t.state), + "function" === typeof t.componentWillReceiveProps && + t.componentWillReceiveProps(n, r), + "function" === typeof t.UNSAFE_componentWillReceiveProps && + t.UNSAFE_componentWillReceiveProps(n, r), + t.state !== e && go.enqueueReplaceState(t, t.state, null)); + } + function ko(e, t, n, r) { + var i = e.stateNode; + ((i.props = n), (i.state = e.memoizedState), (i.refs = vo), so(e)); + var o = t.contextType; + ("object" === typeof o && null !== o + ? (i.context = oo(o)) + : ((o = mi(t) ? fi : pi.current), (i.context = vi(e, o))), + ho(e, n, i, r), + (i.state = e.memoizedState), + "function" === typeof (o = t.getDerivedStateFromProps) && + (mo(e, t, o, n), (i.state = e.memoizedState)), + "function" === typeof t.getDerivedStateFromProps || + "function" === typeof i.getSnapshotBeforeUpdate || + ("function" !== typeof i.UNSAFE_componentWillMount && + "function" !== typeof i.componentWillMount) || + ((t = i.state), + "function" === typeof i.componentWillMount && i.componentWillMount(), + "function" === typeof i.UNSAFE_componentWillMount && + i.UNSAFE_componentWillMount(), + t !== i.state && go.enqueueReplaceState(i, i.state, null), + ho(e, n, i, r), + (i.state = e.memoizedState)), + "function" === typeof i.componentDidMount && (e.flags |= 4)); + } + var xo = Array.isArray; + function _o(e, t, n) { + if (null !== (e = n.ref) && "function" !== typeof e && "object" !== typeof e) { + if (n._owner) { + if ((n = n._owner)) { + if (1 !== n.tag) throw Error(a(309)); + var r = n.stateNode; + } + if (!r) throw Error(a(147, e)); + var i = "" + e; + return null !== t && + null !== t.ref && + "function" === typeof t.ref && + t.ref._stringRef === i + ? t.ref + : ((t = function (e) { + var t = r.refs; + (t === vo && (t = r.refs = {}), + null === e ? delete t[i] : (t[i] = e)); + }), + (t._stringRef = i), + t); + } + if ("string" !== typeof e) throw Error(a(284)); + if (!n._owner) throw Error(a(290, e)); + } + return e; + } + function Co(e, t) { + if ("textarea" !== e.type) + throw Error( + a( + 31, + "[object Object]" === Object.prototype.toString.call(t) + ? "object with keys {" + Object.keys(t).join(", ") + "}" + : t + ) + ); + } + function Io(e) { + function t(t, n) { + if (e) { + var r = t.lastEffect; + (null !== r + ? ((r.nextEffect = n), (t.lastEffect = n)) + : (t.firstEffect = t.lastEffect = n), + (n.nextEffect = null), + (n.flags = 8)); + } + } + function n(n, r) { + if (!e) return null; + for (; null !== r; ) (t(n, r), (r = r.sibling)); + return null; + } + function r(e, t) { + for (e = new Map(); null !== t; ) + (null !== t.key ? e.set(t.key, t) : e.set(t.index, t), (t = t.sibling)); + return e; + } + function i(e, t) { + return (((e = Vc(e, t)).index = 0), (e.sibling = null), e); + } + function o(t, n, r) { + return ( + (t.index = r), + e + ? null !== (r = t.alternate) + ? (r = r.index) < n + ? ((t.flags = 2), n) + : r + : ((t.flags = 2), n) + : n + ); + } + function s(t) { + return (e && null === t.alternate && (t.flags = 2), t); + } + function c(e, t, n, r) { + return null === t || 6 !== t.tag + ? (((t = Qc(n, e.mode, r)).return = e), t) + : (((t = i(t, n)).return = e), t); + } + function u(e, t, n, r) { + return null !== t && t.elementType === n.type + ? (((r = i(t, n.props)).ref = _o(e, t, n)), (r.return = e), r) + : (((r = $c(n.type, n.key, n.props, null, e.mode, r)).ref = _o( + e, + t, + n + )), + (r.return = e), + r); + } + function d(e, t, n, r) { + return null === t || + 4 !== t.tag || + t.stateNode.containerInfo !== n.containerInfo || + t.stateNode.implementation !== n.implementation + ? (((t = Xc(n, e.mode, r)).return = e), t) + : (((t = i(t, n.children || [])).return = e), t); + } + function l(e, t, n, r, o) { + return null === t || 7 !== t.tag + ? (((t = Jc(n, e.mode, r, o)).return = e), t) + : (((t = i(t, n)).return = e), t); + } + function p(e, t, n) { + if ("string" === typeof t || "number" === typeof t) + return (((t = Qc("" + t, e.mode, n)).return = e), t); + if ("object" === typeof t && null !== t) { + switch (t.$$typeof) { + case x: + return ( + ((n = $c(t.type, t.key, t.props, null, e.mode, n)).ref = _o( + e, + null, + t + )), + (n.return = e), + n + ); + case _: + return (((t = Xc(t, e.mode, n)).return = e), t); + } + if (xo(t) || z(t)) + return (((t = Jc(t, e.mode, n, null)).return = e), t); + Co(e, t); + } + return null; + } + function h(e, t, n, r) { + var i = null !== t ? t.key : null; + if ("string" === typeof n || "number" === typeof n) + return null !== i ? null : c(e, t, "" + n, r); + if ("object" === typeof n && null !== n) { + switch (n.$$typeof) { + case x: + return n.key === i + ? n.type === C + ? l(e, t, n.props.children, r, i) + : u(e, t, n, r) + : null; + case _: + return n.key === i ? d(e, t, n, r) : null; + } + if (xo(n) || z(n)) return null !== i ? null : l(e, t, n, r, null); + Co(e, n); + } + return null; + } + function f(e, t, n, r, i) { + if ("string" === typeof r || "number" === typeof r) + return c(t, (e = e.get(n) || null), "" + r, i); + if ("object" === typeof r && null !== r) { + switch (r.$$typeof) { + case x: + return ( + (e = e.get(null === r.key ? n : r.key) || null), + r.type === C + ? l(t, e, r.props.children, i, r.key) + : u(t, e, r, i) + ); + case _: + return d( + t, + (e = e.get(null === r.key ? n : r.key) || null), + r, + i + ); + } + if (xo(r) || z(r)) return l(t, (e = e.get(n) || null), r, i, null); + Co(t, r); + } + return null; + } + function v(i, a, s, c) { + for ( + var u = null, d = null, l = a, v = (a = 0), m = null; + null !== l && v < s.length; + v++ + ) { + l.index > v ? ((m = l), (l = null)) : (m = l.sibling); + var g = h(i, l, s[v], c); + if (null === g) { + null === l && (l = m); + break; + } + (e && l && null === g.alternate && t(i, l), + (a = o(g, a, v)), + null === d ? (u = g) : (d.sibling = g), + (d = g), + (l = m)); + } + if (v === s.length) return (n(i, l), u); + if (null === l) { + for (; v < s.length; v++) + null !== (l = p(i, s[v], c)) && + ((a = o(l, a, v)), + null === d ? (u = l) : (d.sibling = l), + (d = l)); + return u; + } + for (l = r(i, l); v < s.length; v++) + null !== (m = f(l, i, v, s[v], c)) && + (e && null !== m.alternate && l.delete(null === m.key ? v : m.key), + (a = o(m, a, v)), + null === d ? (u = m) : (d.sibling = m), + (d = m)); + return ( + e && + l.forEach(function (e) { + return t(i, e); + }), + u + ); + } + function m(i, s, c, u) { + var d = z(c); + if ("function" !== typeof d) throw Error(a(150)); + if (null == (c = d.call(c))) throw Error(a(151)); + for ( + var l = (d = null), v = s, m = (s = 0), g = null, y = c.next(); + null !== v && !y.done; + m++, y = c.next() + ) { + v.index > m ? ((g = v), (v = null)) : (g = v.sibling); + var w = h(i, v, y.value, u); + if (null === w) { + null === v && (v = g); + break; + } + (e && v && null === w.alternate && t(i, v), + (s = o(w, s, m)), + null === l ? (d = w) : (l.sibling = w), + (l = w), + (v = g)); + } + if (y.done) return (n(i, v), d); + if (null === v) { + for (; !y.done; m++, y = c.next()) + null !== (y = p(i, y.value, u)) && + ((s = o(y, s, m)), + null === l ? (d = y) : (l.sibling = y), + (l = y)); + return d; + } + for (v = r(i, v); !y.done; m++, y = c.next()) + null !== (y = f(v, i, m, y.value, u)) && + (e && null !== y.alternate && v.delete(null === y.key ? m : y.key), + (s = o(y, s, m)), + null === l ? (d = y) : (l.sibling = y), + (l = y)); + return ( + e && + v.forEach(function (e) { + return t(i, e); + }), + d + ); + } + return function (e, r, o, c) { + var u = + "object" === typeof o && null !== o && o.type === C && null === o.key; + u && (o = o.props.children); + var d = "object" === typeof o && null !== o; + if (d) + switch (o.$$typeof) { + case x: + e: { + for (d = o.key, u = r; null !== u; ) { + if (u.key === d) { + if (7 === u.tag) { + if (o.type === C) { + (n(e, u.sibling), + ((r = i(u, o.props.children)).return = + e), + (e = r)); + break e; + } + } else if (u.elementType === o.type) { + (n(e, u.sibling), + ((r = i(u, o.props)).ref = _o(e, u, o)), + (r.return = e), + (e = r)); + break e; + } + n(e, u); + break; + } + (t(e, u), (u = u.sibling)); + } + o.type === C + ? (((r = Jc( + o.props.children, + e.mode, + c, + o.key + )).return = e), + (e = r)) + : (((c = $c( + o.type, + o.key, + o.props, + null, + e.mode, + c + )).ref = _o(e, r, o)), + (c.return = e), + (e = c)); + } + return s(e); + case _: + e: { + for (u = o.key; null !== r; ) { + if (r.key === u) { + if ( + 4 === r.tag && + r.stateNode.containerInfo === o.containerInfo && + r.stateNode.implementation === o.implementation + ) { + (n(e, r.sibling), + ((r = i(r, o.children || [])).return = e), + (e = r)); + break e; + } + n(e, r); + break; + } + (t(e, r), (r = r.sibling)); + } + (((r = Xc(o, e.mode, c)).return = e), (e = r)); + } + return s(e); + } + if ("string" === typeof o || "number" === typeof o) + return ( + (o = "" + o), + null !== r && 6 === r.tag + ? (n(e, r.sibling), ((r = i(r, o)).return = e), (e = r)) + : (n(e, r), ((r = Qc(o, e.mode, c)).return = e), (e = r)), + s(e) + ); + if (xo(o)) return v(e, r, o, c); + if (z(o)) return m(e, r, o, c); + if ((d && Co(e, o), "undefined" === typeof o && !u)) + switch (e.tag) { + case 1: + case 22: + case 0: + case 11: + case 15: + throw Error(a(152, $(e.type) || "Component")); + } + return n(e, r); + }; + } + var So = Io(!0), + Eo = Io(!1), + Wo = {}, + To = ci(Wo), + Ao = ci(Wo), + Po = ci(Wo); + function Mo(e) { + if (e === Wo) throw Error(a(174)); + return e; + } + function Ro(e, t) { + switch ((di(Po, t), di(Ao, e), di(To, Wo), (e = t.nodeType))) { + case 9: + case 11: + t = (t = t.documentElement) ? t.namespaceURI : he(null, ""); + break; + default: + t = he( + (t = (e = 8 === e ? t.parentNode : t).namespaceURI || null), + (e = e.tagName) + ); + } + (ui(To), di(To, t)); + } + function Oo() { + (ui(To), ui(Ao), ui(Po)); + } + function Do(e) { + Mo(Po.current); + var t = Mo(To.current), + n = he(t, e.type); + t !== n && (di(Ao, e), di(To, n)); + } + function Lo(e) { + Ao.current === e && (ui(To), ui(Ao)); + } + var Bo = ci(0); + function No(e) { + for (var t = e; null !== t; ) { + if (13 === t.tag) { + var n = t.memoizedState; + if ( + null !== n && + (null === (n = n.dehydrated) || "$?" === n.data || "$!" === n.data) + ) + return t; + } else if (19 === t.tag && void 0 !== t.memoizedProps.revealOrder) { + if (0 !== (64 & t.flags)) return t; + } else if (null !== t.child) { + ((t.child.return = t), (t = t.child)); + continue; + } + if (t === e) break; + for (; null === t.sibling; ) { + if (null === t.return || t.return === e) return null; + t = t.return; + } + ((t.sibling.return = t.return), (t = t.sibling)); + } + return null; + } + var Fo = null, + jo = null, + Ho = !1; + function zo(e, t) { + var n = Gc(5, null, null, 0); + ((n.elementType = "DELETED"), + (n.type = "DELETED"), + (n.stateNode = t), + (n.return = e), + (n.flags = 8), + null !== e.lastEffect + ? ((e.lastEffect.nextEffect = n), (e.lastEffect = n)) + : (e.firstEffect = e.lastEffect = n)); + } + function qo(e, t) { + switch (e.tag) { + case 5: + var n = e.type; + return ( + null !== + (t = + 1 !== t.nodeType || + n.toLowerCase() !== t.nodeName.toLowerCase() + ? null + : t) && ((e.stateNode = t), !0) + ); + case 6: + return ( + null !== + (t = "" === e.pendingProps || 3 !== t.nodeType ? null : t) && + ((e.stateNode = t), !0) + ); + default: + return !1; + } + } + function Go(e) { + if (Ho) { + var t = jo; + if (t) { + var n = t; + if (!qo(e, t)) { + if (!(t = $r(n.nextSibling)) || !qo(e, t)) + return ( + (e.flags = (-1025 & e.flags) | 2), + (Ho = !1), + void (Fo = e) + ); + zo(Fo, n); + } + ((Fo = e), (jo = $r(t.firstChild))); + } else ((e.flags = (-1025 & e.flags) | 2), (Ho = !1), (Fo = e)); + } + } + function Uo(e) { + for (e = e.return; null !== e && 5 !== e.tag && 3 !== e.tag && 13 !== e.tag; ) + e = e.return; + Fo = e; + } + function Vo(e) { + if (e !== Fo) return !1; + if (!Ho) return (Uo(e), (Ho = !0), !1); + var t = e.type; + if (5 !== e.tag || ("head" !== t && "body" !== t && !qr(t, e.memoizedProps))) + for (t = jo; t; ) (zo(e, t), (t = $r(t.nextSibling))); + if ((Uo(e), 13 === e.tag)) { + if (!(e = null !== (e = e.memoizedState) ? e.dehydrated : null)) + throw Error(a(317)); + e: { + for (e = e.nextSibling, t = 0; e; ) { + if (8 === e.nodeType) { + var n = e.data; + if ("/$" === n) { + if (0 === t) { + jo = $r(e.nextSibling); + break e; + } + t--; + } else ("$" !== n && "$!" !== n && "$?" !== n) || t++; + } + e = e.nextSibling; + } + jo = null; + } + } else jo = Fo ? $r(e.stateNode.nextSibling) : null; + return !0; + } + function $o() { + ((jo = Fo = null), (Ho = !1)); + } + var Jo = []; + function Ko() { + for (var e = 0; e < Jo.length; e++) Jo[e]._workInProgressVersionPrimary = null; + Jo.length = 0; + } + var Qo = k.ReactCurrentDispatcher, + Xo = k.ReactCurrentBatchConfig, + Yo = 0, + Zo = null, + ea = null, + ta = null, + na = !1, + ra = !1; + function ia() { + throw Error(a(321)); + } + function oa(e, t) { + if (null === t) return !1; + for (var n = 0; n < t.length && n < e.length; n++) + if (!ur(e[n], t[n])) return !1; + return !0; + } + function aa(e, t, n, r, i, o) { + if ( + ((Yo = o), + (Zo = t), + (t.memoizedState = null), + (t.updateQueue = null), + (t.lanes = 0), + (Qo.current = null === e || null === e.memoizedState ? Ma : Ra), + (e = n(r, i)), + ra) + ) { + o = 0; + do { + if (((ra = !1), !(25 > o))) throw Error(a(301)); + ((o += 1), + (ta = ea = null), + (t.updateQueue = null), + (Qo.current = Oa), + (e = n(r, i))); + } while (ra); + } + if ( + ((Qo.current = Pa), + (t = null !== ea && null !== ea.next), + (Yo = 0), + (ta = ea = Zo = null), + (na = !1), + t) + ) + throw Error(a(300)); + return e; + } + function sa() { + var e = { + memoizedState: null, + baseState: null, + baseQueue: null, + queue: null, + next: null + }; + return (null === ta ? (Zo.memoizedState = ta = e) : (ta = ta.next = e), ta); + } + function ca() { + if (null === ea) { + var e = Zo.alternate; + e = null !== e ? e.memoizedState : null; + } else e = ea.next; + var t = null === ta ? Zo.memoizedState : ta.next; + if (null !== t) ((ta = t), (ea = e)); + else { + if (null === e) throw Error(a(310)); + ((e = { + memoizedState: (ea = e).memoizedState, + baseState: ea.baseState, + baseQueue: ea.baseQueue, + queue: ea.queue, + next: null + }), + null === ta ? (Zo.memoizedState = ta = e) : (ta = ta.next = e)); + } + return ta; + } + function ua(e, t) { + return "function" === typeof t ? t(e) : t; + } + function da(e) { + var t = ca(), + n = t.queue; + if (null === n) throw Error(a(311)); + n.lastRenderedReducer = e; + var r = ea, + i = r.baseQueue, + o = n.pending; + if (null !== o) { + if (null !== i) { + var s = i.next; + ((i.next = o.next), (o.next = s)); + } + ((r.baseQueue = i = o), (n.pending = null)); + } + if (null !== i) { + ((i = i.next), (r = r.baseState)); + var c = (s = o = null), + u = i; + do { + var d = u.lane; + if ((Yo & d) === d) + (null !== c && + (c = c.next = + { + lane: 0, + action: u.action, + eagerReducer: u.eagerReducer, + eagerState: u.eagerState, + next: null + }), + (r = u.eagerReducer === e ? u.eagerState : e(r, u.action))); + else { + var l = { + lane: d, + action: u.action, + eagerReducer: u.eagerReducer, + eagerState: u.eagerState, + next: null + }; + (null === c ? ((s = c = l), (o = r)) : (c = c.next = l), + (Zo.lanes |= d), + (Hs |= d)); + } + u = u.next; + } while (null !== u && u !== i); + (null === c ? (o = r) : (c.next = s), + ur(r, t.memoizedState) || (La = !0), + (t.memoizedState = r), + (t.baseState = o), + (t.baseQueue = c), + (n.lastRenderedState = r)); + } + return [t.memoizedState, n.dispatch]; + } + function la(e) { + var t = ca(), + n = t.queue; + if (null === n) throw Error(a(311)); + n.lastRenderedReducer = e; + var r = n.dispatch, + i = n.pending, + o = t.memoizedState; + if (null !== i) { + n.pending = null; + var s = (i = i.next); + do { + ((o = e(o, s.action)), (s = s.next)); + } while (s !== i); + (ur(o, t.memoizedState) || (La = !0), + (t.memoizedState = o), + null === t.baseQueue && (t.baseState = o), + (n.lastRenderedState = o)); + } + return [o, r]; + } + function pa(e, t, n) { + var r = t._getVersion; + r = r(t._source); + var i = t._workInProgressVersionPrimary; + if ( + (null !== i + ? (e = i === r) + : ((e = e.mutableReadLanes), + (e = (Yo & e) === e) && + ((t._workInProgressVersionPrimary = r), Jo.push(t))), + e) + ) + return n(t._source); + throw (Jo.push(t), Error(a(350))); + } + function ha(e, t, n, r) { + var i = Rs; + if (null === i) throw Error(a(349)); + var o = t._getVersion, + s = o(t._source), + c = Qo.current, + u = c.useState(function () { + return pa(i, t, n); + }), + d = u[1], + l = u[0]; + u = ta; + var p = e.memoizedState, + h = p.refs, + f = h.getSnapshot, + v = p.source; + p = p.subscribe; + var m = Zo; + return ( + (e.memoizedState = { refs: h, source: t, subscribe: r }), + c.useEffect( + function () { + ((h.getSnapshot = n), (h.setSnapshot = d)); + var e = o(t._source); + if (!ur(s, e)) { + ((e = n(t._source)), + ur(l, e) || + (d(e), + (e = hc(m)), + (i.mutableReadLanes |= e & i.pendingLanes)), + (e = i.mutableReadLanes), + (i.entangledLanes |= e)); + for (var r = i.entanglements, a = e; 0 < a; ) { + var c = 31 - qt(a), + u = 1 << c; + ((r[c] |= e), (a &= ~u)); + } + } + }, + [n, t, r] + ), + c.useEffect( + function () { + return r(t._source, function () { + var e = h.getSnapshot, + n = h.setSnapshot; + try { + n(e(t._source)); + var r = hc(m); + i.mutableReadLanes |= r & i.pendingLanes; + } catch (o) { + n(function () { + throw o; + }); + } + }); + }, + [t, r] + ), + (ur(f, n) && ur(v, t) && ur(p, r)) || + (((e = { + pending: null, + dispatch: null, + lastRenderedReducer: ua, + lastRenderedState: l + }).dispatch = d = + Aa.bind(null, Zo, e)), + (u.queue = e), + (u.baseQueue = null), + (l = pa(i, t, n)), + (u.memoizedState = u.baseState = l)), + l + ); + } + function fa(e, t, n) { + return ha(ca(), e, t, n); + } + function va(e) { + var t = sa(); + return ( + "function" === typeof e && (e = e()), + (t.memoizedState = t.baseState = e), + (e = (e = t.queue = + { + pending: null, + dispatch: null, + lastRenderedReducer: ua, + lastRenderedState: e + }).dispatch = + Aa.bind(null, Zo, e)), + [t.memoizedState, e] + ); + } + function ma(e, t, n, r) { + return ( + (e = { tag: e, create: t, destroy: n, deps: r, next: null }), + null === (t = Zo.updateQueue) + ? ((t = { lastEffect: null }), + (Zo.updateQueue = t), + (t.lastEffect = e.next = e)) + : null === (n = t.lastEffect) + ? (t.lastEffect = e.next = e) + : ((r = n.next), (n.next = e), (e.next = r), (t.lastEffect = e)), + e + ); + } + function ga(e) { + return ((e = { current: e }), (sa().memoizedState = e)); + } + function ya() { + return ca().memoizedState; + } + function wa(e, t, n, r) { + var i = sa(); + ((Zo.flags |= e), + (i.memoizedState = ma(1 | t, n, void 0, void 0 === r ? null : r))); + } + function ba(e, t, n, r) { + var i = ca(); + r = void 0 === r ? null : r; + var o = void 0; + if (null !== ea) { + var a = ea.memoizedState; + if (((o = a.destroy), null !== r && oa(r, a.deps))) + return void ma(t, n, o, r); + } + ((Zo.flags |= e), (i.memoizedState = ma(1 | t, n, o, r))); + } + function ka(e, t) { + return wa(516, 4, e, t); + } + function xa(e, t) { + return ba(516, 4, e, t); + } + function _a(e, t) { + return ba(4, 2, e, t); + } + function Ca(e, t) { + return "function" === typeof t + ? ((e = e()), + t(e), + function () { + t(null); + }) + : null !== t && void 0 !== t + ? ((e = e()), + (t.current = e), + function () { + t.current = null; + }) + : void 0; + } + function Ia(e, t, n) { + return ( + (n = null !== n && void 0 !== n ? n.concat([e]) : null), + ba(4, 2, Ca.bind(null, t, e), n) + ); + } + function Sa() {} + function Ea(e, t) { + var n = ca(); + t = void 0 === t ? null : t; + var r = n.memoizedState; + return null !== r && null !== t && oa(t, r[1]) + ? r[0] + : ((n.memoizedState = [e, t]), e); + } + function Wa(e, t) { + var n = ca(); + t = void 0 === t ? null : t; + var r = n.memoizedState; + return null !== r && null !== t && oa(t, r[1]) + ? r[0] + : ((e = e()), (n.memoizedState = [e, t]), e); + } + function Ta(e, t) { + var n = qi(); + (Ui(98 > n ? 98 : n, function () { + e(!0); + }), + Ui(97 < n ? 97 : n, function () { + var n = Xo.transition; + Xo.transition = 1; + try { + (e(!1), t()); + } finally { + Xo.transition = n; + } + })); + } + function Aa(e, t, n) { + var r = pc(), + i = hc(e), + o = { + lane: i, + action: n, + eagerReducer: null, + eagerState: null, + next: null + }, + a = t.pending; + if ( + (null === a ? (o.next = o) : ((o.next = a.next), (a.next = o)), + (t.pending = o), + (a = e.alternate), + e === Zo || (null !== a && a === Zo)) + ) + ra = na = !0; + else { + if ( + 0 === e.lanes && + (null === a || 0 === a.lanes) && + null !== (a = t.lastRenderedReducer) + ) + try { + var s = t.lastRenderedState, + c = a(s, n); + if (((o.eagerReducer = a), (o.eagerState = c), ur(c, s))) return; + } catch (u) {} + fc(e, i, r); + } + } + var Pa = { + readContext: oo, + useCallback: ia, + useContext: ia, + useEffect: ia, + useImperativeHandle: ia, + useLayoutEffect: ia, + useMemo: ia, + useReducer: ia, + useRef: ia, + useState: ia, + useDebugValue: ia, + useDeferredValue: ia, + useTransition: ia, + useMutableSource: ia, + useOpaqueIdentifier: ia, + unstable_isNewReconciler: !1 + }, + Ma = { + readContext: oo, + useCallback: function (e, t) { + return ((sa().memoizedState = [e, void 0 === t ? null : t]), e); + }, + useContext: oo, + useEffect: ka, + useImperativeHandle: function (e, t, n) { + return ( + (n = null !== n && void 0 !== n ? n.concat([e]) : null), + wa(4, 2, Ca.bind(null, t, e), n) + ); + }, + useLayoutEffect: function (e, t) { + return wa(4, 2, e, t); + }, + useMemo: function (e, t) { + var n = sa(); + return ( + (t = void 0 === t ? null : t), + (e = e()), + (n.memoizedState = [e, t]), + e + ); + }, + useReducer: function (e, t, n) { + var r = sa(); + return ( + (t = void 0 !== n ? n(t) : t), + (r.memoizedState = r.baseState = t), + (e = (e = r.queue = + { + pending: null, + dispatch: null, + lastRenderedReducer: e, + lastRenderedState: t + }).dispatch = + Aa.bind(null, Zo, e)), + [r.memoizedState, e] + ); + }, + useRef: ga, + useState: va, + useDebugValue: Sa, + useDeferredValue: function (e) { + var t = va(e), + n = t[0], + r = t[1]; + return ( + ka( + function () { + var t = Xo.transition; + Xo.transition = 1; + try { + r(e); + } finally { + Xo.transition = t; + } + }, + [e] + ), + n + ); + }, + useTransition: function () { + var e = va(!1), + t = e[0]; + return (ga((e = Ta.bind(null, e[1]))), [e, t]); + }, + useMutableSource: function (e, t, n) { + var r = sa(); + return ( + (r.memoizedState = { + refs: { getSnapshot: t, setSnapshot: null }, + source: e, + subscribe: n + }), + ha(r, e, t, n) + ); + }, + useOpaqueIdentifier: function () { + if (Ho) { + var e = !1, + t = (function (e) { + return { $$typeof: D, toString: e, valueOf: e }; + })(function () { + throw ( + e || ((e = !0), n("r:" + (Kr++).toString(36))), + Error(a(355)) + ); + }), + n = va(t)[1]; + return ( + 0 === (2 & Zo.mode) && + ((Zo.flags |= 516), + ma( + 5, + function () { + n("r:" + (Kr++).toString(36)); + }, + void 0, + null + )), + t + ); + } + return (va((t = "r:" + (Kr++).toString(36))), t); + }, + unstable_isNewReconciler: !1 + }, + Ra = { + readContext: oo, + useCallback: Ea, + useContext: oo, + useEffect: xa, + useImperativeHandle: Ia, + useLayoutEffect: _a, + useMemo: Wa, + useReducer: da, + useRef: ya, + useState: function () { + return da(ua); + }, + useDebugValue: Sa, + useDeferredValue: function (e) { + var t = da(ua), + n = t[0], + r = t[1]; + return ( + xa( + function () { + var t = Xo.transition; + Xo.transition = 1; + try { + r(e); + } finally { + Xo.transition = t; + } + }, + [e] + ), + n + ); + }, + useTransition: function () { + var e = da(ua)[0]; + return [ya().current, e]; + }, + useMutableSource: fa, + useOpaqueIdentifier: function () { + return da(ua)[0]; + }, + unstable_isNewReconciler: !1 + }, + Oa = { + readContext: oo, + useCallback: Ea, + useContext: oo, + useEffect: xa, + useImperativeHandle: Ia, + useLayoutEffect: _a, + useMemo: Wa, + useReducer: la, + useRef: ya, + useState: function () { + return la(ua); + }, + useDebugValue: Sa, + useDeferredValue: function (e) { + var t = la(ua), + n = t[0], + r = t[1]; + return ( + xa( + function () { + var t = Xo.transition; + Xo.transition = 1; + try { + r(e); + } finally { + Xo.transition = t; + } + }, + [e] + ), + n + ); + }, + useTransition: function () { + var e = la(ua)[0]; + return [ya().current, e]; + }, + useMutableSource: fa, + useOpaqueIdentifier: function () { + return la(ua)[0]; + }, + unstable_isNewReconciler: !1 + }, + Da = k.ReactCurrentOwner, + La = !1; + function Ba(e, t, n, r) { + t.child = null === e ? Eo(t, null, n, r) : So(t, e.child, n, r); + } + function Na(e, t, n, r, i) { + n = n.render; + var o = t.ref; + return ( + io(t, i), + (r = aa(e, t, n, r, o, i)), + null === e || La + ? ((t.flags |= 1), Ba(e, t, r, i), t.child) + : ((t.updateQueue = e.updateQueue), + (t.flags &= -517), + (e.lanes &= ~i), + os(e, t, i)) + ); + } + function Fa(e, t, n, r, i, o) { + if (null === e) { + var a = n.type; + return "function" !== typeof a || + Uc(a) || + void 0 !== a.defaultProps || + null !== n.compare || + void 0 !== n.defaultProps + ? (((e = $c(n.type, null, r, t, t.mode, o)).ref = t.ref), + (e.return = t), + (t.child = e)) + : ((t.tag = 15), (t.type = a), ja(e, t, a, r, i, o)); + } + return ( + (a = e.child), + 0 === (i & o) && + ((i = a.memoizedProps), + (n = null !== (n = n.compare) ? n : lr)(i, r) && e.ref === t.ref) + ? os(e, t, o) + : ((t.flags |= 1), + ((e = Vc(a, r)).ref = t.ref), + (e.return = t), + (t.child = e)) + ); + } + function ja(e, t, n, r, i, o) { + if (null !== e && lr(e.memoizedProps, r) && e.ref === t.ref) { + if (((La = !1), 0 === (o & i))) return ((t.lanes = e.lanes), os(e, t, o)); + 0 !== (16384 & e.flags) && (La = !0); + } + return qa(e, t, n, r, o); + } + function Ha(e, t, n) { + var r = t.pendingProps, + i = r.children, + o = null !== e ? e.memoizedState : null; + if ("hidden" === r.mode || "unstable-defer-without-hiding" === r.mode) + if (0 === (4 & t.mode)) ((t.memoizedState = { baseLanes: 0 }), xc(t, n)); + else { + if (0 === (1073741824 & n)) + return ( + (e = null !== o ? o.baseLanes | n : n), + (t.lanes = t.childLanes = 1073741824), + (t.memoizedState = { baseLanes: e }), + xc(t, e), + null + ); + ((t.memoizedState = { baseLanes: 0 }), + xc(t, null !== o ? o.baseLanes : n)); + } + else + (null !== o ? ((r = o.baseLanes | n), (t.memoizedState = null)) : (r = n), + xc(t, r)); + return (Ba(e, t, i, n), t.child); + } + function za(e, t) { + var n = t.ref; + ((null === e && null !== n) || (null !== e && e.ref !== n)) && (t.flags |= 128); + } + function qa(e, t, n, r, i) { + var o = mi(n) ? fi : pi.current; + return ( + (o = vi(t, o)), + io(t, i), + (n = aa(e, t, n, r, o, i)), + null === e || La + ? ((t.flags |= 1), Ba(e, t, n, i), t.child) + : ((t.updateQueue = e.updateQueue), + (t.flags &= -517), + (e.lanes &= ~i), + os(e, t, i)) + ); + } + function Ga(e, t, n, r, i) { + if (mi(n)) { + var o = !0; + bi(t); + } else o = !1; + if ((io(t, i), null === t.stateNode)) + (null !== e && ((e.alternate = null), (t.alternate = null), (t.flags |= 2)), + wo(t, n, r), + ko(t, n, r, i), + (r = !0)); + else if (null === e) { + var a = t.stateNode, + s = t.memoizedProps; + a.props = s; + var c = a.context, + u = n.contextType; + "object" === typeof u && null !== u + ? (u = oo(u)) + : (u = vi(t, (u = mi(n) ? fi : pi.current))); + var d = n.getDerivedStateFromProps, + l = + "function" === typeof d || + "function" === typeof a.getSnapshotBeforeUpdate; + (l || + ("function" !== typeof a.UNSAFE_componentWillReceiveProps && + "function" !== typeof a.componentWillReceiveProps) || + ((s !== r || c !== u) && bo(t, a, r, u)), + (ao = !1)); + var p = t.memoizedState; + ((a.state = p), + ho(t, r, a, i), + (c = t.memoizedState), + s !== r || p !== c || hi.current || ao + ? ("function" === typeof d && + (mo(t, n, d, r), (c = t.memoizedState)), + (s = ao || yo(t, n, s, r, p, c, u)) + ? (l || + ("function" !== typeof a.UNSAFE_componentWillMount && + "function" !== typeof a.componentWillMount) || + ("function" === typeof a.componentWillMount && + a.componentWillMount(), + "function" === typeof a.UNSAFE_componentWillMount && + a.UNSAFE_componentWillMount()), + "function" === typeof a.componentDidMount && (t.flags |= 4)) + : ("function" === typeof a.componentDidMount && + (t.flags |= 4), + (t.memoizedProps = r), + (t.memoizedState = c)), + (a.props = r), + (a.state = c), + (a.context = u), + (r = s)) + : ("function" === typeof a.componentDidMount && (t.flags |= 4), + (r = !1))); + } else { + ((a = t.stateNode), + co(e, t), + (s = t.memoizedProps), + (u = t.type === t.elementType ? s : Qi(t.type, s)), + (a.props = u), + (l = t.pendingProps), + (p = a.context), + "object" === typeof (c = n.contextType) && null !== c + ? (c = oo(c)) + : (c = vi(t, (c = mi(n) ? fi : pi.current)))); + var h = n.getDerivedStateFromProps; + ((d = + "function" === typeof h || + "function" === typeof a.getSnapshotBeforeUpdate) || + ("function" !== typeof a.UNSAFE_componentWillReceiveProps && + "function" !== typeof a.componentWillReceiveProps) || + ((s !== l || p !== c) && bo(t, a, r, c)), + (ao = !1), + (p = t.memoizedState), + (a.state = p), + ho(t, r, a, i)); + var f = t.memoizedState; + s !== l || p !== f || hi.current || ao + ? ("function" === typeof h && (mo(t, n, h, r), (f = t.memoizedState)), + (u = ao || yo(t, n, u, r, p, f, c)) + ? (d || + ("function" !== typeof a.UNSAFE_componentWillUpdate && + "function" !== typeof a.componentWillUpdate) || + ("function" === typeof a.componentWillUpdate && + a.componentWillUpdate(r, f, c), + "function" === typeof a.UNSAFE_componentWillUpdate && + a.UNSAFE_componentWillUpdate(r, f, c)), + "function" === typeof a.componentDidUpdate && (t.flags |= 4), + "function" === typeof a.getSnapshotBeforeUpdate && + (t.flags |= 256)) + : ("function" !== typeof a.componentDidUpdate || + (s === e.memoizedProps && p === e.memoizedState) || + (t.flags |= 4), + "function" !== typeof a.getSnapshotBeforeUpdate || + (s === e.memoizedProps && p === e.memoizedState) || + (t.flags |= 256), + (t.memoizedProps = r), + (t.memoizedState = f)), + (a.props = r), + (a.state = f), + (a.context = c), + (r = u)) + : ("function" !== typeof a.componentDidUpdate || + (s === e.memoizedProps && p === e.memoizedState) || + (t.flags |= 4), + "function" !== typeof a.getSnapshotBeforeUpdate || + (s === e.memoizedProps && p === e.memoizedState) || + (t.flags |= 256), + (r = !1)); + } + return Ua(e, t, n, r, o, i); + } + function Ua(e, t, n, r, i, o) { + za(e, t); + var a = 0 !== (64 & t.flags); + if (!r && !a) return (i && ki(t, n, !1), os(e, t, o)); + ((r = t.stateNode), (Da.current = t)); + var s = + a && "function" !== typeof n.getDerivedStateFromError ? null : r.render(); + return ( + (t.flags |= 1), + null !== e && a + ? ((t.child = So(t, e.child, null, o)), (t.child = So(t, null, s, o))) + : Ba(e, t, s, o), + (t.memoizedState = r.state), + i && ki(t, n, !0), + t.child + ); + } + function Va(e) { + var t = e.stateNode; + (t.pendingContext + ? yi(0, t.pendingContext, t.pendingContext !== t.context) + : t.context && yi(0, t.context, !1), + Ro(e, t.containerInfo)); + } + var $a, + Ja, + Ka, + Qa, + Xa = { dehydrated: null, retryLane: 0 }; + function Ya(e, t, n) { + var r, + i = t.pendingProps, + o = Bo.current, + a = !1; + return ( + (r = 0 !== (64 & t.flags)) || + (r = (null === e || null !== e.memoizedState) && 0 !== (2 & o)), + r + ? ((a = !0), (t.flags &= -65)) + : (null !== e && null === e.memoizedState) || + void 0 === i.fallback || + !0 === i.unstable_avoidThisFallback || + (o |= 1), + di(Bo, 1 & o), + null === e + ? (void 0 !== i.fallback && Go(t), + (e = i.children), + (o = i.fallback), + a + ? ((e = Za(t, e, o, n)), + (t.child.memoizedState = { baseLanes: n }), + (t.memoizedState = Xa), + e) + : "number" === typeof i.unstable_expectedLoadTime + ? ((e = Za(t, e, o, n)), + (t.child.memoizedState = { baseLanes: n }), + (t.memoizedState = Xa), + (t.lanes = 33554432), + e) + : (((n = Kc( + { mode: "visible", children: e }, + t.mode, + n, + null + )).return = t), + (t.child = n))) + : (e.memoizedState, + a + ? ((i = ts(e, t, i.children, i.fallback, n)), + (a = t.child), + (o = e.child.memoizedState), + (a.memoizedState = + null === o + ? { baseLanes: n } + : { baseLanes: o.baseLanes | n }), + (a.childLanes = e.childLanes & ~n), + (t.memoizedState = Xa), + i) + : ((n = es(e, t, i.children, n)), (t.memoizedState = null), n)) + ); + } + function Za(e, t, n, r) { + var i = e.mode, + o = e.child; + return ( + (t = { mode: "hidden", children: t }), + 0 === (2 & i) && null !== o + ? ((o.childLanes = 0), (o.pendingProps = t)) + : (o = Kc(t, i, 0, null)), + (n = Jc(n, i, r, null)), + (o.return = e), + (n.return = e), + (o.sibling = n), + (e.child = o), + n + ); + } + function es(e, t, n, r) { + var i = e.child; + return ( + (e = i.sibling), + (n = Vc(i, { mode: "visible", children: n })), + 0 === (2 & t.mode) && (n.lanes = r), + (n.return = t), + (n.sibling = null), + null !== e && + ((e.nextEffect = null), + (e.flags = 8), + (t.firstEffect = t.lastEffect = e)), + (t.child = n) + ); + } + function ts(e, t, n, r, i) { + var o = t.mode, + a = e.child; + e = a.sibling; + var s = { mode: "hidden", children: n }; + return ( + 0 === (2 & o) && t.child !== a + ? (((n = t.child).childLanes = 0), + (n.pendingProps = s), + null !== (a = n.lastEffect) + ? ((t.firstEffect = n.firstEffect), + (t.lastEffect = a), + (a.nextEffect = null)) + : (t.firstEffect = t.lastEffect = null)) + : (n = Vc(a, s)), + null !== e ? (r = Vc(e, r)) : ((r = Jc(r, o, i, null)).flags |= 2), + (r.return = t), + (n.return = t), + (n.sibling = r), + (t.child = n), + r + ); + } + function ns(e, t) { + e.lanes |= t; + var n = e.alternate; + (null !== n && (n.lanes |= t), ro(e.return, t)); + } + function rs(e, t, n, r, i, o) { + var a = e.memoizedState; + null === a + ? (e.memoizedState = { + isBackwards: t, + rendering: null, + renderingStartTime: 0, + last: r, + tail: n, + tailMode: i, + lastEffect: o + }) + : ((a.isBackwards = t), + (a.rendering = null), + (a.renderingStartTime = 0), + (a.last = r), + (a.tail = n), + (a.tailMode = i), + (a.lastEffect = o)); + } + function is(e, t, n) { + var r = t.pendingProps, + i = r.revealOrder, + o = r.tail; + if ((Ba(e, t, r.children, n), 0 !== (2 & (r = Bo.current)))) + ((r = (1 & r) | 2), (t.flags |= 64)); + else { + if (null !== e && 0 !== (64 & e.flags)) + e: for (e = t.child; null !== e; ) { + if (13 === e.tag) null !== e.memoizedState && ns(e, n); + else if (19 === e.tag) ns(e, n); + else if (null !== e.child) { + ((e.child.return = e), (e = e.child)); + continue; + } + if (e === t) break e; + for (; null === e.sibling; ) { + if (null === e.return || e.return === t) break e; + e = e.return; + } + ((e.sibling.return = e.return), (e = e.sibling)); + } + r &= 1; + } + if ((di(Bo, r), 0 === (2 & t.mode))) t.memoizedState = null; + else + switch (i) { + case "forwards": + for (n = t.child, i = null; null !== n; ) + (null !== (e = n.alternate) && null === No(e) && (i = n), + (n = n.sibling)); + (null === (n = i) + ? ((i = t.child), (t.child = null)) + : ((i = n.sibling), (n.sibling = null)), + rs(t, !1, i, n, o, t.lastEffect)); + break; + case "backwards": + for (n = null, i = t.child, t.child = null; null !== i; ) { + if (null !== (e = i.alternate) && null === No(e)) { + t.child = i; + break; + } + ((e = i.sibling), (i.sibling = n), (n = i), (i = e)); + } + rs(t, !0, n, null, o, t.lastEffect); + break; + case "together": + rs(t, !1, null, null, void 0, t.lastEffect); + break; + default: + t.memoizedState = null; + } + return t.child; + } + function os(e, t, n) { + if ( + (null !== e && (t.dependencies = e.dependencies), + (Hs |= t.lanes), + 0 !== (n & t.childLanes)) + ) { + if (null !== e && t.child !== e.child) throw Error(a(153)); + if (null !== t.child) { + for ( + n = Vc((e = t.child), e.pendingProps), t.child = n, n.return = t; + null !== e.sibling; + + ) + ((e = e.sibling), + ((n = n.sibling = Vc(e, e.pendingProps)).return = t)); + n.sibling = null; + } + return t.child; + } + return null; + } + function as(e, t) { + if (!Ho) + switch (e.tailMode) { + case "hidden": + t = e.tail; + for (var n = null; null !== t; ) + (null !== t.alternate && (n = t), (t = t.sibling)); + null === n ? (e.tail = null) : (n.sibling = null); + break; + case "collapsed": + n = e.tail; + for (var r = null; null !== n; ) + (null !== n.alternate && (r = n), (n = n.sibling)); + null === r + ? t || null === e.tail + ? (e.tail = null) + : (e.tail.sibling = null) + : (r.sibling = null); + } + } + function ss(e, t, n) { + var r = t.pendingProps; + switch (t.tag) { + case 2: + case 16: + case 15: + case 0: + case 11: + case 7: + case 8: + case 12: + case 9: + case 14: + return null; + case 1: + case 17: + return (mi(t.type) && gi(), null); + case 3: + return ( + Oo(), + ui(hi), + ui(pi), + Ko(), + (r = t.stateNode).pendingContext && + ((r.context = r.pendingContext), (r.pendingContext = null)), + (null !== e && null !== e.child) || + (Vo(t) ? (t.flags |= 4) : r.hydrate || (t.flags |= 256)), + Ja(t), + null + ); + case 5: + Lo(t); + var o = Mo(Po.current); + if (((n = t.type), null !== e && null != t.stateNode)) + (Ka(e, t, n, r, o), e.ref !== t.ref && (t.flags |= 128)); + else { + if (!r) { + if (null === t.stateNode) throw Error(a(166)); + return null; + } + if (((e = Mo(To.current)), Vo(t))) { + ((r = t.stateNode), (n = t.type)); + var s = t.memoizedProps; + switch (((r[Xr] = t), (r[Yr] = s), n)) { + case "dialog": + (Tr("cancel", r), Tr("close", r)); + break; + case "iframe": + case "object": + case "embed": + Tr("load", r); + break; + case "video": + case "audio": + for (e = 0; e < Ir.length; e++) Tr(Ir[e], r); + break; + case "source": + Tr("error", r); + break; + case "img": + case "image": + case "link": + (Tr("error", r), Tr("load", r)); + break; + case "details": + Tr("toggle", r); + break; + case "input": + (ee(r, s), Tr("invalid", r)); + break; + case "select": + ((r._wrapperState = { wasMultiple: !!s.multiple }), + Tr("invalid", r)); + break; + case "textarea": + (ce(r, s), Tr("invalid", r)); + } + for (var u in (_e(n, s), (e = null), s)) + s.hasOwnProperty(u) && + ((o = s[u]), + "children" === u + ? "string" === typeof o + ? r.textContent !== o && (e = ["children", o]) + : "number" === typeof o && + r.textContent !== "" + o && + (e = ["children", "" + o]) + : c.hasOwnProperty(u) && + null != o && + "onScroll" === u && + Tr("scroll", r)); + switch (n) { + case "input": + (Q(r), re(r, s, !0)); + break; + case "textarea": + (Q(r), de(r)); + break; + case "select": + case "option": + break; + default: + "function" === typeof s.onClick && (r.onclick = Fr); + } + ((r = e), (t.updateQueue = r), null !== r && (t.flags |= 4)); + } else { + switch ( + ((u = 9 === o.nodeType ? o : o.ownerDocument), + e === le.html && (e = pe(n)), + e === le.html + ? "script" === n + ? (((e = u.createElement("div")).innerHTML = + "
' + )), + (this._creationTimeoutPassed = !1), + (this._subWindowsCreated = !1), + (this._dragSources = []), + (this._dragProxies = []), + (this._updatingColumnsResponsive = !1), + (this._firstLoad = !0), + (this._componentFactory = i), + (this._ignorePinned = !1), + (this._idToMinMaxConstraints = {}), + (this.width = null), + (this.height = null), + (this.root = null), + (this.openPopouts = []), + (this.selectedItem = null), + (this.isSubWindow = !1), + (this.eventHub = new t.utils.EventHub(this)), + (this.config = this._createConfig(n)), + (this.container = r), + (this.dropTargetIndicator = null), + (this.transitionIndicator = null), + (this.tabDropPlaceholder = e( + '
' + )), + !0 === this.isSubWindow && e("body").css("visibility", "hidden"), + (this._typeToItem = { + column: t.utils.fnBind(t.items.RowOrColumn, this, [!0]), + row: t.utils.fnBind(t.items.RowOrColumn, this, [!1]), + stack: t.items.Stack, + component: t.items.Component + })); + }), + (t.LayoutManager.__lm = t), + (t.LayoutManager.minifyConfig = function (e) { + return new t.utils.ConfigMinifier().minifyConfig(e); + }), + (t.LayoutManager.unminifyConfig = function (e) { + return new t.utils.ConfigMinifier().unminifyConfig(e); + }), + t.utils.copy(t.LayoutManager.prototype, { + registerComponent: function (e, t) { + if ("function" !== typeof t) + throw new Error("Please register a constructor function"); + if (void 0 !== this._components[e]) + throw new Error("Component " + e + " is already registered"); + this._components[e] = t; + }, + unregisterComponent: function (e) { + delete this._components[e]; + }, + toConfig: function (e) { + var n, r, i; + if (!1 === this.isInitialised) + throw new Error( + "Can't create config, layout not yet initialised" + ); + if (e && !(e instanceof t.items.AbstractContentItem)) + throw new Error("Root must be a ContentItem"); + for ( + (n = { + settings: t.utils.copy({}, this.config.settings), + dimensions: t.utils.copy({}, this.config.dimensions), + labels: t.utils.copy({}, this.config.labels), + context: t.utils.copy({}, this.config.context), + workspacesOptions: t.utils.copy( + {}, + this.config.workspacesOptions + ) + }).content = [], + r = function (e, t) { + var n, i; + for (n in t.config) + "content" !== n && (e[n] = t.config[n]); + if (t.contentItems.length) + for ( + e.content = [], i = 0; + i < t.contentItems.length; + i++ + ) + ((e.content[i] = {}), + r(e.content[i], t.contentItems[i])); + }, + r(n, e ? { contentItems: [e] } : this.root), + this._$reconcilePopoutWindows(), + n.openPopouts = [], + i = 0; + i < this.openPopouts.length; + i++ + ) + n.openPopouts.push(this.openPopouts[i].toConfig()); + return ( + (n.maximizedItemId = this._maximizedItem + ? "__glMaximised" + : null), + n + ); + }, + getComponent: function (e) { + if (void 0 === this._components[e]) + throw new t.errors.ConfigurationError( + 'Unknown component "' + e + '"' + ); + return this._components[e]; + }, + init: function () { + if ( + (!1 === this._subWindowsCreated && + (this._createSubWindows(), (this._subWindowsCreated = !0)), + "loading" !== document.readyState && null !== document.body) + ) { + if ( + !0 === this.isSubWindow && + !1 === this._creationTimeoutPassed + ) + return ( + setTimeout(t.utils.fnBind(this.init, this), 7), + void (this._creationTimeoutPassed = !0) + ); + (!0 === this.isSubWindow && this._adjustToWindowMode(), + this._setContainer(), + (this.dropTargetIndicator = + new t.controls.DropTargetIndicator(this.container)), + (this.transitionIndicator = + new t.controls.TransitionIndicator()), + this.updateSize(), + this._create(this.config), + this._bindEvents(), + (this.isInitialised = !0), + this._adjustColumnsResponsive(), + this._maximizeContainers(), + this.emit("initialised")); + } else e(document).ready(t.utils.fnBind(this.init, this)); + }, + updateSize: function (e, n) { + if (2 === arguments.length) ((this.width = e), (this.height = n)); + else { + var r = t.utils.getBounds(this.container); + ((this.width = r.width), (this.height = r.height)); + } + !0 === this.isInitialised && + (this.root.callDownwards("setSize", [this.width, this.height]), + this._maximizedItem && + (this._maximizedItem.element.width(this.width), + this._maximizedItem.element.height(this.height), + this._maximizedItem.callDownwards("setSize")), + Object.values(this._maximizedItemsInTargetContainer).forEach( + function (e) { + var n = e.contentItem, + r = e.maximizationContainer, + i = t.utils.getBounds(r.element); + (n.element.width(i.width), + n.element.height(i.height), + n.callDownwards("setSize")); + } + ), + this._adjustColumnsResponsive()); + }, + destroy: function () { + !1 !== this.isInitialised && + (this._onUnload(), + e(window).off("resize", this._resizeFunction), + e(window).off("unload beforeunload", this._unloadFunction), + this.root.callDownwards("_$destroy", [], !0), + (this.root.contentItems = []), + this.tabDropPlaceholder.remove(), + this.dropTargetIndicator.destroy(), + this.transitionIndicator.destroy(), + this.eventHub.destroy(), + this._dragSources.forEach(function (e) { + ("function" === typeof e._dragListener.destroy && + e._dragListener.destroy(), + (e._element = null), + (e._itemConfig = null), + (e._dragListener = null)); + }), + (this._dragSources = [])); + }, + createContentItem: function (e, n) { + var r; + if ("string" !== typeof e.type) + throw new t.errors.ConfigurationError( + "Missing parameter 'type'", + e + ); + if ( + ("react-component" === e.type && + ((e.type = "component"), + (e.componentName = "lm-react-component")), + !this._typeToItem[e.type]) + ) + throw ( + (r = + "Unknown type '" + + e.type + + "'. Valid types are " + + t.utils.objectKeys(this._typeToItem).join(",")), + new t.errors.ConfigurationError(r) + ); + return ( + "component" !== e.type || + n instanceof t.items.Stack || + !n || + (!0 === this.isSubWindow && n instanceof t.items.Root) || + (e = { + type: "stack", + width: e.width, + height: e.height, + content: [e] + }), + new this._typeToItem[e.type](this, e, n) + ); + }, + createPopout: function (e, n, r, i) { + var o, + a, + s, + c, + u, + d = e, + l = e instanceof t.items.AbstractContentItem, + p = this; + if (((r = r || null), l)) { + for ( + d = this.toConfig(e).content, + r = t.utils.getUniqueId(), + s = e.parent, + c = e; + 1 === s.contentItems.length && !s.isRoot; + + ) + ((s = s.parent), (c = c.parent)); + (s.addId(r), + isNaN(i) && (i = t.utils.indexOf(c, s.contentItems))); + } else d instanceof Array || (d = [d]); + if (!n && l) { + ((o = window.screenX || window.screenLeft), + (a = window.screenY || window.screenTop)); + var h = t.utils.getBounds(e.element); + n = { + left: o + h.left, + top: a + h.top, + width: h.width, + height: h.height + }; + } + return ( + n || + l || + (n = { + left: window.screenX || window.screenLeft + 20, + top: window.screenY || window.screenTop + 20, + width: 500, + height: 309 + }), + l && e.remove(), + (u = new t.controls.BrowserPopout(d, n, r, i, this)).on( + "initialised", + function () { + p.emit("windowOpened", u); + } + ), + u.on("closed", function () { + p._$reconcilePopoutWindows(); + }), + this.openPopouts.push(u), + u + ); + }, + createDragSource: function (n, r, i) { + this.config.settings.constrainDragToContainer = !1; + var o = new t.controls.DragSource(e(n), r, this, i); + return (this._dragSources.push(o), o); + }, + selectItem: function (e, t) { + if (!0 !== this.config.settings.selectionEnabled) + throw new Error( + "Please set selectionEnabled to true to use this feature" + ); + e !== this.selectedItem && + (null !== this.selectedItem && this.selectedItem.deselect(), + e && !0 !== t && e.select(), + (this.selectedItem = e), + this.emit("selectionChanged", e)); + }, + _$maximiseItem: function (e) { + var n = this._findItemToMaximizeIn(e); + if (n == this.root) { + if (null !== this._maximizedItem) { + var r = this._maximizedItem; + (this._$minimiseItem(this._maximizedItem), + (r.isMaximized = !1)); + } + ((this._maximizedItem = e), + this._maximizedItem.addId("__glMaximised"), + e.element.addClass("lm_maximised"), + e.element.after(this._maximizePlaceholder), + this.root.element.prepend(e.element)); + var i = t.utils.getBounds(this.container); + (e.element.width(i.width), + e.element.height(i.height), + e.callDownwards("setSize"), + this._maximizedItem.emit("maximized"), + this.emit("stateChanged")); + } else this._$maximiseInContainer(e, n); + }, + _$minimiseItem: function (e) { + this._maximizedItemsInTargetContainer[ + t.utils.idAsString(e.config.id) + ] + ? this._$minimiseInContainer(e) + : (e.element.removeClass("lm_maximised"), + e.hasId("__glMaximised") && e.removeId("__glMaximised"), + this._maximizePlaceholder.after(e.element), + this._maximizePlaceholder.remove(), + e.parent.callDownwards("setSize"), + (this._maximizedItem = null), + e.emit("minimized"), + this.emit("stateChanged")); + }, + _findItemToMaximizeIn: function (e) { + return e + ? e.config.workspacesConfig.maximizationBoundary + ? e + : this._findItemToMaximizeIn(e.parent) + : this.root; + }, + _$maximiseInContainer: function (n, r) { + var i = Object.values(this._maximizedItemsInTargetContainer).find( + function (e) { + return e.maximizationContainer === r; + } + ); + i && + (this._$minimiseItem(i.contentItem), + (i.contentItem.isMaximized = !1)); + var o = e( + '
' + ) + ); + ((this._maximizedItemsInTargetContainer[ + t.utils.idAsString(n.config.id) + ] = { contentItem: n, maximizationContainer: r, placeholder: o }), + n.addId("__glMaximised"), + n.element.addClass("lm_maximised_in_container"), + n.element.after(o), + r.element.prepend(n.element)); + var a = t.utils.getBounds(r.element); + (n.element.width(a.width), + n.element.height(a.height), + n.callDownwards("setSize"), + n.emit("maximized"), + this.emit("stateChanged")); + }, + _$minimiseInContainer: function (e) { + e.element.removeClass("lm_maximised_in_container"); + var n = + this._maximizedItemsInTargetContainer[ + t.utils.idAsString(e.config.id) + ].placeholder; + (e.hasId("__glMaximised") && e.removeId("__glMaximised"), + n.after(e.element), + n.remove(), + e.parent.callDownwards("setSize"), + delete this._maximizedItemsInTargetContainer[ + t.utils.idAsString(e.config.id) + ], + e.emit("minimized"), + this.emit("stateChanged")); + }, + _$closeWindow: function () { + window.setTimeout(function () { + window.close(); + }, 1); + }, + _$getArea: function (e, t) { + var n, + r, + i = 1 / 0, + o = null; + for (n = 0; n < this._itemAreas.length; n++) + e > (r = this._itemAreas[n]).x1 && + e < r.x2 && + t > r.y1 && + t < r.y2 && + i > r.surface && + ((i = r.surface), (o = r)); + return o; + }, + _$createRootItemAreas: function () { + var e = this.config.workspacesOptions, + t = e.allowDrop, + n = e.allowDropLeft, + r = e.allowDropTop, + i = e.allowDropRight, + o = e.allowDropBottom; + if (!1 !== t || !0 === n || !0 === r || !0 === i || !0 === o) { + var a = { y2: 0, x2: 0, y1: "y2", x1: "x2" }; + for (var s in a) { + var c = this.root._$getArea(); + ((c.side = s), + (c[s] = a[s] + ? c[a[s]] - 50 + : "y2" === s + ? 50 + this.root.element.offset().top + : 50), + (c.surface = (c.x2 - c.x1) * (c.y2 - c.y1)), + this._itemAreas.push(c)); + } + ((!1 === n || (!1 === t && !0 !== n)) && + (this._itemAreas[1] = void 0), + (!1 === r || (!1 === t && !0 !== r)) && + (this._itemAreas[0] = void 0), + (!1 === i || (!1 === t && !0 !== i)) && + (this._itemAreas[3] = void 0), + (!1 === o || (!1 === t && !0 !== o)) && + (this._itemAreas[2] = void 0), + (this._itemAreas = this._itemAreas.filter(function (e) { + return "undefined" !== typeof e; + }))); + } + }, + _$calculateItemAreas: function () { + var e, + n, + r = this._getAllContentItems(); + if (((this._itemAreas = []), 1 !== r.length)) { + for (this._$createRootItemAreas(), e = 0; e < r.length; e++) + if (r[e].isStack) { + var i = + r[e].config.workspacesConfig && + !0 === r[e].config.workspacesConfig.allowDrop; + if ( + (!1 !== this.config.workspacesOptions.allowDrop || + i) && + (!r[e].config.workspacesConfig || + !1 !== + r[e].config.workspacesConfig.allowDrop) && + null !== (n = r[e]._$getArea()) + ) + if (n instanceof Array) + this._itemAreas = this._itemAreas.concat(n); + else { + this._itemAreas.push(n); + var o = {}; + (t.utils.copy(o, n), + n.contentItem._contentAreaDimensions + .header && + (t.utils.copy( + o, + n.contentItem._contentAreaDimensions + .header.highlightArea + ), + (o.surface = + (o.x2 - o.x1) * (o.y2 - o.y1)), + this._itemAreas.push(o)), + r[e]._dropSegment && + (r[e]._dropSegment = null)); + } + } + "workspace" === this.config.settings.mode && + (this._itemAreas = [ + this._itemAreas[this._itemAreas.length - 1] + ]); + } else this._itemAreas.push(this.root._$getArea()); + }, + _$normalizeContentItem: function (n, r) { + if (!n) throw new Error("No content item defined"); + if ( + (t.utils.isFunction(n) && (n = n()), + n instanceof t.items.AbstractContentItem) + ) + return n; + if (e.isPlainObject(n) && n.type) { + var i = this.createContentItem(n, r); + return (i.callDownwards("_$init"), i); + } + throw new Error("Invalid contentItem"); + }, + _$reconcilePopoutWindows: function () { + var e, + t = []; + for (e = 0; e < this.openPopouts.length; e++) + !1 === this.openPopouts[e].getWindow().closed + ? t.push(this.openPopouts[e]) + : this.emit("windowClosed", this.openPopouts[e]); + this.openPopouts.length !== t.length && + (this.emit("stateChanged"), (this.openPopouts = t)); + }, + _getAllContentItems: function () { + var e = []; + return ( + (function t(n) { + if ((e.push(n), n.contentItems instanceof Array)) + for (var r = 0; r < n.contentItems.length; r++) + t(n.contentItems[r]); + })(this.root), + e + ); + }, + _bindEvents: function () { + (this._isFullPage && e(window).resize(this._resizeFunction), + e(window).on("unload beforeunload", this._unloadFunction), + this.on("itemCreated", this._onItemCreatedFunction), + this.on("itemDestroyed", this._onItemDestroyedFunction)); + }, + _onResize: function () { + (clearTimeout(this._resizeTimeoutId), + (this._resizeTimeoutId = setTimeout( + t.utils.fnBind(this.updateSize, this), + 100 + ))); + }, + _createConfig: function (n) { + var r = t.utils.getQueryStringParam("gl-window"); + return ( + r && + ((this.isSubWindow = !0), + (n = localStorage.getItem(r)), + (n = JSON.parse(n)), + (n = new t.utils.ConfigMinifier().unminifyConfig(n)), + localStorage.removeItem(r)), + (function e(t) { + for (var n in t) + "props" !== n && "object" === typeof t[n] + ? e(t[n]) + : "type" === n && + "react-component" === t[n] && + ((t.type = "component"), + (t.componentName = "lm-react-component")); + })((n = e.extend(!0, {}, t.config.defaultConfig, n))), + !1 === n.settings.hasHeaders && (n.dimensions.headerHeight = 0), + n + ); + }, + _adjustToWindowMode: function () { + var n = e( + '
' + ); + (n.click( + t.utils.fnBind(function () { + this.emit("popIn"); + }, this) + ), + (document.title = t.utils.stripTags( + this.config.content[0].title + )), + e("head").append( + e("body link, body style, template, .gl_keep") + ), + (this.container = e("body") + .html("") + .css("visibility", "visible") + .append(n)), + document.body.offsetHeight, + (window.__glInstance = this)); + }, + _createSubWindows: function () { + var e, t; + for (e = 0; e < this.config.openPopouts.length; e++) + ((t = this.config.openPopouts[e]), + this.createPopout( + t.content, + t.dimensions, + t.parentId, + t.indexInParent + )); + }, + _setContainer: function () { + var t = e(this.container || "body"); + if (0 === t.length) + throw new Error("GoldenLayout container not found"); + if (t.length > 1) + throw new Error( + "GoldenLayout more than one container element specified" + ); + (t[0] === document.body && + ((this._isFullPage = !0), + e("html, body").css({ + height: "100%", + margin: 0, + padding: 0, + overflow: "hidden" + })), + (this.container = t)); + }, + _create: function (e) { + var n; + if (!(e.content instanceof Array)) + throw ( + (n = + void 0 === e.content + ? "Missing setting 'content' on top level of configuration" + : "Configuration parameter 'content' must be an array"), + new t.errors.ConfigurationError(n, e) + ); + if (e.content.length > 1) + throw ( + (n = + "Top level content can't contain more then one element."), + new t.errors.ConfigurationError(n, e) + ); + ((this.root = new t.items.Root( + this, + { content: e.content }, + this.container + )), + this.root.callDownwards("_$init"), + "__glMaximised" === e.maximizedItemId && + this.root + .getItemsById(e.maximizedItemId)[0] + .toggleMaximise()); + }, + _onUnload: function () { + if (!0 === this.config.settings.closePopoutsOnUnload) + for (var e = 0; e < this.openPopouts.length; e++) + this.openPopouts[e].close(); + }, + _onItemCreated: function () { + this._idToMinMaxConstraints = {}; + }, + _onItemDestroyed: function () { + this._idToMinMaxConstraints = {}; + }, + _adjustColumnsResponsive: function () { + if ( + this._useResponsiveLayout() && + !this._updatingColumnsResponsive && + this.config.dimensions && + this.config.dimensions.minItemWidth && + 0 !== this.root.contentItems.length && + this.root.contentItems[0].isRow + ) { + this._firstLoad = !1; + var e = this.root.contentItems[0].contentItems.length; + if (!(e <= 1)) { + var t = this.config.dimensions.minItemWidth; + if ( + !(e * t <= this.width) && + this.container.is(":visible") + ) { + this._updatingColumnsResponsive = !0; + for ( + var n = e - Math.max(Math.floor(this.width / t), 1), + r = this.root.contentItems[0], + i = this._findAllStackContainers()[0], + o = 0; + o < n; + o++ + ) { + var a = r.contentItems[r.contentItems.length - 1]; + this._addChildContentItemsToContainer(i, a); + } + this._updatingColumnsResponsive = !1; + } + } + } else this._firstLoad = !1; + }, + _maximizeContainers: function () { + var e = this.root.getItemsByFilter(function (e) { + return ( + e.config.workspacesConfig && + e.config.workspacesConfig.isMaximized && + "component" != e.type + ); + }); + e.length && + e.forEach(function (e) { + e.toggleMaximise(); + }); + }, + _useResponsiveLayout: function () { + return ( + this.config.settings && + ("always" == this.config.settings.responsiveMode || + ("onload" == this.config.settings.responsiveMode && + this._firstLoad)) + ); + }, + _addChildContentItemsToContainer: function (e, n) { + "stack" === n.type + ? n.contentItems.forEach(function (t) { + (e.addChild(t), n.removeChild(t, !0)); + }) + : n.contentItems.forEach( + t.utils.fnBind(function (t) { + this._addChildContentItemsToContainer(e, t); + }, this) + ); + }, + _findAllStackContainers: function () { + var e = []; + return (this._findAllStackContainersRecursive(e, this.root), e); + }, + _findAllStackContainersRecursive: function (e, n) { + n.contentItems.forEach( + t.utils.fnBind(function (t) { + "stack" == t.type + ? e.push(t) + : t.isComponent || + this._findAllStackContainersRecursive(e, t); + }, this) + ); + }, + restoreMaximizedContainers: function () { + var e = this; + this.root + .getItemsByFilter(function (e) { + return e.hasId("__glMaximised") && "component" !== e.type; + }) + .forEach(function (t) { + e._$minimiseItem(t); + }); + } + }), + (t.LayoutManager.default = t.LayoutManager), + (G.exports = t.LayoutManager), + (window.GoldenLayout = t.LayoutManager), + (t.config.itemDefaultConfig = function () { + return { + isClosable: !0, + reorderEnabled: !0, + title: "", + workspacesConfig: {} + }; + }), + (t.config.defaultConfig = { + openPopouts: [], + settings: { + hasHeaders: !0, + constrainDragToContainer: !0, + reorderEnabled: !0, + selectionEnabled: !1, + popoutWholeStack: !1, + blockedPopoutsThrowError: !0, + closePopoutsOnUnload: !0, + showMinimizeIcon: !1, + showPopoutIcon: !0, + showMaximizeIcon: !0, + showCloseIcon: !0, + responsiveMode: "always", + tabOverlapAllowance: 0, + reorderOnTabMenuClick: !0, + tabControlOffset: 10, + workspaceInnerDrag: !0, + mode: "default" + }, + dimensions: { + borderWidth: 5, + borderGrabWidth: 15, + minItemHeight: 20, + maxItemHeight: 32767, + minItemWidth: 20, + maxItemWidth: 32767, + headerHeight: 20, + dragProxyWidth: 500, + dragProxyHeight: 500 + }, + labels: { + close: "close", + maximize: "maximize", + restore: "restore", + minimize: "minimize", + popout: "eject", + popin: "pop in", + tabDropdown: "additional tabs" + }, + workspacesOptions: {} + }), + (t.container.ItemContainer = function (n, r, i) { + (t.utils.EventEmitter.call(this), + (this.width = null), + (this.height = null), + (this.title = n.componentName), + (this.parent = r), + (this.layoutManager = i), + (this.isHidden = !1), + (this._config = n), + (this._element = e( + [ + '
', + '
', + "
" + ].join("") + )), + (this._contentElement = this._element.find(".lm_content"))); + }), + t.utils.copy(t.container.ItemContainer.prototype, { + getElement: function () { + return this._contentElement; + }, + hide: function () { + (this.emit("hide"), (this.isHidden = !0), this._element.hide()); + }, + show: function () { + (this.emit("show"), + (this.isHidden = !1), + this._element.show(), + (0 == this.height && 0 == this.width) || this.emit("shown")); + }, + setSize: function (e, t) { + var n, + r, + i, + o, + a = this.parent, + s = this; + if ((!e && !t) || (e && t)) return !1; + for ( + ; + (!a.isColumn && t) || + (!a.isRow && e) || + a.contentItems.length <= 1; + + ) + if (((s = a), (a = a.parent).isRoot)) return !1; + for ( + this.layoutManager._ignorePinned = !0, + a._calculateRelativeSizes(), + n = + (("height" === (r = a.isColumn ? "height" : "width") + ? t + : e) / + (this._element[r]() * (1 / (s.config[r] / 100)))) * + 100, + i = (s.config[r] - n) / (a.contentItems.length - 1), + o = 0; + o < a.contentItems.length; + o++ + ) + a.contentItems[o] === s + ? (a.contentItems[o].config[r] = n) + : (a.contentItems[o].config[r] += i); + return (a.callDownwards("setSize"), !0); + }, + close: function () { + this._config.isClosable && + (this.emit("close"), this.parent.close()); + }, + getState: function () { + return this._config.componentState; + }, + extendState: function (t) { + this.setState(e.extend(!0, this.getState(), t)); + }, + setState: function (e) { + ((this._config.componentState = e), + this.parent.emitBubblingEvent("stateChanged")); + }, + setTitle: function (e) { + this.parent.setTitle(e); + }, + _$setSize: function (e, t) { + if (e !== this.width || t !== this.height) { + ((this.width = e), (this.height = t)); + var n = this._contentElement[0], + r = n.offsetWidth - n.clientWidth, + i = n.offsetHeight - n.clientHeight; + (this._contentElement + .width(this.width - r) + .height(this.height - i), + this.emit("resize")); + } + } + }), + (t.controls.BrowserPopout = function (e, n, r, i, o) { + (t.utils.EventEmitter.call(this), + (this.isInitialised = !1), + (this._config = e), + (this._dimensions = n), + (this._parentId = r), + (this._indexInParent = i), + (this._layoutManager = o), + (this._popoutWindow = null), + (this._id = null)); + }), + t.utils.copy(t.controls.BrowserPopout.prototype, { + toConfig: function () { + if (!1 === this.isInitialised) + throw new Error( + "Can't create config, layout not yet initialised" + ); + return { + dimensions: { + width: this.getGlInstance().width, + height: this.getGlInstance().height, + left: + this._popoutWindow.screenX || + this._popoutWindow.screenLeft, + top: + this._popoutWindow.screenY || + this._popoutWindow.screenTop + }, + content: this.getGlInstance().toConfig().content, + parentId: this._parentId, + indexInParent: this._indexInParent + }; + }, + getGlInstance: function () { + return this._popoutWindow.__glInstance; + }, + getWindow: function () { + return this._popoutWindow; + }, + close: function () { + if (this.getGlInstance()) this.getGlInstance()._$closeWindow(); + else + try { + this.getWindow().close(); + } catch (e) {} + }, + popIn: function () { + var t, n; + (this._indexInParent, + this._parentId && + ((t = e.extend(!0, {}, this.getGlInstance().toConfig()) + .content[0]), + (n = this._layoutManager.root.getItemsById( + this._parentId + )[0]) || + (n = + this._layoutManager.root.contentItems.length > 0 + ? this._layoutManager.root.contentItems[0] + : this._layoutManager.root)), + n.addChild(t, this._indexInParent), + this.close()); + }, + _serializeWindowOptions: function (e) { + var t, + n = []; + for (t in e) n.push(t + "=" + e[t]); + return n.join(","); + }, + _createUrl: function () { + var e, + n = { content: this._config }, + r = "gl-window-config-" + t.utils.getUniqueId(); + n = new t.utils.ConfigMinifier().minifyConfig(n); + try { + localStorage.setItem(r, JSON.stringify(n)); + } catch (i) { + throw new Error( + "Error while writing to localStorage " + i.toString() + ); + } + return 1 === (e = document.location.href.split("?")).length + ? e[0] + "?gl-window=" + r + : document.location.href + "&gl-window=" + r; + }, + _positionWindow: function () { + (this._popoutWindow.moveTo( + this._dimensions.left, + this._dimensions.top + ), + this._popoutWindow.focus()); + }, + _onInitialised: function () { + ((this.isInitialised = !0), + this.getGlInstance().on("popIn", this.popIn, this), + this.emit("initialised")); + }, + _onClose: function () { + setTimeout(t.utils.fnBind(this.emit, this, ["closed"]), 50); + } + }), + (t.controls.DragProxy = function (n, r, i, o, a, s) { + (t.utils.EventEmitter.call(this), + (this._dragListener = i), + (this._layoutManager = o), + (this._contentItem = a), + (this._originalParent = s), + (this._area = null), + (this._lastValidArea = null), + this._dragListener.on("drag", this._onDrag, this), + this._dragListener.on("dragStop", this._onDrop, this), + (this.element = e(t.controls.DragProxy._template)), + s && + s._side && + ((this._sided = s._sided), + this.element.addClass("lm_" + s._side), + ["right", "bottom"].indexOf(s._side) >= 0 && + this.element + .find(".lm_content") + .after(this.element.find(".lm_header"))), + this.element.css({ left: n, top: r }), + this.element + .find(".lm_tab") + .attr( + "title", + t.utils.stripTags(this._contentItem.config.title) + ), + this.element.find(".lm_title").html(this._contentItem.config.title), + (this.childElementContainer = this.element.find(".lm_content")), + this.childElementContainer.append(a.element), + this._originalParent && + this._originalParent.layoutManager.config && + this._originalParent.layoutManager.config.settings && + this._originalParent.layoutManager.config.settings + .disableDragProxy && + this.element.find(".lm_content").css("display", "none"), + this._updateTree(), + this._layoutManager._$calculateItemAreas(), + this._setDimensions(), + e(document.body).append(this.element)); + var c = t.utils.getBounds(this._layoutManager.container); + ((this._minX = c.left), + (this._minY = c.top), + (this._maxX = c.width + this._minX), + (this._maxY = c.height + this._minY), + (this._width = + this._layoutManager.config.dimensions.dragProxyWidth), + (this._height = + this._layoutManager.config.dimensions.dragProxyHeight), + this._setDropPosition(n, r)); + }), + (t.controls.DragProxy._template = + '
'), + t.utils.copy(t.controls.DragProxy.prototype, { + _onDrag: function (e, t, n) { + var r = (n = + n.originalEvent && n.originalEvent.touches + ? n.originalEvent.touches[0] + : n).pageX, + i = n.pageY; + ((r > this._minX && + r < this._maxX && + i > this._minY && + i < this._maxY) || + !0 !== + this._layoutManager.config.settings + .constrainDragToContainer) && + this._setDropPosition(r, i); + }, + _setDropPosition: function (e, t) { + (this.element.css({ left: e, top: t }), + (this._area = this._layoutManager._$getArea(e, t)), + null !== this._area + ? ((this._lastValidArea = this._area), + this._area.contentItem._$highlightDropZone( + e, + t, + this._area + )) + : null !== this._lastValidArea && + (this._lastValidArea.contentItem._$highlightDropZone( + e, + t, + this._area + ), + (this._lastValidArea = this._area))); + }, + _onDrop: function (e) { + (this._layoutManager.dropTargetIndicator.hide(), + this.element.find(".lm_content").css("display", ""), + null === this._area || (e && e.canceled) + ? null === this._lastValidArea || (e && e.canceled) + ? !this._originalParent || (e && e.canceled) + ? this._contentItem._$destroy() + : this._originalParent.addChild(this._contentItem) + : this._lastValidArea.contentItem._$onDrop( + this._contentItem, + this._lastValidArea + ) + : (this._area.contentItem._$onDrop( + this._contentItem, + this._area + ), + this._originalParent && + this._area.contentItem !== this._originalParent && + this._layoutManager.emit( + "parentChanged", + this._contentItem, + this._originalParent + )), + this.element.remove()); + var t = this._layoutManager._dragProxies.indexOf(this); + (t > -1 && this._layoutManager._dragProxies.splice(t, 1), + this._layoutManager.emit("itemDropped", this._contentItem)); + }, + _updateTree: function () { + (this._contentItem.parent && + this._contentItem.parent.removeChild(this._contentItem, !0), + this._contentItem._$setParent(this)); + }, + _setDimensions: function () { + this._contentItem.callDownwards("_$show"); + } + }), + (t.controls.DragSource = function (e, t, n, r) { + ((this._element = e), + (this._itemConfig = t), + (this._layoutManager = n), + (this._dragListener = null), + (this._dragProxy = null), + this._createDragListener(r)); + }), + t.utils.copy(t.controls.DragSource.prototype, { + _createDragListener: function (e) { + (null !== this._dragListener && this._dragListener.destroy(), + (this._dragListener = + e || new t.utils.DragListener(this._element)), + "function" == typeof this._dragListener.on && + (this._dragListener.on( + "dragStart", + this._onDragStart, + this + ), + this._dragListener.on( + "dragStop", + this._createDragListener, + this + ))); + }, + _onDragStart: function (n, r) { + var i = this._itemConfig; + t.utils.isFunction(i) && (i = i()); + var o = this._layoutManager._$normalizeContentItem( + e.extend(!0, {}, i) + ); + ((this._dragProxy = new t.controls.DragProxy( + n, + r, + this._dragListener, + this._layoutManager, + o, + null + )), + this._layoutManager.transitionIndicator.transitionElements( + this._element, + this._dragProxy.element + )); + } + }), + (t.controls.DropTargetIndicator = function () { + ((this.element = e(t.controls.DropTargetIndicator._template)), + e(document.body).append(this.element)); + }), + (t.controls.DropTargetIndicator._template = + '
'), + t.utils.copy(t.controls.DropTargetIndicator.prototype, { + destroy: function () { + this.element.remove(); + }, + highlight: function (e, t, n, r) { + this.highlightArea({ x1: e, y1: t, x2: n, y2: r }); + }, + highlightArea: function (e) { + e + ? this.element + .css({ + left: e.x1, + top: e.y1, + width: e.x2 - e.x1, + height: e.y2 - e.y1 + }) + .show() + : this.element.hide(); + }, + hide: function () { + this.element.hide(); + } + }), + (t.controls.Header = function (n, r) { + if ( + (t.utils.EventEmitter.call(this), + (this.layoutManager = n), + (this.element = e(t.controls.Header._template)), + !0 === this.layoutManager.config.settings.selectionEnabled && + (this.element.addClass("lm_selectable"), + this.element.on( + "click touchstart", + t.utils.fnBind(this._onHeaderClick, this) + )), + "workspace" === this.layoutManager.config.settings.mode && + this.element.addClass("header_double"), + "workspace" === this.layoutManager.config.settings.mode && + this.layoutManager._componentFactory) + ) { + var i = this.element.children(".lm_controls")[0], + o = this.element.children(".lm_workspace_controls")[0], + a = this.element.children(".lm_logo")[0]; + (this.layoutManager._componentFactory.createLogo && + this.layoutManager._componentFactory.createLogo({ domNode: a }), + this.layoutManager._componentFactory.createAddWorkspace && + this.layoutManager._componentFactory.createAddWorkspace({ + domNode: o + }), + this.layoutManager._componentFactory.createSystemButtons && + this.layoutManager._componentFactory.createSystemButtons({ + domNode: i + })); + } else if (this.layoutManager._componentFactory) { + this.element.children(".lm_controls")[0]; + var s = this.element.children(".lm_tabs_controls")[0], + c = this.element.children(".lm_logo")[0]; + (this.layoutManager._componentFactory.createBeforeGroupTabs && + this.layoutManager._componentFactory.createBeforeGroupTabs({ + domNode: c, + groupId: t.utils.idAsString(r.config.id), + workspaceId: + this.layoutManager.config.workspacesOptions.workspaceId, + elementId: t.utils.idAsString(r.config.id) + }), + this.layoutManager._componentFactory.createAfterGroupTabs && + this.layoutManager._componentFactory.createAfterGroupTabs({ + domNode: s, + groupId: t.utils.idAsString(r.config.id), + workspaceId: + this.layoutManager.config.workspacesOptions + .workspaceId, + elementId: t.utils.idAsString(r.config.id) + })); + } + ((this.tabsContainer = this.element.find(".lm_tabs")), + (this.tabDropdownContainer = + this.element.find(".lm_tabdropdown_list")), + this.tabDropdownContainer.hide(), + (this.controlsContainer = this.element.find(".lm_controls")), + (this.workspaceControlsContainer = + "workspace" === this.layoutManager.config.settings.mode + ? this.element.find(".lm_workspace_controls") + : void 0), + (this.tabsControlsContainer = + "workspace" !== this.layoutManager.config.settings.mode + ? this.element.find(".lm_tabs_controls") + : void 0), + (this.parent = r), + (this.tabs = []), + (this.activeContentItem = null), + (this.closeButton = null), + (this.tabDropdownButton = null), + (this.hideAdditionalTabsDropdown = t.utils.fnBind( + this._hideAdditionalTabsDropdown, + this + )), + e(document).mouseup(this.hideAdditionalTabsDropdown), + (this._lastVisibleTabIndex = -1), + (this._tabControlOffset = + this.layoutManager.config.settings.tabControlOffset), + (this._isDestroyed = !1), + ("workspace" === this.layoutManager.config.settings.mode && + this.layoutManager._componentFactory && + this.layoutManager._componentFactory.createSystemButtons) || + this._createControls()); + }), + (t.controls.Header._template = [ + '
', + '', + '
    ', + '
      ', + '
        ', + '
        ', + '
          ', + '
            ', + "
            " + ].join("")), + t.utils.copy(t.controls.Header.prototype, { + createTab: function (e, n) { + var r, i; + for (i = 0; i < this.tabs.length; i++) + if (this.tabs[i].contentItem === e) return; + if (((r = new t.controls.Tab(this, e)), 0 === this.tabs.length)) + return ( + this.tabs.push(r), + void this.tabsContainer.append(r.element) + ); + ((void 0 === n || n > this.tabs.length) && (n = this.tabs.length), + n > 0 + ? this.tabs[n - 1].element.after(r.element) + : this.tabs[0].element.before(r.element), + this.tabs.splice(n, 0, r), + this._updateTabSizesWithoutDropdown()); + }, + moveTab: function (e, n) { + (t.utils.moveInArray(this.tabs, e, n), + this._updateTabSizesWithoutDropdown(), + this.parent._syncContentItemOrder()); + }, + removeTab: function (e) { + for (var t = 0; t < this.tabs.length; t++) + if (this.tabs[t].contentItem === e) + return ( + this.tabs[t]._$destroy(), + void this.tabs.splice(t, 1) + ); + throw new Error("contentItem is not controlled by this header"); + }, + setActiveContentItem: function (e) { + var t, n, r, i; + for (t = 0; t < this.tabs.length; t++) + ((r = this.tabs[t].contentItem === e), + this.tabs[t].setActive(r), + !0 === r && + ((this.activeContentItem = e), + (this.parent.config.activeItemIndex = t))); + if ( + this.layoutManager.config.settings.reorderOnTabMenuClick && + -1 !== this._lastVisibleTabIndex && + this.parent.config.activeItemIndex > this._lastVisibleTabIndex + ) { + for ( + i = this.tabs[this.parent.config.activeItemIndex], + n = this.parent.config.activeItemIndex; + n > 0; + n-- + ) + this.tabs[n] = this.tabs[n - 1]; + ((this.tabs[0] = i), (this.parent.config.activeItemIndex = 0)); + } + this.parent.emitBubblingEvent("stateChanged"); + }, + position: function (e) { + var t = this.parent._header.show; + return ( + t && !this.parent._side && (t = "top"), + void 0 !== e && + this.parent._header.show != e && + ((this.parent._header.show = e), + this.parent._setupHeaderPosition()), + t + ); + }, + _$setClosable: function (e) { + return ( + !(!this.closeButton || !this._isClosable()) && + (this.closeButton.element[e ? "show" : "hide"](), !0) + ); + }, + _$destroy: function () { + if (!this._isDestroyed) { + ((this._isDestroyed = !0), this.emit("destroy", this)); + for (var t = 0; t < this.tabs.length; t++) + this.tabs[t]._$destroy(); + (e(document).off("mouseup", this.hideAdditionalTabsDropdown), + this.element.remove()); + } + }, + _getHeaderSetting: function (e) { + if (e in this.parent._header) return this.parent._header[e]; + }, + _createControls: function () { + if ( + "workspace" !== this.layoutManager.config.settings.mode && + this.layoutManager._componentFactory.createGroupHeaderButtons + ) { + var e = + this.layoutManager._componentFactory.createGroupHeaderButtonsOptions( + { + element: this.controlsContainer[0], + contentItem: this.parent + } + ); + this.layoutManager._componentFactory.createGroupHeaderButtons( + e + ); + } else { + var n, r, i, o, a, s, c, u, d; + ((d = t.utils.fnBind(this._showAdditionalTabsDropdown, this)), + (u = this.layoutManager.config.labels.tabDropdown), + (this.tabDropdownButton = new t.controls.HeaderButton( + this, + u, + "lm_tabdropdown", + d + )), + this.tabDropdownButton.element.hide(), + this._getHeaderSetting("popout") && + ((r = t.utils.fnBind(this._onPopoutClick, this)), + (i = this._getHeaderSetting("popout")), + new t.controls.HeaderButton(this, i, "lm_popout", r)), + this._getHeaderSetting("minimize") && + ((minimizeLabel = this._getHeaderSetting("minimize")), + (minimizeButton = new t.controls.HeaderButton( + this, + minimizeLabel, + "lm_minimise", + void 0 + ))), + this._getHeaderSetting("maximize") && + ("workspace" !== + this.layoutManager.config.settings.mode && + (s = t.utils.fnBind( + this.parent.toggleMaximise, + this.parent + )), + (o = this._getHeaderSetting("maximize")), + (c = new t.controls.HeaderButton( + this, + o, + "lm_maximise", + s + )), + (a = this._getHeaderSetting("restore")), + this.parent.on("maximized", function () { + c.element.attr("title", a); + }), + this.parent.on("minimized", function () { + c.element.attr("title", o); + })), + this._isClosable() && + ("workspace" !== + this.layoutManager.config.settings.mode && + (n = t.utils.fnBind( + this.parent.remove, + this.parent + )), + (i = this._getHeaderSetting("close")), + (this.closeButton = new t.controls.HeaderButton( + this, + i, + "lm_close", + n + )))); + } + }, + _showAdditionalTabsDropdown: function () { + this.tabDropdownContainer.show(); + }, + _hideAdditionalTabsDropdown: function (e) { + this.tabDropdownContainer.hide(); + }, + _isClosable: function () { + return ( + this.parent.config.isClosable && + this.layoutManager.config.settings.showCloseIcon + ); + }, + _onPopoutClick: function () { + this.parent.emit("popoutRequested"); + }, + _onHeaderClick: function (e) { + e.target === this.element[0] && this.parent.select(); + }, + _updateTabSizes: function (e) { + if (0 !== this.tabs.length) { + (this.tabDropdownButton.element.toggle(!0 === e), + this.element.css( + this.parent._sided ? "height" : "width", + "" + )); + var t, + n, + r, + i, + o = + this.element.outerWidth() - + this.controlsContainer.outerWidth() - + this._tabControlOffset, + a = 0, + s = 0, + c = 0, + u = this.layoutManager.config.settings.tabOverlapAllowance, + d = !1, + l = this.activeContentItem + ? this.tabs.indexOf(this.activeContentItem.tab) + : 0, + p = this.tabs[l]; + for ( + this.parent._sided && + (o = + this.element.outerHeight() - + this.controlsContainer.outerHeight() - + this._tabControlOffset), + this._lastVisibleTabIndex = -1, + n = 0; + n < this.tabs.length; + n++ + ) + if ( + ((t = this.tabs[n].element), + this.tabsContainer.append(t), + (a += + t.outerWidth() + + parseInt(t.css("margin-right"), 10)), + (s = + l <= n + ? a + : a + + p.element.outerWidth() + + parseInt(p.element.css("margin-right"), 10)) > + o) + ) { + if (d) + n === l && + (t.css({ + "z-index": "auto", + "margin-left": "" + }), + this.tabsContainer.append(t)); + else if ( + (c = + l > 0 && l <= n + ? (s - o) / (n - 1) + : (s - o) / n) < u + ) { + for (r = 0; r <= n; r++) + ((i = r !== l && 0 !== r ? "-" + c + "px" : ""), + this.tabs[r].element.css({ + "z-index": n - r, + "margin-left": i + })); + ((this._lastVisibleTabIndex = n), + this.tabsContainer.append(t)); + } else d = !0; + if (d && n !== l) { + if (!e) return void this._updateTabSizes(!0); + (t.css({ "z-index": "auto", "margin-left": "" }), + this.tabDropdownContainer.append(t)); + } + } else + ((this._lastVisibleTabIndex = n), + t.css({ "z-index": "auto", "margin-left": "" }), + this.tabsContainer.append(t)); + } + }, + _updateTabSizesWithoutDropdown: function (e) { + if (0 !== this.tabs.length) { + var t, n; + (this.element.css(this.parent._sided ? "height" : "width", ""), + this.element.outerWidth(), + this.controlsContainer.outerWidth(), + this._tabControlOffset, + this.layoutManager.config.settings.tabOverlapAllowance); + var r = this.activeContentItem + ? this.tabs.indexOf(this.activeContentItem.tab) + : 0, + i = this.tabs[r]; + for ( + this.parent._sided && + (this.element.outerHeight(), + this.controlsContainer.outerHeight(), + this._tabControlOffset), + n = 0; + n < this.tabs.length; + n++ + ) + ((t = this.tabs[n].element), + this.tabsContainer.append(t), + t.outerWidth(), + parseInt(t.css("margin-right"), 10), + r <= n || + (i.element.outerWidth(), + parseInt(i.element.css("margin-right"), 10)), + t.css({ "z-index": "auto", "margin-left": "" })); + } + }, + _getLastIndexOfPinnedTab: function (e) { + var t = this.tabs.reduce( + function (t, n) { + return n.isPinned && ("function" != typeof e || e(n)) + ? n + : t; + }, + void 0 + ); + return t ? this.tabs.indexOf(t) : -1; + } + }), + (t.controls.HeaderButton = function (t, n, r, i) { + ((this._header = t), + (this.element = e('
          • ')), + this._header.on("destroy", this._$destroy, this), + (this._action = i), + this.element.on("click touchstart", this._action), + this._header.controlsContainer.append(this.element)); + }), + t.utils.copy(t.controls.HeaderButton.prototype, { + _$destroy: function () { + (this.element.off(), this.element.remove()); + } + }), + (t.controls.Splitter = function (e, n, r) { + ((this._isVertical = e), + (this._size = n), + (this._grabSize = r < n ? n : r), + (this.element = this._createElement()), + (this._dragListener = new t.utils.DragListener(this.element))); + }), + t.utils.copy(t.controls.Splitter.prototype, { + on: function (e, t, n) { + this._dragListener.on(e, t, n); + }, + _$destroy: function () { + this.element.remove(); + }, + _createElement: function () { + var t = e('
            '), + n = e('
            '); + n.append(t); + var r = this._grabSize - this._size, + i = r / 2; + return ( + this._isVertical + ? (t.css("top", -i), + t.css("height", this._size + r), + n.addClass("lm_vertical"), + n.height(this._size)) + : (t.css("left", -i), + t.css("width", this._size + r), + n.addClass("lm_horizontal"), + n.width(this._size)), + n + ); + } + }), + (t.controls.Tab = function (n, r) { + ((this.header = n), + (this.contentItem = r), + (this._layoutManager = this.contentItem.layoutManager)); + var i = "workspace" === this._layoutManager.config.settings.mode, + o = t.utils.isCustomWorkspaceTab(this), + a = t.utils.isCustomWorkspaceWindowTab(this); + if ( + ((this.element = e( + o || a + ? t.controls.Tab._customTabTemplate + : t.controls.Tab._template + )), + (this._elementOffset = 0), + (this._xOfLastReorder = 0), + (this.titleElement = o + ? e(void 0) + : this.element.find(".lm_title")), + (this.closeElement = o + ? e(void 0) + : this.element.find(".lm_close_tab")), + this.closeElement[r.config.isClosable ? "show" : "hide"](), + (this.isActive = !1), + (this.isPinned = !1), + (this.title = r.config.title), + this.setTitle(this.title), + this.contentItem.on("titleChanged", this.setTitle, this), + !0 === this._layoutManager.config.settings.reorderEnabled && + !0 === r.config.reorderEnabled && + ((this._dragListener = new t.utils.TabDragListener( + this.element + )), + this._dragListener.on("dragStart", this._onDragStart, this), + this._dragListener.on( + "reorderStart", + this._onReorderStart, + this + ), + this.contentItem.on( + "destroy", + this._dragListener.destroy, + this._dragListener + )), + (this._onTabClickFn = t.utils.fnBind(this._onTabClick, this)), + (this._onCloseClickFn = t.utils.fnBind(this._onCloseClick, this)), + i && r.config.noTabHeader && this.element.hide(), + this.element.on("mousedown touchstart", this._onTabClickFn), + this.contentItem.config.isClosable + ? (this.closeElement.on( + "click touchstart", + this._onCloseClickFn + ), + this.closeElement.on("mousedown", this._onCloseMousedown)) + : this.closeElement.remove(), + (this.contentItem.tab = this), + this.contentItem.emit("tab", this), + this.contentItem.layoutManager.emit("tabCreated", this), + this.contentItem.isComponent && + ((this.contentItem.container.tab = this), + this.contentItem.container.emit("tab", this)), + o) + ) { + var s = + this._layoutManager._componentFactory.createWorkspaceTabsOptions( + { element: this.element[0], contentItem: r } + ); + this._layoutManager._componentFactory.createWorkspaceTabs(s); + } + if (a) { + var c = + this._layoutManager._componentFactory.createWorkspaceWindowTabsOptions( + { element: this.element[0], contentItem: r } + ); + this._layoutManager._componentFactory.createWorkspaceWindowTabs(c); + } + }), + (t.controls.Tab._template = + '
          • '), + (t.controls.Tab._customTabTemplate = '
          • '), + t.utils.copy(t.controls.Tab.prototype, { + setTitle: function (e) { + ((this.title = e), + t.utils.isCustomWorkspaceTab(this) || + this.element.attr("title", t.utils.stripTags(e)), + this.titleElement.html(e)); + }, + onCloseClick: void 0, + pin: function (e) { + if (!this.isPinned) { + (this.titleElement.hide(), this.closeElement.hide()); + var t = this.header.tabs.indexOf(this), + n = this.header._getLastIndexOfPinnedTab(), + r = n + 1; + ("number" === typeof e && (r = Math.min(e, n + 1)), + this.header.moveTab(t, r), + this.element.addClass("lm_pinned"), + (this.isPinned = !0)); + } + }, + unpin: function () { + if (this.isPinned) { + (this.titleElement.show(), this.closeElement.show()); + var e = this.header.tabs.indexOf(this), + t = this.header._getLastIndexOfPinnedTab(); + (e != t && this.header.moveTab(e, t), + this.element.removeClass("lm_pinned"), + (this.isPinned = !1)); + } + }, + setActive: function (e) { + e !== this.isActive && + ((this.isActive = e), + e + ? this.element.addClass("lm_active") + : this.element.removeClass("lm_active")); + }, + _$destroy: function () { + (this.element.off("mousedown touchstart", this._onTabClickFn), + this.closeElement.off("click touchstart", this._onCloseClickFn), + this._dragListener && + (this.contentItem.off( + "destroy", + this._dragListener.destroy, + this._dragListener + ), + this._dragListener.off("dragStart", this._onDragStart), + this._dragListener.off( + "reorderStart", + this._onReorderStart + ), + (this._dragListener = null)), + this.element.remove()); + }, + _onDragStart: function (e, n) { + !0 === this.contentItem.parent.isMaximized && + this.contentItem.parent.toggleMaximise(); + var r = + "workspace" === + this.contentItem.layoutManager.config.settings.mode, + i = this.contentItem.parent.header.tabs.length < 2, + o = + !this.contentItem.config.windowId && + this.contentItem.config.componentState && + !this.contentItem.config.componentState.windowId, + a = + !this.contentItem.layoutManager.config.settings + .workspaceInnerDrag && r; + if ( + (!r || !i) && + (r || !o) && + (!this._layoutManager.config || + !1 !== + this._layoutManager.config.workspacesOptions + .allowExtract || + !this.contentItem.config.workspacesConfig || + !0 === + this.contentItem.config.workspacesConfig + .allowExtract) && + (!this.contentItem.config.workspacesConfig || + !1 !== + this.contentItem.config.workspacesConfig + .allowExtract) && + !a + ) { + this._layoutManager.restoreMaximizedContainers.apply( + this._layoutManager + ); + var s = new t.controls.DragProxy( + e, + n, + this._dragListener, + this._layoutManager, + this.contentItem, + this.header.parent + ); + this._layoutManager._dragProxies.push(s); + } + }, + _onReorderStart: function (e, t) { + var n = + this.element[0].getBoundingClientRect().x - + this.header.element[0].getBoundingClientRect().x, + r = this.element[0].getBoundingClientRect().width; + this._elementOffset = n - e; + var i = "workspace" === this._layoutManager.config.settings.mode, + o = + i && + !1 === + this.contentItem.config.workspacesConfig + .allowWorkspaceTabReorder, + a = + !i && + !1 === + this.contentItem.config.workspacesConfig.allowReorder; + o || + a || + ((this._xOfLastReorder = e), + this.element.css("position", "absolute"), + this.element.css("z-index", "42"), + this.element.css( + "left", + "".concat(e + this._elementOffset, "px") + ), + this.element.css("width", "".concat(r, "px")), + this._dragListener.on("reorder", this._onReorder, this), + this._dragListener.on( + "reorderStop", + this._onReorderStop, + this + )); + }, + _onReorder: function (e, n) { + this.element.css("left", "".concat(e + this._elementOffset, "px")); + var r = this.header.tabs.indexOf(this); + if (this._xOfLastReorder > e && r > 0) { + var i = t.utils.getBounds(this.header.tabs[r - 1].element); + e < i.x + i.width / 2 && + (this.header.moveTab(r, r - 1), (this._xOfLastReorder = e)); + } else if ( + this._xOfLastReorder < e && + r < this.header.tabs.length - 1 + ) { + var o = t.utils.getBounds(this.header.tabs[r + 1].element); + e > o.x + o.width / 2 && + (this.header.moveTab(r, r + 1), (this._xOfLastReorder = e)); + } + this.element.css("z-index", "42"); + }, + _onReorderStop: function (e, t) { + var n = this, + r = this.header.tabs.indexOf(this), + i = this.header._getLastIndexOfPinnedTab(function (e) { + return e != n; + }); + (this.isPinned && i + 1 < r && this.header.moveTab(r, i + 1), + !this.isPinned && r < i && this.header.moveTab(r, i), + this.element.css("left", ""), + this.element.css("width", ""), + this.element.css("position", ""), + this.element.css("z-index", "auto"), + this._dragListener.off("reorder", this._onReorder), + this._dragListener.off("reorderStop", this._onReorderStop)); + }, + _onTabClick: function (e) { + if (0 === e.button || "touchstart" === e.type) { + var t = this.header.parent.getActiveContentItem(); + this.contentItem !== t && + this.header.parent.setActiveContentItem(this.contentItem); + } else + 1 === e.button && + this.contentItem.config.isClosable && + this._onCloseClick(e); + }, + _onCloseClick: function (e) { + (this.contentItem.layoutManager.emit("tabCloseRequested", this), + this.onCloseClick && this.onCloseClick(e)); + }, + _onCloseMousedown: function (e) { + e.stopPropagation(); + } + }), + (t.controls.TransitionIndicator = function () { + ((this._element = e('
            ')), + e(document.body).append(this._element), + (this._toElement = null), + (this._fromDimensions = null), + (this._totalAnimationDuration = 200), + (this._animationStartTime = null)); + }), + t.utils.copy(t.controls.TransitionIndicator.prototype, { + destroy: function () { + this._element.remove(); + }, + transitionElements: function (e, t) {}, + _nextAnimationFrame: function () { + var e, + n = this._measure(this._toElement), + r = + (t.utils.now() - this._animationStartTime) / + this._totalAnimationDuration, + i = {}; + if (r >= 1) this._element.hide(); + else { + for (e in ((n.opacity = 0), this._fromDimensions)) + i[e] = + this._fromDimensions[e] + + (n[e] - this._fromDimensions[e]) * r; + (this._element.css(i), + t.utils.animFrame( + t.utils.fnBind(this._nextAnimationFrame, this) + )); + } + }, + _measure: function (e) { + var t = e.offset(); + return { + left: t.left, + top: t.top, + width: e.outerWidth(), + height: e.outerHeight() + }; + } + }), + (t.items.AbstractContentItem = function (e, n, r) { + (t.utils.EventEmitter.call(this), + (this.config = this._extendItemNode(n)), + (this.type = n.type), + (this.contentItems = []), + (this.parent = r), + (this.isInitialised = !1), + (this.isMaximized = + Array.isArray(n.id) && n.id.includes("__glMaximised")), + (this.isRoot = !1), + (this.isRow = !1), + (this.isColumn = !1), + (this.isStack = !1), + (this.isComponent = !1), + (this.isVisible = !0), + (this.layoutManager = e), + (this._pendingEventPropagations = {}), + (this._throttledEvents = ["stateChanged"]), + (this._isDestroyed = !1), + this.on(t.utils.EventEmitter.ALL_EVENT, this._propagateEvent, this), + n.content && this._createContentItems(n)); + }), + t.utils.copy(t.items.AbstractContentItem.prototype, { + setSize: function () { + throw new Error("Abstract Method"); + }, + callDownwards: function (e, t, n, r) { + var i; + for ( + !0 !== n && !0 !== r && this[e].apply(this, t || []), i = 0; + i < this.contentItems.length; + i++ + ) + this.contentItems[i].callDownwards(e, t, n); + !0 === n && !0 !== r && this[e].apply(this, t || []); + }, + removeChild: function (e, n) { + var r = t.utils.indexOf(e, this.contentItems); + if (-1 === r) + throw new Error( + "Can't remove child item. Unknown content item" + ); + (!0 !== n && this.contentItems[r]._$destroy(), + this.contentItems.splice(r, 1), + this.config.content.splice(r, 1), + this.contentItems.length > 0 + ? this.callDownwards("setSize") + : this instanceof t.items.Root || + !0 !== this.config.isClosable || + this.parent.removeChild(this)); + }, + addChild: function (e, t) { + ((void 0 === t || t > this.contentItems.length) && + (t = this.contentItems.length), + this.contentItems.splice(t, 0, e), + void 0 === this.config.content && (this.config.content = []), + this.config.content.splice(t, 0, e.config), + (e.parent = this), + !0 === e.parent.isInitialised && + !1 === e.isInitialised && + e._$init()); + }, + replaceChild: function (e, n, r) { + n = this.layoutManager._$normalizeContentItem(n); + var i = t.utils.indexOf(e, this.contentItems), + o = e.element[0].parentNode; + if (-1 === i) + throw new Error( + "Can't replace child. oldChild is not child of this" + ); + o.replaceChild(n.element[0], e.element[0]); + var a = e.isVisible; + (!0 === r && ((e.parent = null), e._$destroy()), + (this.contentItems[i] = n), + (n.parent = this), + this.isStack && + ((this.header.tabs[i].contentItem = n), + (n.tab = this.header.tabs[i])), + !0 === n.parent.isInitialised && + !1 === n.isInitialised && + n._$init(), + a || n._$hide(), + this.callDownwards("setSize")); + }, + replaceChildren: function (e) { + var t = this; + e = e.map(function (e) { + return t.layoutManager._$normalizeContentItem(e); + }); + var n = this.contentItems; + (this.addChild(e[0]), + n.forEach(function (e) { + return t.removeChild(e); + }), + e.slice(1).forEach(function (e) { + return t.addChild(e); + }), + this.callDownwards("setSize")); + }, + remove: function () { + this.parent.removeChild(this); + }, + popout: function () { + var e = this.layoutManager.createPopout(this); + return (this.emitBubblingEvent("stateChanged"), e); + }, + toggleMaximise: function (e) { + (e && e.preventDefault(), + !0 === this.isMaximized + ? this.layoutManager._$minimiseItem(this) + : this.layoutManager._$maximiseItem(this), + (this.isMaximized = !this.isMaximized), + this.emitBubblingEvent("stateChanged")); + }, + select: function () { + this.layoutManager.selectedItem !== this && + (this.layoutManager.selectItem(this, !0), + this.element.addClass("lm_selected")); + }, + deselect: function () { + this.layoutManager.selectedItem === this && + ((this.layoutManager.selectedItem = null), + this.element.removeClass("lm_selected")); + }, + setTitle: function (e) { + ((this.config.title = e), + this.emit("titleChanged", e), + this.emit("stateChanged")); + }, + hasId: function (e) { + return ( + !!this.config.id && + ("string" === typeof this.config.id + ? this.config.id === e + : this.config.id instanceof Array + ? -1 !== t.utils.indexOf(e, this.config.id) + : void 0) + ); + }, + addId: function (e) { + this.hasId(e) || + (this.config.id + ? "string" === typeof this.config.id + ? (this.config.id = [this.config.id, e]) + : this.config.id instanceof Array && + this.config.id.push(e) + : (this.config.id = e)); + }, + removeId: function (e) { + if (!this.hasId(e)) throw new Error("Id not found"); + if ("string" === typeof this.config.id) delete this.config.id; + else if (this.config.id instanceof Array) { + var n = t.utils.indexOf(e, this.config.id); + this.config.id.splice(n, 1); + } + }, + getItemsByFilter: function (e) { + var t = []; + return ( + (function n(r) { + for (var i = 0; i < r.contentItems.length; i++) + (!0 === e(r.contentItems[i]) && + t.push(r.contentItems[i]), + n(r.contentItems[i])); + })(this), + t + ); + }, + getItemsById: function (e) { + return this.getItemsByFilter(function (n) { + return n.config.id instanceof Array + ? -1 !== t.utils.indexOf(e, n.config.id) + : n.config.id === e; + }); + }, + getItemsByType: function (e) { + return this._$getItemsByProperty("type", e); + }, + getComponentsByName: function (e) { + var t, + n = this._$getItemsByProperty("componentName", e), + r = []; + for (t = 0; t < n.length; t++) + r.push( + n[t].instance && 0 !== Object.keys(n[t].instance).length + ? n[t].instance + : n[t] + ); + return r; + }, + _$getItemsByProperty: function (e, t) { + return this.getItemsByFilter(function (n) { + return n[e] === t; + }); + }, + _$setParent: function (e) { + this.parent = e; + }, + _$highlightDropZone: function (e, t, n) { + this.layoutManager.dropTargetIndicator.highlightArea(n); + }, + _$onDrop: function (e) { + this.addChild(e); + }, + _$hide: function () { + (this._callOnActiveComponents("hide"), + this.element.hide(), + (this.isVisible = !1), + this.layoutManager.updateSize()); + }, + _$show: function () { + (this._callOnActiveComponents("show"), + this.element.show(), + (this.isVisible = !0), + this.layoutManager.updateSize()); + }, + _callOnActiveComponents: function (e) { + var t, + n, + r = this.getItemsByType("stack"); + for (n = 0; n < r.length; n++) + (t = r[n].getActiveContentItem()) && + t.isComponent && + t.container[e](); + }, + _$destroy: function () { + this._isDestroyed || + ((this._isDestroyed = !0), + this.emitBubblingEvent("beforeItemDestroyed"), + this.callDownwards("_$destroy", [], !0, !0), + this.element.remove(), + this.emitBubblingEvent("itemDestroyed")); + }, + _$getArea: function (e) { + e = e || this.element; + var n = t.utils.getBounds(e); + return { + x1: n.left, + y1: n.top, + x2: n.left + n.width, + y2: n.top + n.height, + surface: n.width * n.height, + contentItem: this + }; + }, + _$init: function () { + var e; + for (this.setSize(), e = 0; e < this.contentItems.length; e++) + this.childElementContainer.append(this.contentItems[e].element); + ((this.isInitialised = !0), + this.emitBubblingEvent("itemCreated"), + this.emitBubblingEvent(this.type + "Created")); + }, + emitBubblingEvent: function (e) { + var n = new t.utils.BubblingEvent(e, this); + this.emit(e, n); + }, + _createContentItems: function (e) { + var n, r; + if (!(e.content instanceof Array)) + throw new t.errors.ConfigurationError( + "content must be an Array", + e + ); + for (r = 0; r < e.content.length; r++) + ((n = this.layoutManager.createContentItem(e.content[r], this)), + this.contentItems.push(n)); + }, + _extendItemNode: function (e) { + var n = t.config.itemDefaultConfig(); + for (var r in n) void 0 === e[r] && (e[r] = n[r]); + return e; + }, + _propagateEvent: function (e, n) { + n instanceof t.utils.BubblingEvent && + !1 === n.isPropagationStopped && + !0 === this.isInitialised && + (!1 === this.isRoot && this.parent + ? this.parent.emit.apply( + this.parent, + Array.prototype.slice.call(arguments, 0) + ) + : this._scheduleEventPropagationToLayoutManager(e, n)); + }, + _scheduleEventPropagationToLayoutManager: function (e, n) { + -1 === t.utils.indexOf(e, this._throttledEvents) + ? this.layoutManager.emit(e, n.origin) + : !0 !== this._pendingEventPropagations[e] && + ((this._pendingEventPropagations[e] = !0), + t.utils.animFrame( + t.utils.fnBind( + this._propagateEventToLayoutManager, + this, + [e, n] + ) + )); + }, + _propagateEventToLayoutManager: function (e, t) { + ((this._pendingEventPropagations[e] = !1), + this.layoutManager.emit(e, t)); + }, + _memoizeConstraint: function (e, n) { + var r = t.utils.idAsString(this.config.id); + r && + (this.layoutManager._idToMinMaxConstraints[r] + ? (this.layoutManager._idToMinMaxConstraints[r][e] = n) + : (this.layoutManager._idToMinMaxConstraints[r] = _( + {}, + "".concat(e), + n + ))); + } + }), + (t.items.Component = function (n, r, i) { + t.items.AbstractContentItem.call(this, n, r, i); + var o = n.getComponent(this.config.componentName), + a = e.extend(!0, {}, this.config.componentState || {}); + ((a.componentName = this.config.componentName), + (this.componentName = this.config.componentName), + "" === this.config.title && + (this.config.title = this.config.componentName), + (this.isComponent = !0), + (this.container = new t.container.ItemContainer( + this.config, + this, + n + )), + (this.instance = new o(this.container, a)), + (this.element = this.container._element)); + }), + t.utils.extend(t.items.Component, t.items.AbstractContentItem), + t.utils.copy(t.items.Component.prototype, { + close: function () { + this.parent.removeChild(this); + }, + setSize: function () { + if (this.element.is(":visible")) { + var e = t.utils.getBounds(this.element); + (this.emit("size-changed", { + width: e.width, + height: e.height + }), + this.container._$setSize(e.width, e.height)); + } + }, + getMinWidth: function () { + return ( + (this.config.workspacesConfig && + this.config.workspacesConfig.minWidth) || + this.layoutManager.config.dimensions.minItemWidth + ); + }, + getMaxWidth: function () { + return ( + (this.config.workspacesConfig && + this.config.workspacesConfig.maxWidth) || + this.layoutManager.config.dimensions.maxItemWidth + ); + }, + getMinHeight: function () { + return ( + (this.config.workspacesConfig && + this.config.workspacesConfig.minHeight) || + this.layoutManager.config.dimensions.minItemHeight + ); + }, + getMaxHeight: function () { + return ( + (this.config.workspacesConfig && + this.config.workspacesConfig.maxHeight) || + this.layoutManager.config.dimensions.maxItemHeight + ); + }, + _$init: function () { + (t.items.AbstractContentItem.prototype._$init.call(this), + this.container.emit("open")); + }, + _$hide: function () { + (this.container.hide(), + t.items.AbstractContentItem.prototype._$hide.call(this)); + }, + _$show: function () { + (this.container.show(), + t.items.AbstractContentItem.prototype._$show.call(this)); + }, + _$shown: function () { + (this.container.shown(), + t.items.AbstractContentItem.prototype._$shown.call(this)); + }, + _$destroy: function () { + (this.container.emit("destroy", this), + t.items.AbstractContentItem.prototype._$destroy.call(this)); + }, + _$getArea: function () { + return null; + } + }), + (t.items.Root = function (n, r, i) { + (t.items.AbstractContentItem.call(this, n, r, null), + (this.isRoot = !0), + (this.type = "root"), + (this.element = e( + '
            ' + )), + (this.childElementContainer = this.element), + (this._containerElement = i), + this._containerElement.append(this.element)); + }), + t.utils.extend(t.items.Root, t.items.AbstractContentItem), + t.utils.copy(t.items.Root.prototype, { + addChild: function (e) { + if (this.contentItems.length > 0) + throw new Error("Root node can only have a single child"); + ((e = this.layoutManager._$normalizeContentItem(e, this)), + this.childElementContainer.append(e.element), + t.items.AbstractContentItem.prototype.addChild.call(this, e), + this.callDownwards("setSize"), + this.emitBubblingEvent("stateChanged")); + }, + setSize: function (e, n) { + var r = t.utils.getBounds(this._containerElement); + ((e = "undefined" === typeof e ? r.width : e), + (n = "undefined" === typeof n ? r.height : n), + this.element.width(e), + this.element.height(n), + this.contentItems[0] && + (this.contentItems[0].element.width(e), + this.contentItems[0].element.height(n))); + }, + getMinWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minWidth) return n.minWidth; + var r = + this.config.workspacesConfig.minWidth || + this.layoutManager.config.dimensions.minItemWidth, + i = this.contentItems.reduce(function (t, n) { + return (t += + n.getMinWidth() || + e.layoutManager.config.dimensions.minItemWidth); + }, 0), + o = Math.max(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minWidth", + o + ), + o + ); + }, + getMaxWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxWidth) return n.maxWidth; + var r = + this.config.workspacesConfig.maxWidth || + this.layoutManager.config.dimensions.maxItemWidth, + i = this.contentItems.reduce(function (t, n) { + return (t += + n.getMaxWidth() || + e.layoutManager.config.dimensions.maxItemWidth); + }, 0), + o = Math.min(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxWidth", + o + ), + o + ); + }, + getMinHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minHeight) return n.minHeight; + var r = + this.config.workspacesConfig.minHeight || + this.layoutManager.config.dimensions.minItemHeight, + i = this.contentItems.reduce(function (t, n) { + return (t += + n.getMinHeight() || + e.layoutManager.config.dimensions.minItemHeight); + }, 0), + o = Math.max(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minHeight", + o + ), + o + ); + }, + getMaxHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxHeight) return n.maxHeight; + var r = + this.config.workspacesConfig.maxHeight || + this.layoutManager.config.dimensions.maxItemHeight, + i = this.contentItems.reduce(function (t, n) { + return (t += + n.getMaxHeight() || + e.layoutManager.config.dimensions.maxItemHeight); + }, 0), + o = Math.min(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxHeight", + o + ), + o + ); + }, + _$highlightDropZone: function (e, n, r) { + (this.layoutManager.tabDropPlaceholder.remove(), + t.items.AbstractContentItem.prototype._$highlightDropZone.apply( + this, + arguments + )); + }, + _$onDrop: function (e, n) { + var r; + if ( + (e.isComponent && + ((r = this.layoutManager.createContentItem( + { type: "stack", header: e.config.header || {} }, + this + ))._$init(), + r.addChild(e), + (e = r)), + this.contentItems.length) + ) { + var i = "x" == n.side[0] ? "row" : "column", + o = "x" == n.side[0] ? "width" : "height", + a = "2" == n.side[1], + s = this.contentItems[0]; + if ((!s) instanceof t.items.RowOrColumn || s.type != i) { + var c = this.layoutManager.createContentItem( + { type: i }, + this + ); + (this.replaceChild(s, c), + c.addChild(e, a ? 0 : void 0, !0), + c.addChild(s, a ? void 0 : 0, !0), + (s.config[o] = 50), + (e.config[o] = 50), + c.callDownwards("setSize")); + } else { + var u = s.contentItems[a ? 0 : s.contentItems.length - 1]; + (s.addChild(e, a ? 0 : void 0, !0), + (u.config[o] *= 0.5), + (e.config[o] = u.config[o]), + s.callDownwards("setSize")); + } + } else this.addChild(e); + } + }), + (t.items.RowOrColumn = function (n, r, i, o) { + (t.items.AbstractContentItem.call(this, r, i, o), + (this.isRow = !n), + (this.isColumn = n), + (this.element = e( + '
            ' + )), + (this.childElementContainer = this.element), + (this._splitterSize = r.config.dimensions.borderWidth), + (this._splitterGrabSize = r.config.dimensions.borderGrabWidth), + (this._isColumn = n), + (this._dimension = n ? "height" : "width"), + (this._splitter = []), + (this._splitterPosition = null), + (this._splitterMinPosition = null), + (this._splitterMaxPosition = null), + (this._layoutManager = r)); + }), + t.utils.extend(t.items.RowOrColumn, t.items.AbstractContentItem), + t.utils.copy(t.items.RowOrColumn.prototype, { + addChild: function (e, n, r) { + var i, o, a, s; + if ( + ((e = this.layoutManager._$normalizeContentItem(e, this)), + (void 0 === n || n > this.contentItems.length) && + (n = this.contentItems.length), + this.contentItems.length > 0 + ? ((s = this._createSplitter(Math.max(0, n - 1)).element), + n > 0 + ? (this.contentItems[n - 1].element.after(s), + s.after(e.element)) + : (this.contentItems[0].element.before(s), + s.before(e.element))) + : this.childElementContainer.append(e.element), + t.items.AbstractContentItem.prototype.addChild.call(this, e, n), + (i = (1 / this.contentItems.length) * 100), + !0 !== r) + ) { + for (a = 0; a < this.contentItems.length; a++) + this.contentItems[a] === e + ? (e.config[this._dimension] = i) + : ((o = this.contentItems[a].config[this._dimension] *= + (100 - i) / 100), + (this.contentItems[a].config[this._dimension] = o)); + (this.callDownwards("setSize"), + this.emitBubblingEvent("stateChanged")); + } else this.emitBubblingEvent("stateChanged"); + }, + removeChild: function (e, n) { + var r, + i, + o = e.config[this._dimension], + a = t.utils.indexOf(e, this.contentItems), + s = Math.max(a - 1, 0); + if (-1 === a) + throw new Error( + "Can't remove child. ContentItem is not child of this Row or Column" + ); + for ( + this._splitter[s] && + (this._splitter[s]._$destroy(), + this._splitter.splice(s, 1)), + r = 0; + r < this.contentItems.length; + r++ + ) + this.contentItems[r] !== e && + (this.contentItems[r].config[this._dimension] += + o / (this.contentItems.length - 1)); + (t.items.AbstractContentItem.prototype.removeChild.call(this, e, n), + 1 === this.contentItems.length && !0 === this.config.isClosable + ? ((i = this.contentItems[0]), + (this.contentItems = []), + this.parent.replaceChild(this, i, !0)) + : (this.callDownwards("setSize"), + this.emitBubblingEvent("stateChanged"))); + }, + replaceChild: function (e, n) { + var r = e.config[this._dimension]; + ((n.config = n.config || {}), + (n.config[this._dimension] = r), + t.items.AbstractContentItem.prototype.replaceChild.call( + this, + e, + n + ), + this.callDownwards("setSize"), + this.emitBubblingEvent("stateChanged")); + }, + setSize: function () { + (this.contentItems.length > 0 && + (this._calculateRelativeSizes(), this._setAbsoluteSizes()), + this.emitBubblingEvent("stateChanged"), + this.emit("resize")); + }, + getMinWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minWidth) return n.minWidth; + var r = + this.config.workspacesConfig.minWidth || + this.layoutManager.config.dimensions.minItemWidth, + i = this.contentItems.reduce(function (t, n) { + return ( + "row" === e.config.type + ? (t += + n.getMinWidth() || + e.layoutManager.config.dimensions + .minItemWidth) + : "column" === e.config.type && + (t = Math.max( + n.getMinWidth() || + e.layoutManager.config.dimensions + .minItemWidth, + t + )), + t + ); + }, 0), + o = Math.max(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minWidth", + o + ), + o + ); + }, + getMaxWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxWidth) return n.maxWidth; + var r = + this.config.workspacesConfig.maxWidth || + this.layoutManager.config.dimensions.maxItemWidth; + if (!this.contentItems.length) return r; + var i = this.contentItems.reduce(function (t, n) { + return ( + "row" === e.config.type + ? (t += + n.getMaxWidth() || + e.layoutManager.config.dimensions + .maxItemWidth) + : "column" === e.config.type && + (t = Math.min( + n.getMaxWidth() || + e.layoutManager.config.dimensions + .maxItemWidth, + t || r + )), + t + ); + }, 0), + o = Math.min(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxWidth", + o + ), + o + ); + }, + getMinHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minHeight) return n.minHeight; + var r = + this.config.workspacesConfig.minHeight || + this.layoutManager.config.dimensions.minItemHeight, + i = this.contentItems.reduce(function (t, n) { + return ( + "row" === e.config.type + ? (t = Math.max( + n.getMinHeight() || + e.layoutManager.config.dimensions + .minItemHeight, + t + )) + : "column" === e.config.type && + (t += + n.getMinHeight() || + e.layoutManager.config.dimensions + .minItemHeight), + t + ); + }, 0), + o = Math.max(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minHeight", + o + ), + o + ); + }, + getMaxHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxHeight) return n.maxHeight; + var r = + this.config.workspacesConfig.maxHeight || + this.layoutManager.config.dimensions.maxItemHeight; + if (!this.contentItems.length) return r; + var i = this.contentItems.reduce(function (t, n) { + return ( + "row" === e.config.type + ? (t = Math.min( + n.getMaxHeight() || + e.layoutManager.config.dimensions + .maxItemHeight, + t || r + )) + : "column" === e.config.type && + (t += + n.getMaxHeight() || + e.layoutManager.config.dimensions + .maxItemHeight), + t + ); + }, 0), + o = Math.min(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxHeight", + o + ), + o + ); + }, + _$init: function () { + var e; + if (!0 !== this.isInitialised) + for ( + t.items.AbstractContentItem.prototype._$init.call(this), + e = 0; + e < this.contentItems.length - 1; + e++ + ) + this.contentItems[e].element.after( + this._createSplitter(e).element + ); + }, + _setAbsoluteSizes: function () { + var e, + n = this, + r = this._calculateAbsoluteSizes(), + i = this.contentItems.filter(function (e) { + return ( + e.config.workspacesConfig.isPinned && + !n._layoutManager._ignorePinned + ); + }), + o = r.additionalPixel, + a = i.filter(function (e) { + var i = t.utils.getBounds(e.element), + o = n.isColumn ? i.height : i.width, + a = n.contentItems.indexOf(e); + return Math.floor(o) > Math.floor(r.itemSizes[a]); + }); + a.forEach(function (e) { + var i = t.utils.getBounds(e.element), + a = n.isColumn ? i.height : i.width, + s = n.contentItems.indexOf(e), + c = Math.floor(a - r.itemSizes[s]), + u = Math.min(o, c); + ((r.itemSizes[s] += u), (o -= u)); + }); + var s = Math.ceil(o / (this.contentItems.length - i.length)); + for (e = 0; e < this.contentItems.length; e++) { + if ( + o > 0 && + !this.contentItems[e].config.workspacesConfig.isPinned + ) { + var c = Math.min(o, s); + ((r.itemSizes[e] += c), (o -= c)); + } + this._isColumn + ? (this.contentItems[e].element.width(r.totalWidth), + this.contentItems[e].element.height(r.itemSizes[e])) + : (this.contentItems[e].element.width(r.itemSizes[e]), + this.contentItems[e].element.height(r.totalHeight)); + var u = t.utils.getBounds(this.contentItems[e].element); + this._isColumn && + this.contentItems[e].config.workspacesConfig.isPinned && + this._layoutManager._ignorePinned + ? (this.contentItems[e].config.workspacesConfig.pinnedSize = + u.height) + : this.contentItems[e].config.workspacesConfig.isPinned && + this._layoutManager._ignorePinned && + (this.contentItems[e].config.workspacesConfig.pinnedSize = + u.width); + } + }, + _calculateAbsoluteSizes: function () { + var e, + n, + r = t.utils.getBounds(this.element), + i = (this.contentItems.length - 1) * this._splitterSize, + o = r.width, + a = r.height, + s = 0, + c = []; + for ( + this._isColumn ? (a -= i) : (o -= i), e = 0; + e < this.contentItems.length; + e++ + ) + ((s += n = + this._isColumn + ? Math.floor( + a * (this.contentItems[e].config.height / 100) + ) + : Math.floor( + o * (this.contentItems[e].config.width / 100) + )), + c.push(n)); + return { + itemSizes: c, + additionalPixel: Math.floor((this._isColumn ? a : o) - s), + totalWidth: o, + totalHeight: a + }; + }, + _calculateRelativeSizes: function () { + var e, + t = 0, + n = [], + r = this._isColumn ? "height" : "width"; + for (e = 0; e < this.contentItems.length; e++) + void 0 !== this.contentItems[e].config[r] + ? (t += this.contentItems[e].config[r]) + : n.push(this.contentItems[e]); + if (100 === Math.round(t)) + return ( + this._respectItemWidthConstraints(), + void this._respectItemHeightConstraints() + ); + if (Math.round(t) < 100 && n.length > 0) { + for (e = 0; e < n.length; e++) + n[e].config[r] = (100 - t) / n.length; + return ( + this._respectItemWidthConstraints(), + void this._respectItemHeightConstraints() + ); + } + if (Math.round(t) > 100) + for (e = 0; e < n.length; e++) + ((n[e].config[r] = 50), (t += 50)); + for (e = 0; e < this.contentItems.length; e++) + this.contentItems[e].config[r] = + (this.contentItems[e].config[r] / t) * 100; + (this._respectItemWidthConstraints(), + this._respectItemHeightConstraints()); + }, + _respectItemWidthConstraints: function () { + var e, + n, + r, + i, + o, + a, + s = + (this.layoutManager.config.dimensions && + this.layoutManager.config.dimensions.minItemWidth) || + 0, + c = + (this.layoutManager.config.dimensions && + this.layoutManager.config.dimensions.maxItemWidth) || + 32767, + u = [], + d = [], + l = 0, + p = 0, + h = 0, + f = 0, + v = 0, + m = 0, + g = 0, + y = null, + w = []; + if (!(this._isColumn || !s || this.contentItems.length <= 1)) { + ((e = this._calculateAbsoluteSizes()), + (c = Math.min(c, e.totalWidth))); + for (var b = 0; b < this.contentItems.length; b++) { + ((y = this.contentItems[b]), (g = e.itemSizes[b])); + var k = t.utils.getBounds(y.element), + x = y.config.workspacesConfig.pinnedSize || k.width, + _ = + y.config.workspacesConfig.isPinned && + !this._layoutManager._ignorePinned + ? x + : y.getMaxWidth(), + C = + y.config.workspacesConfig.isPinned && + !this._layoutManager._ignorePinned + ? x + : y.getMinWidth(), + I = Math.min(void 0 === _ ? c : _, e.totalWidth), + S = void 0 === C ? s : C; + (g < S + ? ((p += S - g), + (a = { maxWidth: I, minWidth: S, width: S })) + : ((l += Math.min(g, I) - S), + (a = { maxWidth: I, minWidth: S, width: g }), + u.push(a)), + g > I + ? ((h += g - I), (a.width = I)) + : ((f += I - Math.max(g, S)), d.push(a)), + w.push(a)); + } + var E = 0 === p || p > l, + W = 0 === h || h > f; + if (E && W) return !0; + if (!E) + for (n = p / l, v = p, b = 0; b < u.length; b++) + ((a = u[b]), + (v -= i = Math.round((a.width - a.minWidth) * n)), + (a.width -= i)); + if (!W) + for (r = h / f, m = h, b = 0; b < d.length; b++) + ((a = d[b]), + (m -= o = Math.round((a.maxWidth - a.width) * r)), + (a.width += o)); + for ( + E || (0 !== v && (w[w.length - 1].width -= v)), + W || (0 !== m && (w[w.length - 1].width += m)), + b = 0; + b < this.contentItems.length; + b++ + ) + this.contentItems[b].config.width = + (w[b].width / e.totalWidth) * 100; + return !1; + } + }, + _respectItemHeightConstraints: function () { + var e, + n, + r, + i, + o, + a = + (this.layoutManager.config.dimensions && + this.layoutManager.config.dimensions.minItemHeight) || + 0, + s = + (this.layoutManager.config.dimensions && + this.layoutManager.config.dimensions.maxItemHeight) || + 32767, + c = [], + u = [], + d = 0, + l = 0, + p = 0, + h = 0, + f = 0, + v = 0, + m = 0, + g = 0, + y = null, + w = []; + if (!(this._isRow || !a || this.contentItems.length <= 1)) { + ((e = this._calculateAbsoluteSizes()), + (s = Math.min(e.totalHeight, s))); + for (var b = 0; b < this.contentItems.length; b++) { + ((y = this.contentItems[b]), (g = e.itemSizes[b])); + var k = + y.config.workspacesConfig.pinnedSize || + t.utils.getBounds(y.element).height, + x = + y.config.workspacesConfig.isPinned && + !this._layoutManager._ignorePinned + ? k + : y.getMaxHeight(), + _ = + y.config.workspacesConfig.isPinned && + !this._layoutManager._ignorePinned + ? k + : y.getMinHeight(), + C = Math.min(void 0 === x ? s : x, e.totalHeight), + I = void 0 === _ ? a : _; + (g < I + ? ((l += I - g), + (o = { maxHeight: C, minHeight: I, height: I })) + : ((d += Math.min(g, C) - I), + (o = { maxHeight: C, minHeight: I, height: g }), + c.push(o)), + g > C + ? ((p += g - C), (o.height = C)) + : ((h += C - Math.max(g, I)), u.push(o)), + w.push(o)); + } + var S = 0 === l || l > d, + E = 0 === p || p > h; + if (S && E) return !0; + if (!S) + for (n = l / d, f = l, b = 0; b < c.length; b++) + ((o = c[b]), + (f -= v = Math.round((o.height - a) * n)), + (o.height -= v)); + if (!E) + for (r = p / h, m = p, b = 0; b < u.length; b++) + ((o = u[b]), + (m -= i = Math.round((o.maxHeight - o.height) * r)), + (o.height += i)); + for ( + S || (0 !== f && (w[w.length - 1].height -= f)), + E || (0 !== m && (w[w.length - 1].height += m)), + b = 0; + b < this.contentItems.length; + b++ + ) + this.contentItems[b].config.height = + (w[b].height / e.totalHeight) * 100; + return !1; + } + }, + _createSplitter: function (e) { + var n; + return ( + (n = new t.controls.Splitter( + this._isColumn, + this._splitterSize, + this._splitterGrabSize + )).on( + "drag", + t.utils.fnBind(this._onSplitterDrag, this, [n]), + this + ), + n.on( + "dragStop", + t.utils.fnBind(this._onSplitterDragStop, this, [n]), + this + ), + n.on( + "dragStart", + t.utils.fnBind(this._onSplitterDragStart, this, [n]), + this + ), + this._splitter.splice(e, 0, n), + n + ); + }, + _getItemsForSplitter: function (e) { + var n = t.utils.indexOf(e, this._splitter); + return { + before: this.contentItems[n], + after: this.contentItems[n + 1] + }; + }, + _getMinimumDimensions: function (e) { + for (var t = 0, n = 0, r = 0; r < e.length; ++r) + ((t = Math.max(e[r].getMinWidth() || 0, t)), + (n = Math.max(e[r].getMinHeight() || 0, n))); + return { horizontal: t, vertical: n }; + }, + _getMaximumDimensions: function (e) { + for (var t = 32767, n = 32767, r = 0; r < e.length; ++r) + ((t = Math.min(e[r].getMaxWidth() || 0, t)), + (n = Math.min(e[r].getMaxHeight() || 0, n))); + return { horizontal: t, vertical: n }; + }, + _setMinMaxSplitterPosition: function (e) { + var t = + this.layoutManager.config.dimensions[ + this._isColumn ? "minItemHeight" : "minItemWidth" + ], + n = + this.layoutManager.config.dimensions[ + this.isColumn ? "maxItemHeight" : "maxItemWidth" + ], + r = this._getMinimumDimensions( + [].concat(o(e.before.contentItems), [e.before]) + ), + i = this._getMaximumDimensions( + [].concat(o(e.before.contentItems), [e.before]) + ), + a = this._isColumn ? r.vertical : r.horizontal, + s = this.isColumn ? i.vertical : i.horizontal, + c = this._getMinimumDimensions( + [].concat(o(e.after.contentItems), [e.after]) + ), + u = this._getMaximumDimensions( + [].concat(o(e.after.contentItems), [e.after]) + ), + d = this._isColumn ? c.vertical : c.horizontal, + l = this.isColumn ? u.vertical : u.horizontal, + p = -1 * (e.before.element[this._dimension]() - (a || t)), + h = -1 * ((l || n) - e.after.element[this._dimension]()), + f = (s || n) - e.before.element[this._dimension](), + v = e.after.element[this._dimension]() - (d || t); + ((this._splitterPosition = 0), + (this._splitterMinPosition = Math.max(p, h)), + (this._splitterMaxPosition = Math.min(f, v))); + }, + _onSplitterDragStart: function (e) { + this.layoutManager._ignorePinned = !0; + var t = this._getItemsForSplitter(e); + this._setMinMaxSplitterPosition(t); + }, + _onSplitterDrag: function (e, t, n) { + if ( + !this._layoutManager.config || + !1 !== this.config.workspacesConfig.allowSplitters + ) { + var r = this._isColumn ? n : t; + (r > this._splitterMinPosition && + r < this._splitterMaxPosition && + ((this._splitterPosition = r), + e.element.css(this._isColumn ? "top" : "left", r)), + this._layoutManager.emit("splitterDragged", e)); + } + }, + _onSplitterDragStop: function (e) { + var n = this; + if ( + !this._layoutManager.config || + !1 !== this.config.workspacesConfig.allowSplitters + ) { + var r = this._getItemsForSplitter(e), + i = r.before.element[this._dimension](), + o = r.after.element[this._dimension](), + a = (this._splitterPosition + i) / (i + o), + s = + r.before.config[this._dimension] + + r.after.config[this._dimension]; + ((r.before.config[this._dimension] = a * s), + (r.after.config[this._dimension] = (1 - a) * s), + e.element.css({ top: 0, left: 0 }), + t.utils.animFrame(function () { + (t.utils.fnBind(n.callDownwards, n, ["setSize"])(), + (n._layoutManager._ignorePinned = !1), + Object.values( + n.layoutManager._maximizedItemsInTargetContainer + ).length && n._layoutManager.updateSize()); + }), + this._layoutManager.emit("splitterDragStopped", e)); + } + } + }), + (t.items.Stack = function (n, r, i) { + (t.items.AbstractContentItem.call(this, n, r, i), + (this.element = e('
            ')), + (this._activeContentItem = null)); + var o = n.config; + if ( + ((this._header = { + show: !0 === o.settings.hasHeaders && !1 !== r.hasHeaders, + popout: o.settings.showPopoutIcon && o.labels.popout, + maximize: o.settings.showMaximizeIcon && o.labels.maximize, + minimize: o.settings.showMinimizeIcon && o.labels.minimize, + close: o.settings.showCloseIcon && o.labels.close + }), + o.header && t.utils.copy(this._header, o.header), + r.header && t.utils.copy(this._header, r.header), + r.content && + r.content[0] && + r.content[0].header && + t.utils.copy(this._header, r.content[0].header), + (this._dropZones = {}), + (this._dropSegment = null), + (this._contentAreaDimensions = null), + (this._dropIndex = null), + (this.isStack = !0), + n._componentFactory && + n._componentFactory.createId && + (!this.config.id || !this.config.id.length)) + ) { + var a = n._componentFactory.createId(); + a && this.addId(a); + } + ((this.childElementContainer = e('
            ')), + (this.header = new t.controls.Header(n, this)), + this.element.append(this.header.element), + this.element.append(this.childElementContainer), + this._setupHeaderPosition(), + this._$validateClosability()); + }), + t.utils.extend(t.items.Stack, t.items.AbstractContentItem), + t.utils.copy(t.items.Stack.prototype, { + setSize: function () { + var e, + n = t.utils.getBounds(this.header.element), + r = t.utils.getBounds(this.element), + i = this._header.show ? n.height : 0, + o = r.width - (this._sided ? i : 0), + a = r.height - (this._sided ? 0 : i); + for ( + this.childElementContainer.width(o), + this.childElementContainer.height(a), + e = 0; + e < this.contentItems.length; + e++ + ) + this.contentItems[e].element.width(o).height(a); + (this.emit("resize"), this.emitBubblingEvent("stateChanged")); + }, + getMinWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minWidth) return n.minWidth; + var r = + this.config.workspacesConfig.minWidth || + this.layoutManager.config.dimensions.minItemWidth, + i = this.contentItems.reduce(function (t, n) { + return Math.max( + t, + n.getMinWidth() || + e.layoutManager.config.dimensions.minItemWidth + ); + }, r); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minWidth", + i + ), + i + ); + }, + getMaxWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxWidth) return n.maxWidth; + var r = + this.config.workspacesConfig.maxWidth || + this.layoutManager.config.dimensions.maxItemWidth, + i = this.contentItems.reduce(function (t, n) { + var r = n.getMaxWidth(); + return Math.min( + t, + r || e.layoutManager.config.dimensions.maxItemWidth + ); + }, r); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxWidth", + i + ), + i + ); + }, + getMinHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minHeight) return n.minHeight; + var r = + this.config.workspacesConfig.minHeight || + this.layoutManager.config.dimensions.minItemHeight, + i = this.header.element, + o = i ? this.realHeight(i) : 0; + this.config.workspacesConfig.wrapper && (o = 0); + var a = this.contentItems.reduce(function (t, n) { + return Math.max( + t, + n.getMinHeight() + o || + e.layoutManager.config.dimensions.minItemHeight + ); + }, r); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minHeight", + a + ), + a + ); + }, + getMaxHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxHeight) return n.maxHeight; + var r = + this.config.workspacesConfig.maxHeight || + this.layoutManager.config.dimensions.maxItemHeight, + i = this.header.element, + o = i ? this.realHeight(i) : 0; + this.config.workspacesConfig.wrapper && (o = 0); + var a = this.contentItems.reduce(function (t, n) { + return Math.min( + t, + n.getMaxHeight() + o || + e.layoutManager.config.dimensions.maxItemHeight + ); + }, r); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxHeight", + a + ), + a + ); + }, + realHeight: function (n) { + if (!n || !n[0]) return 0; + var r = t.utils.getBounds(n).height; + if (r > 0) return r; + var i = n.clone(); + (i.css("visibility", "hidden"), e("body").append(i)); + var o = t.utils.getBounds(i).height; + return (i.remove(), o); + }, + _$init: function () { + var e, n; + if (!0 !== this.isInitialised) { + for ( + t.items.AbstractContentItem.prototype._$init.call(this), + e = 0; + e < this.contentItems.length; + e++ + ) + (this.header.createTab(this.contentItems[e]), + this.contentItems[e]._$hide()); + if (this.contentItems.length > 0) { + if ( + !(n = + this.contentItems[this.config.activeItemIndex || 0]) + ) + throw new Error( + "Configured activeItemIndex out of bounds" + ); + (this.setActiveContentItem(n), + this.contentItems + .filter(function (e) { + return e.config.workspacesConfig.isPinned; + }) + .forEach(function (e) { + e.tab.pin(); + })); + } + } + }, + setActiveContentItem: function (e) { + if (-1 === t.utils.indexOf(e, this.contentItems)) + throw new Error("contentItem is not a child of this stack"); + var n = this._activeContentItem; + (null !== this._activeContentItem && + this._activeContentItem._$hide(), + (this._activeContentItem = e), + this.header.setActiveContentItem(e), + e._$show(), + this.emit("activeContentItemChanged", e), + this.layoutManager.emit("activeContentItemChanged", e), + n && n.emit("focusLost"), + this.emitBubblingEvent("stateChanged")); + }, + getActiveContentItem: function () { + return this.header.activeContentItem; + }, + addChild: function (n, r) { + var i = + !(arguments.length > 2 && void 0 !== arguments[2]) || + arguments[2]; + n = this.layoutManager._$normalizeContentItem(n, this); + var o = this.header._getLastIndexOfPinnedTab(), + a = + n.config && + n.config.workspacesConfig && + n.config.workspacesConfig.isPinned; + (r >= 0 && r <= o && !a && (r = o + 1), + t.items.AbstractContentItem.prototype.addChild.call(this, n, r), + this.childElementContainer.append(n.element), + this.header.createTab(n, r), + a && n.tab.pin(r), + e(this.layoutManager.container).is(":visible") && i + ? this.setActiveContentItem(n) + : n._$hide(), + this.callDownwards("setSize"), + this._$validateClosability(), + this.emitBubblingEvent("stateChanged")); + }, + removeChild: function (e, n) { + var r = t.utils.indexOf(e, this.contentItems); + if ( + (t.items.AbstractContentItem.prototype.removeChild.call( + this, + e, + n + ), + this.header.removeTab(e), + this.header.activeContentItem === e) + ) + if (this.contentItems.length > 0) { + var i = this._getItemToFocusAfterRemove.call(this, r); + this.setActiveContentItem(i); + } else this._activeContentItem = null; + (this._syncActiveItemIndex(), + this._$validateClosability(), + this.emitBubblingEvent("stateChanged")); + }, + _$validateClosability: function () { + var e, t, n; + for ( + e = this.header._isClosable(), + n = 0, + t = this.contentItems.length; + n < t && e; + n++ + ) + e = this.contentItems[n].config.isClosable; + this.header._$setClosable(e); + }, + _$destroy: function () { + (t.items.AbstractContentItem.prototype._$destroy.call(this), + this.header._$destroy()); + }, + _$onDrop: function (e) { + if (null !== this._dropSegment) { + if ("header" === this._dropSegment) + return ( + this._resetHeaderDropZone(), + void this.addChild(e, this._dropIndex) + ); + if ("body" !== this._dropSegment) { + var n, + r, + i, + o = + "top" === this._dropSegment || + "bottom" === this._dropSegment, + a = + "left" === this._dropSegment || + "right" === this._dropSegment, + s = + "top" === this._dropSegment || + "left" === this._dropSegment, + c = + (o && this.parent.isColumn) || + (a && this.parent.isRow), + u = o ? "column" : "row", + d = o ? "height" : "width"; + (e.isComponent && + ((r = this.layoutManager.createContentItem( + { type: "stack", header: e.config.header || {} }, + this + ))._$init(), + r.addChild(e), + (e = r)), + c + ? ((n = t.utils.indexOf( + this, + this.parent.contentItems + )), + this.parent.addChild(e, s ? n : n + 1, !0), + (this.config[d] *= 0.5), + (e.config[d] = this.config[d]), + this.parent.callDownwards("setSize")) + : ((u = o ? "column" : "row"), + (i = this.layoutManager.createContentItem( + { type: u }, + this + )), + this.parent.replaceChild(this, i), + i.addChild(e, s ? 0 : void 0, !0), + i.addChild(this, s ? void 0 : 0, !0), + (this.config[d] = 50), + (e.config[d] = 50), + i.callDownwards("setSize"))); + } else this.addChild(e); + } + }, + _$highlightDropZone: function (e, t) { + var n, r; + for (n in this._contentAreaDimensions) + if ( + (r = this._contentAreaDimensions[n].hoverArea).x1 < e && + r.x2 > e && + r.y1 < t && + r.y2 > t + ) + return void ("header" === n + ? ((this._dropSegment = "header"), + this._highlightHeaderDropZone(this._sided ? t : e)) + : (this._resetHeaderDropZone(), + this._highlightBodyDropZone(n))); + ((this._dropSegment = null), + this._resetHeaderDropZone(), + this.layoutManager.dropTargetIndicator.highlightArea(null)); + }, + _$getArea: function () { + if (!1 === this.element.is(":visible")) return null; + var e = t.items.AbstractContentItem.prototype._$getArea, + n = e.call(this, this.header.element), + r = e.call(this, this.childElementContainer), + i = r.x2 - r.x1, + o = r.y2 - r.y1; + return ( + !this.config.workspacesConfig || + (!1 !== this.config.workspacesConfig.allowDrop && + !1 !== this.config.workspacesConfig.allowDropHeader) || + !0 === this.config.workspacesConfig.allowDropHeader + ? (this._contentAreaDimensions = { + header: { + hoverArea: { + x1: n.x1, + y1: n.y1, + x2: n.x2, + y2: n.y2 + }, + highlightArea: { + x1: n.x1, + y1: n.y1, + x2: n.x2, + y2: n.y2 + } + } + }) + : (this._contentAreaDimensions = {}), + this._activeContentItem && + !1 === this._activeContentItem.isComponent + ? n + : 0 === this.contentItems.length + ? ((this._contentAreaDimensions.body = { + hoverArea: { + x1: r.x1, + y1: r.y1, + x2: r.x2, + y2: r.y2 + }, + highlightArea: { + x1: r.x1, + y1: r.y1, + x2: r.x2, + y2: r.y2 + } + }), + e.call(this, this.element)) + : ("workspace" !== + this.layoutManager.config.settings.mode && + ((!this.config.workspacesConfig || + (!1 !== + this.config.workspacesConfig.allowDrop && + !1 !== + this.config.workspacesConfig + .allowDropLeft) || + !0 === + this.config.workspacesConfig + .allowDropLeft) && + (this._contentAreaDimensions.left = { + hoverArea: { + x1: r.x1, + y1: r.y1, + x2: r.x1 + 0.25 * i, + y2: r.y2 + }, + highlightArea: { + x1: r.x1, + y1: r.y1, + x2: r.x1 + 0.5 * i, + y2: r.y2 + } + }), + (!this.config.workspacesConfig || + (!1 !== + this.config.workspacesConfig.allowDrop && + !1 !== + this.config.workspacesConfig + .allowDropTop) || + !0 === + this.config.workspacesConfig + .allowDropTop) && + (this._contentAreaDimensions.top = { + hoverArea: { + x1: r.x1 + 0.25 * i, + y1: r.y1, + x2: r.x1 + 0.75 * i, + y2: r.y1 + 0.5 * o + }, + highlightArea: { + x1: r.x1, + y1: r.y1, + x2: r.x2, + y2: r.y1 + 0.5 * o + } + }), + (!this.config.workspacesConfig || + (!1 !== + this.config.workspacesConfig.allowDrop && + !1 !== + this.config.workspacesConfig + .allowDropRight) || + !0 === + this.config.workspacesConfig + .allowDropRight) && + (this._contentAreaDimensions.right = { + hoverArea: { + x1: r.x1 + 0.75 * i, + y1: r.y1, + x2: r.x2, + y2: r.y2 + }, + highlightArea: { + x1: r.x1 + 0.5 * i, + y1: r.y1, + x2: r.x2, + y2: r.y2 + } + }), + (!this.config.workspacesConfig || + (!1 !== + this.config.workspacesConfig.allowDrop && + !1 !== + this.config.workspacesConfig + .allowDropBottom) || + !0 === + this.config.workspacesConfig + .allowDropBottom) && + (this._contentAreaDimensions.bottom = { + hoverArea: { + x1: r.x1 + 0.25 * i, + y1: r.y1 + 0.5 * o, + x2: r.x1 + 0.75 * i, + y2: r.y2 + }, + highlightArea: { + x1: r.x1, + y1: r.y1 + 0.5 * o, + x2: r.x2, + y2: r.y2 + } + })), + e.call(this, this.element)) + ); + }, + _highlightHeaderDropZone: function (e) { + var n, + r, + i, + o, + a, + s, + c, + u, + d = this.header.tabs.length, + l = !1; + if (0 === d) + return ( + (c = this.header.element.offset()), + void this.layoutManager.dropTargetIndicator.highlightArea({ + x1: c.left, + x2: c.left + 100, + y1: + c.top + + t.utils.getBounds(this.header.element).height - + 20, + y2: + c.top + + t.utils.getBounds(this.header.element).height + }) + ); + for (n = 0; n < d; n++) { + a = (r = this.header.tabs[n].element).offset(); + var p = t.utils.getBounds(r); + if ( + (this._sided + ? ((o = a.top), (i = a.left), (u = p.height)) + : ((o = a.left), (i = a.top), (u = p.width)), + e > o && e < o + u) + ) { + l = !0; + break; + } + } + if (!(!1 === l && e < o)) { + e < o + u / 2 + ? ((this._dropIndex = n), + r.before(this.layoutManager.tabDropPlaceholder)) + : ((this._dropIndex = Math.min(n + 1, d)), + r.after(this.layoutManager.tabDropPlaceholder)); + var h = t.utils.getBounds( + this.layoutManager.tabDropPlaceholder + ); + if (this._sided) + return ( + (placeHolderTop = + this.layoutManager.tabDropPlaceholder.offset().top), + void this.layoutManager.dropTargetIndicator.highlightArea( + { + x1: i, + x2: i + r.innerHeight(), + y1: placeHolderTop, + y2: placeHolderTop + h.width + } + ) + ); + ((s = this.layoutManager.tabDropPlaceholder.offset().left), + this.layoutManager.dropTargetIndicator.highlightArea({ + x1: s, + x2: s + h.width, + y1: i, + y2: i + r.innerHeight() + })); + } + }, + _resetHeaderDropZone: function () { + this.layoutManager.tabDropPlaceholder.remove(); + }, + _setupHeaderPosition: function () { + var e = + ["right", "left", "bottom"].indexOf(this._header.show) >= 0 && + this._header.show; + if ( + (this.header.element.toggle(!!this._header.show), + (this._side = e), + (this._sided = ["right", "left"].indexOf(this._side) >= 0), + this.element.removeClass("lm_left lm_right lm_bottom"), + this._side && this.element.addClass("lm_" + this._side), + this.element.find(".lm_header").length && + this.childElementContainer) + ) { + var t = + ["right", "bottom"].indexOf(this._side) >= 0 + ? "before" + : "after"; + (this.header.element[t](this.childElementContainer), + this.callDownwards("setSize")); + } + }, + _highlightBodyDropZone: function (e) { + var t = this._contentAreaDimensions[e].highlightArea; + (this.layoutManager.dropTargetIndicator.highlightArea(t), + (this._dropSegment = e)); + }, + _syncContentItemOrder: function () { + var e = this, + t = []; + (this.header.tabs.forEach(function (n) { + var r = Array.isArray(n.contentItem.config.id) + ? n.contentItem.config.id[0] + : n.contentItem.config.id, + i = e.contentItems.find(function (e) { + var t = Array.isArray(e.config.id) + ? e.config.id[0] + : e.config.id; + return r === t; + }); + i && t.push(i); + }), + this.contentItems.length === t.length && + (this.contentItems = t)); + }, + _getItemToFocusAfterRemove: function (e) { + for (var t = e - 1; t >= 0; t--) { + var n = this.contentItems[t]; + if (!n.config.noTabHeader) return n; + } + for (var r = e + 1; r < this.contentItems.length; r++) { + var i = this.contentItems[r]; + if (!i.config.noTabHeader) return i; + } + return this.contentItems[Math.max(e - 1, 0)]; + }, + _syncActiveItemIndex: function () { + var e = t.utils.indexOf(this._activeContentItem, this.contentItems); + e > -1 && (this.config.activeItemIndex = e); + } + }), + (t.utils.BubblingEvent = function (e, t) { + ((this.name = e), (this.origin = t), (this.isPropagationStopped = !1)); + }), + (t.utils.BubblingEvent.prototype.stopPropagation = function () { + this.isPropagationStopped = !0; + }), + (t.utils.ConfigMinifier = function () { + if ( + ((this._keys = [ + "settings", + "hasHeaders", + "constrainDragToContainer", + "selectionEnabled", + "dimensions", + "borderWidth", + "minItemHeight", + "minItemWidth", + "headerHeight", + "dragProxyWidth", + "dragProxyHeight", + "labels", + "close", + "maximize", + "minimize", + "popout", + "content", + "componentName", + "componentState", + "id", + "width", + "type", + "height", + "isClosable", + "title", + "popoutWholeStack", + "openPopouts", + "parentId", + "activeItemIndex", + "reorderEnabled", + "borderGrabWidth" + ]), + this._keys.length > 36) + ) + throw new Error("Too many keys in config minifier map"); + this._values = [ + !0, + !1, + "row", + "column", + "stack", + "component", + "close", + "maximize", + "minimize", + "open in new window" + ]; + }), + t.utils.copy(t.utils.ConfigMinifier.prototype, { + minifyConfig: function (e) { + var t = {}; + return (this._nextLevel(e, t, "_min"), t); + }, + unminifyConfig: function (e) { + var t = {}; + return (this._nextLevel(e, t, "_max"), t); + }, + _nextLevel: function (e, t, n) { + var r, i; + for (r in e) + (e instanceof Array && (r = parseInt(r, 10)), + e.hasOwnProperty(r) && + ((i = this[n](r, this._keys)), + "object" === typeof e[r] + ? ((t[i] = e[r] instanceof Array ? [] : {}), + this._nextLevel(e[r], t[i], n)) + : (t[i] = this[n](e[r], this._values)))); + }, + _min: function (e, n) { + if ("string" === typeof e && 1 === e.length) return "___" + e; + var r = t.utils.indexOf(e, n); + return -1 === r ? e : r.toString(36); + }, + _max: function (e, t) { + return "string" === typeof e && 1 === e.length + ? t[parseInt(e, 36)] + : "string" === typeof e && "___" === e.substr(0, 3) + ? e[3] + : e; + } + }), + (t.utils.EventHub = function (n) { + (t.utils.EventEmitter.call(this), + (this._layoutManager = n), + (this._dontPropagateToParent = null), + (this._childEventSource = null), + this.on( + t.utils.EventEmitter.ALL_EVENT, + t.utils.fnBind(this._onEventFromThis, this) + ), + (this._boundOnEventFromChild = t.utils.fnBind( + this._onEventFromChild, + this + )), + e(window).on("gl_child_event", this._boundOnEventFromChild)); + }), + (t.utils.EventHub.prototype._onEventFromThis = function () { + var e = Array.prototype.slice.call(arguments); + (this._layoutManager.isSubWindow && + e[0] !== this._dontPropagateToParent && + this._propagateToParent(e), + this._propagateToChildren(e), + (this._dontPropagateToParent = null), + (this._childEventSource = null)); + }), + (t.utils.EventHub.prototype._$onEventFromParent = function (e) { + ((this._dontPropagateToParent = e[0]), this.emit.apply(this, e)); + }), + (t.utils.EventHub.prototype._onEventFromChild = function (e) { + ((this._childEventSource = e.originalEvent.__gl), + this.emit.apply(this, e.originalEvent.__glArgs)); + }), + (t.utils.EventHub.prototype._propagateToParent = function (e) { + var t, + n = "gl_child_event"; + (document.createEvent + ? (t = window.opener.document.createEvent("HTMLEvents")).initEvent( + n, + !0, + !0 + ) + : ((t = window.opener.document.createEventObject()).eventType = n), + (t.eventName = n), + (t.__glArgs = e), + (t.__gl = this._layoutManager), + document.createEvent + ? window.opener.dispatchEvent(t) + : window.opener.fireEvent("on" + t.eventType, t)); + }), + (t.utils.EventHub.prototype._propagateToChildren = function (e) { + var t, n; + for (n = 0; n < this._layoutManager.openPopouts.length; n++) + (t = this._layoutManager.openPopouts[n].getGlInstance()) && + t !== this._childEventSource && + t.eventHub._$onEventFromParent(e); + }), + (t.utils.EventHub.prototype.destroy = function () { + e(window).off("gl_child_event", this._boundOnEventFromChild); + }), + (t.utils.ReactComponentHandler = function (e, t) { + ((this._reactComponent = null), + (this._originalComponentWillUpdate = null), + (this._container = e), + (this._initialState = t), + (this._reactClass = this._getReactClass()), + this._container.on("open", this._render, this), + this._container.on("destroy", this._destroy, this)); + }), + t.utils.copy(t.utils.ReactComponentHandler.prototype, { + _render: function () { + ((this._reactComponent = ReactDOM.render( + this._getReactComponent(), + this._container.getElement()[0] + )), + (this._originalComponentWillUpdate = + this._reactComponent.componentWillUpdate || function () {}), + (this._reactComponent.componentWillUpdate = + this._onUpdate.bind(this)), + this._container.getState() && + this._reactComponent.setState(this._container.getState())); + }, + _destroy: function () { + (ReactDOM.unmountComponentAtNode(this._container.getElement()[0]), + this._container.off("open", this._render, this), + this._container.off("destroy", this._destroy, this)); + }, + _onUpdate: function (e, t) { + (this._container.setState(t), + this._originalComponentWillUpdate.call( + this._reactComponent, + e, + t + )); + }, + _getReactClass: function () { + var e, + t = this._container._config.component; + if (!t) + throw new Error( + "No react component name. type: react-component needs a field `component`" + ); + if (!(e = this._container.layoutManager.getComponent(t))) + throw new Error( + 'React component "' + + t + + '" not found. Please register all components with GoldenLayout using `registerComponent(name, component)`' + ); + return e; + }, + _getReactComponent: function () { + var t = { + glEventHub: this._container.layoutManager.eventHub, + glContainer: this._container + }, + n = e.extend(t, this._container._config.props); + return React.createElement(this._reactClass, n); + } + }), + (t.utils.TabDragListener = function (n, r) { + (t.utils.EventEmitter.call(this), + (this._eElement = e(n)), + (this._oDocument = e(document)), + (this._eBody = e(document.body)), + (this._nButtonCode = r || 0), + (this._nDelay = 400), + (this._nDistance = 10), + (this._nX = 0), + (this._nY = 0), + (this._nOriginalX = 0), + (this._nOriginalY = 0), + (this._bDragging = !1), + (this._fMove = t.utils.fnBind(this.onMouseMove, this)), + (this._fUp = t.utils.fnBind(this.onMouseUp, this)), + (this._fDown = t.utils.fnBind(this.onMouseDown, this)), + this._eElement.on("mousedown touchstart", this._fDown)); + }), + (t.utils.TabDragListener.timeout = null), + (t.utils.TabDragListener.reorderTimeout = null), + t.utils.copy(t.utils.TabDragListener.prototype, { + destroy: function () { + (this._eElement.unbind("mousedown touchstart", this._fDown), + this._oDocument.unbind("mouseup touchend", this._fUp), + (this._eElement = null), + (this._oDocument = null), + (this._eBody = null)); + }, + onMouseDown: function (e) { + if ( + (e.preventDefault(), 0 == e.button || "touchstart" === e.type) + ) { + var n = this._getCoordinates(e); + ((this._nOriginalX = n.x), + (this._nOriginalY = n.y), + this._oDocument.on("mousemove touchmove", this._fMove), + this._oDocument.one("mouseup touchend", this._fUp), + (this.reorderTimeout = setTimeout( + t.utils.fnBind(function () { + this._startReorder(e); + }, this), + this._nDelay + ))); + } + }, + onMouseMove: function (e) { + var n = this._getCoordinates(e); + if (null != this._timeout) + (e.preventDefault(), + (this._nX = n.x - this._nOriginalX), + (this._nY = n.y - this._nOriginalY), + !1 === this._bDragging && + (Math.abs(this._nX) > this._nDistance || + Math.abs(this._nY) > this._nDistance) && + (clearTimeout(this._timeout), this._startDrag(e)), + this._bDragging && + this.emit("drag", this._nX, this._nY, e)); + else if (this._inReorder) { + var r = this._eElement.parent()[0].getBoundingClientRect(), + i = r.left - n.x > 15 || n.x - r.right > 15, + o = r.top - n.y > 15 || n.y - r.bottom > 15; + i || o + ? (this._timeout = setTimeout( + t.utils.fnBind(function () { + this._startDrag(e); + }, this), + this._nDelay + )) + : this._onReorder(e); + } + }, + onMouseUp: function (e) { + (this._stopReorder(e), + clearTimeout(this._timeout), + (this._timeout = null), + this._eBody.removeClass("lm_dragging"), + this._eElement.removeClass("lm_dragging"), + this._oDocument.find("iframe").css("pointer-events", ""), + this._oDocument.unbind("mousemove touchmove", this._fMove), + this._oDocument.unbind("mouseup touchend", this._fUp), + !0 === this._bDragging && + ((this._bDragging = !1), + this.emit("dragStop", e, this._nOriginalX + this._nX))); + }, + _startDrag: function (e) { + (this._stopReorder(e), + (this._bDragging = !0), + this._eBody.addClass("lm_dragging"), + this._eElement.addClass("lm_dragging"), + this._oDocument.find("iframe").css("pointer-events", "none"), + this.emit("dragStart", this._nOriginalX, this._nOriginalY, e)); + }, + _startReorder: function (e) { + ((this._inReorder = !0), + this._oDocument.find("iframe").css("pointer-events", "none"), + this.emit( + "reorderStart", + this._nOriginalX, + this._nOriginalY, + e + )); + }, + _onReorder: function (e) { + if (this._inReorder) { + var t = this._getCoordinates(e); + this.emit("reorder", t.x, t.y); + } + }, + _stopReorder: function (e) { + if ((clearTimeout(this.reorderTimeout), null !== this._inReorder)) { + var t = this._getCoordinates(e); + this.emit("reorderStop", t.x, t.y); + } + this._inReorder = !1; + }, + _getCoordinates: function (e) { + return { + x: (e = + e.originalEvent && e.originalEvent.touches + ? e.originalEvent.touches[0] + : e).pageX, + y: e.pageY + }; + } + }), + (t.errors.ConfigurationError = function (e, t) { + (Error.call(this), + (this.name = "Configuration Error"), + (this.message = e), + (this.node = t)); + }), + (t.errors.ConfigurationError.prototype = new Error())); + })(window.$)); + var J = function () { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 21; + return crypto.getRandomValues(new Uint8Array(e)).reduce(function (e, t) { + return (e += + (t &= 63) < 36 + ? t.toString(36) + : t < 62 + ? (t - 26).toString(36).toUpperCase() + : t > 62 + ? "-" + : "_"); + }, ""); + }, + K = function (e) { + return Array.isArray(e) ? e[0] : e; + }, + Q = function () { + var e = function e(t) { + return "component" === t.type + ? t.id + ? [t] + : [] + : t.content.reduce(function (t, n) { + return (t = [].concat(o(t), o(e(n)))); + }, []); + }; + return ( + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [] + ).reduce(function (t, n) { + return [].concat(o(t), o(e(n))); + }, []); + }, + X = function (e) { + var t = []; + return ( + (function e(n) { + "window" !== n.type + ? n.children.forEach(function (t) { + return e(t); + }) + : t.push(n); + })(e), + t + ); + }, + Y = function (e) { + var t = function e(t) { + if ("component" === t.type) return t.id ? [t] : []; + var n = t.content.reduce(function (t, n) { + return (t = [].concat(o(t), o(e(n)))); + }, []); + return [].concat(o(n), [t]); + }; + return e.reduce(function (e, n) { + return [].concat(o(e), o(t(n))); + }, []); + }, + Z = function (e) { + var t = $(e)[0].getBoundingClientRect(); + return { + x: Math.round(t.x), + y: Math.round(t.y), + left: Math.round(t.left), + top: Math.round(t.top), + width: Math.round(t.width), + height: Math.round(t.height) + }; + }, + ee = function (e) { + return "___workspace___".concat(e); + }, + te = function (e) { + if (!e || !e[0]) return 0; + var t = e.clone(); + (t.css("visibility", "hidden"), $("body").append(t)); + var n = t[0].getBoundingClientRect().height; + return (t.remove(), n); + }, + ne = function (e) { + switch (e) { + case "isWindowInWorkspace": + case "addWindow": + case "addContainer": + case "getWorkspaceSnapshot": + case "openWorkspace": + case "saveLayout": + case "exportAllLayouts": + case "deleteLayout": + case "getAllWorkspacesSummaries": + case "maximizeItem": + case "restoreItem": + case "closeItem": + case "setItemTitle": + case "addWorkspaceChildren": + case "ejectWindow": + case "createWorkspace": + case "forceLoadWindow": + case "focusItem": + case "bundleWorkspace": + case "bundleItem": + case "getFrameSummary": + case "moveFrame": + case "getFrameSnapshot": + case "getSnapshot": + case "moveWindowTo": + case "generateLayout": + case "ping": + case "hibernateWorkspace": + case "resumeWorkspace": + case "lockWorkspace": + case "lockContainer": + case "lockWindow": + case "resizeItem": + case "pinWorkspace": + case "unpinWorkspace": + case "getWorkspaceIcon": + case "setWorkspaceIcon": + case "initFrame": + case "createFrame": + case "initFrameFromSnapshot": + case "getWorkspacesLayouts": + case "setMaximizationBoundary": + case "operationCheck": + case "getDecorationsSize": + return !0; + default: + return { isSupported: !1 }; + } + }, + re = function () { + return J(10); + }, + ie = function () { + return "g42-".concat(re()); + }, + oe = function (e) { + return "nestHere".concat(e); + }, + ae = new ((function () { + function e() { + (w(this, e), (this._idToLayout = {})); + } + return ( + x(e, [ + { + key: "layouts", + get: function () { + return Object.values(this._idToLayout); + } + }, + { + key: "workspaceIds", + get: function () { + return Object.keys(this._idToLayout); + } + }, + { + key: "workspaceLayout", + get: function () { + return this._workspaceLayout; + }, + set: function (e) { + this._workspaceLayout = e; + } + }, + { + key: "workspaceLayoutHeader", + get: function () { + return this._workspaceLayout.root.contentItems[0].header; + } + }, + { + key: "getWorkspaceLayoutItemById", + value: function (e) { + return this.workspaceLayout.root.getItemsById(e)[0]; + } + }, + { + key: "getById", + value: function (e) { + return ((e = K(e)), this._idToLayout[e]); + } + }, + { + key: "getByContainerId", + value: function (e) { + return ( + (e = K(e)), + this._idToLayout[e] || this.getByContainerIdCore(e) + ); + } + }, + { + key: "removeById", + value: function (e) { + delete this._idToLayout[e]; + } + }, + { + key: "removeLayout", + value: function (e) { + var t; + (null === (t = this._idToLayout[e].layout) || + void 0 === t || + t.destroy(), + (this._idToLayout[e].layout = void 0)); + } + }, + { + key: "addOrUpdate", + value: function (e, t, n) { + var r = this.getById(e); + if (r) + return ( + (r.layout = n), + void (r.windows = this.mergeWindows(r.windows, t)) + ); + this._idToLayout[e] = { + id: e, + windows: t, + layout: n, + hibernatedWindows: [], + lastActive: Date.now() + }; + } + }, + { + key: "getWindow", + value: function (e) { + var t = K(e); + return this.layouts.reduce( + function (e, n) { + return ( + e || + n.windows.find(function (e) { + return e.id === t || e.windowId === t; + }) + ); + }, + void 0 + ); + } + }, + { + key: "getActiveWorkspace", + value: function () { + var e = + this.workspaceLayout.root.contentItems[0].getActiveContentItem() + .config.id; + return this.getById(e); + } + }, + { + key: "addWindow", + value: function (e, t) { + var n = this.getById(t); + ((n.windows = n.windows.filter(function (t) { + return t.id !== e.id; + })), + n.windows.push(e)); + } + }, + { + key: "removeWindow", + value: function (e, t) { + var n = this.getById(t); + n.windows = n.windows.filter(function (t) { + return t.id !== e.id; + }); + } + }, + { + key: "getByWindowId", + value: function (e) { + e = K(e); + var t = this.layouts.find(function (t) { + return t.windows.some(function (t) { + return t.id === e || t.windowId === e; + }); + }); + return ( + t || + this.layouts.find(function (t) { + return ( + !!(null === t || void 0 === t + ? void 0 + : t.layout) && t.layout.root.getItemsById(e)[0] + ); + }) + ); + } + }, + { + key: "getWindowContentItem", + value: function (e) { + var t = this.layouts + .filter(function (e) { + return e.layout; + }) + .reduce( + function (t, n) { + return t || n.layout.root.getItemsById(e)[0]; + }, + void 0 + ); + if (t && t.isComponent) return t; + var n = this.layouts + .filter(function (e) { + return e.layout; + }) + .reduce( + function (t, n) { + return ( + t || + n.layout.root.getItemsByFilter(function (t) { + return ( + t.isComponent && + t.config.componentState.windowId === e + ); + })[0] + ); + }, + void 0 + ); + return (null === n || void 0 === n ? void 0 : n.isComponent) + ? n + : void 0; + } + }, + { + key: "getContainer", + value: function (e) { + return ( + (e = K(e)), + this.layouts + .reduce(function (e, t) { + return (t.layout && e.push(t.layout), e); + }, []) + .reduce( + function (t, n) { + var r = n.root.getItemsById(e)[0]; + return "component" === + (null === r || void 0 === r + ? void 0 + : r.type) + ? t + : t || r; + }, + void 0 + ) + ); + } + }, + { + key: "getWorkspaceContext", + value: function (e) { + var t, + n, + r, + i = this.getById(e); + return null === + (r = + null === + (n = + null === + (t = + null === i || void 0 === i + ? void 0 + : i.layout) || void 0 === t + ? void 0 + : t.config) || void 0 === n + ? void 0 + : n.workspacesOptions) || void 0 === r + ? void 0 + : r.context; + } + }, + { + key: "syncWorkspaceOrder", + value: function () { + var e = this, + t = this.workspaceLayout.root.getItemsByType("stack")[0]; + if ("stack" === t.type) { + var n = t.contentItems.map(function (e) { + return K(e.config.id); + }), + r = {}; + (n.forEach(function (t) { + r[t] = e._idToLayout[t]; + }), + Object.keys(r).length === + Object.keys(this._idToLayout).length && + (this._idToLayout = r)); + } + } + }, + { + key: "getWorkspaceContentItem", + value: function (e) { + return this.workspaceLayout.root.getItemsById(e)[0]; + } + }, + { + key: "getWorkspaceTabElement", + value: function (e) { + var t; + return null === (t = this.getWorkspaceContentItem(e)) || + void 0 === t + ? void 0 + : t.tab; + } + }, + { + key: "getByContainerIdCore", + value: function (e) { + return this.layouts + .reduce(function (e, t) { + return (t.layout && e.push(t), e); + }, []) + .find(function (t) { + return t.layout.root.getItemsById(e)[0]; + }); + } + }, + { + key: "mergeWindows", + value: function (e, t) { + return t.map(function (t) { + var n = t.windowId; + if (!n) { + var r = e.find(function (e) { + return e.id === t.id; + }); + n = null === r || void 0 === r ? void 0 : r.windowId; + } + return Object.assign(Object.assign({}, t), { windowId: n }); + }); + } + } + ]), + e + ); + })())(), + se = "emptyVisibleWindow", + ce = "emptyFrame", + ue = "T42.Web.Platform.Control", + de = 32767, + le = 20, + pe = "no-app-window", + he = "Add App", + fe = "Maximize", + ve = "Restore", + me = "Extract", + ge = "Close"; + function ye(e) { + if ( + e && + e.errorHandling && + "function" !== typeof e.errorHandling && + "log" !== e.errorHandling && + "silent" !== e.errorHandling && + "throw" !== e.errorHandling + ) + throw new Error( + 'Invalid options passed to createRegistry. Prop errorHandling should be ["log" | "silent" | "throw" | (err) => void], but ' + + typeof e.errorHandling + + " was passed" + ); + var t = e && "function" === typeof e.errorHandling && e.errorHandling, + n = {}; + function r(n, r) { + var i = n instanceof Error ? n : new Error(n); + if (t) t(i); + else { + var o = + '[ERROR] callback-registry: User callback for key "' + + r + + '" failed: ' + + i.stack; + if (e) + switch (e.errorHandling) { + case "log": + return console.error(o); + case "silent": + return; + case "throw": + throw new Error(o); + } + console.error(o); + } + } + return { + add: function (e, t, i) { + var o = n[e]; + return ( + o || ((o = []), (n[e] = o)), + o.push(t), + i && + setTimeout(function () { + i.forEach(function (i) { + var o; + if ( + null === (o = n[e]) || void 0 === o + ? void 0 + : o.includes(t) + ) + try { + Array.isArray(i) + ? t.apply(void 0, i) + : t.apply(void 0, [i]); + } catch (Sn) { + r(Sn, e); + } + }); + }, 0), + function () { + var r = n[e]; + r && + (0 === + (r = r.reduce(function (e, n, r) { + return ((n === t && e.length === r) || e.push(n), e); + }, [])).length + ? delete n[e] + : (n[e] = r)); + } + ); + }, + execute: function (e) { + for (var t = [], i = 1; i < arguments.length; i++) t[i - 1] = arguments[i]; + var o = n[e]; + if (!o || 0 === o.length) return []; + var a = []; + return ( + o.forEach(function (n) { + try { + var i = n.apply(void 0, t); + a.push(i); + } catch (Sn) { + (a.push(void 0), r(Sn, e)); + } + }), + a + ); + }, + clear: function () { + n = {}; + }, + clearKey: function (e) { + n[e] && delete n[e]; + } + }; + } + ye.default = ye; + var we = ye, + be = new ((function () { + function e() { + var t = this; + (w(this, e), + (this._visibilityState = { + logo: void 0, + workspaceTabs: {}, + addWorkspace: void 0, + systemButtons: void 0, + workspaceContents: {}, + beforeGroupTabs: {}, + workspaceWindowTabs: {}, + afterGroupTabs: {}, + groupHeaderButtons: {} + }), + (this._lastSelectedWorkspaceWindowTab = {}), + (this._callbackRegistry = we()), + (this._componentsFactory = {}), + (this._decoratedFactory = {}), + (this._observer = new MutationObserver(function (e) { + Array.from(e).forEach(function (e) { + var n = e.target, + r = t.getWorkspaceIdFromContents(n), + i = + "none" === n.style.display + ? "workspace-contents-hidden" + : "workspace-contents-shown"; + t._callbackRegistry.execute(i, r); + }); + }))); + } + return ( + x(e, [ + { + key: "decoratedFactory", + get: function () { + return this._decoratedFactory; + } + }, + { + key: "init", + value: function (e, t) { + var n = this; + ((this._componentsFactory = t), + (null === t || void 0 === t + ? void 0 + : t.createAddWorkspace) && + (this.decoratedFactory.createAddWorkspace = function ( + t + ) { + return ( + (t.frameId = e), + (n._visibilityState.addWorkspace = t), + n._componentsFactory.createAddWorkspace(t) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createWorkspaceTabs) && + (this.decoratedFactory.createWorkspaceTabs = function ( + e + ) { + var r; + !0 === e.isSelected && + n.changeSelectedWorkspaceState(e); + var i = + null !== + (r = + n._visibilityState.workspaceTabs[ + e.workspaceId + ]) && void 0 !== r + ? r + : {}; + return ( + (n._visibilityState.workspaceTabs[ + e.workspaceId + ] = Object.assign(Object.assign({}, i), e)), + n.setupCleanup( + n._componentsFactory.removeWorkspaceTabs, + "workspaceTabs", + e.workspaceId, + void 0, + void 0, + e.workspaceId + ), + t.createWorkspaceTabs(e) + ); + }), + (null === t || void 0 === t ? void 0 : t.createLogo) && + (this.decoratedFactory.createLogo = function (t) { + return ( + (t.frameId = e), + (n._visibilityState.logo = t), + n._componentsFactory.createLogo(t) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createSystemButtons) && + (this.decoratedFactory.createSystemButtons = function ( + r + ) { + var i, o, a, s; + return ( + (r.frameId = e), + (r.close = + null !== (i = r.close) && void 0 !== i + ? i + : { visible: !1 }), + (r.maximize = + null !== (o = r.maximize) && void 0 !== o + ? o + : { visible: !1 }), + (r.restore = + null !== (a = r.restore) && void 0 !== a + ? a + : { visible: !1 }), + (r.minimize = + null !== (s = r.minimize) && void 0 !== s + ? s + : { visible: !1 }), + (r.close.title = "Close"), + (r.maximize.title = "Maximize"), + (r.restore.title = "Restore"), + (r.minimize.title = "Minimize"), + (n._visibilityState.systemButtons = r), + t.createSystemButtons(r) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createWorkspaceContents) && + (this.decoratedFactory.createWorkspaceContents = + function (e) { + var r = e; + n._visibilityState.workspaceContents[ + e.workspaceId + ] = r; + var i = n.onWorkspaceClosed( + e.workspaceId, + function () { + (n.cleanupWorkspaceContents( + e.workspaceId + ), + i()); + } + ); + return ( + n.subscribeForWorkspaceContentsVisibility( + e.workspaceId + ), + t.createWorkspaceContents(e) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createBeforeGroupTabs) && + (this.decoratedFactory.createBeforeGroupTabs = + function (e) { + return ( + (n._visibilityState.beforeGroupTabs[ + e.groupId + ] = e), + n.setupCleanup( + n._componentsFactory + .removeBeforeGroupTabs, + "beforeGroupTabs", + e.groupId, + void 0, + e.groupId, + e.workspaceId + ), + t.createBeforeGroupTabs(e) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createWorkspaceWindowTabs) && + (this.decoratedFactory.createWorkspaceWindowTabs = + function (e) { + return ( + !0 === e.isSelected && + n.changeSelectedWorkspaceWindowState(e), + (n._visibilityState.workspaceWindowTabs[ + e.placementId + ] = e), + n.setupCleanup( + n._componentsFactory + .removeWorkspaceWindowTabs, + "workspaceWindowTabs", + e.placementId, + e.placementId, + e.groupId, + e.workspaceId + ), + t.createWorkspaceWindowTabs(e) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createAfterGroupTabs) && + (this.decoratedFactory.createAfterGroupTabs = function ( + e + ) { + return ( + (n._visibilityState.afterGroupTabs[e.groupId] = + e), + n.setupCleanup( + n._componentsFactory.removeAfterGroupTabs, + "afterGroupTabs", + e.groupId, + void 0, + e.groupId, + e.workspaceId + ), + t.createAfterGroupTabs(e) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createGroupHeaderButtons) && + (this.decoratedFactory.createGroupHeaderButtons = + function (e) { + return ( + (n._visibilityState.groupHeaderButtons[ + e.groupId + ] = e), + n.setupCleanup( + n._componentsFactory + .removeGroupHeaderButtons, + "groupHeaderButtons", + e.groupId, + void 0, + e.groupId, + e.workspaceId + ), + t.createGroupHeaderButtons(e) + ); + }), + (null === t || void 0 === t ? void 0 : t.updateAddWorkspace) + ? (this.decoratedFactory.updateAddWorkspace = function ( + e + ) { + n._visibilityState.addWorkspace && + ((n._visibilityState.addWorkspace = + Object.assign( + Object.assign( + {}, + n._visibilityState.addWorkspace + ), + e + )), + t.updateAddWorkspace(e)); + }) + : (this.decoratedFactory.updateAddWorkspace = + function () {}), + ( + null === t || void 0 === t + ? void 0 + : t.updateWorkspaceTabs + ) + ? (this.decoratedFactory.updateWorkspaceTabs = + function (e) { + var r; + if ( + n._visibilityState.workspaceTabs[ + e.workspaceId + ] + ) { + !0 === e.isSelected && + n.changeSelectedWorkspaceState(e); + var i = + null !== + (r = + n._visibilityState + .workspaceTabs[ + e.workspaceId + ]) && void 0 !== r + ? r + : {}; + ((n._visibilityState.workspaceTabs[ + e.workspaceId + ] = Object.assign( + Object.assign({}, i), + e + )), + t.updateWorkspaceTabs(e)); + } + }) + : (this.decoratedFactory.updateWorkspaceTabs = + function () {}), + ( + null === t || void 0 === t + ? void 0 + : t.updateWorkspaceWindowTabs + ) + ? (this.decoratedFactory.updateWorkspaceWindowTabs = + function (e) { + var r; + if ( + n._visibilityState.workspaceWindowTabs[ + e.placementId + ] + ) { + !0 === e.isSelected && + n.changeSelectedWorkspaceWindowState( + e + ); + var i = + null !== + (r = + n._visibilityState + .workspaceTabs[ + e.placementId + ]) && void 0 !== r + ? r + : {}; + ((e.channels = Object.assign( + Object.assign( + {}, + n._visibilityState + .workspaceWindowTabs[ + e.placementId + ].channels + ), + e.channels + )), + (e.close = Object.assign( + Object.assign( + {}, + n._visibilityState + .workspaceWindowTabs[ + e.placementId + ].close + ), + e.close + )), + (n._visibilityState.workspaceWindowTabs[ + e.placementId + ] = Object.assign( + Object.assign({}, i), + e + )), + t.updateWorkspaceWindowTabs(e)); + } + }) + : (this.decoratedFactory.updateWorkspaceWindowTabs = + function () {}), + ( + null === t || void 0 === t + ? void 0 + : t.updateAfterGroupTabs + ) + ? (this.decoratedFactory.updateAfterGroupTabs = + function (e) { + var r; + if ( + n._visibilityState.afterGroupTabs[ + e.groupId + ] + ) { + var i = + null !== + (r = + n._visibilityState + .afterGroupTabs[ + e.groupId + ]) && void 0 !== r + ? r + : {}; + ((n._visibilityState.groupHeaderButtons[ + e.groupId + ] = Object.assign( + Object.assign({}, i), + e + )), + t.updateAfterGroupTabs(e)); + } + }) + : (this.decoratedFactory.updateAfterGroupTabs = + function () {}), + ( + null === t || void 0 === t + ? void 0 + : t.updateGroupHeaderButtons + ) + ? (this.decoratedFactory.updateGroupHeaderButtons = + function (e) { + var r; + if ( + n._visibilityState.groupHeaderButtons[ + e.groupId + ] + ) { + var i = + null !== + (r = + n._visibilityState + .groupHeaderButtons[ + e.groupId + ]) && void 0 !== r + ? r + : {}; + ((e.addWindow = Object.assign( + Object.assign( + {}, + n._visibilityState + .groupHeaderButtons[e.groupId] + .addWindow + ), + e.addWindow + )), + (e.maximize = Object.assign( + Object.assign( + {}, + n._visibilityState + .groupHeaderButtons[ + e.groupId + ].maximize + ), + e.maximize + )), + (e.restore = Object.assign( + Object.assign( + {}, + n._visibilityState + .groupHeaderButtons[ + e.groupId + ].restore + ), + e.restore + )), + (e.eject = Object.assign( + Object.assign( + {}, + n._visibilityState + .groupHeaderButtons[ + e.groupId + ].eject + ), + e.eject + )), + (n._visibilityState.groupHeaderButtons[ + e.groupId + ] = Object.assign( + Object.assign({}, i), + e + )), + t.updateGroupHeaderButtons(e)); + } + }) + : (this.decoratedFactory.updateGroupHeaderButtons = + function () {}), + t && + ((this.decoratedFactory.createId = function () { + return re(); + }), + (this.decoratedFactory.createWorkspaceTabsOptions = + function (e) { + var t, + n, + r = e.element, + i = e.contentItem, + o = + i.parent.contentItems.indexOf(i) === + (i.parent.config.activeItemIndex || 0); + return { + domNode: r, + workspaceId: K(i.config.id), + title: i.config.title, + isSelected: o, + isPinned: + i.config.workspacesConfig.isPinned, + icon: i.config.workspacesConfig.icon, + showSaveButton: + null === + (t = + i.config.workspacesConfig + .showSaveButton) || + void 0 === t || + t, + showCloseButton: + null === + (n = + i.config.workspacesConfig + .showCloseButton) || + void 0 === n || + n, + layoutName: + i.config.workspacesConfig.layoutName + }; + }), + (this.decoratedFactory.createWorkspaceWindowTabsOptions = + function (e) { + var t, + n, + r = e.element, + i = e.contentItem, + o = + i.parent.contentItems.indexOf(i) === + (i.parent.config.activeItemIndex || 0); + return { + domNode: r, + groupId: K(i.parent.config.id), + placementId: K(i.config.id), + windowId: + null === + (t = i.config.componentState) || + void 0 === t + ? void 0 + : t.windowId, + workspaceId: K( + i.layoutManager.root.config.id + ), + title: i.config.title, + isSelected: o, + channels: { + color: "transparent", + visible: !1 + }, + close: { + title: ge, + visible: + null === + (n = + i.config.workspacesConfig + .showCloseButton) || + void 0 === n || + n + } + }; + }), + (this.decoratedFactory.createGroupHeaderButtonsOptions = + function (e) { + var t = e.element, + n = e.contentItem; + return { + isAddWindowPopupActive: !1, + domNode: t, + groupId: K(n.config.id), + workspaceId: + n.layoutManager.config.workspacesOptions + .workspaceId, + addWindow: { visible: !0, title: he }, + eject: { visible: !0, title: me }, + maximize: { + visible: !n.isMaximized, + title: fe + }, + restore: { + visible: n.isMaximized, + title: ve + } + }; + }))); + } + }, + { + key: "reInitialize", + value: function (e) { + ((null === e || void 0 === e ? void 0 : e.createLogo) && + this._visibilityState.logo && + e.createLogo(this._visibilityState.logo), + (null === e || void 0 === e + ? void 0 + : e.createAddWorkspace) && + this._visibilityState.addWorkspace && + e.createAddWorkspace( + this._visibilityState.addWorkspace + ), + (null === e || void 0 === e + ? void 0 + : e.createWorkspaceTabs) && + Object.values( + this._visibilityState.workspaceTabs + ).forEach(function (t) { + e.createWorkspaceTabs(t); + }), + (null === e || void 0 === e + ? void 0 + : e.createSystemButtons) && + this._visibilityState.systemButtons && + e.createSystemButtons( + this._visibilityState.systemButtons + ), + (null === e || void 0 === e + ? void 0 + : e.createWorkspaceContents) && + Object.values( + this._visibilityState.workspaceContents + ).forEach(function (t) { + e.createWorkspaceContents(t); + }), + (null === e || void 0 === e + ? void 0 + : e.createBeforeGroupTabs) && + Object.values( + this._visibilityState.beforeGroupTabs + ).forEach(function (t) { + e.createBeforeGroupTabs(t); + }), + (null === e || void 0 === e + ? void 0 + : e.createWorkspaceWindowTabs) && + Object.values( + this._visibilityState.workspaceWindowTabs + ).forEach(function (t) { + e.createWorkspaceWindowTabs(t); + }), + (null === e || void 0 === e + ? void 0 + : e.createAfterGroupTabs) && + Object.values( + this._visibilityState.afterGroupTabs + ).forEach(function (t) { + e.createAfterGroupTabs(t); + }), + (null === e || void 0 === e + ? void 0 + : e.createGroupHeaderButtons) && + Object.values( + this._visibilityState.groupHeaderButtons + ).forEach(function (t) { + e.createGroupHeaderButtons(t); + }), + (this._componentsFactory = e)); + } + }, + { + key: "onWorkspaceContentsShown", + value: function (e) { + this._callbackRegistry.add("workspace-contents-shown", e); + } + }, + { + key: "onWorkspaceContentsHidden", + value: function (e) { + this._callbackRegistry.add("workspace-contents-hidden", e); + } + }, + { + key: "notifyWorkspaceClosed", + value: function (e) { + this._callbackRegistry.execute( + "workspace-closed-".concat(e), + e + ); + } + }, + { + key: "notifyGroupClosed", + value: function (e) { + this._callbackRegistry.execute("group-closed-".concat(e), e); + } + }, + { + key: "notifyWindowClosed", + value: function (e) { + this._callbackRegistry.execute("window-closed-".concat(e), e); + } + }, + { + key: "onWorkspaceClosed", + value: function (e, t) { + return this._callbackRegistry.add( + "workspace-closed-".concat(e), + t + ); + } + }, + { + key: "onGroupClosed", + value: function (e, t) { + return this._callbackRegistry.add("group-closed-".concat(e), t); + } + }, + { + key: "onWindowClosed", + value: function (e, t) { + return this._callbackRegistry.add( + "window-closed-".concat(e), + t + ); + } + }, + { + key: "subscribeForWorkspaceContentsVisibility", + value: function (e) { + var t = document.getElementById(oe(e)); + t && + this._observer.observe(t, { + attributes: !0, + attributeFilter: ["style"] + }); + } + }, + { + key: "getWorkspaceIdFromContents", + value: function (e) { + return e.id.split("nestHere")[1]; + } + }, + { + key: "changeSelectedWorkspaceState", + value: function (e) { + var t = this._lastSelectedWorkspaceTab; + (t && + this.decoratedFactory.updateWorkspaceTabs({ + workspaceId: t.workspaceId, + isSelected: !1 + }), + (this._lastSelectedWorkspaceTab = e)); + } + }, + { + key: "changeSelectedWorkspaceWindowState", + value: function (e) { + var t = this._lastSelectedWorkspaceWindowTab[e.groupId]; + (t && + this.decoratedFactory.updateWorkspaceWindowTabs({ + placementId: t.placementId, + isSelected: !1 + }), + (this._lastSelectedWorkspaceWindowTab[e.groupId] = e)); + } + }, + { + key: "cleanupWorkspaceContents", + value: function (e) { + if (e) { + (this._componentsFactory.removeWorkspaceContents({ + workspaceId: e + }), + delete this._visibilityState.workspaceContents[e]); + var t = document.getElementById(oe(e)); + t && t.remove(); + } + } + }, + { + key: "setupCleanup", + value: function (e, t, n, r, i, o) { + var a = this, + s = function () {}, + c = function () {}, + u = function () {}, + d = function () { + (e && e({ elementId: n }), + delete a._visibilityState[t][n], + s(), + c(), + u()); + }; + (r && (s = this.onWindowClosed(r, d)), + i && (c = this.onGroupClosed(i, d)), + o && (u = this.onWorkspaceClosed(o, d))); + } + } + ]), + e + ); + })())(), + ke = (function () { + function e() { + (w(this, e), (this.workspaceLayoutElementId = "#outter-layout-container")); + } + return ( + x(e, [ + { + key: "showWorkspaceSaveButton", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + n.element.hasClass(e.HibernationIconClass) || + n.element.children(".lm_saveButton").show(); + } + }, + { + key: "hideWorkspaceSaveButton", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + n.element.hasClass(e.HibernationIconClass) || + n.element.children(".lm_saveButton").hide(); + } + }, + { + key: "showWorkspaceIconButton", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + if (n && !n.element.hasClass(e.HibernationIconClass)) { + var r = n.element.children(".lm_iconButton"); + (r.css("display", "flex"), + r.show(), + n.element + .find(".lm_iconButtonContent") + .css( + "-webkit-mask-image", + 'url("'.concat(t.icon, '")') + )); + } + } + }, + { + key: "hideWorkspaceIconButton", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + n && + !n.element.hasClass(e.HibernationIconClass) && + n.element.children(".lm_iconButton").hide(); + } + }, + { + key: "replaceWorkspaceSaveButtonWithIcon", + value: function (e) { + be.decoratedFactory.createWorkspaceTabs || + (this.hideWorkspaceSaveButton(e), + this.showWorkspaceIconButton(e)); + } + }, + { + key: "replaceWorkspaceIconButtonWithSave", + value: function (e) { + be.decoratedFactory.createWorkspaceTabs || + (this.hideWorkspaceIconButton(e), + this.showWorkspaceSaveButton(e)); + } + }, + { + key: "hideHibernatedIcon", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + n && + n.element + .children(".lm_saveButton") + .removeClass(e.HibernationIconClass); + } + }, + { + key: "showHibernationIcon", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + if (n) { + var r = n.element.children(".lm_saveButton"); + (r.is(":visible") || r.show(), + r.addClass(e.HibernationIconClass), + r.attr("title", "Hibernated")); + } + } + }, + { + key: "showSaveIcon", + value: function (t) { + var n = + t.workspaceTab || + ae.getWorkspaceTabElement(t.workspaceId), + r = ae.getById(t.workspaceId); + if (n) { + var i = n.element.children(".lm_saveButton"); + (i.removeClass(e.HibernationIconClass), + i.attr("title", "Save"), + r.layout && + !1 === + r.layout.config.workspacesOptions + .showSaveButton && + i.hide()); + } + } + }, + { + key: "showWorkspaceCloseButton", + value: function (e) { + var t = + e.workspaceTab || ae.getWorkspaceTabElement(e.workspaceId); + t && t.element.children(".lm_close_tab").show(); + } + }, + { + key: "hideWorkspaceCloseButton", + value: function (e) { + var t = + e.workspaceTab || ae.getWorkspaceTabElement(e.workspaceId); + t && t.element.children(".lm_close_tab").hide(); + } + }, + { + key: "addInvisibleStyle", + value: function (e) { + var t = document.createElement("style"); + ((t.type = "text/css"), + (t.innerHTML = + ".lm_content.transparent-color { background-color: ".concat( + e, + "; }" + )), + document.getElementsByTagName("head")[0].appendChild(t)); + } + }, + { + key: "makeContentInvisible", + value: function () { + $( + ".lm_item_container .lm_content .lm_item_container .lm_content" + ).addClass("transparent-color"); + } + }, + { + key: "hideWorkspaceRootItem", + value: function (e) { + var t = ae.getById(e); + (null === t || void 0 === t ? void 0 : t.layout) && + $(t.layout.root.contentItems[0].element[0]).hide(); + } + }, + { + key: "showWorkspaceRootItem", + value: function (e, t) { + var n = ae.getById(e); + (null === n || void 0 === n ? void 0 : n.layout) && + ($(n.layout.root.contentItems[0].element[0]).show(), + n.layout.root.getItemsByType("stack").forEach(function (e) { + t.refreshTabsMaxWidth(e.header.tabsContainer); + })); + } + }, + { + key: "waitForTransition", + value: function (e) { + return this.hasTransition(e) + ? new Promise(function (t) { + var n = function () {}, + r = function (r) { + r.pseudoElement || + r.path[0] !== e || + (t(), n()); + }, + i = function (r) { + r.pseudoElement || + r.path[0] !== e || + (t(), n()); + }; + ((n = function () { + (e.removeEventListener("transitionend", r), + e.removeEventListener("transitioncancel", i)); + }), + e.addEventListener("transitionend", r), + e.addEventListener("transitioncancel", i)); + }) + : Promise.resolve(); + } + }, + { + key: "changeTheme", + value: function (e, t) { + var n = $("html"); + (t.forEach(function (e) { + return n.removeClass(e); + }), + n.addClass(e)); + } + }, + { + key: "updateAddWorkspaceButtonActiveState", + value: function (e) { + if (!be.decoratedFactory.createAddWorkspace) { + var t = ae.workspaceLayoutHeader.element + .children(".lm_workspace_controls") + .children(".lm_add_button"); + e ? t.addClass("active") : t.removeClass("active"); + } + } + }, + { + key: "updateAddWindowButtonActiveState", + value: function (e, t) { + if (!be.decoratedFactory.createGroupHeaderButtons) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Cannot show add window button of " + .concat(n.type, " ") + .concat(n.config.id) + ); + var r = n.header.element + .children(".lm_controls") + .children(".lm_add_button"); + (null === r || void 0 === r || r.show(), + t ? r.addClass("active") : r.removeClass("active")); + } + } + }, + { + key: "getFrameLayoutContainerBounds", + value: function () { + return Z(this.getFrameLayoutContainer()); + } + }, + { + key: "getFrameLayoutContainer", + value: function () { + return $(this.workspaceLayoutElementId)[0]; + } + }, + { + key: "getFrameDecorationsSize", + value: function () { + var e = this.getFrameLayoutContainerBounds(); + return { + height: window.innerHeight - e.height, + width: window.innerWidth - e.width + }; + } + }, + { + key: "getWorkspaceDecorationsSize", + value: function (e) { + var t = this.getFrameLayoutContainerBounds(); + return { + height: t.height - e.height, + width: t.width - e.width + }; + } + }, + { + key: "getGroupDecorationsSize", + value: function (e) { + var t = ae.getContainer(e), + n = Z(t.element), + r = Z(t.contentItems[0].element); + return { + height: n.height - r.height, + width: n.width - r.width + }; + } + }, + { + key: "hasTransition", + value: function (e) { + return ( + "all 0s ease 0s" !== + window + .getComputedStyle(e, null) + .getPropertyValue("transition") + ); + } + } + ]), + e + ); + })(); + ke.HibernationIconClass = "lm_hibernationIcon"; + var xe = new ke(), + _e = (function () { + function e() { + w(this, e); + } + return ( + x(e, [ + { + key: "init", + value: function () { + ((this.containerElement = xe.getFrameLayoutContainer()), + this.setupEvents()); + } + }, + { + key: "refreshTabsMaxWidth", + value: function (e) { + var t = this, + n = e.children(), + r = this.visibleTabs($(e)).reduce(function (e, n) { + return e + t.getTabWidth(n); + }, 0); + (e.css("max-width", "".concat(r, "px")), + Array.from(n).forEach(function (e) { + var n = $(e).children(".lm_title"), + r = Z(e).width; + (n.css("max-width", "".concat(0.75 * r, "px")), + t.refreshTabClasses(e)); + })); + } + }, + { + key: "setupEvents", + value: function () { + var e = this, + t = new MutationObserver(function (t) { + Array.from(t).forEach(function (t) { + if ( + "childList" === t.type && + t.target.classList.contains("lm_tabs") + ) { + var n = $(t.target); + e.handleTabCountChanged( + n, + Array.from(t.removedNodes), + Array.from(t.addedNodes) + ); + } else if ( + "attributes" === t.type && + t.target.classList.contains("lm_stack") && + "style" === t.attributeName + ) { + var r = $(t.target); + e.handleTabHeaderResized(r); + } + }); + }); + return ( + t.observe(this.containerElement, { + childList: !0, + subtree: !0, + attributes: !0, + attributeFilter: ["style"], + attributeOldValue: !1, + characterData: !1, + characterDataOldValue: !1 + }), + function () { + t.disconnect(); + } + ); + } + }, + { + key: "handleTabCountChanged", + value: function (e, t, n) { + var r = this, + i = e.children(), + o = this.visibleTabs($(e)).reduce(function (e, t) { + return e + r.getTabWidth(t); + }, 0); + (e.css("max-width", "".concat(o, "px")), + Array.from(i).forEach(function (e) { + var n = $(e).children(".lm_title"), + i = Z(e).width; + (n.css("max-width", "".concat(0.75 * i, "px")), + t.length && r.refreshTabClasses(e)); + })); + } + }, + { + key: "handleTabHeaderResized", + value: function (e) { + var t = this, + n = e.children(".lm_header").children(".lm_tabs"), + r = this.visibleTabs($(n)); + r.forEach(function (e, n) { + var i = $(e).children(".lm_title"), + o = Z(r[n]).width; + (i.css("max-width", "".concat(0.75 * o, "px")), + t.refreshTabClasses(e)); + }); + } + }, + { + key: "refreshTabClasses", + value: function (e) { + var t = $(e).outerWidth(), + n = e.classList, + r = function () { + (n.remove("lm_tab_mini"), + n.remove("lm_tab_small"), + n.remove("lm_tab_mid")); + }; + this.isTabPinned(e) + ? r() + : t >= 35 && t < 55 + ? (n.remove("lm_tab_mini"), + n.remove("lm_tab_small"), + n.add("lm_tab_mid")) + : t >= 25 && t < 35 + ? (n.remove("lm_tab_mini"), + n.remove("lm_tab_mid"), + n.add("lm_tab_small")) + : t >= 55 + ? r() + : t < 25 && + (n.remove("lm_tab_mid"), + n.remove("lm_tab_small"), + n.add("lm_tab_mini")); + } + }, + { + key: "visibleTabs", + value: function (e) { + return Array.from(e.children()) + .filter(function (e) { + return $(e).is(":visible"); + }) + .map(function (e) { + return e; + }); + } + }, + { + key: "isTabPinned", + value: function (e) { + return e.classList.contains("lm_pinned"); + } + }, + { + key: "getTabWidth", + value: function (e) { + return this.isTabPinned(e) ? Z(e).width : 200; + } + } + ]), + e + ); + })(), + Ce = n(474).default || n(474), + Ie = (function () { + function e(t, n, r, i, o, a) { + (w(this, e), + (this.emitter = t), + (this._stateResolver = n), + (this._options = r), + (this._configFactory = i), + (this._wrapperFactory = o), + (this._layoutComponentsFactory = a), + (this._maximizedId = "__glMaximised"), + (this.getImmediateChildEmptyWindow = function (e) { + return "component" === e.type + ? e.config.componentName === se + ? e + : void 0 + : "stack" === e.type + ? e.getComponentsByName(se)[0] + : e.contentItems.reduce( + function (e, t) { + return ( + e || + ("component" === t.type + ? t.config.componentName === se + ? t + : void 0 + : t.contentItems.find(function (e) { + return ( + "component" === e.type && + e.config.componentName === se + ); + })) + ); + }, + void 0 + ); + })); + } + return ( + x(e, [ + { + key: "bounds", + get: function () { + return Z(document.getElementById("outter-layout-container")); + } + }, + { + key: "init", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (this._frameId = e.frameId), + (this._showLoadingIndicator = + e.showLoadingIndicator), + (this._tabObserver = new _e()), + this._tabObserver.init(), + (t.next = 6), + this.initWorkspaceConfig( + e.workspaceLayout + ) + ); + case 6: + return ( + this.refreshLayoutSize(), + (t.next = 9), + Promise.all( + e.workspaceConfigs.map( + function (e) { + return q( + n, + void 0, + void 0, + s().mark( + function t() { + return s().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + return ( + (t.next = 2), + this.initWorkspaceContents( + e.id, + e.config, + !1 + ) + ); + case 2: + this.emitter.raiseEvent( + "workspace-added", + { + workspace: + ae.getById( + e.id + ) + } + ); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + } + ) + ); + } + ) + ) + ); + case 9: + (this.setupOuterLayout(), + ae.workspaceIds.forEach( + function (e) { + n.setupContentLayouts( + e + ); + } + )); + case 11: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "reinit", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + this.reinitWorkspaceConfig( + e.workspaceLayout + ), + this.refreshLayoutSize(), + (t.next = 4), + Promise.all( + e.workspaceConfigs.map( + function (e) { + return q( + n, + void 0, + void 0, + s().mark( + function t() { + return s().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + return ( + (t.next = 2), + this.initWorkspaceContents( + e.id, + e.config, + !1 + ) + ); + case 2: + this.emitter.raiseEvent( + "workspace-added", + { + workspace: + ae.getById( + e.id + ) + } + ); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + } + ) + ); + } + ) + ) + ); + case 4: + (this._tabObserver.refreshTabsMaxWidth( + ae.workspaceLayoutHeader + .tabsContainer + ), + ae.workspaceIds.forEach( + function (e) { + n.setupContentLayouts( + e + ); + } + )); + case 6: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "addWindow", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + a, + c, + u, + d, + l, + p = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ( + ((t = + t || + K( + ae.workspaceLayout.root.contentItems[0].getActiveContentItem() + .config.id + )), + (r = ae.getByContainerId(t)), + !this._stateResolver.isWorkspaceHibernated( + r.id + )) + ) { + n.next = 4; + break; + } + throw new Error( + "Could not add window to ".concat( + r.id, + " because its hibernated" + ) + ); + case 4: + if (r.layout) { + n.next = 9; + break; + } + return ( + this.hideAddButton(r.id), + (n.next = 8), + this.initWorkspaceContents( + r.id, + e, + !0 + ) + ); + case 8: + return n.abrupt("return"); + case 9: + return ( + (i = + r.layout.root.getItemsByFilter( + function (e) { + return ( + e.isColumn || + e.isRow + ); + } + )[0]), + t && + t !== r.id && + (i = + r.layout.root.getItemsById( + t + )[0]), + i || + (i = + r.layout.root.getItemsByFilter( + function (e) { + return e.isStack; + } + )[0]), + (a = + this.getWindowInfoFromConfig( + e + )), + (c = a.placementId), + a.windowId, + a.url, + a.appName, + this._layoutComponentsFactory.registerWindowComponent( + r.layout, + K(c) + ), + (u = + this.getImmediateChildEmptyWindow( + i + )), + (d = ae.getWorkspaceContentItem( + r.id + )), + (l = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: r, + workspaceContentItem: + d + } + )), + "component" === e.type + ? this.applyLockConfig( + e, + i, + l, + t === r.id + ) + : [] + .concat( + o(Y(e.content)), + [e] + ) + .forEach( + function (e) { + p.applyLockConfig( + e, + i, + l, + t === r.id + ); + } + ), + n.abrupt( + "return", + new Promise(function (t) { + var n, + o, + a = + p.emitter.onContentComponentCreated( + function ( + e + ) { + e.config + .id === + c && + (a(), + t()); + } + ); + if ( + ("stack" === + r.layout.root + .contentItems[0] + .type && + "component" !== + e.type && + (e = Q([e])[0]), + u && + u.parent && + !(null === + (n = + u.parent + .config + .workspacesConfig) || + void 0 === n + ? void 0 + : n.wrapper)) + ) { + var s = + p._configFactory.wrapInGroup( + [e] + ); + s.workspacesConfig.wrapper = + !1; + var d = z( + (null === + (o = + u.parent + .config) || + void 0 === o + ? void 0 + : o.workspacesConfig) || + {}, + ["wrapper"] + ); + return ( + (s.workspacesConfig = + Object.assign( + Object.assign( + {}, + s.workspacesConfig + ), + d + )), + u.parent.parent.replaceChild( + u.parent, + s + ), + void (r.windows = + r.windows.filter( + function ( + e + ) { + return ( + e.id !== + K( + u + .config + .id + ) + ); + } + )) + ); + } + if (u) + return ( + u.parent.replaceChild( + u, + e + ), + void (r.windows = + r.windows.filter( + function ( + e + ) { + return ( + e.id !== + K( + u + .config + .id + ) + ); + } + )) + ); + i.addChild(e); + }) + ) + ); + case 19: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "addContainer", + value: function (e, t) { + var n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, + a, + c, + u, + d, + l, + p, + h, + f = this; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + ((i = ae.getByContainerId(t)), + !this._stateResolver.isWorkspaceHibernated( + i.id + )) + ) { + r.next = 3; + break; + } + throw new Error( + "Could not add container to ".concat( + i.id, + " because its hibernated" + ) + ); + case 3: + if (i.layout) { + r.next = 10; + break; + } + return ( + (a = + e.id || + this._configFactory.getId()), + e && (e.id = a), + this.hideAddButton(i.id), + (r.next = 9), + this.initWorkspaceContents( + i.id, + e, + !0 + ) + ); + case 9: + return r.abrupt("return", K(a)); + case 10: + if ( + ((c = + i.layout.root.getItemsByFilter( + function (e) { + return ( + e.isColumn || + e.isRow + ); + } + )[0]), + t && + (c = + i.layout.root.getItemsById( + t + )[0]), + c || + (c = + i.layout.root.getItemsByFilter( + function (e) { + return e.isStack; + } + )[0]), + i.id === t && + ("column" === e.type || + "stack" === e.type + ? this.bundleWorkspace( + i.id, + "row" + ) + : "row" === e.type && + this.bundleWorkspace( + i.id, + "column" + ), + (c = + i.layout.root + .contentItems[0])), + e.content && + Q(e.content).forEach( + function (e) { + f._layoutComponentsFactory.registerWindowComponent( + i.layout, + K(e.id) + ); + } + ), + e.content && + ((u = [].concat( + o(Y(e.content)), + [e] + )), + (d = + ae.getWorkspaceContentItem( + i.id + )), + (l = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: i, + workspaceContentItem: + d + } + )), + u.forEach(function (e) { + f.applyLockConfig( + e, + c, + l, + t === i.id + ); + })), + "component" !== c.type) + ) { + r.next = 18; + break; + } + throw new Error( + "The target item for add container can't be a component" + ); + case 18: + return ( + (p = c.contentItems.find( + function (e) { + return ( + "stack" === + e.type && + !0 === + e.config + .workspacesConfig + .wrapper + ); + } + )), + (h = + (null === + (n = + null === p || + void 0 === p + ? void 0 + : p + .contentItems[0]) || + void 0 === n + ? void 0 + : n.config + .componentName) === + se), + r.abrupt( + "return", + new Promise(function ( + t, + n + ) { + var r = function () {}, + o = setTimeout( + function () { + (r(), + n( + "Component with id ".concat( + e.id, + " could not be created in 10000ms" + ) + )); + }, + 1e4 + ); + if ( + ((r = + f.emitter.onContentItemCreated( + function ( + n, + a + ) { + n === + i.id && + a.type === + e.type && + (t( + K( + a + .config + .id + ) + ), + r(), + clearTimeout( + o + )); + } + )), + 1 === + (null === p || + void 0 === p + ? void 0 + : p + .contentItems + .length) && + h) + ) { + var a = + c.getComponentsByName( + se + )[0]; + ((i.windows = + i.windows.filter( + function ( + e + ) { + return ( + e.id !== + a + .config + .id + ); + } + )), + a.parent.replaceChild( + a, + e + )); + } else c.addChild(e); + }) + ) + ); + case 21: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "closeContainer", + value: function (e) { + var t = ae.getByContainerId(e) || ae.getByWindowId(e); + if (!t) + throw new Error( + "Could not find container ".concat( + e, + " to close in any workspace" + ) + ); + var n = t.layout.root.getItemsById(e)[0]; + n.parent.isRoot ? this.resetWorkspace(t.id) : n.remove(); + } + }, + { + key: "bundleWorkspace", + value: function (e, t) { + var n = this, + r = ae.getById(e), + i = r.layout.root.contentItems.map(function (e) { + var t; + return null === + (t = n._wrapperFactory.getContainerWrapper({ + itemId: e.config.id + })) || void 0 === t + ? void 0 + : t.config; + }), + o = r.layout.root.contentItems[0], + a = { type: t, content: i, workspacesConfig: {} }; + r.layout.root.replaceChild(o, a); + } + }, + { + key: "bundleItem", + value: function (e, t) { + var n, + r = ae.getContainer(e); + if (!r) + throw new Error( + "Cannot find item " + .concat(e, " to bundle it into a ") + .concat(t) + ); + if (r.parent.type === t) + throw new Error( + "Cannot bundle item " + .concat(e, " to ") + .concat(t, " because its parent is a ") + .concat(r.parent.type) + ); + var i = { + type: t, + content: [ + null === + (n = this._wrapperFactory.getContainerWrapper({ + itemId: e + })) || void 0 === n + ? void 0 + : n.config + ], + workspacesConfig: {} + }; + r.parent.replaceChild(r, i); + } + }, + { + key: "hideAddButton", + value: function (e) { + $("#".concat(oe(e))) + .children(".add-button") + .hide(); + } + }, + { + key: "showAddButton", + value: function (e) { + $("#".concat(oe(e))) + .children(".add-button") + .show(); + } + }, + { + key: "addWorkspace", + value: function (e, t) { + var n, r, i, o; + return q( + this, + void 0, + void 0, + s().mark(function a() { + var c, + u, + d, + l, + p, + h, + f, + v = this; + return s().wrap( + function (a) { + for (;;) + switch ((a.prev = a.next)) { + case 0: + if ( + ((c = + ae.workspaceLayout.root.getItemsByFilter( + function (e) { + return e.isStack; + } + )[0]), + (u = { + componentName: + this._configFactory.getWorkspaceLayoutComponentName( + e + ), + type: "component", + workspacesConfig: + Object.assign( + {}, + t.workspacesOptions + ), + id: e, + noTabHeader: + null === + (n = + null === t || + void 0 === t + ? void 0 + : t.workspacesOptions) || + void 0 === n + ? void 0 + : n.noTabHeader, + title: + (null === + (r = + null === t || + void 0 === t + ? void 0 + : t.workspacesOptions) || + void 0 === r + ? void 0 + : r.title) || + this._configFactory.getWorkspaceTitle( + this._stateResolver.getWorkspaceTitles() + ) + }), + (d = !0), + !0 === u.noTabHeader + ? (d = !1) + : "boolean" === + typeof t + .workspacesOptions + .selected && + (d = + t.workspacesOptions + .selected), + this._layoutComponentsFactory.registerWorkspaceComponent( + e + ), + (l = + null === + (i = + t.workspacesOptions) || + void 0 === i + ? void 0 + : i.positionIndex), + null === + (o = t.workspacesOptions) || + void 0 === o || + delete o.positionIndex, + !(l < 0)) + ) { + a.next = 9; + break; + } + throw new Error( + "Cannot place the workspace on index ".concat( + l, + " because its negative" + ) + ); + case 9: + if ( + ((p = + c.header._getLastIndexOfPinnedTab()), + !(l <= p) || + t.workspacesOptions + .isPinned) + ) { + a.next = 12; + break; + } + throw new Error( + "Cannot place and unpinned workspace before the last pinned workspace at position ".concat( + p + ) + ); + case 12: + return ( + c.addChild(u, l, d), + (a.next = 15), + this.initWorkspaceContents( + e, + t, + !1 + ) + ); + case 15: + ((h = + ae.getWorkspaceContentItem(e)), + !1 === + (f = + this._wrapperFactory.getWorkspaceWrapper( + { + workspaceId: e, + workspaceContentItem: + h + } + )).showCloseButton && + xe.hideWorkspaceCloseButton( + { workspaceTab: h.tab } + ), + !1 === f.showSaveButton && + xe.hideWorkspaceSaveButton({ + workspaceTab: h.tab + }), + f.isPinned && + (xe.replaceWorkspaceSaveButtonWithIcon( + { + workspaceTab: h.tab, + icon: f.icon + } + ), + xe + .waitForTransition( + h.tab.element[0] + ) + .then(function () { + v._tabObserver.refreshTabsMaxWidth( + h.parent.header + .tabsContainer + ); + })), + this.setupContentLayouts(e)); + case 21: + case "end": + return a.stop(); + } + }, + a, + this + ); + }) + ); + } + }, + { + key: "reinitializeWorkspace", + value: function (e, t) { + var n, + r, + i = ae.getWorkspaceContentItem(e); + return ( + ae.removeLayout(e), + (null === (n = t.workspacesOptions) || void 0 === n + ? void 0 + : n.reuseWorkspaceId) && + delete t.workspacesOptions.reuseWorkspaceId, + (null === (r = t.workspacesOptions) || void 0 === r + ? void 0 + : r.title) && + this.setWorkspaceTitle( + K(i.config.id), + t.workspacesOptions.title + ), + this.initWorkspaceContents(e, t, !1) + ); + } + }, + { + key: "removeWorkspace", + value: function (e) { + var t = ae.getWorkspaceLayoutItemById(e); + if (!t) + throw new Error( + "Could not find workspace to remove with id ".concat(e) + ); + (ae.getById(e) && ae.removeLayout(e), + ae.removeById(e), + t.remove()); + } + }, + { + key: "resetWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + (((n = + ae.getById( + e + )).hibernatedWindows = []), + n.windows + .filter(function (e) { + return ( + e.appName || + e.windowId + ); + }) + .forEach(function (e) { + var t = + ae.getWindowContentItem( + e.id + ); + t && + r.emitter.raiseEvent( + "tab-close-requested", + { item: t } + ); + }), + n.layout.root + .getItemsByType("component") + .forEach(function (e) { + e.remove(); + }), + ae.removeLayout(n.id), + this.showAddButton(n.id)); + case 7: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "getDragElement", + value: function () { + return $(".lm_dragProxy")[0]; + } + }, + { + key: "setDragElementSize", + value: function (e, t) { + var n = this, + r = this.getDragElement(); + if (r) { + (r.setAttribute("width", "".concat(e, "px")), + r.setAttribute("height", "".concat(t, "px"))); + var i = $(r) + .children(".lm_content") + .children(".lm_item_container")[0]; + (i.setAttribute("width", "".concat(e, "px")), + i.setAttribute("height", "".concat(t, "px")), + i.setAttribute("style", "")); + } else { + var o = new MutationObserver(function (r) { + var i; + (Array.from(r).forEach(function (e) { + var t = $(e.addedNodes); + i || (i = t.find(".lm_dragProxy")); + }), + i && (o.disconnect(), n.setDragElementSize(e, t))); + }); + o.observe($("body")[0], { childList: !0, subtree: !0 }); + } + } + }, + { + key: "removeLayoutElement", + value: function (e) { + var t; + return ( + ae.layouts + .filter(function (e) { + return e.layout; + }) + .forEach(function (n) { + var r = n.layout.root.getItemsById(e)[0]; + r && + n.windows.find(function (t) { + return t.id === e; + }) && + ((n.windows = n.windows.filter(function (t) { + return t.id !== e; + })), + r.remove(), + (t = n)); + }), + t + ); + } + }, + { + key: "setWindowTitle", + value: function (e, t) { + var n = ae.getWindowContentItem(e); + if (!n) + throw new Error( + "Could not find window " + .concat(e, " to change its title to ") + .concat(t) + ); + (n.setTitle(t), + (n.config.componentState.title = t), + be.decoratedFactory.updateWorkspaceWindowTabs({ + placementId: K(n.config.id), + title: t + })); + } + }, + { + key: "setWorkspaceTitle", + value: function (e, t) { + (ae.getWorkspaceLayoutItemById(e).setTitle(t), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: e, + title: t + })); + } + }, + { + key: "focusWindow", + value: function (e) { + var t = ae.getByWindowId(e); + if (!t) + throw new Error( + "Could not find workspace for window ".concat(e) + ); + if (this._stateResolver.isWorkspaceHibernated(t.id)) + throw new Error( + "Could not focus window " + .concat(e, " because the workspace ") + .concat(t.id, " is hibernated") + ); + var n = t.layout.root.getItemsById(e)[0]; + n.parent.setActiveContentItem(n); + } + }, + { + key: "focusWorkspace", + value: function (e) { + var t = ae.getWorkspaceLayoutItemById(e); + t.parent.setActiveContentItem(t); + } + }, + { + key: "maximizeWindow", + value: function (e) { + var t = ae.getByWindowId(e); + if (!t) + throw new Error( + "Could not find workspace for window ".concat(e) + ); + if (this._stateResolver.isWorkspaceHibernated(t.id)) + throw new Error( + "Could not maximize window " + .concat(e, " because the workspace ") + .concat(t.id, " is hibernated") + ); + var n = t.layout.root.getItemsById(e)[0]; + n.parent.hasId(this._maximizedId) || + (n.parent.layoutManager._$maximiseItem(n.parent), + (n.parent.isMaximized = n.parent.hasId("__glMaximised"))); + } + }, + { + key: "restoreWindow", + value: function (e) { + var t = ae.getByWindowId(e); + if (!t) + throw new Error( + "Could not find workspace for window ".concat(e) + ); + if (this._stateResolver.isWorkspaceHibernated(t.id)) + throw new Error( + "Could not restore window " + .concat(e, " because the workspace ") + .concat(t.id, " is hibernated") + ); + var n = t.layout.root.getItemsById(e)[0]; + n.parent.hasId(this._maximizedId) && + (n.parent.layoutManager._$minimiseItem(n.parent), + (n.parent.isMaximized = n.parent.hasId("__glMaximised"))); + } + }, + { + key: "maximizeContainer", + value: function (e) { + var t = ae.getContainer(e); + if (!t) + throw new Error( + "Could not find item " + .concat(e, " in frame ") + .concat(this._frameId) + ); + t.hasId("__glMaximised") || + (t.layoutManager._$maximiseItem(t), + (t.isMaximized = t.hasId("__glMaximised"))); + } + }, + { + key: "restoreContainer", + value: function (e) { + var t = ae.getContainer(e); + if (!t) + throw new Error( + "Could not find item " + .concat(e, " in frame ") + .concat(this._frameId) + ); + t.hasId("__glMaximised") && + (t.layoutManager._$minimiseItem(t), + (t.isMaximized = t.hasId("__glMaximised"))); + } + }, + { + key: "showLoadedWindow", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i, o; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this.waitForWindowContainer(e) + ); + case 2: + ((r = ae.getWindowContentItem(e)), + (i = ae.getByWindowId(e)), + ((o = + r.config).componentState.windowId = + t), + (i.windows.find(function (t) { + return t.id === e; + }).windowId = t), + r.parent.replaceChild(r, o)); + case 8: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "isWindowVisible", + value: function (e) { + e = K(e); + var t = ae.getWindowContentItem(e).parent; + return ( + 1 === t.contentItems.length || + t.getActiveContentItem().config.id === e + ); + } + }, + { + key: "showHibernationIcon", + value: function (e) { + var t, + n = + null === (t = ae.getWorkspaceContentItem(e)) || + void 0 === t + ? void 0 + : t.tab; + if (n) { + var r = n.element.children(".lm_saveButton"); + (r.addClass("lm_hibernationIcon"), + r.attr("title", "hibernated")); + } + } + }, + { + key: "showSaveIcon", + value: function (e) { + var t, + n = + null === (t = ae.getWorkspaceContentItem(e)) || + void 0 === t + ? void 0 + : t.tab; + if (n) { + var r = n.element.children(".lm_saveButton"); + (r.removeClass("lm_hibernationIcon"), + r.attr("title", "save")); + } else console.error("Could not find the tab for", e); + } + }, + { + key: "hideLoadingIndicator", + value: function (e) { + var t = ae.getWindowContentItem(e); + if (null === t || void 0 === t ? void 0 : t.tab) { + var n = + t.tab.element[0].getElementsByClassName( + "lm_hibernationIcon" + )[0]; + null === n || void 0 === n || n.remove(); + } + } + }, + { + key: "refreshWorkspaceSize", + value: function (e) { + var t = document.getElementById(oe(e)), + n = ae.getById(e); + if (t && (null === n || void 0 === n ? void 0 : n.layout)) { + var r = Z(t); + n.layout.updateSize(r.width, r.height); + } + } + }, + { + key: "resizeRow", + value: function (e, t) { + var n = e.getItemsByType("component")[0], + r = this.validateRowHeight(e, t); + if (r) { + if ("number" === typeof t) r -= te(n.parent.header.element); + this.resizeComponentCore(n, void 0, r); + } + } + }, + { + key: "resizeColumn", + value: function (e, t) { + var n = e.getItemsByType("component")[0], + r = this.validateColumnWidth(e, t); + r && this.resizeComponentCore(n, r); + } + }, + { + key: "resizeStack", + value: function (e, t, n) { + var r = this.validateStackWidth(e, t), + i = this.validateStackHeight(e, n), + o = e.getItemsByType("component")[0]; + "number" === typeof i && (i -= te(o.parent.header.element)); + this.resizeComponentCore(o, r, i); + } + }, + { + key: "resizeComponent", + value: function (e, t, n) { + this.resizeComponentCore(e, t, n); + } + }, + { + key: "togglePinWorkspace", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).isPinned + ? this.unpinWorkspace(e) + : this.pinWorkspace(e, void 0); + } + }, + { + key: "pinWorkspace", + value: function (e, t) { + var n = this, + r = ae.getWorkspaceContentItem(e), + i = this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e, + workspaceContentItem: r + }), + o = t || i.icon; + if (!o) + throw new Error( + "Workspace " + .concat(e, " cannot be pinned because ") + .concat(o, " is an invalid icon") + ); + (r.tab.pin(), + t && (i.icon = t), + xe.replaceWorkspaceSaveButtonWithIcon({ + workspaceTab: r.tab, + icon: o + }), + xe.waitForTransition(r.tab.element[0]).then(function () { + n._tabObserver.refreshTabsMaxWidth( + r.parent.header.tabsContainer + ); + }), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: e, + icon: t, + isPinned: !0 + })); + } + }, + { + key: "unpinWorkspace", + value: function (e) { + var t = this, + n = ae.getWorkspaceContentItem(e), + r = this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e, + workspaceContentItem: n + }); + (n.tab.unpin(), + r.showSaveButton && + xe.showWorkspaceSaveButton({ workspaceTab: n.tab }), + r.showCloseButton || + xe.hideWorkspaceCloseButton({ workspaceTab: n.tab }), + xe.hideWorkspaceIconButton({ workspaceTab: n.tab }), + xe.waitForTransition(n.tab.element[0]).then(function () { + t._tabObserver.refreshTabsMaxWidth( + n.parent.header.tabsContainer + ); + }), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: e, + isPinned: !1 + })); + } + }, + { + key: "hideWorkspaceRootItem", + value: function (e) { + xe.hideWorkspaceRootItem(e); + } + }, + { + key: "showWorkspaceRootItem", + value: function (e) { + xe.showWorkspaceRootItem(e, this._tabObserver); + } + }, + { + key: "refreshTabSizes", + value: function (e) { + var t, n, r; + (null !== + (r = + null === + (n = + null === (t = ae.getById(e)) || void 0 === t + ? void 0 + : t.layout) || void 0 === n + ? void 0 + : n.root.getItemsByType("stack")) && void 0 !== r + ? r + : [] + ).forEach(function (e) { + var t; + return null === (t = e.header) || void 0 === t + ? void 0 + : t._updateTabSizesWithoutDropdown(); + }); + } + }, + { + key: "resizeComponentCore", + value: function (e, t, n) { + var r = this.validateComponentWidth(e, t), + i = this.validateComponentHeight(e, n); + if ("number" === typeof r) { + var o = e.container.setSize(r, void 0); + if ((e.container.setSize(r, void 0), !o)) + throw new Error( + "Failed to resize window " + .concat(e.config.id, " to ") + .concat( + r, + " width.\n This is most likely caused by a missing row parent element - to change the width please make sure that there is a row element" + ) + ); + } + if ("number" === typeof i) { + var a = e.container.setSize(void 0, i); + if ((e.container.setSize(void 0, i), !a)) + throw new Error( + "Failed to resize component " + .concat(e.config.id, " to ") + .concat( + i, + " height.\n This is most likely caused by a missing column parent element - to change the height please make sure that there is a column element" + ) + ); + } + } + }, + { + key: "validateRowHeight", + value: function (e, t) { + if (t) { + var n = e.parent, + r = n.getMaxHeight(), + i = e.getMaxHeight(), + o = e.getMinHeight(), + a = Z(n.element).height, + s = + a - + n.contentItems + .filter(function (t) { + return t !== e; + }) + .reduce(function (e, t) { + return (e += t.getMinHeight()); + }, 0); + if (!(s <= 0)) { + var c = n.contentItems + .filter(function (t) { + return t !== e; + }) + .reduce(function (e, t) { + return (e += t.getMaxHeight()); + }, 0), + u = Math.max(a - c, 0), + d = Math.min(r, i, s), + l = Math.max(u, o); + if (!(d < l)) return Math.min(Math.max(l, t), d); + } + } + } + }, + { + key: "validateColumnWidth", + value: function (e, t) { + if (t) { + var n = e.parent, + r = n.getMaxWidth(), + i = e.getMaxWidth(), + o = e.getMinWidth(), + a = Z(n.element).width, + s = + a - + n.contentItems + .filter(function (t) { + return t !== e; + }) + .reduce(function (e, t) { + return (e += t.getMinWidth()); + }, 0); + if (!(s <= 0)) { + var c = n.contentItems + .filter(function (t) { + return t !== e; + }) + .reduce(function (e, t) { + return (e += t.getMaxWidth()); + }, 0), + u = Math.max(a - c, 0), + d = Math.min(r, i, s), + l = Math.max(u, o); + if (!(d < l)) return Math.min(Math.max(l, t), d); + } + } + } + }, + { + key: "validateStackHeight", + value: function (e, t) { + if (t) { + var n = e.getMaxHeight(), + r = e.getMinHeight(); + if (!(n < r)) return Math.min(Math.max(r, t), n); + } + } + }, + { + key: "validateStackWidth", + value: function (e, t) { + if (t) { + var n = e.getMaxWidth(), + r = e.getMinWidth(); + if (!(n < r)) return Math.min(Math.max(r, t), n); + } + } + }, + { + key: "validateComponentHeight", + value: function (e, t) { + if (t) { + var n = e.getMaxHeight(), + r = e.getMinHeight(); + if (!(n < r)) return Math.min(Math.max(r, t), n); + } + } + }, + { + key: "validateComponentWidth", + value: function (e, t) { + if (t) { + var n = e.getMaxWidth(), + r = e.getMinWidth(); + if (!(n < r)) return Math.min(Math.max(r, t), n); + } + } + }, + { + key: "initWorkspaceContents", + value: function (e, t, n) { + var r = this; + if (!t || ("component" !== t.type && !t.content.length)) + return ( + ae.addOrUpdate(e, []), + this.showAddButton(e), + Promise.resolve() + ); + var i = (function (e, t) { + var n, + r, + i = 0, + o = setTimeout(function () { + r(); + }, t || 1e4); + return { + reject: function (e) { + (clearTimeout(o), r(e)); + }, + signal: function () { + ++i >= e && (clearTimeout(o), n()); + }, + promise: new Promise(function (e, t) { + ((n = e), (r = t)); + }) + }; + })(2); + (t.settings || + (t.settings = + this._configFactory.getDefaultWorkspaceSettings()), + t.type && + "workspace" !== t.type && + (t = { + settings: + this._configFactory.getDefaultWorkspaceSettings(), + content: [t] + })); + var o = ae.getWorkspaceContentItem(e), + a = o.config.workspacesConfig, + s = t.workspacesOptions, + c = n ? Object.assign({}, a, s) : s; + ("boolean" === typeof c.selected && delete c.selected, + (o.config.workspacesConfig = c), + (t.workspacesOptions = c), + (t.workspacesOptions.workspaceId = e)); + var u = new V(t, $("#".concat(oe(e))), be.decoratedFactory); + (ae.addOrUpdate(e, []), + this._layoutComponentsFactory.registerEmptyWindowComponent( + u, + e + ), + Q(t.content).forEach(function (e) { + r._layoutComponentsFactory.registerWindowComponent( + u, + K(e.id) + ); + })); + var d = $("#".concat(oe(e))); + return ( + new Ce(function () { + r.emitter.raiseEvent("workspace-container-resized", { + workspaceId: e + }); + }).observe(d[0]), + u.on("initialised", function () { + var t = Q(u.toConfig().content); + (ae.addOrUpdate( + e, + t.map(function (e) { + var t = u.root.getItemsById(K(e.id))[0].element; + return { + id: K(e.id), + bounds: Z(t), + windowId: e.componentState.windowId + }; + }), + u + ), + r.emitter.raiseEvent("content-layout-init", { + layout: u + })); + var n = Z(d); + (u.updateSize(n.width, n.height), i.signal()); + }), + u.on("stateChanged", function () { + r.emitter.raiseEvent("content-layout-state-changed", { + layoutId: e + }); + }), + u.on("itemCreated", function (t) { + var n, i; + if (t.isComponent) + (t.on("size-changed", function () { + var n = ae + .getById(e) + .windows.find(function (e) { + return e.id === t.config.id; + }); + n && (n.bounds = Z(t.element)); + var i = t.config.id; + r.emitter.raiseEvent("content-item-resized", { + target: t.element[0], + id: K(i) + }); + }), + (t.config.componentName === se || + (null === (n = t.parent) || void 0 === n + ? void 0 + : n.config.workspacesConfig.wrapper)) && + (null === (i = t.tab) || + void 0 === i || + i.header.position(!1))); + else { + if (t.isRoot) + return void ( + (t.id && t.id.length) || + t.addId(e) + ); + ((t.config.id && t.config.id.length) || + t.addId(r._configFactory.getId()), + ("row" !== t.type && + "column" !== t.type && + "stack" !== t.type) || + (t.on("maximized", function () { + r.emitter.raiseEvent( + "container-maximized", + { container: t } + ); + }), + t.on("minimized", function () { + r.emitter.raiseEvent( + "container-restored", + { container: t } + ); + }))); + } + r.emitter.raiseEvent("content-item-created", { + workspaceId: e, + item: t + }); + }), + u.on("itemDestroyed", function (t) { + (r.emitter.raiseEvent("content-item-removed", { + workspaceId: e, + item: t + }), + "component" === t.type && + r._layoutComponentsFactory.unregisterWindowComponent( + u, + t.config.componentName + )); + }), + u.on("stackCreated", function (e) { + var t = r._wrapperFactory.getContainerWrapper({ + containerContentItem: e + }); + (!1 === t.showMaximizeButton && + r.hideMaximizeButton(e, t.id), + !1 === + u.config.workspacesOptions.showEjectButtons && + !0 !== t.showEjectButton && + r.hideEjectButton(e, t.id), + !1 === t.showEjectButton && + r.hideEjectButton(e, t.id), + !1 === + u.config.workspacesOptions + .showAddWindowButtons && + !0 !== t.showAddWindowButton && + r.hideAddWindowButton(e, t.id), + !1 === t.showAddWindowButton && + r.hideAddWindowButton(e, t.id), + e.on("activeContentItemChanged", function () { + var t = e.getActiveContentItem(); + if (t.isComponent) { + var n = t.config.id, + i = [ + { + id: K(t.config.id), + bounds: Z(t.element), + windowId: + t.config.componentState + .windowId, + appName: + t.config.componentState + .appName, + url: t.config.componentState.url + } + ], + o = e.header.tabs + .reduce(function (e, t) { + var n = t.contentItem.config; + if ("component" === n.type) { + var r = { + id: K(n.id), + bounds: Z( + t.contentItem + .element + ), + windowId: + n.componentState + .windowId, + appName: + n.componentState + .appName, + url: n.componentState + .url + }; + e.push(r); + } + return e; + }, []) + .filter(function (e) { + return e.id !== n; + }); + (r.emitter.raiseEvent( + "tab-selection-changed", + { item: t } + ), + r.emitter.raiseEvent( + "selection-changed", + { toBack: o, toFront: i } + )); + } + }), + e.on("popoutRequested", function () { + var t = e.getActiveContentItem(); + r.emitter.raiseEvent("eject-requested", { + item: t + }); + })); + }), + u.on("tabCreated", function (e) { + if ( + (e._dragListener.on("drag", function () { + r.emitter.raiseEvent("tab-drag", { tab: e }); + }), + e._dragListener.on("dragStart", function () { + r.emitter.raiseEvent("tab-drag-start", { + tab: e + }); + }), + e._dragListener.on("dragStop", function () { + r.emitter.raiseEvent("tab-drag-end", { + tab: e + }); + }), + e.element.on("mousedown", function () { + r.emitter.raiseEvent("tab-element-mouse-down", { + tab: e + }); + }), + r.refreshTabSizeClass(e), + r._showLoadingIndicator && + "component" === + (null === e || void 0 === e + ? void 0 + : e.contentItem.type) && + !r._stateResolver.isWindowLoaded( + e.contentItem.config.id + )) + ) { + var t = document.createElement("div"); + (t.classList.add( + "lm_saveButton", + "lm_hibernationIcon" + ), + e.element[0].prepend(t)); + } + }), + u.on("tabCloseRequested", function (e) { + r.emitter.raiseEvent("tab-close-requested", { + item: e.contentItem + }); + }), + u.on("componentCreated", function (t) { + var n = r.emitter.raiseEvent( + "content-component-created", + { component: t, workspaceId: e } + ); + Array.isArray(n) + ? Promise.all(n) + .then(function () { + i.signal(); + }) + .catch(function (e) { + return i.reject(e); + }) + : n + .then(function () { + i.signal(); + }) + .catch(function (e) { + return i.reject(e); + }); + }), + u.on("activeContentItemChanged", function (t) { + r.emitter.raiseEvent( + "workspace-global-selection-changed", + { component: t, workspaceId: e } + ); + }), + u.on("itemDropped", function (e) { + r.emitter.raiseEvent("item-dropped", { item: e }); + }), + (u._ignorePinned = !0), + u.init(), + i.promise.then(function () { + u._ignorePinned = !1; + }) + ); + } + }, + { + key: "initWorkspaceConfig", + value: function (e) { + var t = this; + return new Promise(function (n) { + ((e.settings.selectionEnabled = !0), + (ae.workspaceLayout = new V( + e, + $(xe.getFrameLayoutContainer()), + be.decoratedFactory + )), + new Ce(function (e) { + Array.from(e).forEach(function (e) { + t.emitter.raiseEvent( + "outer-layout-container-resized", + { target: e.target } + ); + }); + }).observe($("#outter-layout-container")[0]), + t.registerWorkspaceComponents(e), + ae.workspaceLayout.on("initialised", function () { + (t.emitter.raiseEvent( + "workspace-layout-initialised", + {} + ), + ae.workspaceLayout.root + .getItemsByType("stack")[0] + .header.tabs.forEach(function (e) { + var n, + r, + i, + o = + t._wrapperFactory.getWorkspaceWrapper( + { + workspace: void 0, + workspaceContentItem: + e.contentItem + } + ); + (o.isPinned && + (xe.replaceWorkspaceSaveButtonWithIcon( + { + workspaceTab: e, + icon: o.icon + } + ), + xe + .waitForTransition(e.element[0]) + .then(function () { + t._tabObserver.refreshTabsMaxWidth( + e.contentItem.parent + .header + .tabsContainer + ); + })), + (null === + (i = + null === + (r = + null === + (n = + e.contentItem) || + void 0 === n + ? void 0 + : n.config) || + void 0 === r + ? void 0 + : r.workspacesConfig) || + void 0 === i + ? void 0 + : i.selected) && + delete e.contentItem.config + .workspacesConfig.selected); + }), + n()); + }), + ae.workspaceLayout.on("stackCreated", function (e) { + var n = + e.header.controlsContainer.children( + ".lm_close" + )[0]; + n && + (n.onclick = function () { + t.emitter.raiseEvent("close-frame", {}); + }); + var r = e.header.element[0]; + (new MutationObserver(function () { + var e = t.getElementByClass(r, "lm_add_button"); + e && + be.decoratedFactory.createAddWorkspace && + (e.onclick = function (n) { + (n.stopPropagation(), + t.emitter.raiseEvent( + "workspace-add-button-clicked", + { bounds: Z(e) } + )); + }); + }).observe(e.header.element[0], { + attributes: !1, + childList: !0, + subtree: !0 + }), + e.on("activeContentItemChanged", function () { + return q( + t, + void 0, + void 0, + s().mark(function t() { + var n, r, i, a; + return s().wrap( + function (t) { + for (;;) + switch ( + (t.prev = t.next) + ) { + case 0: + if ( + 0 !== + ae + .workspaceIds + .length + ) { + t.next = 2; + break; + } + return t.abrupt( + "return" + ); + case 2: + return ( + (n = + e.getActiveContentItem()), + (r = + n.config + .id), + (t.next = 6), + this.waitForLayout( + K(r) + ) + ); + case 6: + ((i = + ae.workspaceIds.reduce( + function ( + e, + t + ) { + return [].concat( + o( + e + ), + o( + ae.getById( + t + ) + .windows + ) + ); + }, + [] + )), + (a = i), + this.emitter.raiseEvent( + "workspace-selection-changed", + { + workspace: + ae.getById( + r + ), + toBack: a + } + )); + case 9: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + })); + }), + ae.workspaceLayout.on("itemCreated", function (e) { + e.isComponent && + e.on("size-changed", function () { + (t.emitter.raiseEvent( + "workspace-content-container-resized", + { target: e, id: K(e.config.id) } + ), + t.emitter.raiseEventWithDynamicName( + "workspace-content-container-resized-".concat( + e.config.id + ), + e + )); + }); + }), + ae.workspaceLayout.on("tabCreated", function (e) { + var n = document.createElement("div"), + r = document.createElement("div"), + i = document.createElement("span"); + (r.classList.add("lm_iconButton"), + i.classList.add("lm_iconButtonContent"), + r.appendChild(i), + n.classList.add("lm_saveButton"), + (n.onclick = function (n) { + t.emitter.raiseEvent( + "workspace-save-requested", + { + workspaceId: K( + e.contentItem.config.id + ) + } + ); + }), + t._options.disableCustomButtons || + (be.decoratedFactory.createWorkspaceTabs || + (e.element[0].prepend(r), + e.element[0].prepend(n)), + (e.element[0].onclick = function (e) { + (-1 !== e.composedPath().indexOf(n) && + document.activeElement.blur(), + e.stopPropagation()); + })), + t.refreshTabSizeClass(e)); + var o = ae.getById(e.contentItem.config.id), + a = t._wrapperFactory.getWorkspaceWrapper({ + workspace: o, + workspaceContentItem: e.contentItem + }); + (!1 === a.showSaveButton && + xe.hideWorkspaceSaveButton({ workspaceTab: e }), + !1 === a.showCloseButton && + xe.hideWorkspaceCloseButton({ + workspaceTab: e + }), + e._dragListener.on("reorderStop", function () { + ae.syncWorkspaceOrder(); + })); + }), + ae.workspaceLayout.on( + "tabCloseRequested", + function (e) { + t.emitter.raiseEvent( + "workspace-tab-close-requested", + { + workspace: ae.getById( + e.contentItem.config.id + ) + } + ); + } + ), + ae.workspaceLayout.on("itemDestroyed", function (e) { + "component" === e.type && + t._layoutComponentsFactory.unregisterWorkspaceComponent( + e.config.componentName + ); + }), + ae.workspaceLayout.on("itemDestroyed", function (e) { + t.emitter.raiseEvent("workspace-tab-destroyed", { + workspaceId: K(e.config.id) + }); + }), + ae.workspaceLayout.init()); + }); + } + }, + { + key: "reinitWorkspaceConfig", + value: function (e) { + var t = e.content[0]; + if ("stack" !== t.type) + throw new Error( + "Cannot reinitialize the frame with config ".concat( + JSON.stringify(e) + ) + ); + (this.registerWorkspaceComponents(e), + ae.workspaceLayout.root + .getItemsByType("stack")[0] + .replaceChildren(t.content)); + } + }, + { + key: "setupOuterLayout", + value: function () { + this.emitter.onOuterLayoutContainerResized(function (e) { + var t = Z(e); + ae.workspaceLayout.updateSize(t.width, t.height); + }); + } + }, + { + key: "setupContentLayouts", + value: function (e) { + var t = this.emitter.onContentContainerResized(function (t) { + var n, + r = + null === (n = ae.getById(e)) || void 0 === n + ? void 0 + : n.layout; + if (r) { + var i = $("#".concat(oe(e))), + o = Z(i[0]); + r.updateSize(o.width, o.height); + } + }, e), + n = this.emitter.onWorkspaceTabDestroyed(function (r) { + r === e && (t(), n()); + }); + } + }, + { + key: "waitForLayout", + value: function (e) { + var t = this; + return new Promise(function (n) { + var r = t.emitter.onContentLayoutInit(function (t) { + t.root.config.id === e && (n(), r()); + }); + ae.getById(e) && (n(), r()); + }); + } + }, + { + key: "waitForWindowContainer", + value: function (e) { + var t = this; + return new Promise(function (n) { + var r = t.emitter.onContentComponentCreated(function (t) { + t.config.id === e && (n(), r()); + }); + ae.getWindowContentItem(e) && (n(), r()); + }); + } + }, + { + key: "getWindowInfoFromConfig", + value: function (e) { + return "component" !== e.type + ? this.getWindowInfoFromConfig(e.content[0]) + : { + placementId: K(e.id), + windowId: e.componentState.windowId, + appName: e.componentState.appName, + url: e.componentState.url + }; + } + }, + { + key: "refreshLayoutSize", + value: function () { + var e = xe.getFrameLayoutContainerBounds(); + ae.workspaceLayout.updateSize(e.width, e.height); + } + }, + { + key: "refreshTabSizeClass", + value: function (e) { + var t = e.header.tabs, + n = t + .map(function (e) { + return e.element; + }) + .some(function (e) { + return e.hasClass("lm_tab_small"); + }), + r = t + .map(function (e) { + return e.element; + }) + .some(function (e) { + return e.hasClass("lm_tab_mini"); + }); + (n && e.element.addClass("lm_tab_small"), + r && e.element.addClass("lm_tab_mini")); + } + }, + { + key: "getElementByClass", + value: function (e, t) { + var n = e.getElementsByClassName(t); + if (n.length > 1) + throw new Error( + "Multiple elements with class " + .concat(t, " in element with id ") + .concat(e.id, " and class ") + .concat(e.className, " are not supported") + ); + return n[0]; + } + }, + { + key: "applyLockConfig", + value: function (e, t, n, r) { + var i, + o, + a, + s, + c, + u = r ? n.allowDrop : t.config.workspacesConfig.allowDrop, + d = r + ? n.allowSplitters + : t.config.workspacesConfig.allowSplitters; + if ("stack" === e.type) { + if ( + ("undefined" === typeof e.workspacesConfig.allowDrop && + (e.workspacesConfig.allowDrop = + null !== (i = e.workspacesConfig.allowDrop) && + void 0 !== i + ? i + : u), + "undefined" === typeof e.workspacesConfig.allowExtract) + ) { + var l = n.allowExtract; + e.workspacesConfig.allowExtract = + null !== (o = e.workspacesConfig.allowExtract) && + void 0 !== o + ? o + : l; + } + if ( + "undefined" === typeof e.workspacesConfig.allowReorder + ) { + var p = n.allowWindowReorder; + e.workspacesConfig.allowReorder = + null !== (a = e.workspacesConfig.allowReorder) && + void 0 !== a + ? a + : p; + } + ("undefined" === + typeof e.workspacesConfig.showAddWindowButton && + (e.workspacesConfig.showAddWindowButton = + n.showAddWindowButtons), + "undefined" === + typeof e.workspacesConfig.showEjectButton && + (e.workspacesConfig.showEjectButton = + n.showEjectButtons)); + } else if ("row" === e.type || "column" === e.type) + ("undefined" === typeof e.workspacesConfig.allowDrop && + (e.workspacesConfig.allowDrop = + null !== (s = e.workspacesConfig.allowDrop) && + void 0 !== s + ? s + : u), + "undefined" === + typeof e.workspacesConfig.allowSplitters && + (e.workspacesConfig.allowSplitters = + null !== + (c = e.workspacesConfig.allowSplitters) && + void 0 !== c + ? c + : d)); + else if ("component" === e.type) { + if ( + "undefined" === typeof e.workspacesConfig.allowExtract + ) { + var h = r + ? n.allowExtract + : t.config.workspacesConfig.allowExtract; + e.workspacesConfig.allowExtract = h; + } + if ( + "undefined" === typeof e.workspacesConfig.allowReorder + ) { + var f = r + ? n.allowWindowReorder + : t.config.workspacesConfig.allowReorder; + e.workspacesConfig.allowReorder = f; + } + "undefined" === typeof e.workspacesConfig.showCloseButton && + (e.workspacesConfig.showWindowCloseButtons = + n.showWindowCloseButtons); + } + } + }, + { + key: "registerWorkspaceComponents", + value: function (e) { + var t = this; + e.content[0].content.forEach(function (e) { + var n = e.id; + t._layoutComponentsFactory.registerWorkspaceComponent(K(n)); + }); + } + }, + { + key: "hideMaximizeButton", + value: function (e, t) { + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: t, + maximize: { visible: !1 }, + restore: { visible: !1 } + }); + } + }, + { + key: "hideEjectButton", + value: function (e, t) { + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: t, + eject: { visible: !1 } + }); + } + }, + { + key: "hideAddWindowButton", + value: function (e, t) { + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: t, + addWindow: { visible: !1 } + }); + } + } + ]), + e + ); + })(), + Se = (function () { + function e(t) { + (w(this, e), (this._registry = t)); + } + return ( + x(e, [ + { + key: "onWorkspaceLayoutInit", + value: function (e) { + return this._registry.add("workspace-layout-initialised", e); + } + }, + { + key: "onContentLayoutInit", + value: function (e) { + return this._registry.add("content-layout-init", e); + } + }, + { + key: "onOuterLayoutContainerResized", + value: function (e) { + return this._registry.add("outer-layout-container-resized", e); + } + }, + { + key: "onContentContainerResized", + value: function (e, t) { + return t + ? this._registry.add( + "workspace-content-container-resized-".concat(t), + e + ) + : this._registry.add( + "workspace-content-container-resized", + e + ); + } + }, + { + key: "onWorkspaceContainerResized", + value: function (e) { + return this._registry.add("workspace-container-resized", e); + } + }, + { + key: "onContentItemResized", + value: function (e) { + return this._registry.add("content-item-resized", e); + } + }, + { + key: "onContentComponentCreated", + value: function (e) { + return this._registry.add("content-component-created", e); + } + }, + { + key: "onFrameCloseRequested", + value: function (e) { + return this._registry.add("close-frame", e); + } + }, + { + key: "onRestoreRequested", + value: function (e) { + return this._registry.add("restore-frame", e); + } + }, + { + key: "onMaximizeRequested", + value: function (e) { + return this._registry.add("maximize-frame", e); + } + }, + { + key: "onMinimizeRequested", + value: function (e) { + return this._registry.add("minimize-frame", e); + } + }, + { + key: "onMoveAreaChanged", + value: function (e) { + return this._registry.add("move-area-changed", e); + } + }, + { + key: "onTabCloseRequested", + value: function (e) { + return this._registry.add("tab-close-requested", e); + } + }, + { + key: "onTabDragStart", + value: function (e) { + return this._registry.add("tab-drag-start", e); + } + }, + { + key: "onTabDrag", + value: function (e) { + return this._registry.add("tab-drag", e); + } + }, + { + key: "onTabDragEnd", + value: function (e) { + return this._registry.add("tab-drag-end", e); + } + }, + { + key: "onTabElementMouseDown", + value: function (e) { + return this._registry.add("tab-element-mouse-down", e); + } + }, + { + key: "onSelectionChanged", + value: function (e) { + return this._registry.add("selection-changed", e); + } + }, + { + key: "onWorkspaceAdded", + value: function (e) { + return this._registry.add("workspace-added", e); + } + }, + { + key: "onWorkspaceSelectionChanged", + value: function (e) { + return this._registry.add("workspace-selection-changed", e); + } + }, + { + key: "onWorkspaceTabCloseRequested", + value: function (e) { + return this._registry.add("workspace-tab-close-requested", e); + } + }, + { + key: "onAddButtonClicked", + value: function (e) { + return this._registry.add("add-button-clicked", e); + } + }, + { + key: "onContentLayoutStateChanged", + value: function (e) { + return this._registry.add("content-layout-state-changed", e); + } + }, + { + key: "onContentItemCreated", + value: function (e) { + return this._registry.add("content-item-created", e); + } + }, + { + key: "onWorkspaceAddButtonClicked", + value: function (e) { + return this._registry.add("workspace-add-button-clicked", e); + } + }, + { + key: "onWorkspaceSaveRequested", + value: function (e) { + return this._registry.add("workspace-save-requested", e); + } + }, + { + key: "onContainerMaximized", + value: function (e) { + return this._registry.add("container-maximized", e); + } + }, + { + key: "onContainerRestored", + value: function (e) { + return this._registry.add("container-restored", e); + } + }, + { + key: "onEjectRequested", + value: function (e) { + return this._registry.add("eject-requested", e); + } + }, + { + key: "onComponentSelectedInWorkspace", + value: function (e) { + return this._registry.add( + "workspace-global-selection-changed", + e + ); + } + }, + { + key: "onItemDropped", + value: function (e) { + return this._registry.add("item-dropped", e); + } + }, + { + key: "onContentItemRemoved", + value: function (e) { + return this._registry.add("content-item-removed", e); + } + }, + { + key: "onWorkspaceLockConfigurationChanged", + value: function (e) { + return this._registry.add( + "workspace-lock-configuration-changed", + e + ); + } + }, + { + key: "onContainerLockConfigurationChanged", + value: function (e) { + return this._registry.add( + "container-lock-configuration-changed", + e + ); + } + }, + { + key: "onWindowLockConfigurationChanged", + value: function (e) { + return this._registry.add( + "window-lock-configuration-changed", + e + ); + } + }, + { + key: "onWorkspaceTabDestroyed", + value: function (e) { + return this._registry.add("workspace-tab-destroyed", e); + } + }, + { + key: "onTabSelectionChanged", + value: function (e) { + return this._registry.add("tab-selection-changed", e); + } + }, + { + key: "raiseEvent", + value: function (e, t) { + var n, + r = (n = this._registry).execute.apply( + n, + [e].concat(o(Object.values(t))) + ); + return (Array.isArray(r) && + r.some(function (e) { + return e && e.then; + })) || + (r && !Array.isArray(r) && r.then) + ? r + : Promise.resolve(r); + } + }, + { + key: "raiseEventWithDynamicName", + value: function (e) { + for ( + var t, + n = arguments.length, + r = new Array(n > 1 ? n - 1 : 0), + i = 1; + i < n; + i++ + ) + r[i - 1] = arguments[i]; + (t = this._registry).execute.apply(t, [e].concat(r)); + } + } + ]), + e + ); + })(), + Ee = (function () { + function e(t, n) { + (w(this, e), + (this._registry = we()), + (this._idToFrame = {}), + (this._glue = t), + (this._platformCommunicator = n)); + } + return ( + x(e, [ + { + key: "startFrame", + value: function (e, t, n, r, i) { + return q( + this, + void 0, + void 0, + s().mark(function o() { + return s().wrap( + function (o) { + for (;;) + switch ((o.prev = o.next)) { + case 0: + return o.abrupt( + "return", + this.startCore(e, t, n, r, i) + ); + case 1: + case "end": + return o.stop(); + } + }, + o, + this + ); + }) + ); + } + }, + { + key: "moveFrame", + value: function (e, t) { + var n = this._idToFrame[e], + r = $(n); + (0 !== t.width && + 0 !== t.height && + (r.css("top", "".concat(t.top, "px")), + r.css("left", "".concat(t.left, "px"))), + r.css("width", "".concat(t.width, "px")), + r.css("height", "".concat(t.height, "px"))); + } + }, + { + key: "selectionChanged", + value: function (e, t) { + var n = this; + (t.forEach(function (e) { + $(n._idToFrame[e]).css("z-index", "-1"); + }), + e.forEach(function (e) { + $(n._idToFrame[e]).hasClass("maximized-active-tab") + ? $(n._idToFrame[e]).css( + "z-index", + n.getMaximizedFrameZIndex() + ) + : $(n._idToFrame[e]).css("z-index", "19"); + })); + } + }, + { + key: "maximizeTab", + value: function (e) { + $(this._idToFrame[e]).addClass("maximized-active-tab"); + } + }, + { + key: "restoreTab", + value: function (e) { + $(this._idToFrame[e]).removeClass("maximized-active-tab"); + } + }, + { + key: "selectionChangedDeep", + value: function (e, t) { + var n = this; + (t.forEach(function (e) { + $(n._idToFrame[e]).css("z-index", "-1"); + }), + e.forEach(function (e) { + $(n._idToFrame[e]).hasClass("maximized-active-tab") + ? $(n._idToFrame[e]).css("z-index", "42") + : $(n._idToFrame[e]).css("z-index", "19"); + })); + } + }, + { + key: "bringToFront", + value: function (e) { + $(this._idToFrame[e]).css("z-index", "999"); + } + }, + { + key: "remove", + value: function (e) { + var t = this._idToFrame[e]; + t && + (delete this._idToFrame[e], + t.remove(), + this._registry.execute("frame-removed", e)); + } + }, + { + key: "onFrameLoaded", + value: function (e) { + return this._registry.add("frameLoaded", e); + } + }, + { + key: "onFrameRemoved", + value: function (e) { + return this._registry.add("frame-removed", e); + } + }, + { + key: "onFrameContentClicked", + value: function (e) { + return this._registry.add("frame-content-clicked", e); + } + }, + { + key: "onWindowTitleChanged", + value: function (e) { + return this._registry.add("window-title-changed", e); + } + }, + { + key: "hasFrame", + value: function (e) { + return !!this._idToFrame[e]; + } + }, + { + key: "getWindowId", + value: function (e) { + if (this.hasFrame(e)) + return this._idToFrame[e].name.split("#wsp")[0]; + } + }, + { + key: "startCore", + value: function (e, t, n, r, i) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var o, a; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ( + ((r = r || ie()), + !this._idToFrame[e]) + ) { + n.next = 3; + break; + } + return n.abrupt( + "return", + this._idToFrame[e] + ); + case 3: + if (t) { + n.next = 5; + break; + } + throw new Error( + "The url of window with itemId ".concat( + e, + " is undefined" + ) + ); + case 5: + return ( + ((o = + document.createElement( + "iframe" + )).name = "".concat( + r, + "#wsp" + )), + (o.loading = "lazy"), + (o.style.top = "30000px"), + (o.style.width = "30000px"), + (o.style.width = "0px"), + (o.style.height = "0px"), + (o.src = t), + (n.next = 15), + this.getSandboxSettingsForApp(i) + ); + case 15: + return ( + (a = n.sent) && + o.setAttribute( + "sandbox", + a.flags + ), + document.body.appendChild(o), + this._registry.execute( + "frameLoaded", + e + ), + o.setAttribute("id", e), + $(o).css( + "position", + "absolute" + ), + (this._idToFrame[e] = o), + (n.next = 24), + this.waitForWindow(r) + ); + case 24: + return n.abrupt("return", o); + case 25: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "waitForWindow", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i = function () {}, + o = setTimeout(function () { + (r( + "Window with id ".concat( + e, + " did not appear in 5000ms" + ) + ), + i()); + }, 5e3); + ((i = t._glue.windows.onWindowAdded(function (t) { + t.id === e && (i(), n(), clearTimeout(o)); + })), + t._glue.windows.list().find(function (t) { + return t.id === e; + }) && (n(), i(), clearTimeout(o))); + }); + } + }, + { + key: "getMaximizedFrameZIndex", + value: function () { + return "42"; + } + }, + { + key: "getSandboxSettingsForApp", + value: function (e) { + var t, n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, o, a; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (r.next = 2), + this._platformCommunicator.askForSettings() + ); + case 2: + return ( + (i = r.sent), + (o = i.iframeSandbox), + (a = + this._glue.appManager.application( + e + )), + r.abrupt( + "return", + (null === + (n = + null === + (t = + null === + a || + void 0 === a + ? void 0 + : a.userProperties) || + void 0 === t + ? void 0 + : t.details) || + void 0 === n + ? void 0 + : n.workspacesSandbox) || + o + ) + ); + case 6: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + } + ]), + e + ); + })(), + We = new ((function () { + function e() { + (w(this, e), (this.LAST_SESSION_KEY = "g42_workspace_frame_cache")); + } + return ( + x(e, [ + { + key: "get", + value: function (e) { + return JSON.parse(sessionStorage.getItem(e)); + } + }, + { + key: "set", + value: function (e, t) { + sessionStorage.setItem(e, JSON.stringify(t)); + } + } + ]), + e + ); + })())(), + Te = new ((function () { + function e() { + w(this, e); + } + return ( + x(e, [ + { + key: "config", + get: function () { + return this._config; + } + }, + { + key: "loadConfig", + value: function () { + var e, + t = new URLSearchParams(window.location.search), + n = t.get(ce), + r = t.get("disableCustomButtons"), + i = t.get("workspaceName"), + o = t.get("workspaceNames"), + a = t.get("context"), + s = t.get("build"), + c = []; + try { + c = JSON.parse(o) || c; + } catch (d) {} + try { + e = JSON.parse(a); + } catch (d) {} + i && c.push(i); + var u = { + emptyFrame: null != n && void 0 !== n, + disableCustomButtons: null != r && void 0 !== r, + workspaceNames: c, + context: e, + build: null !== s && void 0 !== s + }; + return ((this._config = u), this.cleanUpUrl(), u); + } + }, + { + key: "cleanUpUrl", + value: function () { + var e = this.removeQueryParams(window.location.search, [ce]); + window.history.replaceState( + null, + document.title, + window.location.origin + window.location.pathname + e + ); + } + }, + { + key: "removeQueryParams", + value: function (e, t) { + return ( + t.forEach(function (t) { + var n = new URLSearchParams(e), + r = n.get(t); + Array.from(n.keys()).indexOf(t) > -1 && + (e = e.replace("".concat(t, "=").concat(r), "")); + }), + "&" === e[e.length - 1] && (e = e.substr(0, e.length - 1)), + (e = (e = e.replace("&&", "&")).replace("?&", "?")) + ); + } + } + ]), + e + ); + })())(), + Ae = (function () { + function e(t, n, r, i, o, a) { + (w(this, e), + (this.resolver = t), + (this._glue = n), + (this._configFactory = r), + (this._configConverter = i), + (this._constraintsValidator = o), + (this._platformCommunicator = a), + (this._layoutsType = "Workspace"), + (this._layoutComponentType = "Workspace")); + } + return ( + x(e, [ + { + key: "getInitialConfig", + value: function () { + var e; + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i, + o, + a, + c = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if (!this._initialWorkspaceConfig) { + t.next = 2; + break; + } + return t.abrupt( + "return", + this._configFactory.generateInitialConfig( + this._initialWorkspaceConfig + ) + ); + case 2: + if ( + !(n = Te.config) + .workspaceNames || + !n.workspaceNames.length + ) { + t.next = 14; + break; + } + return ( + (t.next = 6), + Promise.all( + n.workspaceNames.map( + function (e) { + return q( + c, + void 0, + void 0, + s().mark( + function t() { + return s().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + return ( + (t.next = 2), + this.getWorkspaceByName( + e + ) + ); + case 2: + return t.abrupt( + "return", + t.sent + ); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + } + ) + ); + } + ) + ) + ); + case 6: + if ( + ((r = t.sent), + (i = r.map(function (e) { + return ( + (e.config.workspacesOptions = + e.config + .workspacesOptions || + {}), + (e.config.workspacesOptions.context = + e.layoutData.context), + e.config + ); + })), + !(o = i.filter(function (e) { + return e; + })).length) + ) { + t.next = 12; + break; + } + return ( + o.forEach(function (e, t) { + ((e.id = + c._configFactory.getId()), + (e.workspacesOptions = + e.workspacesOptions || + {}), + n.context && + e.workspacesOptions + .context + ? (e.workspacesOptions.context = + Object.assign( + e + .workspacesOptions + .context, + n.context + )) + : n.context && + (e.workspacesOptions.context = + n.context), + (e.workspacesOptions.layoutName = + n.workspaceNames[ + t + ])); + }), + t.abrupt( + "return", + this._configFactory.generateInitialConfig( + o + ) + ) + ); + case 12: + t.next = 19; + break; + case 14: + if ( + null === (e = Te.config) || + void 0 === e + ? void 0 + : e.build + ) { + t.next = 19; + break; + } + if ( + !(a = this.getLastSession()) || + !a.length + ) { + t.next = 19; + break; + } + return ( + a.forEach(function (e) { + e && + (e.id = + c._configFactory.getId()); + }), + t.abrupt( + "return", + this._configFactory.generateInitialConfig( + a + ) + ) + ); + case 19: + return t.abrupt( + "return", + this._configFactory.getDefaultFrameConfig( + this.resolver.getWorkspaceTitles() + ) + ); + case 20: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "getLastSession", + value: function () { + var e, + t = this; + if ( + null === + (e = + this._platformCommunicator.platformConfig + .workspacesFrameCache) || + void 0 === e || + e + ) + return (We.get(We.LAST_SESSION_KEY) || []) + .filter(function (e) { + return e; + }) + .map(function (e) { + return ( + t.addWorkspaceIds(e), + t._configConverter.convertToRendererConfig(e) + ); + }); + } + }, + { + key: "getSavedWorkspaceNames", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + var t, + n, + r = this; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this._glue.layouts.getAll( + this._layoutsType + ) + ); + case 2: + return ( + (t = e.sent), + (n = t.filter(function (e) { + return ( + e.type === + r._layoutsType + ); + })), + e.abrupt( + "return", + n.map(function (e) { + return e.name; + }) + ) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "export", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this._glue.layouts.export( + this._layoutsType + ) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "getWorkspaceByName", + value: function (e) { + var t, n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, o, a; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (r.next = 2), + this._glue.layouts.get( + e, + this._layoutsType + ) + ); + case 2: + return ( + (i = r.sent), + (o = i.components[0].state), + this._constraintsValidator.fixWorkspace( + o + ), + (a = + this._configConverter.convertToRendererConfig( + o + )), + null === + (t = + null === a || + void 0 === a + ? void 0 + : a.workspacesOptions) || + void 0 === t || + delete t.positionIndex, + this.addWorkspaceIds(a), + r.abrupt("return", { + config: a, + layoutData: { + metadata: i.metadata, + name: e, + context: + null !== + (n = + o.context) && + void 0 !== n + ? n + : {} + } + }) + ); + case 9: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "delete", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this._glue.layouts.remove( + this._layoutsType, + e + ) + ); + case 2: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "save", + value: function (e) { + var t; + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i, o, a, c, u; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ( + ((r = e.workspace), + (i = e.name), + (o = e.saveContext), + r.layout || r.hibernateConfig) + ) { + n.next = 3; + break; + } + throw new Error( + "An empty layout cannot be saved" + ); + case 3: + return ( + (( + (null === (t = r.layout) || + void 0 === t + ? void 0 + : t.config) || + r.hibernateConfig + ).workspacesOptions.name = i), + (n.next = 6), + this.saveWorkspaceCore(r, i) + ); + case 6: + if ( + ((a = n.sent).config.title && + delete a.config.title, + (c = void 0), + !o) + ) { + n.next = 18; + break; + } + return ( + (n.prev = 10), + (n.next = 13), + this.getWorkspaceContext(r.id) + ); + case 13: + ((c = n.sent), (n.next = 18)); + break; + case 16: + ((n.prev = 16), + (n.t0 = n.catch(10))); + case 18: + return ( + (u = { + name: i, + type: this._layoutsType, + metadata: e.metadata, + components: [ + { + type: this + ._layoutComponentType, + state: { + children: + a.children, + config: a.config, + context: + null !== + c && + void 0 !== c + ? c + : {} + } + } + ] + }), + (n.prev = 19), + (n.next = 22), + this._glue.layouts.import( + [u], + "merge" + ) + ); + case 22: + n.next = 28; + break; + case 24: + throw ( + (n.prev = 24), + (n.t1 = n.catch(19)), + console.error(n.t1), + n.t1 + ); + case 28: + return n.abrupt("return", u); + case 29: + case "end": + return n.stop(); + } + }, + n, + this, + [ + [10, 16], + [19, 24] + ] + ); + }) + ); + } + }, + { + key: "generateLayout", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if (t.layout) { + n.next = 2; + break; + } + throw new Error( + "An empty layout cannot be generated" + ); + case 2: + return ( + (t.layout.config.workspacesOptions.name = + e), + (n.next = 5), + this.saveWorkspaceCore(t, e) + ); + case 5: + return ( + (r = n.sent).config.title && + delete r.config.title, + n.abrupt("return", { + name: e, + type: this._layoutsType, + metadata: {}, + components: [ + { + type: this + ._layoutComponentType, + state: { + children: + r.children, + config: r.config, + context: {} + } + } + ] + }) + ); + case 8: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "saveWorkspacesFrame", + value: function (e) { + var t, n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, + o, + a = this; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + null === + (n = + null === + (t = + this + ._platformCommunicator + .platformConfig) || + void 0 === t + ? void 0 + : t.workspacesFrameCache) || + void 0 === n || + n + ) { + r.next = 3; + break; + } + return r.abrupt("return"); + case 3: + return ( + (i = e.map(function (e) { + return a.saveWorkspaceCoreSync( + e + ); + })), + (r.next = 6), + Promise.all(i) + ); + case 6: + ((o = r.sent), + We.set(We.LAST_SESSION_KEY, o)); + case 8: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "setInitialWorkspaceConfig", + value: function (e) { + this._initialWorkspaceConfig = e; + } + }, + { + key: "applyWindowLayoutState", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r = this; + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (n = function e(t) { + return q( + r, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ( + (n.prev = + n.next) + ) { + case 0: + if ( + "window" !== + t.type + ) { + n.next = 9; + break; + } + if ( + t + .config + .appName !== + pe && + t + .config + .appName + ) { + n.next = 7; + break; + } + return ( + (t.config.appName = + pe), + (n.next = 5), + this.getWindowLayoutState( + t + .config + .windowId + ) + ); + case 5: + ((r = + n.sent), + (t.config.noAppWindowState = + r)); + case 7: + n.next = 10; + break; + case 9: + t.children.forEach( + function ( + t + ) { + e( + t + ); + } + ); + case 10: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + }), + (t.next = 3), + Promise.all( + e.children.map(function (e) { + return q( + r, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + return ( + (t.next = 2), + n( + e + ) + ); + case 2: + case "end": + return t.stop(); + } + }, + t + ); + }) + ); + }) + ) + ); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "removeWorkspaceItemIds", + value: function (e) { + !(function e(t) { + var n; + ("id" in t && delete t.id, + "window" !== t.type && + (null === (n = t.children) || + void 0 === n || + n.forEach(function (t) { + return e(t); + }))); + })(e); + } + }, + { + key: "removeWorkspaceWindowWindowIds", + value: function (e) { + !(function e(t) { + var n; + ("window" === t.type && delete t.config.windowId, + "window" !== t.type && + (null === (n = t.children) || + void 0 === n || + n.forEach(function (t) { + return e(t); + }))); + })(e); + } + }, + { + key: "applySavedContexts", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = X(e)), + (i = r + .map(function (e) { + return e.config + .windowId; + }) + .filter(function (e) { + return e; + })), + (n.next = 4), + this._platformCommunicator.requestOnLayoutSaveContexts( + { + layoutName: + t.layoutName, + layoutType: + t.layoutType, + context: t.context, + windowIds: i + } + ) + ); + case 4: + n.sent.forEach(function (e) { + var t = e.windowId, + n = e.windowContext; + r.find(function (e) { + return ( + e.config.windowId === t + ); + }).config.context = n; + }); + case 6: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "saveWorkspaceCore", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if (e.layout || e.hibernateConfig) { + n.next = 2; + break; + } + return n.abrupt("return", void 0); + case 2: + return ( + (r = + this.resolver.getWorkspaceConfig( + e.id + )).workspacesOptions + .layoutName && + delete r.workspacesOptions + .layoutName, + (i = + this._configConverter.convertToAPIConfig( + r + )), + this.removeWorkspaceItemIds(i), + (n.next = 8), + this.applyWindowLayoutState(i) + ); + case 8: + return ( + (n.next = 10), + this.applySavedContexts(i, { + layoutName: t, + layoutType: "Workspace" + }) + ); + case 10: + return ( + this.windowSummariesToWindowLayout( + i + ), + this.workspaceSummaryToWorkspaceLayout( + i + ), + n.abrupt("return", i) + ); + case 13: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "saveWorkspaceCoreSync", + value: function (e) { + if (e.layout || e.hibernateConfig) { + var t = this.resolver.getWorkspaceConfig(e.id), + n = this._configConverter.convertToAPIConfig(t); + return ( + this.removeWorkspaceItemIds(n), + this.windowSummariesToWindowLayout(n), + this.workspaceSummaryToWorkspaceLayout(n), + n + ); + } + } + }, + { + key: "windowSummariesToWindowLayout", + value: function (e) { + !(function e(t) { + if ("window" === t.type) + return ( + delete t.config.isLoaded, + delete t.config.windowId, + delete t.config.workspaceId, + delete t.config.frameId, + delete t.config.positionIndex, + void (t.config.appName && delete t.config.url) + ); + t.children.forEach(function (t) { + return e(t); + }); + })(e); + } + }, + { + key: "workspaceSummaryToWorkspaceLayout", + value: function (e) { + (null === e || void 0 === e ? void 0 : e.config) && + (delete e.config.frameId, delete e.config.positionIndex); + } + }, + { + key: "addWorkspaceIds", + value: function (e) { + var t = this; + if (e) { + !(function e(n) { + ((n.id = t._configFactory.getId()), + n.type && + "component" === n.type && + (n.componentName = "app".concat(n.id)), + "component" !== n.type && + n.content && + n.content.forEach(function (t) { + return e(t); + })); + })(e); + } + } + }, + { + key: "removeWorkspaceIds", + value: function (e) { + !(function e(t) { + ("id" in t && delete t.id, + "component" === + (null === t || void 0 === t ? void 0 : t.type) && + ((t.componentName = "placeHolderId"), + (t.title = "placeHolderId")), + "component" !== t.type && + t.content && + t.content.forEach(function (t) { + return e(t); + })); + })(e); + } + }, + { + key: "getWorkspaceContext", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this._glue.contexts.get(ee(e)) + ); + case 2: + return t.abrupt("return", t.sent); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "getWindowLayoutState", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (n = + this._glue.windows.findById( + e + )), + (t.t0 = {}), + (t.next = 4), + n.getURL() + ); + case 4: + return ( + (t.t1 = t.sent), + (t.t2 = { url: t.t1 }), + t.abrupt("return", { + bounds: t.t0, + createArgs: t.t2 + }) + ); + case 7: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + } + ]), + e + ); + })(), + Pe = (function () { + function e(t, n, r, i, o) { + (w(this, e), + (this._frameId = t), + (this._layoutEventEmitter = n), + (this.frameController = r), + (this.converter = i), + (this.wrapperFactory = o)); + } + return ( + x(e, [ + { + key: "getWindowSummary", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((e = Array.isArray(e) + ? e[0] + : e), + (n = + ae.getWindowContentItem(e))) + ) { + t.next = 6; + break; + } + return ( + (t.next = 5), + this.waitForWindowContentItem(e) + ); + case 5: + n = ae.getWindowContentItem(e); + case 6: + return ( + (r = + this.wrapperFactory.getWindowWrapper( + { windowContentItem: n } + )), + t.abrupt("return", r.summary) + ); + case 8: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "getWindowSummarySync", + value: function (e, t) { + e = Array.isArray(e) ? e[0] : e; + var n = t || ae.getWindowContentItem(e); + return this.wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).summary; + } + }, + { + key: "getWorkspaceConfig", + value: function (e) { + var t = ae.getById(e); + if (!t) + throw new Error( + "Could find workspace to remove with id ".concat(e) + ); + return this.wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceId: t.id + }).config; + } + }, + { + key: "getWorkspaceSnapshot", + value: function (e, t, n) { + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (i = + this.getWorkspaceSnapshotSync( + e, + t + )), + (r.next = 3), + t.layoutsManager.applyWindowLayoutState( + i + ) + ); + case 3: + return ( + n && + (t.layoutsManager.removeWorkspaceItemIds( + i + ), + t.layoutsManager.removeWorkspaceWindowWindowIds( + i + )), + (r.t0 = e), + (r.t1 = i.children), + (r.t2 = i.config), + (r.t3 = t.getFrameSummary( + this._frameId + )), + (r.next = 10), + t.getWorkspaceContext(i.id) + ); + case 10: + return ( + (r.t4 = r.sent), + r.abrupt("return", { + id: r.t0, + children: r.t1, + config: r.t2, + frameSummary: r.t3, + context: r.t4 + }) + ); + case 12: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "getAllWorkspacesLayouts", + value: function (e, t) { + var n = this, + r = ae.workspaceIds.map(function (t) { + return n.getWorkspaceSnapshotSync(t, e); + }); + return Promise.all( + r.map(function (r) { + return q( + n, + void 0, + void 0, + s().mark(function n() { + var i; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (i = r.id), + (n.next = 3), + e.layoutsManager.applyWindowLayoutState( + r + ) + ); + case 3: + return ( + (n.next = 5), + e.layoutsManager.applySavedContexts( + r, + t + ) + ); + case 5: + return ( + e.layoutsManager.removeWorkspaceItemIds( + r + ), + e.layoutsManager.removeWorkspaceWindowWindowIds( + r + ), + (n.t0 = i), + (n.t1 = r.children), + (n.t2 = r.config), + (n.t3 = + e.getFrameSummary( + this._frameId + )), + (n.next = 13), + e.getWorkspaceContext(i) + ); + case 13: + return ( + (n.t4 = n.sent), + n.abrupt("return", { + id: n.t0, + children: n.t1, + config: n.t2, + frameSummary: n.t3, + context: n.t4 + }) + ); + case 15: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + }) + ); + } + }, + { + key: "getWorkspaceSummary", + value: function (e) { + return this.wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).summary; + } + }, + { + key: "isWindowMaximized", + value: function (e) { + var t = K(e), + n = ae.getWindowContentItem(t); + return this.wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).isMaximized; + } + }, + { + key: "isWindowInMaximizedContainer", + value: function (e) { + var t = Array.isArray(e) ? e[0] : e; + return !!(function e(t) { + if (t && !t.isRoot) + return t.hasId("__glMaximised") ? t : e(t.parent); + })(ae.getWindowContentItem(t)); + } + }, + { + key: "isWindowSelected", + value: function (e) { + var t = K(e), + n = ae.getWindowContentItem(t); + return this.wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).isSelected; + } + }, + { + key: "isWorkspaceHibernated", + value: function (e) { + var t = ae.getById(e); + if (!t) + throw new Error( + "Could not find workspace " + .concat(e, " in ") + .concat(this._frameId, " to check if hibernated") + ); + return ( + ae.getWorkspaceContentItem(t.id), + this.wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceId: t.id + }).isHibernated + ); + } + }, + { + key: "getContainerSummary", + value: function (e) { + e = K(e); + var t = ae.getContainer(e); + return this.wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).summary; + } + }, + { + key: "getContainerSummaryByReference", + value: function (e, t) { + if ("component" === e.type) + throw new Error( + "Tried to get container summary from item " + .concat(e.type, " ") + .concat(e.config.id) + ); + return this.wrapperFactory.getContainerWrapper({ + containerContentItem: e, + workspaceId: t + }).summary; + } + }, + { + key: "isWindowInWorkspace", + value: function (e) { + return !!ae.getWindowContentItem(e); + } + }, + { + key: "getFrameSnapshot", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + o = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + Promise.all( + ae.workspaceIds.map( + function (n) { + return o.getWorkspaceSnapshot( + n, + e, + t + ); + } + ) + ) + ); + case 2: + return ( + (r = n.sent), + (i = + this.getFrameConstraints()), + n.abrupt("return", { + id: this._frameId, + config: Object.assign( + {}, + i + ), + workspaces: r + }) + ); + case 5: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "getSnapshot", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.prev = 0), + n.abrupt( + "return", + this.getWorkspaceConfig(e) + ) + ); + case 4: + return ( + (n.prev = 4), + (n.t0 = n.catch(0)), + n.abrupt( + "return", + this.getFrameSnapshot(t) + ) + ); + case 7: + case "end": + return n.stop(); + } + }, + n, + this, + [[0, 4]] + ); + }) + ); + } + }, + { + key: "getWorkspaceSnapshotSync", + value: function (e, t) { + var n = this.getWorkspaceConfig(e), + r = this.converter.convertToAPIConfig(n); + return { + id: r.id, + children: r.children, + config: r.config, + frameSummary: t.getFrameSummary(this._frameId) + }; + } + }, + { + key: "isWindowLoaded", + value: function (e) { + return this.frameController.hasFrame(K(e)); + } + }, + { + key: "getRendererWindowBounds", + value: function () { + return { + left: window.visualViewport.offsetLeft, + top: window.visualViewport.offsetTop, + width: window.visualViewport.width, + height: window.visualViewport.height + }; + } + }, + { + key: "getFrameConstraints", + value: function () { + var e = this; + return ae.workspaceIds + .map(function (t) { + return e.wrapperFactory.getWorkspaceWrapper({ + workspaceId: t + }); + }) + .reduce( + function (t, n) { + var r = e.getRendererWindowBounds(), + i = r.width - n.bounds.width, + o = r.height - n.bounds.height, + a = Math.ceil( + Math.max(n.minWidth + i, t.minWidth) + ), + s = Math.ceil( + Math.max(n.minHeight + o, t.minHeight) + ), + c = Math.ceil( + Math.min(n.maxWidth + i, t.maxWidth) + ), + u = Math.ceil( + Math.min(n.maxHeight + o, t.maxHeight) + ); + return ( + s <= u && + a <= c && + ((t.minWidth = a), + (t.minHeight = s), + (t.maxWidth = c), + (t.maxHeight = u)), + t + ); + }, + { + minWidth: le, + maxWidth: de, + minHeight: le, + maxHeight: de + } + ); + } + }, + { + key: "getWorkspaceIcon", + value: function (e) { + return this.wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).icon; + } + }, + { + key: "getWorkspaceTitles", + value: function () { + var e = this; + return ae.workspaceIds.map(function (t) { + return e.wrapperFactory.getWorkspaceWrapper({ + workspaceId: t + }).title; + }); + } + }, + { + key: "getFrameBounds", + value: function () { + return { + top: window.screenTop, + left: window.screenLeft, + width: window.innerWidth, + height: window.innerHeight + }; + } + }, + { + key: "waitForWindowContentItem", + value: function (e) { + var t = this; + return new Promise(function (n) { + var r = t._layoutEventEmitter.onContentComponentCreated( + function (t) { + t.config.id === e && (r(), n()); + } + ); + ae.getWindowContentItem(e) && (r(), n()); + }); + } + } + ]), + e + ); + })(), + Me = (function () { + function e() { + (w(this, e), (this._pattern = /^Untitled ([0-9]+)$/)); + } + return ( + x(e, [ + { + key: "getTitle", + value: function (e) { + var t = this, + n = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 0, + r = e + .filter(function (e) { + return t._pattern.test(e); + }) + .map(function (e) { + return parseInt(t._pattern.exec(e)[1], 10); + }), + i = r.length + ? r.sort(function (e, t) { + return e - t; + })[r.length - 1] + : 0; + return "Untitled ".concat(i + 1 + n); + } + } + ]), + e + ); + })(), + Re = (function () { + function e(t) { + (w(this, e), + (this._titleGenerator = new Me()), + (this._defaultWorkspaceLayoutSettings = { + showCloseIcon: !1, + showMaximizeIcon: !1, + showPopoutIcon: !1, + disableDragProxy: !0, + mode: "workspace" + }), + (this._glue = t)); + } + return ( + x(e, [ + { + key: "createEmptyVisibleWindowConfig", + value: function () { + return Object.assign( + Object.assign({}, this.createWindowConfigurationCore()), + { componentState: { header: !1 } } + ); + } + }, + { + key: "createGDWindowConfig", + value: function (e) { + var t = this.createWindowConfigurationCore(e.id), + n = { + allowExtract: e.allowExtract, + allowReorder: e.allowReorder, + showCloseButton: e.showCloseButton, + minWidth: e.minWidth, + minHeight: e.minHeight, + maxWidth: e.maxWidth, + maxHeight: e.maxHeight, + positionIndex: e.positionIndex, + isMaximized: e.isMaximized, + noAppWindowState: e.noAppWindowState + }; + return Object.assign(Object.assign({}, t), { + componentName: "app".concat(t.id), + windowId: e.windowId, + title: e.title, + componentState: { + windowId: e.windowId, + appName: e.appName, + url: e.url, + title: e.title, + context: e.context + }, + workspacesConfig: n + }); + } + }, + { + key: "createApiWindow", + value: function (e) { + return { + id: Array.isArray(e.id) ? e.id[0] : e.id, + type: "window", + config: { + windowId: e.windowId, + isMaximized: e.isMaximized, + isLoaded: void 0 !== e.windowId, + isFocused: e.isFocused, + isSelected: e.isSelected, + appName: e.appName, + url: e.url, + title: e.title, + workspaceId: e.workspaceId, + frameId: e.frameId, + positionIndex: e.positionIndex, + allowExtract: e.allowExtract, + allowReorder: e.allowReorder, + showCloseButton: e.showCloseButton, + minWidth: e.minWidth, + maxWidth: e.maxWidth, + minHeight: e.minHeight, + maxHeight: e.maxHeight, + widthInPx: e.widthInPx, + heightInPx: e.heightInPx + } + }; + } + }, + { + key: "getWorkspaceLayoutComponentName", + value: function (e) { + return "workspace".concat(e); + } + }, + { + key: "getWorkspaceTitle", + value: function (e) { + return this._titleGenerator.getTitle(e); + } + }, + { + key: "getId", + value: function () { + return re(); + } + }, + { + key: "getDefaultWorkspaceSettings", + value: function () { + return { + mode: "default", + showCloseIcon: !1, + showPopoutIcon: !0 + }; + } + }, + { + key: "getDefaultFrameConfig", + value: function (e) { + var t = re(); + return { + frameId: void 0, + workspaceConfigs: [ + { id: t, config: this.getDefaultWorkspaceConfig() } + ], + workspaceLayout: { + settings: this._defaultWorkspaceLayoutSettings, + content: [ + { + type: "stack", + content: [ + { + type: "component", + id: t, + componentName: + this.getWorkspaceLayoutComponentName( + t + ), + componentState: {}, + workspacesConfig: {}, + title: this.getWorkspaceTitle(e) + } + ], + workspacesConfig: {} + } + ] + } + }; + } + }, + { key: "getDefaultWorkspaceConfig", value: function () {} }, + { + key: "generateInitialConfig", + value: function (e) { + var t = this, + n = e.find(function (e) { + var t; + return null === + (t = + null === e || void 0 === e + ? void 0 + : e.workspacesOptions) || void 0 === t + ? void 0 + : t.selected; + }), + r = { + settings: this._defaultWorkspaceLayoutSettings, + content: [ + { + type: "stack", + activeItemIndex: n + ? e.indexOf(n) + : e.length - 1, + content: e.map(function (e) { + var n, + r, + i, + o = re(); + return { + workspacesConfig: Object.assign( + {}, + e.workspacesOptions + ), + type: "component", + id: + (null === e || void 0 === e + ? void 0 + : e.id) || o, + componentName: + t.getWorkspaceLayoutComponentName( + K( + null === e || void 0 === e + ? void 0 + : e.id + ) || o + ), + componentState: {}, + noTabHeader: + null === + (n = + null === e || void 0 === e + ? void 0 + : e.workspacesOptions) || + void 0 === n + ? void 0 + : n.noTabHeader, + title: + (null === + (r = + null === e || void 0 === e + ? void 0 + : e.workspacesOptions) || + void 0 === r + ? void 0 + : r.title) || + (null === + (i = + null === e || void 0 === e + ? void 0 + : e.workspacesOptions) || + void 0 === i + ? void 0 + : i.name) || + t.getWorkspaceTitle(ae.workspaceIds) + }; + }), + workspacesConfig: {} + } + ] + }; + return { + frameId: void 0, + workspaceConfigs: e.map(function (e, t) { + var n = null === e || void 0 === e ? void 0 : e.id; + return ( + n || + "component" === r.content[0].type || + (n = r.content[0].content[t].id), + { id: n, config: e } + ); + }), + workspaceLayout: r + }; + } + }, + { + key: "wrapInGroup", + value: function (e) { + return this.wrap(e, "stack"); + } + }, + { + key: "getAppNameFromWindowId", + value: function (e) { + var t = this._glue.appManager.instances().find(function (t) { + return t.agm.windowId === e; + }); + return null === t || void 0 === t ? void 0 : t.application.name; + } + }, + { + key: "convertLayoutOptionsToWorkspaceItem", + value: function (e, t, n) { + var r, i; + return q( + this, + void 0, + void 0, + s().mark(function o() { + var a, c; + return s().wrap(function (o) { + for (;;) + switch ((o.prev = o.next)) { + case 0: + return ( + (o.next = 2), + n.getWorkspaceByName(e) + ); + case 2: + return ( + (a = o.sent), + ((c = + a.config).workspacesOptions.context = + a.layoutData.context), + (null === t || void 0 === t + ? void 0 + : t.context) && + c.workspacesOptions.context + ? (c.workspacesOptions.context = + Object.assign( + a.layoutData.context, + null === t || + void 0 === t + ? void 0 + : t.context + )) + : (null === t || void 0 === t + ? void 0 + : t.context) && + (c.workspacesOptions.context = + null === t || void 0 === t + ? void 0 + : t.context), + (c.workspacesOptions.title = + (null === t || void 0 === t + ? void 0 + : t.title) || e), + (c.workspacesOptions.icon = + null !== + (r = + null === t || + void 0 === t + ? void 0 + : t.icon) && + void 0 !== r + ? r + : c.workspacesOptions.icon), + (c.workspacesOptions.allowSystemHibernation = + null !== + (i = + null === t || + void 0 === t + ? void 0 + : t.allowSystemHibernation) && + void 0 !== i + ? i + : c.workspacesOptions + .allowSystemHibernation), + c && + c.workspacesOptions && + !c.workspacesOptions.name && + (c.workspacesOptions.name = e), + c && + ((c.workspacesOptions = + c.workspacesOptions || {}), + (c.workspacesOptions.layoutName = + a.layoutData.name)), + c && + t && + (c.workspacesOptions.loadingStrategy = + t.loadingStrategy), + c && + void 0 !== + (null === t || void 0 === t + ? void 0 + : t.noTabHeader) && + ((c.workspacesOptions = + c.workspacesOptions || {}), + (c.workspacesOptions.noTabHeader = + null === t || void 0 === t + ? void 0 + : t.noTabHeader)), + c && + void 0 !== + (null === t || void 0 === t + ? void 0 + : t.isPinned) && + ((c.workspacesOptions = + c.workspacesOptions || {}), + (c.workspacesOptions.isPinned = + null === t || void 0 === t + ? void 0 + : t.isPinned)), + c && + void 0 !== + (null === t || void 0 === t + ? void 0 + : t.isSelected) && + ((c.workspacesOptions = + c.workspacesOptions || {}), + (c.workspacesOptions.selected = + null === t || void 0 === t + ? void 0 + : t.isSelected)), + o.abrupt("return", c) + ); + case 16: + case "end": + return o.stop(); + } + }, o); + }) + ); + } + }, + { + key: "getEmptyWorkspaceConfig", + value: function (e) { + return Object.assign( + Object.assign({}, this.getDefaultWorkspaceSettings()), + { content: [], workspacesOptions: { title: e } } + ); + } + }, + { + key: "createWindowConfigurationCore", + value: function (e) { + return { + workspacesConfig: {}, + type: "component", + id: e || this.getId(), + componentName: se + }; + } + }, + { + key: "wrap", + value: function (e, t) { + return { + workspacesConfig: { + wrapper: !0, + isMaximized: + "stack" === t && + e.some(function (e) { + return e.workspacesConfig.isMaximized; + }) + }, + type: t, + content: e + }; + } + } + ]), + e + ); + })(), + Oe = (function () { + function e(t) { + (w(this, e), + (this._configFactory = t), + (this.flat = function (e) { + return e.reduce(function (e, t) { + return [].concat(o(e), o(Array.isArray(t) ? t : [t])); + }, []); + })); + } + return ( + x(e, [ + { + key: "convertToRendererConfig", + value: function (e) { + if (e) return this.convertToRendererConfigCore(e, void 0); + } + }, + { + key: "convertToAPIConfig", + value: function (e) { + if (e) return this.convertToApiConfigCore(e); + } + }, + { + key: "convertToRendererConfigCore", + value: function (e, t) { + var n, + r, + i, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b, + k, + x, + _, + C, + I, + S, + E, + W, + T, + A, + P, + M, + R, + O, + D, + L, + B, + N, + F, + j, + H, + z, + q, + G, + U, + V, + $, + J, + K, + Q, + X, + Y, + Z, + ee, + te, + ne, + re, + ie, + oe, + ae, + se, + ce, + ue, + de, + le, + pe = this, + he = { + type: e.type, + content: [], + workspacesOptions: e.config || {} + }; + if ( + (("workspace" !== e.type && e.type) || + (he = this.applyDefaultRendererConfig({ + content: [], + workspacesOptions: e.config + })), + "workspace" === e.type || !e.type) + ) { + var fe = e, + ve = fe.children; + if ( + ve.length > 1 && + ve.every(function (e) { + return "column" === e.type; + }) + ) + he.content.push( + this.wrap( + ve.map(function (e) { + return pe.convertToRendererConfigCore( + e, + fe + ); + }), + "row" + ) + ); + else if ( + ve.length > 1 && + ve.every(function (e) { + return "row" === e.type; + }) + ) + he.content.push( + this.wrap( + ve.map(function (e) { + return pe.convertToRendererConfigCore( + e, + fe + ); + }), + "column" + ) + ); + else { + var me; + (me = he.content).push.apply( + me, + o( + ve.map(function (e) { + return pe.convertToRendererConfigCore( + e, + fe + ); + }) + ) + ); + } + return he; + } + if ("column" === e.type || "row" === e.type) + return ( + (de = he.content).push.apply( + de, + o( + e.children.map(function (t) { + return pe.convertToRendererConfigCore(t, e); + }) + ) + ), + 0 === he.content.length && + he.content.push( + this.getGroupWithEmptyVisibleWindow() + ), + he.workspacesConfig || (he.workspacesConfig = {}), + (he.workspacesConfig.allowDrop = + null === (n = e.config) || void 0 === n + ? void 0 + : n.allowDrop), + (he.workspacesConfig.allowSplitters = + null === (r = e.config) || void 0 === r + ? void 0 + : r.allowSplitters), + (he.workspacesConfig.isPinned = + null === (i = e.config) || void 0 === i + ? void 0 + : i.isPinned), + (he.workspacesConfig.maxWidth = + null === (a = e.config) || void 0 === a + ? void 0 + : a.maxWidth), + (he.workspacesConfig.minWidth = + null === (s = e.config) || void 0 === s + ? void 0 + : s.minWidth), + (he.workspacesConfig.maxHeight = + null === (c = e.config) || void 0 === c + ? void 0 + : c.maxHeight), + (he.workspacesConfig.minHeight = + null === (u = e.config) || void 0 === u + ? void 0 + : u.minHeight), + (he.workspacesConfig.positionIndex = + null === (d = e.config) || void 0 === d + ? void 0 + : d.positionIndex), + (he.workspacesConfig.isMaximized = + null === (l = e.config) || void 0 === l + ? void 0 + : l.isMaximized), + (he.width = this.convertSizeToRendererConfigSafely( + null === (p = e.config) || void 0 === p + ? void 0 + : p.width + )), + (he.height = this.convertSizeToRendererConfigSafely( + null === (h = e.config) || void 0 === h + ? void 0 + : h.height + )), + (he.workspacesConfig.maximizationBoundary = + null === (f = e.config) || void 0 === f + ? void 0 + : f.maximizationBoundary), + he + ); + if ("group" === e.type) + return ( + (he.type = "stack"), + (le = he.content).push.apply( + le, + o( + e.children.map(function (t) { + return pe.convertToRendererConfigCore(t, e); + }) + ) + ), + 0 === he.content.length && + he.content.push( + this._configFactory.createEmptyVisibleWindowConfig() + ), + he.workspacesConfig || (he.workspacesConfig = {}), + (he.workspacesConfig.allowDrop = + null === (v = e.config) || void 0 === v + ? void 0 + : v.allowDrop), + (he.workspacesConfig.allowDropHeader = + null === (m = e.config) || void 0 === m + ? void 0 + : m.allowDropHeader), + (he.workspacesConfig.allowDropLeft = + null === (g = e.config) || void 0 === g + ? void 0 + : g.allowDropLeft), + (he.workspacesConfig.allowDropRight = + null === (y = e.config) || void 0 === y + ? void 0 + : y.allowDropRight), + (he.workspacesConfig.allowDropTop = + null === (w = e.config) || void 0 === w + ? void 0 + : w.allowDropTop), + (he.workspacesConfig.allowDropBottom = + null === (b = e.config) || void 0 === b + ? void 0 + : b.allowDropBottom), + (he.workspacesConfig.allowExtract = + null === (k = e.config) || void 0 === k + ? void 0 + : k.allowExtract), + (he.workspacesConfig.allowReorder = + null === (x = e.config) || void 0 === x + ? void 0 + : x.allowReorder), + (he.workspacesConfig.showMaximizeButton = + null === (_ = e.config) || void 0 === _ + ? void 0 + : _.showMaximizeButton), + (he.workspacesConfig.showEjectButton = + null === (C = e.config) || void 0 === C + ? void 0 + : C.showEjectButton), + (he.workspacesConfig.showAddWindowButton = + null === (I = e.config) || void 0 === I + ? void 0 + : I.showAddWindowButton), + (he.workspacesConfig.maxWidth = + null === (S = e.config) || void 0 === S + ? void 0 + : S.maxWidth), + (he.workspacesConfig.minWidth = + null === (E = e.config) || void 0 === E + ? void 0 + : E.minWidth), + (he.workspacesConfig.maxHeight = + null === (W = e.config) || void 0 === W + ? void 0 + : W.maxHeight), + (he.workspacesConfig.minHeight = + null === (T = e.config) || void 0 === T + ? void 0 + : T.minHeight), + (he.activeItemIndex = + null === (A = e.config) || void 0 === A + ? void 0 + : A.activeTabIndex), + (he.workspacesConfig.positionIndex = + null === (P = e.config) || void 0 === P + ? void 0 + : P.positionIndex), + (he.workspacesConfig.isMaximized = + null === (M = e.config) || void 0 === M + ? void 0 + : M.isMaximized), + (he.width = this.convertSizeToRendererConfigSafely( + null === (R = e.config) || void 0 === R + ? void 0 + : R.width + )), + (he.height = this.convertSizeToRendererConfigSafely( + null === (O = e.config) || void 0 === O + ? void 0 + : O.height + )), + he + ); + if ("window" === e.type) { + var ge = + (null === (D = e.config) || void 0 === D + ? void 0 + : D.appName) || e.appName, + ye = + null === (L = e.config) || void 0 === L + ? void 0 + : L.windowId; + !ge && + ye && + (ge = this._configFactory.getAppNameFromWindowId(ye)); + var we = this._configFactory.createGDWindowConfig({ + windowId: ye, + id: e.id, + appName: ge, + url: + (null === (B = e.config) || void 0 === B + ? void 0 + : B.url) || e.url, + title: + (null === (N = e.config) || void 0 === N + ? void 0 + : N.title) || e.title, + context: + (null === (F = e.config) || void 0 === F + ? void 0 + : F.context) || e.context, + allowExtract: + null !== + (H = + null === + (j = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === j + ? void 0 + : j.allowExtract) && void 0 !== H + ? H + : e.allowExtract, + allowReorder: + null !== + (q = + null === + (z = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === z + ? void 0 + : z.allowReorder) && void 0 !== q + ? q + : e.allowReorder, + showCloseButton: + null !== + (U = + null === + (G = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === G + ? void 0 + : G.showCloseButton) && void 0 !== U + ? U + : e.showCloseButton, + minWidth: + null !== + ($ = + null === + (V = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === V + ? void 0 + : V.minWidth) && void 0 !== $ + ? $ + : e.minWidth, + maxWidth: + null !== + (K = + null === + (J = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === J + ? void 0 + : J.maxWidth) && void 0 !== K + ? K + : e.maxWidth, + minHeight: + null !== + (X = + null === + (Q = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === Q + ? void 0 + : Q.minHeight) && void 0 !== X + ? X + : e.minHeight, + maxHeight: + null !== + (Z = + null === + (Y = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === Y + ? void 0 + : Y.maxHeight) && void 0 !== Z + ? Z + : e.maxHeight, + positionIndex: + null !== + (te = + null === + (ee = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === ee + ? void 0 + : ee.positionIndex) && void 0 !== te + ? te + : e.positionIndex, + isMaximized: + null !== + (re = + null === + (ne = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === ne + ? void 0 + : ne.isMaximized) && void 0 !== re + ? re + : e.isMaximized, + noAppWindowState: + null !== + (oe = + null === + (ie = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === ie + ? void 0 + : ie.noAppWindowState) && void 0 !== oe + ? oe + : e.noAppWindowState + }); + if ("group" !== t.type) { + we.componentState.header = !1; + var be = this.wrap([we], "stack"); + return ( + (be.width = + null !== + (se = + null === + (ae = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === ae + ? void 0 + : ae.width) && void 0 !== se + ? se + : e.width), + (be.height = + null !== + (ue = + null === + (ce = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === ce + ? void 0 + : ce.height) && void 0 !== ue + ? ue + : e.height), + be + ); + } + return we; + } + } + }, + { + key: "convertToApiConfigCore", + value: function (e) { + var t, + n, + r, + i, + o, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b, + k, + x, + _, + C, + I = this; + if (!e.type || "workspace" === e.type) { + var S = this.flat( + e.content.map(function (e) { + return I.convertToApiConfigCore(e); + }) + ); + return { + id: K(e.id), + config: e.workspacesOptions, + children: S + }; + } + if ("component" === e.type && e.componentName === se) return []; + if ( + "component" !== e.type && + e.workspacesConfig && + e.workspacesConfig.wrapper + ) { + var E = this.flat( + e.content.map(function (e) { + return I.convertToApiConfigCore(e); + }) + ); + return ( + E.forEach(function (t) { + ((t.config.width = e.width), + (t.config.height = e.height)); + }), + E + ); + } + if ("component" === e.type) { + var W = e.workspacesConfig; + return this._configFactory.createApiWindow({ + id: e.id, + isFocused: !1, + isMaximized: W.isMaximized, + isSelected: W.isSelected, + windowId: e.componentState.windowId, + appName: e.componentState.appName, + url: e.componentState.url, + frameId: W.frameId, + workspaceId: W.workspaceId, + title: W.title, + positionIndex: W.positionIndex, + allowExtract: W.allowExtract, + allowReorder: W.allowReorder, + showCloseButton: W.showCloseButton, + maxHeight: W.maxHeight, + maxWidth: W.maxWidth, + minHeight: W.minHeight, + minWidth: W.minWidth, + widthInPx: W.widthInPx, + heightInPx: W.heightInPx + }); + } + var T = e, + A = { + id: K(e.id), + type: "stack" === e.type ? "group" : e.type, + children: this.flat( + e.content.map(function (e) { + return I.convertToApiConfigCore(e); + }) + ), + config: { + positionIndex: + null === (t = T.workspacesConfig) || + void 0 === t + ? void 0 + : t.positionIndex, + frameId: + null === (n = T.workspacesConfig) || + void 0 === n + ? void 0 + : n.frameId, + workspaceId: + null === (r = T.workspacesConfig) || + void 0 === r + ? void 0 + : r.workspaceId, + activeTabIndex: T.activeItemIndex, + width: T.width, + height: T.height, + allowDrop: + null === (i = T.workspacesConfig) || + void 0 === i + ? void 0 + : i.allowDrop, + allowDropHeader: + null === (o = T.workspacesConfig) || + void 0 === o + ? void 0 + : o.allowDropHeader, + allowDropLeft: + null === (a = T.workspacesConfig) || + void 0 === a + ? void 0 + : a.allowDropLeft, + allowDropRight: + null === (s = T.workspacesConfig) || + void 0 === s + ? void 0 + : s.allowDropRight, + allowDropTop: + null === (c = T.workspacesConfig) || + void 0 === c + ? void 0 + : c.allowDropTop, + allowDropBottom: + null === (u = T.workspacesConfig) || + void 0 === u + ? void 0 + : u.allowDropBottom, + isPinned: + null === (d = T.workspacesConfig) || + void 0 === d + ? void 0 + : d.isPinned, + allowExtract: + null === (l = T.workspacesConfig) || + void 0 === l + ? void 0 + : l.allowExtract, + allowReorder: + null === (p = T.workspacesConfig) || + void 0 === p + ? void 0 + : p.allowReorder, + showMaximizeButton: + null === (h = T.workspacesConfig) || + void 0 === h + ? void 0 + : h.showMaximizeButton, + showEjectButton: + null === (f = T.workspacesConfig) || + void 0 === f + ? void 0 + : f.showEjectButton, + showAddWindowButton: + null === (v = T.workspacesConfig) || + void 0 === v + ? void 0 + : v.showAddWindowButton, + allowSplitters: + null === (m = T.workspacesConfig) || + void 0 === m + ? void 0 + : m.allowSplitters, + minWidth: + null === (g = T.workspacesConfig) || + void 0 === g + ? void 0 + : g.minWidth, + maxWidth: + null === (y = T.workspacesConfig) || + void 0 === y + ? void 0 + : y.maxWidth, + minHeight: + null === (w = T.workspacesConfig) || + void 0 === w + ? void 0 + : w.minHeight, + maxHeight: + null === (b = T.workspacesConfig) || + void 0 === b + ? void 0 + : b.maxHeight, + widthInPx: + null === (k = T.workspacesConfig) || + void 0 === k + ? void 0 + : k.widthInPx, + heightInPx: + null === (x = T.workspacesConfig) || + void 0 === x + ? void 0 + : x.heightInPx, + isMaximized: + null === (_ = T.workspacesConfig) || + void 0 === _ + ? void 0 + : _.isMaximized, + maximizationBoundary: + null === (C = T.workspacesConfig) || + void 0 === C + ? void 0 + : C.maximizationBoundary + } + }; + return ( + "group" !== A.type + ? (delete A.config.allowExtract, + delete A.config.allowReorder, + delete A.config.allowDropHeader, + delete A.config.allowDropLeft, + delete A.config.allowDropTop, + delete A.config.allowDropRight, + delete A.config.allowDropBottom, + delete A.config.showMaximizeButton, + delete A.config.showEjectButton, + delete A.config.showAddWindowButton) + : delete A.config.allowSplitters, + A + ); + } + }, + { + key: "wrap", + value: function (e, t) { + return { + workspacesConfig: { + wrapper: !0, + isMaximized: + "stack" === t && + e.some(function (e) { + return e.workspacesConfig.isMaximized; + }) + }, + type: t, + content: e + }; + } + }, + { + key: "applyDefaultRendererConfig", + value: function (e) { + return Object.assign( + { + settings: Object.assign( + {}, + this._configFactory.getDefaultWorkspaceSettings() + ) + }, + e + ); + } + }, + { + key: "getGroupWithEmptyVisibleWindow", + value: function () { + return this.wrap( + [this._configFactory.createEmptyVisibleWindowConfig()], + "stack" + ); + } + }, + { + key: "convertSizeToRendererConfigSafely", + value: function (e) { + return e > 0 ? e : void 0; + } + } + ]), + e + ); + })(), + De = (function () { + function e(t, n, r) { + (w(this, e), + (this._externalPopupManager = t), + (this._componentPopupManager = n), + (this._componentFactory = r)); + } + return ( + x(e, [ + { + key: "showAddWindowPopup", + value: function (e, t) { + var n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + !(null === + (n = + this + ._componentFactory) || + void 0 === n + ? void 0 + : n.createAddApplicationPopup) + ) { + r.next = 5; + break; + } + return ( + (r.next = 3), + this._componentPopupManager.showAddWindowPopup( + e, + t + ) + ); + case 3: + r.next = 7; + break; + case 5: + return ( + (r.next = 7), + this._externalPopupManager.showAddWindowPopup( + e, + t + ) + ); + case 7: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "showOpenWorkspacePopup", + value: function (e, t) { + var n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + !(null === + (n = + this + ._componentFactory) || + void 0 === n + ? void 0 + : n.createAddWorkspacePopup) + ) { + r.next = 5; + break; + } + return ( + (r.next = 3), + this._componentPopupManager.showOpenWorkspacePopup( + e, + t + ) + ); + case 3: + r.next = 7; + break; + case 5: + return ( + (r.next = 7), + this._externalPopupManager.showOpenWorkspacePopup( + e, + t + ) + ); + case 7: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "showSaveWorkspacePopup", + value: function (e, t) { + var n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + !(null === + (n = + this + ._componentFactory) || + void 0 === n + ? void 0 + : n.createSaveWorkspacePopup) + ) { + r.next = 5; + break; + } + return ( + (r.next = 3), + this._componentPopupManager.showSaveWorkspacePopup( + e, + t + ) + ); + case 3: + r.next = 7; + break; + case 5: + return ( + (r.next = 7), + this._externalPopupManager.showSaveWorkspacePopup( + e, + t + ) + ); + case 7: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "hidePopup", + value: function () { + (this._externalPopupManager.hidePopup(), + this._componentFactory && + this._componentPopupManager.hidePopup()); + } + }, + { + key: "onPopupStateChanged", + value: function (e) { + var t = this._externalPopupManager.onPopupStateChanged(e), + n = this._componentPopupManager.onPopupStateChanged(e); + return function () { + (t(), n()); + }; + } + } + ]), + e + ); + })(), + Le = (function () { + function e(t) { + (w(this, e), + (this.componentFactory = t), + (this.openPopupInfo = void 0), + (this.registry = we())); + } + return ( + x(e, [ + { + key: "showAddWindowPopup", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + ((this.openPopupInfo = { + type: "addApplication", + workspaceId: t.workspaceId, + boxId: t.boxId + }), + this.notifyCustomElements( + this.openPopupInfo, + !0 + ), + this.registry.execute( + "popup-state-changed", + this.openPopupInfo, + !0 + )); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "showOpenWorkspacePopup", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + ((this.openPopupInfo = { + type: "openWorkspace" + }), + this.notifyCustomElements( + this.openPopupInfo, + !0 + ), + this.registry.execute( + "popup-state-changed", + this.openPopupInfo, + !0 + )); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "showSaveWorkspacePopup", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + ((this.openPopupInfo = { + type: "saveWorkspace", + workspaceId: t.workspaceId + }), + this.registry.execute( + "popup-state-changed", + this.openPopupInfo, + !0 + )); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "hidePopup", + value: function () { + (this.openPopupInfo && + this.registry.execute( + "popup-state-changed", + this.openPopupInfo, + !1 + ), + this.notifyCustomElements(this.openPopupInfo, !1), + (this.openPopupInfo = void 0)); + } + }, + { + key: "onPopupStateChanged", + value: function (e) { + return this.registry.add("popup-state-changed", e); + } + }, + { + key: "notifyCustomElements", + value: function (e, t) { + "openWorkspace" === + (null === e || void 0 === e ? void 0 : e.type) + ? be.decoratedFactory.updateAddWorkspace({ + isAddWorkspacePopupActive: t + }) + : "addApplication" === + (null === e || void 0 === e ? void 0 : e.type) && + (be.decoratedFactory.updateAfterGroupTabs({ + isAddWindowPopupActive: t, + workspaceId: e.workspaceId, + groupId: e.boxId + }), + be.decoratedFactory.updateGroupHeaderButtons({ + isAddWindowPopupActive: t, + workspaceId: e.workspaceId, + groupId: e.boxId + })); + } + } + ]), + e + ); + })(), + Be = (function (e) { + g(n, e); + var t = y(n); + function n(e, r) { + var i; + return ( + w(this, n), + ((i = t.call(this, r))._addApplicationType = "addApplication"), + (i._openWorkspaceType = "openWorkspace"), + (i._saveWorkspaceType = "saveWorkspace"), + (i._showPopupMethod = "T42.Workspaces.ShowPopup"), + (i._glue = e), + i.initPopup(), + i.registerHideMethod(), + i.registerResizeMethod(), + i + ); + } + return ( + x(n, [ + { + key: "showAddWindowPopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showAddWindowPopup: { + get: function () { + return v( + f(n.prototype), + "showAddWindowPopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + this.hidePopup(), + (n.next = 3), + this.getPopupSize( + this._addApplicationType, + t + ) + ); + case 3: + ((r = n.sent), + this.showElement( + this._popup, + e, + r + ), + i.showAddWindowPopup.call( + this, + e, + t + )); + case 6: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showOpenWorkspacePopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showOpenWorkspacePopup: { + get: function () { + return v( + f(n.prototype), + "showOpenWorkspacePopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + this.hidePopup(), + (n.next = 3), + this.getPopupSize( + this._openWorkspaceType, + t + ) + ); + case 3: + ((r = n.sent), + this.showElement( + this._popup, + e, + r + ), + i.showOpenWorkspacePopup.call( + this, + e, + t + )); + case 6: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showSaveWorkspacePopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showSaveWorkspacePopup: { + get: function () { + return v( + f(n.prototype), + "showSaveWorkspacePopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + this.hidePopup(), + (n.next = 3), + this.getPopupSize( + this._saveWorkspaceType, + t + ) + ); + case 3: + ((r = n.sent), + this.showElement( + this._popup, + e, + r + ), + i.showSaveWorkspacePopup.call( + this, + e, + t + )); + case 6: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "hidePopup", + value: function () { + ($(this._popup).css("visibility", "hidden"), + v(f(n.prototype), "hidePopup", this).call(this)); + } + }, + { key: "initPopup", value: function () {} }, + { + key: "showElement", + value: function (e, t, n) { + ($(e) + .css("visibility", "visible") + .css("top", "".concat(t.top, "px")) + .css("left", "".concat(t.left, "px")), + n.height && $(e).css("height", "".concat(n.height, "px")), + n.width && $(e).css("width", "".concat(n.width, "px"))); + var r = e.getBoundingClientRect(), + i = document.body.getBoundingClientRect(), + o = i.width - r.right - 10, + a = i.height - r.bottom - 10; + (o < 0 && $(e).css("left", t.left + o), + a < 0 && $(e).css("top", t.top + a)); + } + }, + { + key: "resizePopup", + value: function (e) { + var t = $(this._popup); + (e.height && t.css("height", "".concat(e.height, "px")), + e.width && t.css("width", "".concat(e.width, "px"))); + var n = this._popup.getBoundingClientRect(), + r = document.body.getBoundingClientRect(), + i = r.width - n.right - 10, + o = r.height - n.bottom - 10; + if (i < 0) { + var a = t.css("left"), + s = parseInt(a.substring(0, a.length - 2)); + t.css("left", s + i); + } + if (o < 0) { + var c = t.css("top"), + u = parseInt(c.substring(0, c.length - 2)); + t.css("top", u + o); + } + } + }, + { + key: "getPopupSize", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = this.getPopupInteropId()), + (i = this._glue.agm + .servers() + .find(function (e) { + return e.windowId === r; + })), + (n.next = 4), + this._glue.agm.invoke( + this._showPopupMethod, + { type: e, payload: t }, + i + ) + ); + case 4: + return n.abrupt( + "return", + n.sent.returned + ); + case 5: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { key: "registerHideMethod", value: function () {} }, + { key: "registerResizeMethod", value: function () {} }, + { + key: "getPopupInteropId", + value: function () { + try { + return this._popup.contentWindow.interopId || "best"; + } catch (e) { + console.warn( + "Could not get the popup interop id using best" + ); + } + return "best"; + } + }, + { + key: "getPopupWindowTemplate", + value: function (e) { + return '' + ); + } + } + ]), + n + ); + })(Le), + Ne = (function (e) { + g(n, e); + var t = y(n); + function n(e, r) { + var i, o, a; + return ( + w(this, n), + ((a = t.call(this, e))._addApplicationType = "addApplication"), + (a._openWorkspaceType = "openWorkspace"), + (a._saveWorkspaceType = "saveWorkspace"), + (a._popupSizes = + (_((i = {}), a._addApplicationType, { height: 200, width: 200 }), + _(i, a._openWorkspaceType, { height: 200, width: 200 }), + _(i, a._saveWorkspaceType, { height: 200, width: 200 }), + i)), + (a.hidePopup = function () { + return ( + (document.body.onclick = void 0), + $(a._popup).css("visibility", "hidden"), + v(((o = h(a)), f(n.prototype)), "hidePopup", o).call(o), + new Promise(function (e) { + var t; + ( + null === (t = a.componentFactory) || void 0 === t + ? void 0 + : t.hideSystemPopups + ) + ? a.componentFactory.hideSystemPopups(e) + : e(); + }) + ); + }), + (a._frameId = r), + a.initPopup(), + a + ); + } + return ( + x(n, [ + { + key: "showAddWindowPopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showAddWindowPopup: { + get: function () { + return v( + f(n.prototype), + "showAddWindowPopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this.showInternalAddAppPopup( + e, + t.boxId, + t.workspaceId + ) + ); + case 2: + i.showAddWindowPopup.call( + this, + e, + t + ); + case 3: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showOpenWorkspacePopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showOpenWorkspacePopup: { + get: function () { + return v( + f(n.prototype), + "showOpenWorkspacePopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this.showInternalOpenWorkspacePopup( + e + ) + ); + case 2: + i.showOpenWorkspacePopup.call( + this, + e, + t + ); + case 3: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showSaveWorkspacePopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showSaveWorkspacePopup: { + get: function () { + return v( + f(n.prototype), + "showSaveWorkspacePopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this.showInternalSaveWorkspacePopup( + e, + t + ) + ); + case 2: + i.showSaveWorkspacePopup.call( + this, + e, + t + ); + case 3: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showInternalSaveWorkspacePopup", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this.hidePopup() + ); + case 2: + ((r = this.getPopupSize( + this._saveWorkspaceType + )), + this.showElement( + this._popup, + e, + r + ), + this.componentFactory.createSaveWorkspacePopup( + { + frameId: this._frameId, + domNode: this._popup, + resizePopup: function ( + e + ) { + return i.resizePopup( + e, + i._saveWorkspaceType, + $(i._popup) + ); + }, + hidePopup: + this.hidePopup, + workspaceId: + t.workspaceId, + buildMode: t.buildMode + } + )); + case 5: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showInternalOpenWorkspacePopup", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this.hidePopup() + ); + case 2: + ((n = this.getPopupSize( + this._openWorkspaceType + )), + this.showElement( + this._popup, + e, + n + ), + this.componentFactory.createAddWorkspacePopup( + { + domNode: this._popup, + frameId: this._frameId, + hidePopup: + this.hidePopup, + resizePopup: function ( + e + ) { + return r.resizePopup( + e, + r._openWorkspaceType, + $(r._popup) + ); + } + } + )); + case 5: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "showInternalAddAppPopup", + value: function (e, t, n) { + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, + o = this; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (r.next = 2), + this.hidePopup() + ); + case 2: + ((i = this.getPopupSize( + this._addApplicationType + )), + this.showElement( + this._popup, + e, + i + ), + this.componentFactory.createAddApplicationPopup( + { + domNode: this._popup, + boxId: t, + resizePopup: function ( + e + ) { + return o.resizePopup( + e, + o._addApplicationType, + $(o._popup) + ); + }, + hidePopup: + this.hidePopup, + workspaceId: n, + frameId: this._frameId + } + )); + case 5: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "initPopup", + value: function () { + ((this._popup = document.createElement("div")), + this._popup.classList.add("workspaces-system-popup"), + document.body.appendChild(this._popup)); + } + }, + { + key: "showElement", + value: function (e, t, n) { + var r = this; + ((document.body.onclick = function (e) { + -1 === e.composedPath().indexOf(r._popup) && r.hidePopup(); + }), + (document.body.onblur = function () { + "iframe" === + document.activeElement.tagName.toLowerCase() && + r.hidePopup(); + }), + $(e) + .css("visibility", "visible") + .css("top", "".concat(t.top, "px")) + .css("left", "".concat(t.left, "px")), + n.height && $(e).css("height", "".concat(n.height, "px")), + n.width && $(e).css("width", "".concat(n.width, "px"))); + var i = e.getBoundingClientRect(), + o = document.body.getBoundingClientRect(), + a = o.width - i.right - 10, + s = o.height - i.bottom - 10; + (a < 0 && $(e).css("left", t.left + a), + s < 0 && $(e).css("top", t.top + s)); + } + }, + { + key: "resizePopup", + value: function (e, t, n) { + (e.height && + (n.css("height", "".concat(e.height, "px")), + (this._popupSizes[t].height = e.height)), + e.width && + (n.css("width", "".concat(e.width, "px")), + (this._popupSizes[t].width = e.width))); + var r = n[0].getBoundingClientRect(), + i = document.body.getBoundingClientRect(), + o = i.width - r.right - 10, + a = i.height - r.bottom - 10; + if (o < 0) { + var s = n.css("left"), + c = parseInt(s.substring(0, s.length - 2), 10); + n.css("left", c + o); + } + if (a < 0) { + var u = n.css("top"), + d = parseInt(u.substring(0, u.length - 2), 10); + n.css("top", d + a); + } + } + }, + { + key: "getPopupSize", + value: function (e) { + return this._popupSizes[e]; + } + } + ]), + n + ); + })(Le), + Fe = (function () { + function e(t, n, r, i, o, a, s) { + (w(this, e), + (this._glue = t), + (this._stateResolver = n), + (this._frameController = r), + (this._manager = i), + (this._delayedExecutor = o), + (this._platformCommunicator = a), + (this._systemSettings = s), + (this.registry = we()), + (this.WAIT_FOR_WINDOWS_TIMEOUT = 3e4), + (this.idToWindowPromise = {})); + } + return ( + x(e, [ + { + key: "start", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + o, + a = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if (e.config.componentName !== se) { + n.next = 2; + break; + } + return n.abrupt("return"); + case 2: + if ( + "undefined" === + typeof this.idToWindowPromise[ + K(e.config.id) + ] + ) { + n.next = 4; + break; + } + return n.abrupt( + "return", + this.idToWindowPromise[ + K(e.config.id) + ] + ); + case 4: + if ((r = ae.getById(t))) { + n.next = 7; + break; + } + return n.abrupt("return"); + case 7: + return ( + (i = this.startCore(e, r)), + (this.idToWindowPromise[ + K(e.config.id) + ] = i), + (o = + this._frameController.onFrameRemoved( + function (t) { + t === + K( + e.config.id + ) && + (o(), + delete a + .idToWindowPromise[ + t + ]); + } + )), + n.abrupt("return", i) + ); + case 11: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "getLoadingStrategy", + value: function (e, t, n) { + var r, i; + return (null === n || void 0 === n ? void 0 : n.loadingStrategy) + ? n.loadingStrategy + : ( + null === + (r = + null === t || void 0 === t + ? void 0 + : t.workspacesOptions) || void 0 === r + ? void 0 + : r.loadingStrategy + ) + ? t.workspacesOptions.loadingStrategy + : ( + null === e || void 0 === e + ? void 0 + : e.loadingStrategy + ) + ? null === + (i = + null === e || void 0 === e + ? void 0 + : e.loadingStrategy) || void 0 === i + ? void 0 + : i.defaultStrategy + : void 0; + } + }, + { + key: "startLazy", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i, + o = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + null === (n = ae.getById(e)) || + void 0 === n + ? void 0 + : n.layout + ) { + t.next = 3; + break; + } + return t.abrupt("return"); + case 3: + return ( + (r = + n.layout.root.getItemsByType( + "component" + )), + (i = + this.getComponentsByVisibility( + r.map(function (e) { + return e; + }) + )), + t.abrupt( + "return", + Promise.all( + i.visibleComponents.map( + function (t) { + return o.start( + t, + e + ); + } + ) + ) + ) + ); + case 6: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "startDelayed", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i, + o, + a, + c, + u = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + null === (n = ae.getById(e)) || + void 0 === n + ? void 0 + : n.layout + ) { + t.next = 3; + break; + } + return t.abrupt("return"); + case 3: + return ( + (r = + n.layout.root.getItemsByType( + "component" + )), + (i = + this.getComponentsByVisibility( + r.map(function (e) { + return e; + }) + )), + (o = i.visibleComponents.map( + function (t) { + return u.start(t, e); + } + )), + (t.next = 8), + this._systemSettings.getSettings() + ); + case 8: + return ( + (a = t.sent.loadingStrategy), + (c = Promise.all(o).then( + function () { + var t, n, r; + return u._delayedExecutor.startExecution( + i.notImmediatelyVisibleComponents.map( + function (t) { + return { + id: K( + t + .config + .id + ), + action: function () { + return u.start( + t, + e + ); + } + }; + } + ), + { + batchSize: + (null === + (t = + null === + a || + void 0 === + a + ? void 0 + : a.delayed) || + void 0 === t + ? void 0 + : t.batch) || + 1, + executionInterval: + (null === + (n = + null === + a || + void 0 === + a + ? void 0 + : a.delayed) || + void 0 === n + ? void 0 + : n.interval) || + 5e3, + initialDelay: + (null === + (r = + null === + a || + void 0 === + a + ? void 0 + : a.delayed) || + void 0 === r + ? void 0 + : r.initialOffsetInterval) || + 1e3 + } + ); + } + )), + t.abrupt("return", c) + ); + case 11: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "startDirect", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i = this; + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + null === (n = ae.getById(e)) || + void 0 === n + ? void 0 + : n.layout + ) { + t.next = 3; + break; + } + return t.abrupt("return"); + case 3: + return ( + (r = + n.layout.root.getItemsByType( + "component" + )), + (t.next = 6), + Promise.all( + r.map(function (t) { + return i.start(t, e); + }) + ) + ); + case 6: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "onStarted", + value: function (e) { + return this.registry.add("on-started", e); + } + }, + { + key: "onLoaded", + value: function (e) { + return this.registry.add("on-loaded", e); + } + }, + { + key: "onFailed", + value: function (e) { + return this.registry.add("on-failed", e); + } + }, + { + key: "waitForWindows", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + var o, + a = function () {}, + s = function () {}, + u = c( + n.waitFor(t.length, function () { + (r(), a(), s(), clearTimeout(o)); + }), + 2 + ), + d = u[0], + l = u[1]; + ((o = setTimeout(function () { + i( + "Waiting for windows " + .concat(JSON.stringify(t), " in workspace ") + .concat(e, ", but only heard ") + .concat(JSON.stringify(l()), " in ") + .concat(n.WAIT_FOR_WINDOWS_TIMEOUT, " seconds") + ); + }, n.WAIT_FOR_WINDOWS_TIMEOUT)), + (a = n.onLoaded(function (n) { + var r = n.summary; + r.config.workspaceId === e && + t.includes(r.itemId) && + d(r.itemId); + })), + (s = n.onFailed(function (n) { + n.workspaceId === e && + t.includes(K(n.component.config.id)) && + d(n.component.config.id); + }))); + }); + } + }, + { + key: "getUrlByAppName", + value: function (e) { + var t, n, r, i; + if (e) + return null === + (i = + null === + (r = + null === + (n = + null === + (t = this._glue.appManager) || + void 0 === t + ? void 0 + : t.application(e)) || + void 0 === n + ? void 0 + : n.userProperties) || void 0 === r + ? void 0 + : r.details) || void 0 === i + ? void 0 + : i.url; + } + }, + { + key: "raiseFailed", + value: function (e, t) { + this.registry.execute("on-failed", { + component: e, + workspaceId: t + }); + } + }, + { + key: "getTitleByAppName", + value: function (e) { + var t, n; + if (e) + return null === + (n = + null === (t = this._glue.appManager) || void 0 === t + ? void 0 + : t.application(e)) || void 0 === n + ? void 0 + : n.title; + } + }, + { + key: "getAppNameByWindowId", + value: function (e) { + var t, n, r, i; + return null === + (i = + null === + (r = + null === + (n = + null === (t = this._glue.appManager) || + void 0 === t + ? void 0 + : t.instances()) || void 0 === n + ? void 0 + : n.find(function (t) { + return t.id === e; + })) || void 0 === r + ? void 0 + : r.application) || void 0 === i + ? void 0 + : i.name; + } + }, + { + key: "waitFor", + value: function (e, t) { + var n = []; + return [ + function (r) { + (n.push(r), n.length === e && t()); + }, + function () { + return n; + } + ]; + } + }, + { + key: "validateTitle", + value: function (e) { + if (null === e || void 0 === e ? void 0 : e.length) return e; + } + }, + { + key: "getComponentsByVisibility", + value: function (e) { + var t = this, + n = e.filter(function (e) { + return t._stateResolver.isWindowSelected(e.config.id); + }), + r = e.filter(function (e) { + return !n.includes(e); + }); + return { + visibleComponents: n, + notImmediatelyVisibleComponents: r + }; + } + }, + { + key: "startCore", + value: function (e, t) { + var n, r, i, a, c; + return q( + this, + void 0, + void 0, + s().mark(function u() { + var d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b, + k, + x, + _, + C, + I, + S, + E, + W, + T = this; + return s().wrap( + function (s) { + for (;;) + switch ((s.prev = s.next)) { + case 0: + if ( + ((d = Z(e.element)), + (l = e.config.componentState), + (p = l.title), + (h = l.appName), + (f = l.windowId), + (v = K(e.config.id)), + (m = this.getTitleByAppName(h)), + (g = + this.validateTitle(p) || + this.validateTitle(m) || + this.validateTitle(h) || + "Glue"), + (y = + null === + (n = + null === e || + void 0 === e + ? void 0 + : e.config + .componentState) || + void 0 === n + ? void 0 + : n.context), + (w = + this.getUrlByAppName( + l.appName + ) || + (null === + (a = + null === + (i = + null === + (r = + e + .config + .workspacesConfig) || + void 0 === r + ? void 0 + : r.noAppWindowState) || + void 0 === i + ? void 0 + : i.createArgs) || + void 0 === a + ? void 0 + : a.url)), + (b = ae.getWindow(v)), + (k = + !b || + !ae.getWindow(v).windowId), + (x = t.hibernatedWindows.some( + function (t) { + return ( + t.id === + K(e.config.id) + ); + } + )), + ae.addWindow( + { + id: v, + bounds: d, + windowId: f, + url: w, + appName: h + }, + t.id + ), + w || !f) + ) { + s.next = 20; + break; + } + return ( + (_ = this._glue.windows + .list() + .find(function (e) { + return e.id === f; + })), + (s.next = 17), + _.getURL() + ); + case 17: + ((w = s.sent), + (ae.getWindow(v).url = w)); + case 20: + if ( + ((f = f || ie()), + (null === + (c = + e.config + .componentState) || + void 0 === c + ? void 0 + : c.context) && + delete e.config + .componentState.context, + (e.config.componentState.url = + w), + g && + (e.setTitle(g), + be.decoratedFactory.updateWorkspaceWindowTabs( + { + placementId: v, + title: g + } + )), + !k || x) + ) { + s.next = 36; + break; + } + if ( + ((C = + this._stateResolver.getWindowSummarySync( + e.config.id, + e + )), + this._manager.workspacesEventEmitter.raiseWindowEvent( + { + action: "added", + payload: { + windowSummary: C + } + } + ), + !(I = + this._glue.windows.findById( + f + ))) + ) { + s.next = 36; + break; + } + return ( + (s.prev = 29), + (s.next = 32), + I.close() + ); + case 32: + s.next = 36; + break; + case 34: + ((s.prev = 34), + (s.t0 = s.catch(29))); + case 36: + return ( + (s.prev = 36), + (s.next = 39), + this._platformCommunicator.notifyFrameWillStart( + f, + h, + y, + g, + t.id + ) + ); + case 39: + return ( + (s.next = 41), + this._frameController.startFrame( + v, + w, + void 0, + f, + h + ) + ); + case 41: + if ( + ((S = ae.getWindow(v)), + (e.config.componentState.windowId = + f), + (S.windowId = f), + be.decoratedFactory.updateWorkspaceWindowTabs( + { + placementId: v, + windowId: f + } + ), + this._glue.windows + .findById(f) + .getTitle() + .then(function (t) { + T.validateTitle(g) && + (e.setTitle(t), + be.decoratedFactory.updateWorkspaceWindowTabs( + { + placementId: + v, + title: g + } + )); + }) + .catch(function (e) { + console.warn( + "Failed while setting the window title", + e + ); + }), + this._frameController.moveFrame( + v, + Z(e.element) + ), + !k || x) + ) { + s.next = 56; + break; + } + return ( + (s.t1 = + this._manager.workspacesEventEmitter), + (s.next = 52), + this._stateResolver.getWindowSummary( + v + ) + ); + case 52: + ((s.t2 = s.sent), + (s.t3 = { + windowSummary: s.t2 + }), + (s.t4 = { + action: "loaded", + payload: s.t3 + }), + s.t1.raiseWindowEvent.call( + s.t1, + s.t4 + )); + case 56: + if (h) { + s.next = 62; + break; + } + if ( + ((E = + this.getAppNameByWindowId( + f + )), + e.config.componentState) + ) { + s.next = 60; + break; + } + throw new Error( + "Invalid state - the created component " + .concat( + v, + " with windowId " + ) + .concat( + f, + " is missing its state object" + ) + ); + case 60: + ((e.config.componentState.appName = + E), + (S.appName = E)); + case 62: + ((W = + e.layoutManager.root.getItemsByFilter( + function (e) { + return ( + e.isMaximized && + "component" !== + e.type + ); + } + )), + W.reduce(function (e, t) { + return [].concat( + o(e), + o( + t.getItemsByFilter( + function (e) { + return ( + "component" === + e.type + ); + } + ) + ) + ); + }, []).some(function (t) { + return t === e; + }) && + (this._frameController.maximizeTab( + v + ), + this._frameController.selectionChanged( + [v], + [] + )), + (s.next = 75)); + break; + case 67: + if ( + ((s.prev = 67), + (s.t5 = s.catch(36)), + this.raiseFailed(e, t.id), + w + ? this._frameController.moveFrame( + v, + Z(e.element) + ) + : ((e.config.componentState.windowId = + f), + this._manager.closeTab( + e, + !1 + )), + (e.config.componentState.windowId = + void 0), + ae.getById(t.id)) + ) { + s.next = 75; + break; + } + throw new Error( + "Workspace " + .concat( + t.id, + " failed ot initialize because none of the specified windows were able to load\n Internal error: " + ) + .concat(s.t5) + ); + case 75: + return ( + (s.prev = 75), + (t.hibernatedWindows = + t.hibernatedWindows.filter( + function (t) { + return ( + t.id !== + K(e.config.id) + ); + } + )), + s.finish(75) + ); + case 78: + case "end": + return s.stop(); + } + }, + u, + this, + [ + [29, 34], + [36, 67, 75, 78] + ] + ); + }) + ); + } + } + ]), + e + ); + })(), + je = (function () { + function e() { + (w(this, e), (this.actionsInProgress = [])); + } + return ( + x(e, [ + { + key: "startExecution", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + a = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = this.splitInBatches( + e, + t.batchSize + )), + (n.next = 3), + this.waitFor(t.initialDelay) + ); + case 3: + return ( + (i = r.reduce(function (e, n) { + return q( + a, + void 0, + void 0, + s().mark(function r() { + var i; + return s().wrap( + function (r) { + for (;;) + switch ( + (r.prev = + r.next) + ) { + case 0: + return ( + (r.next = 2), + e + ); + case 2: + return ( + (i = + r.sent), + (r.t0 = + i.push), + (r.t1 = + i), + (r.t2 = + o), + (r.next = 8), + this.executeBatch( + n + ) + ); + case 8: + return ( + (r.t3 = + r.sent), + (r.t4 = + (0, + r.t2)( + r.t3 + )), + r.t0.apply.call( + r.t0, + r.t1, + r.t4 + ), + (r.next = 13), + this.waitFor( + t.executionInterval + ) + ); + case 13: + return r.abrupt( + "return", + Promise.resolve( + i + ) + ); + case 14: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + }, Promise.resolve([]))), + n.abrupt( + "return", + i.then(function () { + a.actionsInProgress = + []; + }) + ) + ); + case 5: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "isActionInProgress", + value: function (e) { + return this.actionsInProgress.some(function (t) { + return t.id === e; + }); + } + }, + { + key: "executeBatch", + value: function (e) { + return ( + (this.actionsInProgress = e), + Promise.all( + e.map(function (e) { + return e.action(); + }) + ) + ); + } + }, + { + key: "splitInBatches", + value: function (e, t) { + return e.reduce(function (e, n, r) { + if (r % t === 0) e.push([n]); + else { + var i = e.pop(); + (i.push(n), e.push(i)); + } + return e; + }, []); + } + }, + { + key: "waitFor", + value: function (e) { + return new Promise(function (t) { + setTimeout(function () { + t(); + }, e); + }); + } + } + ]), + e + ); + })(), + He = (function () { + function e(t) { + (w(this, e), (this._platformCommunicator = t)); + } + return ( + x(e, [ + { + key: "getSettings", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (this.settings) { + e.next = 4; + break; + } + return ( + (e.next = 3), + this._platformCommunicator.askForSettings() + ); + case 3: + this.settings = e.sent; + case 4: + return e.abrupt( + "return", + this.settings + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + } + ]), + e + ); + })(), + ze = (function () { + function e() { + w(this, e); + } + return ( + x(e, [ + { + key: "validateWorkspace", + value: function (e) { + var t = this; + return !this.getAllItemsFromWorkspace(e).filter(function (e) { + return !t.areConstraintsValid(t.getConstraintsFromItem(e)); + }).length; + } + }, + { + key: "fixWorkspace", + value: function (e) { + var t = this, + n = this.getAllItemsFromWorkspace(e); + return ( + !n.filter(function (e) { + return !t.areConstraintsValid( + t.getConstraintsFromItem(e) + ); + }).length || + (n.forEach(function (e) { + e.config && + ((e.config.minWidth = le), + (e.config.minHeight = le), + (e.config.maxWidth = de), + (e.config.maxHeight = de)); + }), + !1) + ); + } + }, + { + key: "fixNewWindow", + value: function (e, t, n) { + var r, i, o, a, s; + if ( + void 0 !== + (null === (r = e.config) || void 0 === r + ? void 0 + : r.minWidth) || + void 0 !== + (null === (i = e.config) || void 0 === i + ? void 0 + : i.maxWidth) || + void 0 !== + (null === (o = e.config) || void 0 === o + ? void 0 + : o.minHeight) || + void 0 !== + (null === (a = e.config) || void 0 === a + ? void 0 + : a.maxHeight) + ) { + (!(function e(t, r) { + s || + ("window" !== t.type && + (t.id !== r + ? t.children.forEach(function (t) { + e(t, n); + }) + : (s = t))); + })(t, n), + s.children.push(e), + this.validateWorkspace(t) || + ((e.config.minWidth = le), + (e.config.maxWidth = de), + (e.config.minHeight = le), + (e.config.maxHeight = de))); + } + } + }, + { + key: "fixNewContainer", + value: function (e, t, n) { + var r; + if ( + ((function e(t, i) { + r || + ("window" !== t.type && + (t.id !== i + ? t.children.forEach(function (t) { + e(t, n); + }) + : (r = t))); + })(t, n), + r.children.push(e), + !this.validateWorkspace(t)) + ) { + !(function e(t) { + (t.config && + ((t.config.minWidth = le), + (t.config.maxWidth = de), + (t.config.minHeight = le), + (t.config.maxHeight = de)), + "window" !== t.type && + t.children.forEach(function (t) { + return e(t); + })); + })(e); + } + } + }, + { + key: "getAllItemsFromWorkspace", + value: function (e) { + var t = []; + return ( + (function e(n) { + (t.push(n), + "window" !== n.type && + n.children.forEach(function (t) { + return e(t); + })); + })(e), + t + ); + } + }, + { + key: "areConstraintsValid", + value: function (e) { + return e.minWidth <= e.maxWidth && e.minHeight <= e.maxHeight; + } + }, + { + key: "getConstraintsFromItem", + value: function (e) { + var t, + n, + r, + i, + o, + a, + s, + c, + u = this, + d = + null !== + (n = + null === (t = e.config) || void 0 === t + ? void 0 + : t.minWidth) && void 0 !== n + ? n + : le, + l = + null !== + (i = + null === (r = e.config) || void 0 === r + ? void 0 + : r.maxWidth) && void 0 !== i + ? i + : de, + p = + null !== + (a = + null === (o = e.config) || void 0 === o + ? void 0 + : o.minHeight) && void 0 !== a + ? a + : le, + h = + null !== + (c = + null === (s = e.config) || void 0 === s + ? void 0 + : s.maxHeight) && void 0 !== c + ? c + : de, + f = 0, + v = 0, + m = 0, + g = 0; + return "window" === e.type + ? { minWidth: d, maxWidth: l, minHeight: p, maxHeight: h } + : ("row" === e.type + ? e.children.forEach(function (e) { + var t, + n, + r, + i, + o = u.getConstraintsFromItem(e); + ((f += + null !== (t = o.minWidth) && void 0 !== t + ? t + : le), + (v += + null !== (n = o.maxWidth) && + void 0 !== n + ? n + : de), + (m = Math.max( + null !== (r = o.minHeight) && + void 0 !== r + ? r + : le, + m + )), + (g = Math.min( + null !== (i = o.maxHeight) && + void 0 !== i + ? i + : de, + g || h + ))); + }) + : "column" === e.type + ? e.children.forEach(function (e) { + var t, + n, + r, + i, + o = u.getConstraintsFromItem(e); + ((f = Math.max( + null !== (t = o.minWidth) && void 0 !== t + ? t + : le, + f + )), + (v = Math.min( + null !== (n = o.maxWidth) && + void 0 !== n + ? n + : de, + v || l + )), + (m += + null !== (r = o.minHeight) && + void 0 !== r + ? r + : le), + (g += + null !== (i = o.maxHeight) && + void 0 !== i + ? i + : de)); + }) + : e.children.forEach(function (e) { + var t, + n, + r, + i, + o = u.getConstraintsFromItem(e); + ((f = Math.max( + null !== (t = o.minWidth) && void 0 !== t + ? t + : le, + f + )), + (v = Math.min( + null !== (n = o.maxWidth) && + void 0 !== n + ? n + : de, + v || l + )), + (m = Math.max( + null !== (r = o.minHeight) && + void 0 !== r + ? r + : le, + m + )), + (g = Math.min( + null !== (i = o.maxHeight) && + void 0 !== i + ? i + : de, + g || h + ))); + }), + (v = v || l), + (g = g || h), + { + minWidth: Math.max(d, f), + maxWidth: Math.min(l, v), + minHeight: Math.max(p, m), + maxHeight: Math.min(h, g) + }); + } + } + ]), + e + ); + })(), + qe = (function () { + function e(t, n) { + (w(this, e), (this._glue = t), (this._frameId = n)); + } + return ( + x(e, [ + { + key: "platformConfig", + get: function () { + return window.glue42core || window.iobrowser; + } + }, + { + key: "requestOnLayoutSaveContexts", + value: function (e) { + var t, n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (r.next = 2), + this.isOperationSupported({ + domain: "workspaces", + operation: + "getWorkspaceWindowsOnLayoutSaveContext" + }) + ); + case 2: + if (r.sent) { + r.next = 6; + break; + } + return ( + console.warn( + "Workspace layout ".concat( + e.layoutName, + " won't save the window contexts because the platform must be at lease version 1.13.0" + ) + ), + r.abrupt("return", []) + ); + case 6: + return ( + (r.prev = 6), + (r.next = 9), + this._glue.agm.invoke(ue, { + domain: "workspaces", + operation: + "getWorkspaceWindowsOnLayoutSaveContext", + data: e + }) + ); + case 9: + return ( + (i = r.sent), + r.abrupt( + "return", + null !== + (n = + null === + (t = + null === + i || + void 0 === i + ? void 0 + : i.returned) || + void 0 === t + ? void 0 + : t.windowsOnSaveData) && + void 0 !== n + ? n + : [] + ) + ); + case 13: + ((r.prev = 13), + (r.t0 = r.catch(6)), + console.warn( + "The save of window contexts unexpectedly failed with ", + r.t0 + )); + case 16: + return r.abrupt("return", []); + case 17: + case "end": + return r.stop(); + } + }, + r, + this, + [[6, 13]] + ); + }) + ); + } + }, + { + key: "notifyFrameWillStart", + value: function (e, t, n, r, i) { + var o = (window.glue42core || window.iobrowser).communicationId; + return this._glue.interop.invoke( + ue, + { + domain: t ? "appManager" : "windows", + operation: t + ? "registerWorkspaceApp" + : "registerWorkspaceWindow", + data: { + name: "".concat(t || "window", "_").concat(e), + windowId: e, + frameId: this._frameId, + appName: t, + context: n, + title: r, + workspaceId: i + } + }, + o ? { instance: o } : void 0 + ); + } + }, + { + key: "notifyFrameWillClose", + value: function (e, t) { + var n = (window.glue42core || window.iobrowser).communicationId; + return this._glue.interop.invoke( + ue, + { + domain: t ? "appManager" : "windows", + operation: t + ? "unregisterWorkspaceApp" + : "unregisterWorkspaceWindow", + data: { windowId: e } + }, + n ? { instance: n } : void 0 + ); + } + }, + { + key: "askForSettings", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + var t, n, r; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!this._systemSettings) { + e.next = 2; + break; + } + return e.abrupt( + "return", + this._systemSettings + ); + case 2: + return ( + (t = + window.glue42core || + window.iobrowser), + (n = t.communicationId), + (e.next = 6), + this._glue.interop.invoke( + ue, + { + domain: "workspaces", + operation: + "getWorkspacesConfig", + data: {} + }, + n ? { instance: n } : void 0 + ) + ); + case 6: + return ( + (r = e.sent), + (this._systemSettings = + r.returned), + e.abrupt( + "return", + this._systemSettings + ) + ); + case 9: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "isOperationSupported", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.prev = 0), + (t.next = 3), + this._glue.agm.invoke(ue, { + domain: e.domain, + operation: "operationCheck", + data: { + operation: e.operation + } + }) + ); + case 3: + return ( + (n = t.sent), + t.abrupt( + "return", + n.returned.isSupported + ) + ); + case 7: + return ( + (t.prev = 7), + (t.t0 = t.catch(0)), + t.abrupt("return", !1) + ); + case 10: + case "end": + return t.stop(); + } + }, + t, + this, + [[0, 7]] + ); + }) + ); + } + } + ]), + e + ); + })(), + Ge = (function () { + function e(t, n, r, i, o) { + (w(this, e), + (this.wrapperFactory = t), + (this.layoutEventEmitter = n), + (this.containerContentItem = r), + (this.frameId = i), + (this.workspaceId = o)); + } + return ( + x(e, [ + { + key: "id", + get: function () { + var e; + return K( + null === (e = this.containerContentItem) || void 0 === e + ? void 0 + : e.config.id + ); + } + }, + { + key: "minWidth", + get: function () { + var e; + return null !== (e = this.containerContentItem.getMinWidth()) && + void 0 !== e + ? e + : le; + }, + set: function (e) { + if ("row" === this.containerContentItem.type) + throw new Error( + "Cannot set minWidth ".concat( + e, + " to a container of type row" + ) + ); + if (isNaN(e) || e < 0) + throw new Error( + "Invalued value passed for minWidth ".concat(e) + ); + this.containerContentItem.config.workspacesConfig.minWidth = e; + } + }, + { + key: "minHeight", + get: function () { + var e; + return null !== + (e = this.containerContentItem.getMinHeight()) && + void 0 !== e + ? e + : le; + }, + set: function (e) { + if ("column" === this.containerContentItem.type) + throw new Error( + "Cannot set minHeight ".concat( + e, + " to a container of type column" + ) + ); + if (isNaN(e) || e < 0) + throw new Error( + "Invalued value passed for minHeight ".concat(e) + ); + this.containerContentItem.config.workspacesConfig.minHeight = e; + } + }, + { + key: "maxWidth", + get: function () { + var e; + return null !== (e = this.containerContentItem.getMaxWidth()) && + void 0 !== e + ? e + : de; + }, + set: function (e) { + if ("row" === this.containerContentItem.type) + throw new Error( + "Cannot set maxWidth ".concat( + e, + " to a container of type row" + ) + ); + if (isNaN(e) || e < 0) + throw new Error( + "Invalued value passed for maxWidth ".concat(e) + ); + this.containerContentItem.config.workspacesConfig.maxWidth = e; + } + }, + { + key: "maxHeight", + get: function () { + var e; + return null !== + (e = this.containerContentItem.getMaxHeight()) && + void 0 !== e + ? e + : de; + }, + set: function (e) { + if ("column" === this.containerContentItem.type) + throw new Error( + "Cannot set maxHeight ".concat( + e, + " to a container of type column" + ) + ); + if (isNaN(e) || e < 0) + throw new Error( + "Invalued value passed for maxHeight ".concat(e) + ); + this.containerContentItem.config.workspacesConfig.maxHeight = e; + } + }, + { + key: "allowDrop", + get: function () { + return this.getLockPropertyFromConfig("allowDrop"); + }, + set: function (e) { + (this.setLockPropertyFromConfig("allowDrop", e), + this.populateChildrenAllowDrop(e)); + } + }, + { + key: "allowDropHeader", + get: function () { + return this.getLockPropertyFromConfig("allowDropHeader"); + }, + set: function (e) { + this.setLockPropertyFromConfig("allowDropHeader", e); + } + }, + { + key: "allowDropLeft", + get: function () { + return this.getLockPropertyFromConfig("allowDropLeft"); + }, + set: function (e) { + this.setLockPropertyFromConfig("allowDropLeft", e); + } + }, + { + key: "allowDropRight", + get: function () { + return this.getLockPropertyFromConfig("allowDropRight"); + }, + set: function (e) { + this.setLockPropertyFromConfig("allowDropRight", e); + } + }, + { + key: "allowDropTop", + get: function () { + return this.getLockPropertyFromConfig("allowDropTop"); + }, + set: function (e) { + this.setLockPropertyFromConfig("allowDropTop", e); + } + }, + { + key: "allowDropBottom", + get: function () { + return this.getLockPropertyFromConfig("allowDropBottom"); + }, + set: function (e) { + this.setLockPropertyFromConfig("allowDropBottom", e); + } + }, + { + key: "allowExtract", + get: function () { + return this.getLockPropertyFromConfig("allowExtract"); + }, + set: function (e) { + (this.setLockPropertyFromConfig("allowExtract", e), + this.populateChildrenAllowExtract(e)); + } + }, + { + key: "allowReorder", + get: function () { + return this.getLockPropertyFromConfig("allowReorder"); + }, + set: function (e) { + (this.setLockPropertyFromConfig("allowReorder", e), + this.populateChildrenAllowReorder(e)); + } + }, + { + key: "allowSplitters", + get: function () { + if ("stack" === this.containerContentItem.config.type) + throw new Error( + "Accessing allowSplitters of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for rows and columns" + ) + ); + return this.getLockPropertyFromConfig("allowSplitters"); + }, + set: function (e) { + if ("stack" === this.containerContentItem.config.type) + throw new Error( + "Setting allowSplitters of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for rows and columns" + ) + ); + (this.setLockPropertyFromConfig("allowSplitters", e), + this.populateChildrenAllowSplitters(e)); + } + }, + { + key: "showMaximizeButton", + get: function () { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Accessing showMaximizeButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + return this.getLockPropertyFromConfig("showMaximizeButton"); + }, + set: function (e) { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Setting showMaximizeButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + this.setLockPropertyFromConfig("showMaximizeButton", e); + } + }, + { + key: "showEjectButton", + get: function () { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Accessing showEjectButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + return this.getLockPropertyFromConfig("showEjectButton"); + }, + set: function (e) { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Setting showEjectButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + (this.setLockPropertyFromConfig("showEjectButton", e), + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: this.id, + eject: { visible: e } + })); + } + }, + { + key: "showAddWindowButton", + get: function () { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Accessing showAddWindowButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + return this.getLockPropertyFromConfig("showAddWindowButton"); + }, + set: function (e) { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Setting showAddWindowButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + (this.setLockPropertyFromConfig("showAddWindowButton", e), + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: this.id, + addWindow: { visible: e } + })); + } + }, + { + key: "positionIndex", + get: function () { + var e, t; + return ( + (null === + (t = + null === (e = this.containerContentItem) || + void 0 === e + ? void 0 + : e.parent) || void 0 === t + ? void 0 + : t.contentItems.indexOf(this.containerContentItem)) || + 0 + ); + } + }, + { + key: "bounds", + get: function () { + var e, t, n, r; + if (!this.containerContentItem) return {}; + this.containerContentItem.config.workspacesConfig || + (this.containerContentItem.config.workspacesConfig = {}); + var i = + null !== (e = this.workspaceId) && void 0 !== e + ? e + : null === (t = ae.getByContainerId(this.id)) || + void 0 === t + ? void 0 + : t.id; + if (i && this.isWorkspaceSelected(i)) { + var o = Z(this.containerContentItem.element); + return ( + (this.containerContentItem.config.workspacesConfig.cachedBounds = + o), + o + ); + } + var a = Z(this.containerContentItem.element); + return 0 === a.width && + 0 === a.height && + (null === + (n = + this.containerContentItem.config + .workspacesConfig) || void 0 === n + ? void 0 + : n.cachedBounds) + ? null === + (r = + this.containerContentItem.config + .workspacesConfig) || void 0 === r + ? void 0 + : r.cachedBounds + : a; + } + }, + { + key: "isPinned", + get: function () { + var e; + return ( + null !== + (e = + this.containerContentItem.config.workspacesConfig + .isPinned) && + void 0 !== e && + e + ); + } + }, + { + key: "maximizationBoundary", + get: function () { + var e; + return ( + null !== + (e = + this.containerContentItem.config.workspacesConfig + .maximizationBoundary) && + void 0 !== e && + e + ); + }, + set: function (e) { + this.containerContentItem.config.workspacesConfig.maximizationBoundary = + e; + } + }, + { + key: "activeItemId", + get: function () { + return "stack" !== this.containerContentItem.type + ? "" + : K( + this.containerContentItem.getActiveContentItem() + .config.id + ); + } + }, + { + key: "summary", + get: function () { + var e, + t, + n, + r = + null !== (e = this.workspaceId) && void 0 !== e + ? e + : null === (t = ae.getByContainerId(this.id)) || + void 0 === t + ? void 0 + : t.id, + i = this.getUserFriendlyType( + (null === (n = this.containerContentItem) || + void 0 === n + ? void 0 + : n.type) || "workspace" + ), + o = { + workspaceId: r, + frameId: this.frameId, + positionIndex: this.positionIndex, + allowDrop: this.allowDrop, + minWidth: this.minWidth, + maxWidth: this.maxWidth, + minHeight: this.minHeight, + maxHeight: this.maxHeight, + widthInPx: this.bounds.width, + heightInPx: this.bounds.height, + isPinned: this.isPinned, + isMaximized: this.isMaximized, + maximizationBoundary: this.maximizationBoundary + }, + a = "window" === i ? void 0 : i; + return ( + "group" === a && + (o = Object.assign(Object.assign({}, o), { + allowExtract: this.allowExtract, + allowReorder: this.allowReorder, + showMaximizeButton: this.showMaximizeButton, + showEjectButton: this.showEjectButton, + showAddWindowButton: this.showAddWindowButton, + allowDropHeader: this.allowDropHeader, + allowDropLeft: this.allowDropLeft, + allowDropRight: this.allowDropRight, + allowDropTop: this.allowDropTop, + allowDropBottom: this.allowDropBottom + })), + "group" !== a && + (o = Object.assign(Object.assign({}, o), { + allowSplitters: this.allowSplitters + })), + { + itemId: this.id, + type: "window" === i ? void 0 : i, + config: o + } + ); + } + }, + { + key: "config", + get: function () { + var e, + t = ( + ae.getByContainerId( + this.containerContentItem.config.id + ) || ae.getByWindowId(this.id) + ).layout.toConfig(), + n = this.findElementInConfig(this.id, t); + return ( + (n.workspacesConfig.isPinned = + null !== (e = n.workspacesConfig.isPinned) && + void 0 !== e && + e), + n + ); + } + }, + { + key: "isMaximized", + get: function () { + return this.containerContentItem.hasId("__glMaximised"); + } + }, + { + key: "populateChildrenAllowDrop", + value: function (e) { + var t = this; + !(function n(r) { + r.forEach(function (r) { + "component" !== r.type && + ((t.wrapperFactory.getContainerWrapper({ + containerContentItem: r + }).allowDrop = e), + n(r.contentItems)); + }); + })(this.containerContentItem.contentItems); + } + }, + { + key: "populateChildrenAllowExtract", + value: function (e) { + var t = this; + !(function n(r) { + r.forEach(function (r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r + }).allowExtract = e; + n(r.contentItems); + } else { + t.wrapperFactory.getWindowWrapper({ + windowContentItem: r + }).allowExtract = e; + } + }); + })(this.containerContentItem.contentItems); + } + }, + { + key: "populateChildrenAllowReorder", + value: function (e) { + var t = this; + !(function n(r) { + r.forEach(function (r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r + }).allowReorder = e; + n(r.contentItems); + } else { + t.wrapperFactory.getWindowWrapper({ + windowContentItem: r + }).allowReorder = e; + } + }); + })(this.containerContentItem.contentItems); + } + }, + { + key: "populateChildrenAllowSplitters", + value: function (e) { + var t = this; + !(function n(r) { + r.forEach(function (r) { + "component" !== r.type && + "stack" !== r.type && + ((t.wrapperFactory.getContainerWrapper({ + containerContentItem: r + }).allowSplitters = e), + n(r.contentItems)); + }); + })(this.containerContentItem.contentItems); + } + }, + { + key: "getUserFriendlyType", + value: function (e) { + return "stack" === e + ? "group" + : "root" === e + ? "workspace" + : "component" === e + ? "window" + : e; + } + }, + { + key: "findElementInConfig", + value: function (e, t) { + var n = (function t(n) { + return K(n.id) === e + ? [n] + : (n.content || []).reduce(function (e, n) { + return [].concat(o(e), o(t(n))); + }, []); + })(t); + return n.find(function (e) { + return e.id; + }); + } + }, + { + key: "isWorkspaceSelected", + value: function (e) { + return this.wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).isSelected; + } + }, + { + key: "getLockPropertyFromConfig", + value: function (e) { + var t; + return ( + null === + (t = + this.containerContentItem.config.workspacesConfig[ + e + ]) || + void 0 === t || + t + ); + } + }, + { + key: "setLockPropertyFromConfig", + value: function (e, t) { + var n = this.getLockPropertyFromConfig(e); + ((this.containerContentItem.config.workspacesConfig[e] = t), + n !== this.getLockPropertyFromConfig(e) && + this.layoutEventEmitter.raiseEvent( + "container-lock-configuration-changed", + { item: this.containerContentItem } + )); + } + } + ]), + e + ); + })(), + Ue = (function () { + function e(t, n, r, i) { + (w(this, e), + (this.wrapperFactory = t), + (this.layoutEventEmitter = n), + (this.windowContentItem = r), + (this.frameId = i)); + } + return ( + x(e, [ + { + key: "minWidth", + get: function () { + return this.windowContentItem.getMinWidth(); + }, + set: function (e) { + this.windowContentItem.config.workspacesConfig.minWidth = e; + } + }, + { + key: "maxWidth", + get: function () { + return this.windowContentItem.getMaxWidth(); + }, + set: function (e) { + this.windowContentItem.config.workspacesConfig.maxWidth = e; + } + }, + { + key: "minHeight", + get: function () { + return this.windowContentItem.getMinHeight(); + }, + set: function (e) { + this.windowContentItem.config.workspacesConfig.minHeight = e; + } + }, + { + key: "maxHeight", + get: function () { + return this.windowContentItem.getMaxHeight(); + }, + set: function (e) { + this.windowContentItem.config.workspacesConfig.maxHeight = e; + } + }, + { + key: "allowExtract", + get: function () { + return this.getLockPropertyFromConfig("allowExtract"); + }, + set: function (e) { + this.setLockPropertyInConfig("allowExtract", e); + } + }, + { + key: "allowReorder", + get: function () { + return this.getLockPropertyFromConfig("allowReorder"); + }, + set: function (e) { + this.setLockPropertyInConfig("allowReorder", e); + } + }, + { + key: "showCloseButton", + get: function () { + return this.getLockPropertyFromConfig("showCloseButton"); + }, + set: function (e) { + (this.setLockPropertyInConfig("showCloseButton", e), + be.decoratedFactory.updateWorkspaceWindowTabs({ + placementId: K(this.windowContentItem.config.id), + close: { visible: e } + })); + } + }, + { + key: "isMaximized", + get: function () { + var e, t, n; + return ( + null !== + (n = + null === + (t = + null === (e = this.windowContentItem) || + void 0 === e + ? void 0 + : e.parent) || void 0 === t + ? void 0 + : t.isMaximized) && + void 0 !== n && + n + ); + } + }, + { + key: "isSelected", + get: function () { + var e, t; + return ( + "function" === + typeof (null === (e = this.windowContentItem) || + void 0 === e + ? void 0 + : e.parent.getActiveContentItem) && + K( + null === (t = this.windowContentItem) || void 0 === t + ? void 0 + : t.parent.getActiveContentItem().config.id + ) === K(this.windowContentItem.config.id) + ); + } + }, + { + key: "index", + get: function () { + var e, t; + return ( + (null === + (t = + null === (e = this.windowContentItem.parent) || + void 0 === e + ? void 0 + : e.contentItems) || void 0 === t + ? void 0 + : t.indexOf(this.windowContentItem)) || 0 + ); + } + }, + { + key: "isTabless", + get: function () { + var e, + t, + n, + r = + null === (e = this.windowContentItem) || void 0 === e + ? void 0 + : e.parent; + return !!(null === + (n = + null === + (t = + null === r || void 0 === r + ? void 0 + : r.config) || void 0 === t + ? void 0 + : t.workspacesConfig) || void 0 === n + ? void 0 + : n.wrapper); + } + }, + { + key: "summary", + get: function () { + return this.getSummaryCore( + this.windowContentItem, + K(this.windowContentItem.config.id) + ); + } + }, + { + key: "config", + get: function () { + var e; + return null === (e = this.windowContentItem) || void 0 === e + ? void 0 + : e.config; + } + }, + { + key: "bounds", + get: function () { + var e, t, n; + if (!this.windowContentItem) return {}; + this.windowContentItem.config.workspacesConfig || + (this.windowContentItem.config.workspacesConfig = {}); + var r = + null === + (e = ae.getByWindowId( + K(this.windowContentItem.config.id) + )) || void 0 === e + ? void 0 + : e.id; + if (r && this.isWorkspaceSelected(r)) { + var i = Z(this.windowContentItem.element); + return ( + (this.windowContentItem.config.workspacesConfig.cachedBounds = + i), + i + ); + } + var o = Z(this.windowContentItem.element); + return 0 === o.width && + 0 === o.height && + (null === + (t = this.windowContentItem.config.workspacesConfig) || + void 0 === t + ? void 0 + : t.cachedBounds) + ? null === + (n = + this.windowContentItem.config.workspacesConfig) || + void 0 === n + ? void 0 + : n.cachedBounds + : o; + } + }, + { + key: "getSummaryCore", + value: function (e, t) { + var n, + r, + i, + o, + a = void 0 !== e.config.componentState.windowId, + s = this.index, + c = + null !== + (n = + e.layoutManager.config.workspacesOptions + .workspaceId) && void 0 !== n + ? n + : null === (r = ae.getByWindowId(t)) || void 0 === r + ? void 0 + : r.id, + u = e.config.componentState, + d = u.appName, + l = u.url, + p = u.windowId, + h = this.getUserFriendlyParent(e); + return { + itemId: K(e.config.id), + parentId: + null !== + (o = K( + null === + (i = + null === h || void 0 === h + ? void 0 + : h.config) || void 0 === i + ? void 0 + : i.id + )) && void 0 !== o + ? o + : K(e.config.id), + config: { + frameId: this.frameId, + isLoaded: a, + isFocused: !1, + isSelected: this.isSelected, + positionIndex: s, + workspaceId: c, + windowId: p, + isMaximized: this.isMaximized, + appName: d, + url: l, + title: e.config.title, + allowExtract: this.allowExtract, + allowReorder: this.allowReorder, + showCloseButton: this.showCloseButton, + minWidth: this.minWidth, + maxWidth: this.maxWidth, + minHeight: this.minHeight, + maxHeight: this.maxHeight, + widthInPx: this.bounds.width, + heightInPx: this.bounds.height + } + }; + } + }, + { + key: "getUserFriendlyParent", + value: function (e) { + var t, n, r; + return e.parent + ? ( + null === + (r = + null === + (n = + null === (t = e.parent) || + void 0 === t + ? void 0 + : t.config) || void 0 === n + ? void 0 + : n.workspacesConfig) || void 0 === r + ? void 0 + : r.wrapper + ) + ? this.getUserFriendlyParent(e.parent) + : e.parent + : e; + } + }, + { + key: "isWorkspaceSelected", + value: function (e) { + return this.wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).isSelected; + } + }, + { + key: "getPropertyFromConfig", + value: function (e) { + var t, n, r; + return ( + null !== + (r = + null === + (n = + null === (t = this.windowContentItem) || + void 0 === t + ? void 0 + : t.config) || void 0 === n + ? void 0 + : n.workspacesConfig) && void 0 !== r + ? r + : {} + )[e]; + } + }, + { + key: "getLockPropertyFromConfig", + value: function (e) { + var t; + return ( + null === (t = this.getPropertyFromConfig(e)) || + void 0 === t || + t + ); + } + }, + { + key: "setPropertyInConfig", + value: function (e, t) { + this.windowContentItem.config.workspacesConfig[e] = t; + } + }, + { + key: "setLockPropertyInConfig", + value: function (e, t) { + var n = this.getLockPropertyFromConfig(e); + (this.setPropertyInConfig(e, t), + n !== this.getLockPropertyFromConfig(e) && + this.layoutEventEmitter.raiseEvent( + "window-lock-configuration-changed", + { item: this.windowContentItem } + )); + } + } + ]), + e + ); + })(), + Ve = (function () { + function e(t, n, r, i, o) { + (w(this, e), + (this.wrapperFactory = t), + (this.layoutEventEmitter = n), + (this.workspace = r), + (this.workspaceContentItem = i), + (this.frameId = o)); + } + return ( + x(e, [ + { + key: "id", + get: function () { + return this.workspace.id; + } + }, + { + key: "title", + get: function () { + var e, + t = this.workspaceContentItem; + return ( + (null === (e = t.tab) || void 0 === e ? void 0 : e.title) || + t.config.workspacesOptions.title || + t.config.title || + t.config.componentName + ); + } + }, + { + key: "lastFocusedWindowId", + get: function () { + var e, + t, + n, + r, + i, + o, + a = this; + if ( + !(null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) + ) + return ""; + var s = + null === + (n = + null === (t = this.workspace.layout.config) || + void 0 === t + ? void 0 + : t.workspacesOptions) || void 0 === n + ? void 0 + : n.focusedWindowId; + if (s) return s; + var c = + null === + (i = + null === (r = this.workspace.layout.config) || + void 0 === r + ? void 0 + : r.workspacesOptions) || void 0 === i + ? void 0 + : i.focusedGroupId, + u = this.workspace.layout.root.getItemsById(c)[0]; + if (u && "component" !== u.type && u.contentItems.length) { + var d = u.contentItems[u.contentItems.length - 1].config.id; + return K(d); + } + return null === + (o = this.workspace.windows.filter(function (e) { + return a.wrapperFactory.getWindowWrapper({ + itemId: e.id, + workspaceId: a.workspace.id + }).isSelected; + })[0]) || void 0 === o + ? void 0 + : o.id; + } + }, + { + key: "isSelected", + get: function () { + var e = ae.workspaceLayout.root + .getItemsById(this.workspace.id)[0] + .parent.getActiveContentItem(); + return K(e.config.id) === this.workspace.id; + } + }, + { + key: "isHibernated", + get: function () { + return ( + "undefined" !== typeof this.workspace.hibernateConfig && + null !== this.workspace.hibernateConfig + ); + } + }, + { + key: "tabIndex", + get: function () { + var e = this; + return ae.workspaceLayout.root + .getItemsById(this.workspace.id)[0] + .parent.header.tabs.findIndex(function (t) { + return K(t.contentItem.config.id) === e.workspace.id; + }); + } + }, + { + key: "isPinned", + get: function () { + return !!this.workspaceContentItem.tab.isPinned; + } + }, + { + key: "config", + get: function () { + var e = this.workspace; + if (this.isHibernated) + return ( + (e.hibernateConfig.workspacesOptions.isPinned = + this.isPinned), + e.hibernateConfig + ); + var t = e.layout + ? e.layout.toConfig() + : { workspacesOptions: {}, content: [], id: e.id }; + return ( + (t.workspacesOptions.frameId = this.frameId), + (t.workspacesOptions.positionIndex = this.tabIndex), + (t.workspacesOptions.isHibernated = this.isHibernated), + (t.workspacesOptions.isSelected = this.isSelected), + (t.workspacesOptions.allowDrop = this.allowDrop), + (t.workspacesOptions.allowDropLeft = this.allowDropLeft), + (t.workspacesOptions.allowDropTop = this.allowDropTop), + (t.workspacesOptions.allowDropRight = this.allowDropRight), + (t.workspacesOptions.allowDropBottom = + this.allowDropBottom), + (t.workspacesOptions.allowExtract = this.allowExtract), + (t.workspacesOptions.allowWindowReorder = + this.allowWindowReorder), + (t.workspacesOptions.allowSystemHibernation = + this.allowSystemHibernation), + (t.workspacesOptions.showCloseButton = + this.showCloseButton), + (t.workspacesOptions.showSaveButton = this.showSaveButton), + (t.workspacesOptions.allowWorkspaceTabReorder = + this.allowWorkspaceTabReorder), + (t.workspacesOptions.allowSplitters = this.allowSplitters), + (t.workspacesOptions.showAddWindowButtons = + this.showAddWindowButtons), + (t.workspacesOptions.showEjectButtons = + this.showEjectButtons), + (t.workspacesOptions.showWindowCloseButtons = + this.showWindowCloseButtons), + (t.workspacesOptions.minWidth = Math.max( + this.minWidth, + le + )), + (t.workspacesOptions.maxWidth = Math.min( + this.maxWidth, + de + )), + (t.workspacesOptions.minHeight = Math.max( + this.minHeight, + le + )), + (t.workspacesOptions.maxHeight = Math.min( + this.maxHeight, + de + )), + (t.workspacesOptions.widthInPx = this.bounds.width), + (t.workspacesOptions.heightInPx = this.bounds.height), + (t.workspacesOptions.isPinned = this.isPinned), + (t.workspacesOptions.icon = this.icon), + (t.workspacesOptions.lastActive = e.lastActive), + t.workspacesOptions.title || + (t.workspacesOptions.title = this.title), + (t.workspacesOptions.name = + t.workspacesOptions.name || t.workspacesOptions.title), + this.transformComponentsToWindowSummary(t), + this.transformParentsToContainerSummary(t), + t + ); + } + }, + { + key: "summary", + get: function () { + var e = this.config, + t = this.tabIndex, + n = { + frameId: this.frameId, + positionIndex: t, + title: this.title, + name: e.workspacesOptions.name || this.title, + layoutName: e.workspacesOptions.layoutName, + isHibernated: this.isHibernated, + isSelected: this.isSelected, + lastActive: this.workspace.lastActive, + allowDrop: this.allowDrop, + allowDropLeft: this.allowDropLeft, + allowDropTop: this.allowDropTop, + allowDropRight: this.allowDropRight, + allowDropBottom: this.allowDropBottom, + allowExtract: this.allowExtract, + allowWindowReorder: this.allowWindowReorder, + allowSystemHibernation: this.allowSystemHibernation, + allowSplitters: this.allowSplitters, + showCloseButton: this.showCloseButton, + showSaveButton: this.showSaveButton, + allowWorkspaceTabReorder: this.allowWorkspaceTabReorder, + showAddWindowButtons: this.showAddWindowButtons, + showEjectButtons: this.showEjectButtons, + showWindowCloseButtons: this.showWindowCloseButtons, + minWidth: this.minWidth, + maxWidth: this.maxWidth, + minHeight: this.minHeight, + maxHeight: this.maxHeight, + widthInPx: this.bounds.width, + heightInPx: this.bounds.height, + isPinned: this.isPinned, + icon: this.icon + }; + return ( + e.workspacesOptions.layoutName && + (n.layoutName = e.workspacesOptions.layoutName), + { config: n, id: this.workspace.id } + ); + } + }, + { + key: "allowDrop", + get: function () { + var e; + return ( + null === (e = this.getPropertyFromConfig("allowDrop")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("allowDrop", e), + this.populateChildrenAllowDrop(e)); + } + }, + { + key: "allowDropLeft", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("allowDropLeft")) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowDropLeft", e); + } + }, + { + key: "allowDropTop", + get: function () { + var e; + return ( + null === (e = this.getPropertyFromConfig("allowDropTop")) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowDropTop", e); + } + }, + { + key: "allowDropRight", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("allowDropRight")) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowDropRight", e); + } + }, + { + key: "allowDropBottom", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("allowDropBottom")) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowDropBottom", e); + } + }, + { + key: "allowExtract", + get: function () { + var e; + return ( + null === (e = this.getPropertyFromConfig("allowExtract")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("allowExtract", e), + this.populateChildrenAllowExtract(e)); + } + }, + { + key: "allowWindowReorder", + get: function () { + var e; + return ( + null === + (e = + this.getPropertyFromConfig("allowWindowReorder")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("allowWindowReorder", e), + this.populateChildrenAllowReorder(e)); + } + }, + { + key: "allowSplitters", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("allowSplitters")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("allowSplitters", e), + this.populateChildrenAllowSplitters(e)); + } + }, + { + key: "showSaveButton", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("showSaveButton")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("showSaveButton", e), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: this.workspace.id, + showSaveButton: e + })); + } + }, + { + key: "allowWorkspaceTabReorder", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig( + "allowWorkspaceTabReorder" + )) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowWorkspaceTabReorder", e); + } + }, + { + key: "showCloseButton", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("showCloseButton")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("showCloseButton", e), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: this.workspace.id, + showCloseButton: e + })); + } + }, + { + key: "showAddWindowButtons", + get: function () { + var e; + return ( + null === + (e = + this.getPropertyFromConfig( + "showAddWindowButtons" + )) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("showAddWindowButtons", e), + this.populateChildrenShowAddWindowButtons(e)); + } + }, + { + key: "showEjectButtons", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("showEjectButtons")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("showEjectButtons", e), + this.populateChildrenShowEjectButtons(e)); + } + }, + { + key: "showWindowCloseButtons", + get: function () { + var e; + return ( + null === + (e = + this.getPropertyFromConfig( + "showWindowCloseButtons" + )) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("showWindowCloseButtons", e), + this.populateChildrenShowWindowCloseButtons(e)); + } + }, + { + key: "allowSystemHibernation", + get: function () { + var e; + return ( + null === + (e = + this.getPropertyFromConfig( + "allowSystemHibernation" + )) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowSystemHibernation", e); + } + }, + { + key: "minWidth", + get: function () { + var e, t; + return (null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) && + null !== (t = this.workspace.layout.root.getMinWidth()) && + void 0 !== t + ? t + : le; + } + }, + { + key: "maxWidth", + get: function () { + var e, t; + return (null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) && + null !== (t = this.workspace.layout.root.getMaxWidth()) && + void 0 !== t + ? t + : de; + } + }, + { + key: "minHeight", + get: function () { + var e, t; + return (null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) && + null !== (t = this.workspace.layout.root.getMinHeight()) && + void 0 !== t + ? t + : le; + } + }, + { + key: "maxHeight", + get: function () { + var e, t; + return (null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) && + null !== (t = this.workspace.layout.root.getMaxHeight()) && + void 0 !== t + ? t + : de; + } + }, + { + key: "bounds", + get: function () { + return this.isSelected + ? Z(this.workspaceContentItem.element) + : Z(this.workspaceContentItem.element[0].parentElement); + } + }, + { + key: "hasMaximizedItems", + get: function () { + var e = this.workspace.layout; + return !!e && e.root.getItemsById("__glMaximised").length > 0; + } + }, + { + key: "windowSummaries", + get: function () { + var e = this, + t = []; + this.isHibernated + ? (t = (function (e) { + var t = []; + return ( + (function e(n, r) { + "component" !== n.type + ? n.content.forEach(function (t) { + return e(t, K(n.id)); + }) + : t.push({ + itemId: K(n.id), + parentId: r, + config: n.workspacesConfig + }); + })(e, void 0), + t + ); + })(this.config)) + : (t = this.workspace.windows + .map(function (t) { + if (ae.getWindowContentItem(t.id)) + return e.getWindowSummary(t.id); + }) + .filter(function (e) { + return e; + })); + return t; + } + }, + { + key: "getMaximizedItemInRoot", + value: function (e) { + var t, n; + return null !== + (t = + null === e || void 0 === e + ? void 0 + : e._maximizedItem) && void 0 !== t + ? t + : null === (n = this.workspace.layout) || void 0 === n + ? void 0 + : n._maximizedItem; + } + }, + { + key: "maximizedItemsInContainer", + get: function () { + var e, t; + return Object.values( + (null === + (t = + null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) || void 0 === t + ? void 0 + : t._maximizedItemsInTargetContainer) || {} + ); + } + }, + { + key: "icon", + get: function () { + return this.getPropertyFromConfig("icon"); + }, + set: function (e) { + var t; + ((null === (t = this.workspace) || void 0 === t + ? void 0 + : t.layout) && + (this.workspace.layout.config.workspacesOptions.icon = e), + (this.workspaceContentItem.config.workspacesConfig.icon = + e), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: this.workspace.id, + icon: e + })); + } + }, + { + key: "transformComponentsToWindowSummary", + value: function (e) { + var t, + n = this; + if ("component" !== e.type || e.componentName !== se) { + if ("component" === e.type) { + var r = this.getWindowSummary(e.id); + return ( + (e.workspacesConfig = e.workspacesConfig || {}), + void (e.workspacesConfig = Object.assign( + Object.assign({}, e.workspacesConfig), + r.config + )) + ); + } + null === (t = e.content) || + void 0 === t || + t.map(function (e) { + return n.transformComponentsToWindowSummary(e); + }); + } + } + }, + { + key: "transformParentsToContainerSummary", + value: function (e) { + var t, + n = this; + if ("component" !== e.type) { + if ( + "stack" === e.type || + "row" === e.type || + "column" === e.type + ) { + var r = this.getContainerSummary(e.id); + ((e.workspacesConfig = e.workspacesConfig || {}), + (e.workspacesConfig = Object.assign( + Object.assign({}, e.workspacesConfig), + r.config + ))); + } + null === (t = e.content) || + void 0 === t || + t.map(function (e) { + return n.transformParentsToContainerSummary(e); + }); + } + } + }, + { + key: "populateChildrenAllowDrop", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + "component" !== r.type && + ((t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).allowDrop = e), + r.contentItems.forEach(function (e) { + n(e); + })); + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenAllowSplitters", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + "component" !== r.type && + "stack" !== r.type && + ((t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).allowSplitters = e), + r.contentItems.forEach(function (e) { + n(e); + })); + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenAllowExtract", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).allowExtract = e; + r.contentItems.forEach(function (e) { + n(e); + }); + } else { + t.wrapperFactory.getWindowWrapper({ + windowContentItem: r + }).allowExtract = e; + } + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenAllowReorder", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).allowReorder = e; + r.contentItems.forEach(function (e) { + n(e); + }); + } else { + t.wrapperFactory.getWindowWrapper({ + windowContentItem: r + }).allowReorder = e; + } + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenShowAddWindowButtons", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).showAddWindowButton = e; + r.contentItems.forEach(function (e) { + n(e); + }); + } + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenShowEjectButtons", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).showEjectButton = e; + r.contentItems.forEach(function (e) { + n(e); + }); + } + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenShowWindowCloseButtons", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + "component" !== r.type + ? r.contentItems.forEach(function (e) { + n(e); + }) + : (t.wrapperFactory.getWindowWrapper({ + windowContentItem: r + }).showCloseButton = e); + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "getPropertyFromConfig", + value: function (e) { + var t; + return ( + null === (t = this.workspace) || void 0 === t + ? void 0 + : t.layout + ) + ? this.workspace.layout.config.workspacesOptions[e] + : this.workspaceContentItem.config.workspacesConfig[e]; + } + }, + { + key: "setPropertyInConfig", + value: function (e, t) { + var n; + ((null === (n = this.workspace) || void 0 === n + ? void 0 + : n.layout) && + (this.workspace.layout.config.workspacesOptions[e] = t), + (this.workspaceContentItem.config.workspacesConfig[e] = t)); + } + }, + { + key: "setLockPropertyInConfig", + value: function (e, t) { + var n, + r, + i = + null === (n = this.getPropertyFromConfig(e)) || + void 0 === n || + n; + (this.setPropertyInConfig(e, t), + i !== + (null === (r = this.getPropertyFromConfig(e)) || + void 0 === r || + r) && + this.layoutEventEmitter.raiseEvent( + "workspace-lock-configuration-changed", + { itemId: this.workspace.id } + )); + } + }, + { + key: "getWindowSummary", + value: function (e) { + return this.wrapperFactory.getWindowWrapper({ itemId: e }) + .summary; + } + }, + { + key: "getContainerSummary", + value: function (e) { + return this.wrapperFactory.getContainerWrapper({ + itemId: e, + workspaceId: this.id + }).summary; + } + } + ]), + e + ); + })(), + $e = (function () { + function e(t, n) { + (w(this, e), (this.layoutEventEmitter = t), (this.frameId = n)); + } + return ( + x(e, [ + { + key: "getWorkspaceWrapper", + value: function (e) { + var t = e.workspace; + (void 0 !== t && null != t) || + (t = e.workspaceId ? ae.getById(e.workspaceId) : void 0); + var n = e.workspaceContentItem; + return ( + (void 0 !== n && null != n) || + (n = e.workspaceId + ? ae.getWorkspaceContentItem(e.workspaceId) + : void 0), + new Ve(this, this.layoutEventEmitter, t, n, this.frameId) + ); + } + }, + { + key: "getWindowWrapper", + value: function (e) { + var t = e.windowContentItem; + return ( + (void 0 !== t && null != t) || + (t = e.itemId + ? ae.getWindowContentItem(K(e.itemId)) + : void 0), + new Ue(this, this.layoutEventEmitter, t, this.frameId) + ); + } + }, + { + key: "getContainerWrapper", + value: function (e) { + var t = e.containerContentItem; + if ( + ((void 0 !== t && null != t) || + (t = e.itemId ? ae.getContainer(e.itemId) : void 0), + "component" === t.type) + ) + throw new Error( + "Cannot get container wrapper for a component" + ); + return new Ge( + this, + this.layoutEventEmitter, + t, + this.frameId, + e.workspaceId + ); + } + } + ]), + e + ); + })(), + Je = (function (e) { + g(n, e); + var t = y(n); + function n() { + var e; + return ( + w(this, n), + ((e = t.apply(this, arguments)).groupedLockEvents = { + workspace: { group: !1, state: {} }, + window: { group: !1, state: {} }, + container: { group: !1, state: {} } + }), + e + ); + } + return ( + x(n, [ + { + key: "raiseWindowEvent", + value: function (e) { + "lock-configuration-changed" === e.action + ? this.raiseLockConfigurationChanged( + "window", + e.payload.windowSummary.itemId, + e.payload + ) + : v(f(n.prototype), "raiseWindowEvent", this).call(this, e); + } + }, + { + key: "raiseContainerEvent", + value: function (e) { + "lock-configuration-changed" === e.action + ? this.raiseLockConfigurationChanged( + "container", + e.payload.containerSummary.itemId, + e.payload + ) + : v(f(n.prototype), "raiseContainerEvent", this).call( + this, + e + ); + } + }, + { + key: "raiseWorkspaceEvent", + value: function (e) { + "lock-configuration-changed" === e.action + ? this.raiseLockConfigurationChanged( + "workspace", + e.payload.workspaceSummary.id, + e.payload + ) + : v(f(n.prototype), "raiseWorkspaceEvent", this).call( + this, + e + ); + } + }, + { + key: "startContainerLockConfigurationChangedGrouping", + value: function () { + this.startLockConfigurationChangedGrouping("container"); + } + }, + { + key: "endContainerLockConfigurationChangedGrouping", + value: function () { + this.endLockConfigurationChangedGrouping("container"); + } + }, + { + key: "startWorkspaceLockConfigurationChangedGrouping", + value: function () { + this.startLockConfigurationChangedGrouping("workspace"); + } + }, + { + key: "endWorkspaceLockConfigurationChangedGrouping", + value: function () { + this.endLockConfigurationChangedGrouping("workspace"); + } + }, + { + key: "startWindowLockConfigurationChangedGrouping", + value: function () { + this.startLockConfigurationChangedGrouping("window"); + } + }, + { + key: "endWindowLockConfigurationChangedGrouping", + value: function () { + this.endLockConfigurationChangedGrouping("window"); + } + }, + { + key: "startLockConfigurationChangedGrouping", + value: function (e) { + this.groupedLockEvents[e].group = !0; + } + }, + { + key: "raiseLockConfigurationChanged", + value: function (e, t, r) { + if (this.groupedLockEvents[e].group) + this.groupedLockEvents[e].state[t] = r; + else if ("window" === e) { + var i = r; + v(f(n.prototype), "raiseWindowEvent", this).call(this, { + action: "lock-configuration-changed", + payload: i + }); + } else if ("container" === e) { + var o = r; + v(f(n.prototype), "raiseContainerEvent", this).call(this, { + action: "lock-configuration-changed", + payload: o + }); + } else { + var a = r; + v(f(n.prototype), "raiseWorkspaceEvent", this).call(this, { + action: "lock-configuration-changed", + payload: a + }); + } + } + }, + { + key: "endLockConfigurationChangedGrouping", + value: function (e) { + var t = this; + try { + ((this.groupedLockEvents[e].group = !1), + Object.keys(this.groupedLockEvents[e].state).forEach( + function (n) { + t.raiseLockConfigurationChanged( + e, + n, + t.groupedLockEvents[e].state[n] + ); + } + )); + } catch (n) { + console.warn(n); + } finally { + this.groupedLockEvents[e].state = {}; + } + } + } + ]), + n + ); + })( + (function () { + function e() { + (w(this, e), (this.registry = we())); + } + return ( + x(e, [ + { + key: "onFrameEvent", + value: function (e) { + return this.registry.add("frame", e); + } + }, + { + key: "onWindowEvent", + value: function (e) { + return this.registry.add("window", e); + } + }, + { + key: "onContainerEvent", + value: function (e) { + return this.registry.add("container", e); + } + }, + { + key: "onWorkspaceEvent", + value: function (e) { + return this.registry.add("workspace", e); + } + }, + { + key: "raiseFrameEvent", + value: function (e) { + this.registry.execute("frame", e.action, e.payload); + } + }, + { + key: "raiseWindowEvent", + value: function (e) { + this.registry.execute("window", e.action, e.payload); + } + }, + { + key: "raiseContainerEvent", + value: function (e) { + this.registry.execute("container", e.action, e.payload); + } + }, + { + key: "raiseWorkspaceEvent", + value: function (e) { + this.registry.execute("workspace", e.action, e.payload); + } + } + ]), + e + ); + })() + ), + Ke = (function () { + function e(t, n) { + (w(this, e), + (this._emitter = t), + (this._configFactory = n), + (this.componentNameToCleanup = {})); + } + return ( + x(e, [ + { + key: "registerWindowComponent", + value: function (e, t) { + var n = this; + this.registerComponent(e, "app".concat(t), function (e) { + var r = n.createWindowDomElement(t); + e.getElement().append(r); + }); + } + }, + { + key: "unregisterWindowComponent", + value: function (e, t) { + e.unregisterComponent(t); + } + }, + { + key: "registerEmptyWindowComponent", + value: function (e, t) { + var n = this; + this.registerComponent(e, se, function (e) { + var r = n.createPlaceholderEmptyBackground(), + i = n.createPlaceholderWindowAddButton(e, t); + (r.append(i), e.getElement().append(r)); + }); + } + }, + { + key: "registerWorkspaceComponent", + value: function (e) { + var t = this, + n = this._configFactory.getWorkspaceLayoutComponentName(e); + this.registerComponent(ae.workspaceLayout, n, function (r) { + var i, + o, + a = t.createWorkspaceEmptyBackground(e), + s = t.createAddButtonInWorkspace(r, e, n); + (a.appendChild(s), + ( + null === (i = be.decoratedFactory) || void 0 === i + ? void 0 + : i.createWorkspaceContents + ) + ? (document.body.append(a), + (a.style.display = "none"), + null === (o = be.decoratedFactory) || + void 0 === o || + o.createWorkspaceContents({ + workspaceId: e, + domNode: r.getElement()[0] + })) + : r.getElement().append(a), + $(s).hide()); + }); + } + }, + { + key: "unregisterWorkspaceComponent", + value: function (e) { + ("function" === typeof this.componentNameToCleanup[e] && + (this.componentNameToCleanup[e](), + delete this.componentNameToCleanup[e]), + ae.workspaceLayout.unregisterComponent(e)); + } + }, + { + key: "registerComponent", + value: function (e, t, n) { + try { + e.registerComponent(t, function (e, t) { + n && n(e, t); + }); + } catch (r) { + console.log( + "Tried to register and already existing component - ".concat( + t + ) + ); + } + } + }, + { + key: "createAddButtonInWorkspace", + value: function (e, t, n) { + var r = this, + i = document.createElement("button"); + ((i.title = he), i.classList.add("add-button")); + var o = function (n) { + n.stopPropagation(); + var o = e.tab.contentItem; + r._emitter.raiseEvent("add-button-clicked", { + args: { + laneId: K(o.parent.id), + workspaceId: t, + bounds: Z(i) + } + }); + }; + return ( + i.addEventListener("click", o), + (this.componentNameToCleanup[n] = function () { + (i.removeEventListener("click", o), i.remove()); + }), + i + ); + } + }, + { + key: "createWorkspaceEmptyBackground", + value: function (e) { + var t = document.createElement("div"); + return ( + t.setAttribute( + "style", + "height:calc(100% - 1px); width:calc(100% - 1px);" + ), + t.classList.add("empty-container-background"), + (t.id = oe(e)), + t + ); + } + }, + { + key: "createWindowDomElement", + value: function (e) { + var t = document.createElement("div"); + return ( + t.setAttribute("style", "height:100%;"), + (t.id = "app".concat(e)), + t + ); + } + }, + { + key: "createPlaceholderWindowAddButton", + value: function (e, t) { + var n = this, + r = document.createElement("button"); + return ( + r.classList.add("add-button"), + (r.title = he), + (r.onclick = function (i) { + i.stopPropagation(); + var o = e.tab.contentItem, + a = + "stack" === o.parent.type + ? "group" + : o.parent.type; + o.parent.config.workspacesConfig.wrapper + ? n._emitter.raiseEvent("add-button-clicked", { + args: { + laneId: K(o.parent.parent.config.id), + workspaceId: t, + parentType: o.parent.parent.type, + bounds: Z(r) + } + }) + : n._emitter.raiseEvent("add-button-clicked", { + args: { + laneId: K(o.parent.config.id), + workspaceId: t, + parentType: a, + bounds: Z(r) + } + }); + }), + r + ); + } + }, + { + key: "createPlaceholderEmptyBackground", + value: function () { + var e = document.createElement("div"); + return (e.classList.add("empty-container-background"), e); + } + } + ]), + e + ); + })(), + Qe = (function () { + function e(t) { + (w(this, e), (this._wrapperFactory = t)); + } + return ( + x(e, [ + { + key: "enableWorkspaceDrop", + value: function (e, t) { + var n = ae.getWorkspaceContentItem(e), + r = ae.getById(e), + i = this._wrapperFactory.getWorkspaceWrapper({ + workspace: r, + workspaceContentItem: n + }); + ((i.allowDrop = t.allowDrop), + (i.allowDropLeft = t.allowDropLeft), + (i.allowDropTop = t.allowDropTop), + (i.allowDropRight = t.allowDropRight), + (i.allowDropBottom = t.allowDropBottom)); + } + }, + { + key: "disableWorkspaceDrop", + value: function (e, t) { + var n = ae.getWorkspaceContentItem(e), + r = ae.getById(e), + i = this._wrapperFactory.getWorkspaceWrapper({ + workspace: r, + workspaceContentItem: n + }); + ((i.allowDropLeft = t.allowDropLeft), + (i.allowDropTop = t.allowDropTop), + (i.allowDropRight = t.allowDropRight), + (i.allowDropBottom = t.allowDropBottom)); + } + }, + { + key: "enableWorkspaceSaveButton", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e), + r = this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }); + ((r.showSaveButton = !0), + r.isPinned || + xe.showWorkspaceSaveButton({ workspaceTab: n.tab })); + } + }, + { + key: "disableWorkspaceSaveButton", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + ((this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showSaveButton = !1), + xe.hideWorkspaceSaveButton({ workspaceTab: n.tab })); + } + }, + { + key: "enableWorkspaceReorder", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowWorkspaceTabReorder = !0; + } + }, + { + key: "disableWorkspaceReorder", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowWorkspaceTabReorder = !1; + } + }, + { + key: "enableWorkspaceCloseButton", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e), + r = this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }); + ((r.showCloseButton = !0), + r.isPinned || + xe.showWorkspaceCloseButton({ workspaceTab: n.tab })); + } + }, + { + key: "disableWorkspaceCloseButton", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + ((this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showCloseButton = !1), + xe.hideWorkspaceCloseButton({ workspaceTab: n.tab })); + } + }, + { + key: "enableSplitters", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowSplitters = !0; + } + }, + { + key: "disableSplitters", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowSplitters = !1; + } + }, + { + key: "enableWorkspaceExtract", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowExtract = !0; + } + }, + { + key: "disableWorkspaceExtract", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowExtract = !1; + } + }, + { + key: "enableWorkspaceWindowReorder", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowWindowReorder = !0; + } + }, + { + key: "disableWorkspaceWindowReorder", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowWindowReorder = !1; + } + }, + { + key: "enableWorkspaceWindowCloseButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showWindowCloseButtons = !0; + } + }, + { + key: "disableWorkspaceWindowCloseButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showWindowCloseButtons = !1; + } + }, + { + key: "enableWorkspaceEjectButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showEjectButtons = !0; + } + }, + { + key: "disableWorkspaceEjectButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showEjectButtons = !1; + } + }, + { + key: "enableWorkspaceAddWindowButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showAddWindowButtons = !0; + } + }, + { + key: "disableWorkspaceAddWindowButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showAddWindowButtons = !1; + } + }, + { + key: "enableWindowExtract", + value: function (e, t) { + var n = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).allowExtract = t; + } + }, + { + key: "disableWindowExtract", + value: function (e) { + var t = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: t + }).allowExtract = !1; + } + }, + { + key: "enableWindowReorder", + value: function (e, t) { + var n = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).allowReorder = t; + } + }, + { + key: "disableWindowReorder", + value: function (e) { + var t = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: t + }).allowReorder = !1; + } + }, + { + key: "enableWindowCloseButton", + value: function (e, t) { + var n = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).showCloseButton = t; + } + }, + { + key: "disableWindowCloseButton", + value: function (e) { + var t = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: t + }).showCloseButton = !1; + } + }, + { + key: "enableColumnDrop", + value: function (e, t) { + var n = ae.getContainer(e); + if ("column" !== n.type) + throw new Error( + "Expected item with type column but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowDrop = t; + } + }, + { + key: "disableColumnDrop", + value: function (e) { + var t = ae.getContainer(e); + if ("column" !== t.type) + throw new Error( + "Expected item with type column but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowDrop = !1; + } + }, + { + key: "enableRowDrop", + value: function (e, t) { + var n = ae.getContainer(e); + if ("row" !== n.type) + throw new Error( + "Expected item with type row but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowDrop = t; + } + }, + { + key: "disableRowDrop", + value: function (e) { + var t = ae.getContainer(e); + if ("row" !== t.type) + throw new Error( + "Expected item with type row but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowDrop = !1; + } + }, + { + key: "enableColumnSplitters", + value: function (e, t) { + var n = ae.getContainer(e); + if ("column" !== n.type) + throw new Error( + "Expected item with type column but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowSplitters = t; + } + }, + { + key: "disableColumnSplitters", + value: function (e) { + var t = ae.getContainer(e); + if ("column" !== t.type) + throw new Error( + "Expected item with type column but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowSplitters = !1; + } + }, + { + key: "enableRowSplitters", + value: function (e, t) { + var n = ae.getContainer(e); + if ("row" !== n.type) + throw new Error( + "Expected item with type row but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowSplitters = t; + } + }, + { + key: "disableRowSplitters", + value: function (e) { + var t = ae.getContainer(e); + if ("row" !== t.type) + throw new Error( + "Expected item with type row but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowSplitters = !1; + } + }, + { + key: "enableGroupDrop", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + var r = this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }); + ((r.allowDrop = t.allowDrop), + (r.allowDropHeader = t.allowDropHeader), + (r.allowDropLeft = t.allowDropLeft), + (r.allowDropTop = t.allowDropTop), + (r.allowDropRight = t.allowDropRight), + (r.allowDropBottom = t.allowDropBottom)); + } + }, + { + key: "disableGroupDrop", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + var r = this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }); + ((r.allowDrop = !1), + (r.allowDropHeader = t.allowDropHeader), + (r.allowDropLeft = t.allowDropLeft), + (r.allowDropTop = t.allowDropTop), + (r.allowDropRight = t.allowDropRight), + (r.allowDropBottom = t.allowDropBottom)); + } + }, + { + key: "enableGroupMaximizeButton", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).showMaximizeButton = t; + } + }, + { + key: "disableGroupMaximizeButton", + value: function (e) { + var t = ae.getContainer(e); + if ("stack" !== t.type) + throw new Error( + "Expected item with type stack but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).showMaximizeButton = !1; + } + }, + { + key: "enableGroupEjectButton", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).showEjectButton = t; + } + }, + { + key: "disableGroupEjectButton", + value: function (e) { + var t = ae.getContainer(e); + if ("stack" !== t.type) + throw new Error( + "Expected item with type stack but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).showEjectButton = !1; + } + }, + { + key: "enableGroupAddWindowButton", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).showAddWindowButton = t; + } + }, + { + key: "disableGroupAddWindowButton", + value: function (e) { + var t = ae.getContainer(e); + if ("stack" !== t.type) + throw new Error( + "Expected item with type stack but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).showAddWindowButton = !1; + } + }, + { + key: "enableGroupExtract", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowExtract = t; + } + }, + { + key: "disableGroupExtract", + value: function (e) { + var t = ae.getContainer(e); + if ("stack" !== t.type) + throw new Error( + "Expected item with type stack but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowExtract = !1; + } + }, + { + key: "enableGroupReorder", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowReorder = t; + } + }, + { + key: "disableGroupReorder", + value: function (e) { + var t = ae.getContainer(e); + if ("stack" !== t.type) + throw new Error( + "Expected item with type stack but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowReorder = !1; + } + }, + { + key: "disableWorkspaceHibernation", + value: function (e) { + this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).allowSystemHibernation = !1; + } + }, + { + key: "enableWorkspaceHibernation", + value: function (e) { + this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).allowSystemHibernation = !0; + } + } + ]), + e + ); + })(), + Xe = (function () { + function e(t, n) { + (w(this, e), (this._glue = t), (this._uiExecutor = n)); + } + return ( + x(e, [ + { + key: "applyTheme", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + var t, + n = this; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.isThemesAPISupported() + ); + case 2: + if (e.sent) { + e.next = 5; + break; + } + return e.abrupt("return"); + case 5: + return ( + this._glue.themes.onChanged( + function (e) { + return q( + n, + void 0, + void 0, + s().mark( + function t() { + return s().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + this.changeTheme( + e.name + ); + case 1: + case "end": + return t.stop(); + } + }, + t, + this + ); + } + ) + ); + } + ), + (e.next = 8), + this._glue.themes.getCurrent() + ); + case 8: + ((t = e.sent), + this.changeTheme(t.name)); + case 10: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "isThemesAPISupported", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (this._glue.themes) { + e.next = 2; + break; + } + return e.abrupt("return", !1); + case 2: + return ( + (e.prev = 2), + (e.next = 5), + this._glue.themes.getCurrent() + ); + case 5: + return e.abrupt("return", !0); + case 8: + return ( + (e.prev = 8), + (e.t0 = e.catch(2)), + e.abrupt("return", !1) + ); + case 11: + case "end": + return e.stop(); + } + }, + e, + this, + [[2, 8]] + ); + }) + ); + } + }, + { + key: "changeTheme", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this._glue.themes.list() + ); + case 2: + ((n = t.sent), + (r = n.map(function (e) { + return e.name; + })), + this._uiExecutor.changeTheme( + e, + r + )); + case 5: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + } + ]), + e + ); + })(); + function Ye(e, t) { + var n, r, i, o, a, s; + return { + createLogo: Ze( + null === e || void 0 === e ? void 0 : e.createLogo, + null === t || void 0 === t ? void 0 : t.createLogo + ), + createWorkspaceTabs: Ze( + null === e || void 0 === e ? void 0 : e.createWorkspaceTabs, + null === t || void 0 === t ? void 0 : t.createWorkspaceTabs + ), + createAddWorkspace: Ze( + null === e || void 0 === e ? void 0 : e.createAddWorkspace, + null === t || void 0 === t ? void 0 : t.createAddWorkspace + ), + createSystemButtons: Ze( + null === e || void 0 === e ? void 0 : e.createSystemButtons, + null === t || void 0 === t ? void 0 : t.createSystemButtons + ), + createWorkspaceContents: Ze( + null === e || void 0 === e ? void 0 : e.createWorkspaceContents, + null === t || void 0 === t ? void 0 : t.createWorkspaceContents + ), + createBeforeGroupTabs: Ze( + null === e || void 0 === e ? void 0 : e.createBeforeGroupTabs, + null === t || void 0 === t ? void 0 : t.createBeforeGroupTabs + ), + createWorkspaceWindowTabs: Ze( + null === e || void 0 === e ? void 0 : e.createWorkspaceWindowTabs, + null === t || void 0 === t ? void 0 : t.createWorkspaceWindowTabs + ), + createAfterGroupTabs: Ze( + null === e || void 0 === e ? void 0 : e.createAfterGroupTabs, + null === t || void 0 === t ? void 0 : t.createAfterGroupTabs + ), + createGroupHeaderButtons: Ze( + null === e || void 0 === e ? void 0 : e.createGroupHeaderButtons, + null === t || void 0 === t ? void 0 : t.createGroupHeaderButtons + ), + createAddApplicationPopup: Ze( + null === e || void 0 === e ? void 0 : e.createAddApplicationPopup, + null === t || void 0 === t ? void 0 : t.createAddApplicationPopup + ), + createSaveWorkspacePopup: Ze( + null === e || void 0 === e ? void 0 : e.createSaveWorkspacePopup, + null === t || void 0 === t ? void 0 : t.createSaveWorkspacePopup + ), + createAddWorkspacePopup: Ze( + null === e || void 0 === e ? void 0 : e.createAddWorkspacePopup, + null === t || void 0 === t ? void 0 : t.createAddWorkspacePopup + ), + hideSystemPopups: Ze( + null === e || void 0 === e ? void 0 : e.hideSystemPopups, + null === t || void 0 === t ? void 0 : t.hideSystemPopups + ), + updateWorkspaceTabs: Ze( + null === e || void 0 === e ? void 0 : e.updateWorkspaceTabs, + null === t || void 0 === t ? void 0 : t.updateWorkspaceTabs + ), + updateWorkspaceWindowTabs: Ze( + null === e || void 0 === e ? void 0 : e.updateWorkspaceWindowTabs, + null === t || void 0 === t ? void 0 : t.updateWorkspaceWindowTabs + ), + updateGroupHeaderButtons: Ze( + null === e || void 0 === e ? void 0 : e.updateGroupHeaderButtons, + null === t || void 0 === t ? void 0 : t.updateGroupHeaderButtons + ), + removeWorkspaceTabs: Ze( + null === e || void 0 === e ? void 0 : e.removeWorkspaceTabs, + null === t || void 0 === t ? void 0 : t.removeWorkspaceTabs + ), + removeWorkspaceContents: Ze( + null === e || void 0 === e ? void 0 : e.removeWorkspaceContents, + null === t || void 0 === t ? void 0 : t.removeWorkspaceContents + ), + removeBeforeGroupTabs: Ze( + null === e || void 0 === e ? void 0 : e.removeBeforeGroupTabs, + null === t || void 0 === t ? void 0 : t.removeBeforeGroupTabs + ), + removeWorkspaceWindowTabs: Ze( + null === e || void 0 === e ? void 0 : e.removeWorkspaceWindowTabs, + null === t || void 0 === t ? void 0 : t.removeWorkspaceWindowTabs + ), + removeAfterGroupTabs: Ze( + null === e || void 0 === e ? void 0 : e.removeAfterGroupTabs, + null === t || void 0 === t ? void 0 : t.removeAfterGroupTabs + ), + removeGroupHeaderButtons: Ze( + null === e || void 0 === e ? void 0 : e.removeGroupHeaderButtons, + null === t || void 0 === t ? void 0 : t.removeGroupHeaderButtons + ), + externalPopupApplications: { + addApplication: Ze( + null === + (n = + null === e || void 0 === e + ? void 0 + : e.externalPopupApplications) || void 0 === n + ? void 0 + : n.addApplication, + null === + (r = + null === t || void 0 === t + ? void 0 + : t.externalPopupApplications) || void 0 === r + ? void 0 + : r.addApplication + ), + saveWorkspace: Ze( + null === + (i = + null === e || void 0 === e + ? void 0 + : e.externalPopupApplications) || void 0 === i + ? void 0 + : i.saveWorkspace, + null === + (o = + null === t || void 0 === t + ? void 0 + : t.externalPopupApplications) || void 0 === o + ? void 0 + : o.saveWorkspace + ), + addWorkspace: Ze( + null === + (a = + null === e || void 0 === e + ? void 0 + : e.externalPopupApplications) || void 0 === a + ? void 0 + : a.addWorkspace, + null === + (s = + null === t || void 0 === t + ? void 0 + : t.externalPopupApplications) || void 0 === s + ? void 0 + : s.addWorkspace + ) + }, + createId: Ze( + null === e || void 0 === e ? void 0 : e.createId, + null === t || void 0 === t ? void 0 : t.createId + ) + }; + } + function Ze(e, t) { + return null !== e && void 0 !== e ? e : t; + } + var et = (function () { + function e() { + w(this, e); + } + return ( + x(e, [ + { + key: "init", + value: function (e) { + this.createOptions = e; + } + }, + { + key: "update", + value: function (e) { + this.createOptions = Object.assign( + Object.assign({}, this.createOptions), + e + ); + } + } + ]), + e + ); + })(), + tt = (function (e) { + g(n, e); + var t = y(n); + function n() { + return (w(this, n), t.apply(this, arguments)); + } + return ( + x(n, [ + { + key: "init", + value: function (e) { + v(f(n.prototype), "init", this).call(this, e); + var t = document.createElement("li"); + (t.classList.add("lm_add_button"), + (t.title = "Add Workspace"), + e.domNode.appendChild(t)); + } + }, + { + key: "update", + value: function (e) { + v(f(n.prototype), "update", this).call(this, e); + } + }, + { key: "destroy", value: function () {} } + ]), + n + ); + })(et), + nt = (function (e) { + g(n, e); + var t = y(n); + function n() { + return (w(this, n), t.apply(this, arguments)); + } + return ( + x(n, [ + { + key: "init", + value: function (e) { + (v(f(n.prototype), "init", this).call(this, e), + this.initAddWindowButton(), + this.initEjectButton(), + this.initMaximizeButton(), + this.initRestoreButton(), + this.updateButtonVisibility(), + this.updateButtonTitles()); + } + }, + { + key: "update", + value: function (e) { + (v(f(n.prototype), "update", this).call(this, e), + this.updateButtonVisibility(), + this.updateButtonTitles()); + } + }, + { key: "destroy", value: function () {} }, + { + key: "updateButtonVisibility", + value: function () { + ((this.addWindowButton.hidden = + !this.createOptions.addWindow.visible), + (this.ejectButton.hidden = + !this.createOptions.eject.visible), + (this.maximizeButton.hidden = + !this.createOptions.maximize.visible), + (this.restoreButton.hidden = + !this.createOptions.restore.visible)); + } + }, + { + key: "updateButtonTitles", + value: function () { + var e, t, n, r; + ((this.addWindowButton.title = + null !== (e = this.createOptions.addWindow.title) && + void 0 !== e + ? e + : he), + (this.ejectButton.title = + null !== (t = this.createOptions.eject.title) && + void 0 !== t + ? t + : me), + (this.maximizeButton.title = + null !== (n = this.createOptions.maximize.title) && + void 0 !== n + ? n + : fe), + (this.restoreButton.title = + null !== (r = this.createOptions.restore.title) && + void 0 !== r + ? r + : ve)); + } + }, + { + key: "initAddWindowButton", + value: function () { + var e = this; + ((this.addWindowButton = document.createElement("li")), + this.addWindowButton.classList.add("lm_add_button"), + (this.addWindowButton.onclick = function (t) { + (t.stopPropagation(), + st.showAddWindowPopup( + e.createOptions.workspaceId, + e.createOptions.groupId, + Z(e.addWindowButton) + )); + }), + this.createOptions.domNode.appendChild( + this.addWindowButton + )); + } + }, + { + key: "initEjectButton", + value: function () { + var e = this; + ((this.ejectButton = document.createElement("li")), + this.ejectButton.classList.add("lm_popout"), + (this.ejectButton.onclick = function () { + st.ejectActiveWindow(e.createOptions.groupId); + }), + this.createOptions.domNode.appendChild(this.ejectButton)); + } + }, + { + key: "initMaximizeButton", + value: function () { + var e = this; + ((this.maximizeButton = document.createElement("li")), + this.maximizeButton.classList.add( + "lm_maximise", + "workspace_content" + ), + (this.maximizeButton.onclick = function () { + st.maximizeItem(e.createOptions.groupId); + }), + this.createOptions.domNode.appendChild( + this.maximizeButton + )); + } + }, + { + key: "initRestoreButton", + value: function () { + var e = this; + ((this.restoreButton = document.createElement("li")), + this.restoreButton.classList.add( + "lm_maximise", + "lm_restore", + "workspace_content" + ), + (this.restoreButton.onclick = function () { + st.restoreItem(e.createOptions.groupId); + }), + this.createOptions.domNode.appendChild(this.restoreButton)); + } + } + ]), + n + ); + })(et), + rt = (function (e) { + g(n, e); + var t = y(n); + function n() { + return (w(this, n), t.apply(this, arguments)); + } + return ( + x(n, [ + { + key: "init", + value: function (e) { + v(f(n.prototype), "init", this).call(this, e); + var t = document.createElement("span"); + (t.classList.add("logo_type"), e.domNode.appendChild(t)); + } + }, + { + key: "update", + value: function (e) { + v(f(n.prototype), "update", this).call(this, e); + } + }, + { key: "destroy", value: function () {} } + ]), + n + ); + })(et), + it = (function (e) { + g(n, e); + var t = y(n); + function n() { + return (w(this, n), t.apply(this, arguments)); + } + return ( + x(n, [ + { + key: "init", + value: function (e) { + (v(f(n.prototype), "init", this).call(this, e), + this.initChannelsSelector(), + this.initLeftDecoration(), + this.initTitle(), + this.initCloseButton(), + this.initRightDecoration(), + this.updateVisibility()); + } + }, + { + key: "update", + value: function (e) { + (v(f(n.prototype), "update", this).call(this, e), + this.updateTitle(), + this.updateVisibility()); + } + }, + { key: "destroy", value: function () {} }, + { key: "initChannelsSelector", value: function () {} }, + { + key: "initLeftDecoration", + value: function () { + ((this.leftDecoration = document.createElement("i")), + this.leftDecoration.classList.add("lm_left"), + this.createOptions.domNode.appendChild( + this.leftDecoration + )); + } + }, + { + key: "initTitle", + value: function () { + ((this.titleElement = document.createElement("span")), + this.titleElement.classList.add("lm_title"), + (this.titleElement.style.maxWidth = "150px"), + this.updateTitle(), + this.createOptions.domNode.appendChild(this.titleElement)); + } + }, + { + key: "initCloseButton", + value: function () { + var e, + t = this; + ((this.closeButtonElement = document.createElement("div")), + (this.closeButtonElement.title = + null !== (e = this.createOptions.title) && void 0 !== e + ? e + : ge), + this.closeButtonElement.classList.add("lm_close_tab")); + var n = function (e) { + (e.stopPropagation(), + st.closeItem(t.createOptions.placementId)); + }; + ((this.closeButtonElement.onclick = n), + (this.closeButtonElement.onmousedown = n), + this.createOptions.domNode.appendChild( + this.closeButtonElement + )); + } + }, + { + key: "initRightDecoration", + value: function () { + ((this.rightDecoration = document.createElement("i")), + this.rightDecoration.classList.add("lm_right"), + this.createOptions.domNode.appendChild( + this.rightDecoration + )); + } + }, + { + key: "updateVisibility", + value: function () { + this.closeButtonElement.hidden = + !this.createOptions.close.visible; + } + }, + { + key: "updateTitle", + value: function () { + this.titleElement.textContent = this.createOptions.title; + } + } + ]), + n + ); + })(et), + ot = x(function e() { + var t = this; + (w(this, e), + (this.state = { + logo: void 0, + addWorkspaceButton: void 0, + workspaceWindowTabs: {}, + groupHeaderButtons: {} + }), + (this.createLogo = function (e) { + ((t.state.logo = new rt()), t.state.logo.init(e)); + }), + (this.createAddWorkspace = function (e) { + ((t.state.addWorkspaceButton = new tt()), + t.state.addWorkspaceButton.init(e)); + }), + (this.createWorkspaceWindowTabs = function (e) { + ((t.state.workspaceWindowTabs[e.placementId] = new it()), + t.state.workspaceWindowTabs[e.placementId].init(e)); + }), + (this.createGroupHeaderButtons = function (e) { + ((t.state.groupHeaderButtons[e.groupId] = new nt()), + t.state.groupHeaderButtons[e.groupId].init(e)); + }), + (this.updateWorkspaceWindowTabs = function (e) { + t.state.workspaceWindowTabs[e.placementId] && + t.state.workspaceWindowTabs[e.placementId].update(e); + }), + (this.updateGroupHeaderButtons = function (e) { + t.state.groupHeaderButtons[e.groupId] && + t.state.groupHeaderButtons[e.groupId].update(e); + }), + (this.removeWorkspaceWindowTabs = function (e) { + t.state.workspaceWindowTabs[e.elementId] && + (t.state.workspaceWindowTabs[e.elementId].destroy(), + delete t.state.workspaceWindowTabs[e.elementId]); + }), + (this.removeGroupHeaderButtons = function (e) { + t.state.groupHeaderButtons[e.elementId] && + (t.state.groupHeaderButtons[e.elementId].destroy(), + delete t.state.groupHeaderButtons[e.elementId]); + })); + }), + at = (function () { + function e() { + var t = this; + (w(this, e), + (this._isLayoutInitialized = !1), + (this._initPromise = Promise.resolve()), + (this._workspacesEventEmitter = new Je()), + (this.getComponentBounds = function () { + return t._controller.bounds; + }), + (this.subscribeForWindowClicked = function (e) { + return t._frameController + ? t._frameController.onFrameContentClicked(e) + : (console.warn( + "Your subscription to window clicked wasn't successful, because the Workspaces library isn't initialized yet" + ), + function () {}); + }), + (this.cleanUp = function () { + var e; + if ( + !(null === (e = Te.config) || void 0 === e ? void 0 : e.build) + ) { + var n = [], + r = ae.workspaceIds.map(function (e) { + var r = ae.getById(e), + i = t._wrapperFactory.getWorkspaceWrapper({ + workspace: r, + workspaceId: r.id + }); + return ( + n.push.apply(n, o(i.windowSummaries)), + t.stateResolver.getWorkspaceSummary(e) + ); + }); + (n.forEach(function (e) { + (t._platformCommunicator + .notifyFrameWillClose( + e.config.windowId, + e.config.appName + ) + .catch(function (e) {}), + t.workspacesEventEmitter.raiseWindowEvent({ + action: "removed", + payload: { windowSummary: e } + })); + }), + r.forEach(function (e) { + t.workspacesEventEmitter.raiseWorkspaceEvent({ + action: "closed", + payload: { + frameSummary: { id: t.frameId }, + workspaceSummary: e, + frameBounds: t.stateResolver.getFrameBounds() + } + }); + })); + var i = ae.layouts.filter(function (e) { + var t, n, r; + return !(null === + (r = + null === + (n = + null === (t = e.layout) || void 0 === t + ? void 0 + : t.config) || void 0 === n + ? void 0 + : n.workspacesOptions) || void 0 === r + ? void 0 + : r.noTabHeader); + }); + (t._layoutsManager.saveWorkspacesFrame(i), + t.workspacesEventEmitter.raiseFrameEvent({ + action: "closed", + payload: { + frameSummary: { id: t.frameId }, + frameBounds: t.stateResolver.getFrameBounds() + } + })); + } + })); + } + return ( + x(e, [ + { + key: "stateResolver", + get: function () { + return this._stateResolver; + } + }, + { + key: "workspacesEventEmitter", + get: function () { + return this._workspacesEventEmitter; + } + }, + { + key: "initPromise", + get: function () { + return this._initPromise; + } + }, + { + key: "initialized", + get: function () { + return this._initialized; + } + }, + { + key: "frameId", + get: function () { + if (!window.name) + throw new Error( + "The frame id is not available because the platform is still initializing" + ); + return window.name; + } + }, + { + key: "layoutsManager", + get: function () { + return this._layoutsManager; + } + }, + { + key: "init", + value: function (e, t, n) { + var r; + ((this._glue = e), (this._facade = t)); + var i = Te.loadConfig(); + if (!this._initialized) { + ((this._initialized = !0), + (this._defaultComponentsFactory = new ot()), + (this._configFactory = new Re(e))); + var o = new Oe(this._configFactory); + (be.init( + this.frameId, + Ye(n, this._defaultComponentsFactory) + ), + (this._platformCommunicator = new qe( + this._glue, + this.frameId + )), + (this._frameController = new Ee( + e, + this._platformCommunicator + ))); + var a = new Se(we()); + ((this._wrapperFactory = new $e(a, this.frameId)), + (this._layoutLockingController = new Qe( + this._wrapperFactory + )), + (this._stateResolver = new Pe( + this.frameId, + a, + this._frameController, + o, + this._wrapperFactory + ))); + var s = new Ke(a, this._configFactory); + return ( + (this._controller = new Ie( + a, + this._stateResolver, + i, + this._configFactory, + this._wrapperFactory, + s + )), + (this._systemSettings = new He( + this._platformCommunicator + )), + (this._applicationFactory = new Fe( + e, + this.stateResolver, + this._frameController, + this, + new je(), + this._platformCommunicator, + this._systemSettings + )), + (this._layoutsManager = new Ae( + this.stateResolver, + e, + this._configFactory, + o, + new ze(), + this._platformCommunicator + )), + (this._popupManager = new De( + new Be(e, n), + new Ne(n, this.frameId), + n + )), + (this._themeController = new Xe(this._glue, xe)), + this._themeController.applyTheme(), + i.emptyFrame || + (null === + (r = + this._platformCommunicator + .platformConfig) || void 0 === r + ? void 0 + : r.initAsEmptyFrame) || + this.initLayout(), + { cleanUp: this.cleanUp } + ); + } + be.reInitialize(Ye(n, this._defaultComponentsFactory)); + } + }, + { + key: "initFrameLayout", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + e.forEach(function (e) { + e.id = + r._configFactory.getId(); + }), + this._layoutsManager.setInitialWorkspaceConfig( + e + ), + this._isLayoutInitialized && + !(null === t || void 0 === t + ? void 0 + : t.length) + ? (this._initPromise = + this.reinitLayout()) + : this + ._isLayoutInitialized && + (null === t || + void 0 === t + ? void 0 + : t.length) + ? (this._initPromise = + this.updateFrameLayoutNaive( + e, + t + )) + : (this._initPromise = + this.initLayout()), + (n.next = 5), + this._initPromise + ); + case 5: + return n.abrupt( + "return", + e.map(function (e) { + return K(e.id); + }) + ); + case 6: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "saveWorkspace", + value: function (e, t, n, r) { + var i, o; + return q( + this, + void 0, + void 0, + s().mark(function a() { + var c, u, d, l; + return s().wrap( + function (a) { + for (;;) + switch ((a.prev = a.next)) { + case 0: + return ( + (c = + ae.getById(t) || + ae.getActiveWorkspace()), + (u = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: c, + workspaceId: c.id + } + )), + (a.next = 4), + this._layoutsManager.save({ + name: e, + workspace: c, + title: u.title, + saveContext: n, + metadata: r + }) + ); + case 4: + return ( + (d = a.sent), + ((l = + (null === (i = c.layout) || + void 0 === i + ? void 0 + : i.config) || + c.hibernateConfig).workspacesOptions.layoutName = + e), + (null === + (o = be.decoratedFactory) || + void 0 === o + ? void 0 + : o.createWorkspaceTabs) && + be.decoratedFactory.updateWorkspaceTabs( + { + workspaceId: c.id, + layoutName: e + } + ), + l.workspacesOptions + .noTabHeader && + delete l.workspacesOptions + .noTabHeader, + a.abrupt("return", d) + ); + case 10: + case "end": + return a.stop(); + } + }, + a, + this + ); + }) + ); + } + }, + { + key: "openWorkspace", + value: function (e, t) { + var n, r, i, o; + return q( + this, + void 0, + void 0, + s().mark(function a() { + var c, + u, + d = this; + return s().wrap( + function (a) { + for (;;) + switch ((a.prev = a.next)) { + case 0: + return ( + (a.next = 2), + this._layoutsManager.getWorkspaceByName( + e + ) + ); + case 2: + if ( + ((c = a.sent), + ((u = + c.config).workspacesOptions.context = + c.layoutData.context), + (null === t || void 0 === t + ? void 0 + : t.context) && + u.workspacesOptions.context + ? (u.workspacesOptions.context = + Object.assign( + c.layoutData + .context, + null === t || + void 0 === t + ? void 0 + : t.context + )) + : (null === t || + void 0 === t + ? void 0 + : t.context) && + (u.workspacesOptions.context = + null === t || + void 0 === t + ? void 0 + : t.context), + (u.workspacesOptions.title = + (null === t || void 0 === t + ? void 0 + : t.title) || e), + (u.workspacesOptions.icon = + null !== + (n = + null === t || + void 0 === t + ? void 0 + : t.icon) && + void 0 !== n + ? n + : u.workspacesOptions + .icon), + (u.workspacesOptions.positionIndex = + null !== + (r = + null === t || + void 0 === t + ? void 0 + : t.positionIndex) && + void 0 !== r + ? r + : u.workspacesOptions + .positionIndex), + (u.workspacesOptions.allowSystemHibernation = + null !== + (i = + null === t || + void 0 === t + ? void 0 + : t.allowSystemHibernation) && + void 0 !== i + ? i + : u.workspacesOptions + .allowSystemHibernation), + u && + u.workspacesOptions && + !u.workspacesOptions.name && + (u.workspacesOptions.name = + e), + u && + ((u.workspacesOptions = + u.workspacesOptions || + {}), + (u.workspacesOptions.layoutName = + c.layoutData.name)), + u && + t && + (u.workspacesOptions.loadingStrategy = + t.loadingStrategy), + u && + void 0 !== + (null === t || + void 0 === t + ? void 0 + : t.noTabHeader) && + (u.workspacesOptions.noTabHeader = + null === t || + void 0 === t + ? void 0 + : t.noTabHeader), + u && + void 0 !== + (null === t || + void 0 === t + ? void 0 + : t.isPinned) && + (u.workspacesOptions.isPinned = + null === t || + void 0 === t + ? void 0 + : t.isPinned), + u && + void 0 !== + (null === t || + void 0 === t + ? void 0 + : t.isSelected) && + (u.workspacesOptions.selected = + null === t || + void 0 === t + ? void 0 + : t.isSelected), + this._isLayoutInitialized) + ) { + a.next = 24; + break; + } + return ( + this._layoutsManager.setInitialWorkspaceConfig( + [u] + ), + (this._initPromise = + this.initLayout()), + (a.next = 21), + this._initPromise + ); + case 21: + case 38: + return a.abrupt("return", K(u.id)); + case 24: + if (!e) { + a.next = 39; + break; + } + if ( + ((u.id = + (null === t || void 0 === t + ? void 0 + : t.reuseWorkspaceId) || + this._configFactory.getId()), + !(null === t || void 0 === t + ? void 0 + : t.reuseWorkspaceId)) + ) { + a.next = 36; + break; + } + return ( + ae + .getById(u.id) + .windows.map(function (e) { + return ae.getWindowContentItem( + e.id + ); + }) + .filter(function (e) { + return e; + }) + .forEach(function (e) { + return d.closeTab( + e, + !1 + ); + }), + (a.next = 31), + this.reinitializeWorkspace( + K(u.id), + u + ) + ); + case 31: + if ( + !(null === + (o = u.workspacesOptions) || + void 0 === o + ? void 0 + : o.context) + ) { + a.next = 34; + break; + } + return ( + (a.next = 34), + this._glue.contexts.set( + ee(K(u.id)), + u.workspacesOptions.context + ) + ); + case 34: + a.next = 38; + break; + case 36: + return ( + (a.next = 38), + this.addWorkspace(K(u.id), u) + ); + case 39: + case "end": + return a.stop(); + } + }, + a, + this + ); + }) + ); + } + }, + { + key: "exportAllLayouts", + value: function () { + return this._layoutsManager.export(); + } + }, + { + key: "deleteLayout", + value: function (e) { + this._layoutsManager.delete(e); + } + }, + { + key: "maximizeItem", + value: function (e) { + if (ae.getContainer(e)) this._controller.maximizeContainer(e); + else { + if (!ae.getByWindowId(e)) + throw new Error( + "Could not find a window or a container with id " + .concat(e, " in frame ") + .concat(this.frameId, " to maximize") + ); + this._controller.maximizeWindow(e); + } + } + }, + { + key: "restoreItem", + value: function (e) { + if (ae.getContainer(e)) this._controller.restoreContainer(e); + else { + if (!ae.getByWindowId(e)) + throw new Error( + "Could not find a window or a container with id " + .concat(e, " in frame ") + .concat(this.frameId, " to restore") + ); + this._controller.restoreWindow(e); + } + } + }, + { + key: "closeItem", + value: function (e) { + var t = this, + n = ae.getWindow(e), + r = ae.getContainer(e); + if (this.frameId === e) + ae.workspaceIds.forEach(function (e) { + return t.closeWorkspace(ae.getById(e)); + }); + else if (n) { + var i = ae.getWindowContentItem(e); + if (!i) + throw new Error( + "Could not find item ".concat(e, " to close") + ); + this.closeTab(i); + } else if (r) this._controller.closeContainer(e); + else { + var o = ae.getById(e); + this.closeWorkspace(o); + } + } + }, + { + key: "addContainer", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + o, + a, + c, + u, + d, + l = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = this.cleanIsPinned(e)), + (i = + ae.getByContainerId(t) || + ae.getById(t)), + (o = ae.getWorkspaceContentItem( + i.id + )), + (a = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: i, + workspaceContentItem: + o + } + )), + (n.next = 6), + this._controller.addContainer( + r, + t + ) + ); + case 6: + return ( + (c = n.sent), + a.hasMaximizedItems && + this._controller.refreshWorkspaceSize( + i.id + ), + (u = ae.getContainer(c)) && + this.applyIsPinned(e, u), + (d = Q(e.content)), + Promise.all( + d.map(function (e) { + return q( + l, + void 0, + void 0, + s().mark( + function t() { + var n; + return s().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + return ( + (n = + ae.getWindowContentItem( + K( + e.id + ) + )), + (t.next = 3), + this._applicationFactory.start( + n, + i.id + ) + ); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + } + ) + ); + }) + ), + n.abrupt("return", c) + ); + case 13: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "addWindow", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i, o, a, c, u; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + ((r = ae.getContainer(t)) && + "stack" === r.type) || + "component" !== e.type || + (e = + this._configFactory.wrapInGroup( + [e] + )), + (i = + ae.getById(t) || + ae.getByContainerId(t)), + (o = ae.getWorkspaceContentItem( + i.id + )), + (a = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: i, + workspaceContentItem: + o + } + )), + (n.next = 7), + this._controller.addWindow(e, t) + ); + case 7: + (a.hasMaximizedItems && + this._controller.refreshWorkspaceSize( + i.id + ), + (c = Q([e])), + (u = ae.getWindowContentItem( + K(c[0].id) + )), + this._applicationFactory.start( + u, + i.id + )); + case 11: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "setItemTitle", + value: function (e, t) { + ae.getById(e) + ? this._controller.setWorkspaceTitle(e, t) + : this._controller.setWindowTitle(e, t); + } + }, + { + key: "eject", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r, i, o, a, c, u, d, l, p, h, f; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + (n = ae.getWindowContentItem(e)) + ) { + t.next = 3; + break; + } + throw new Error( + "Could not find item ".concat(e) + ); + case 3: + if ( + ((r = n.config.componentState), + (i = r.appName), + (o = r.url), + (a = r.windowId), + (c = ae.getWorkspaceContext( + ae.getByWindowId( + n.config.id + ).id + )), + !(u = + this._glue.windows.findById( + a + ))) + ) { + t.next = 12; + break; + } + return ( + (t.next = 9), + u.getContext() + ); + case 9: + ((t.t0 = t.sent), (t.next = 13)); + break; + case 12: + t.t0 = c; + case 13: + if ( + ((d = t.t0), + this.closeItem(K(n.config.id)), + !i) + ) { + t.next = 21; + break; + } + return ( + (l = a + ? { reuseId: a } + : void 0), + (t.next = 19), + this._glue.appManager + .application(i) + .start(d, l) + ); + case 19: + return ( + (p = t.sent), + t.abrupt("return", { + windowId: p.id + }) + ); + case 21: + return ( + (h = + this._applicationFactory.getUrlByAppName( + i + ) || o), + (t.next = 24), + this._glue.windows.open( + "".concat(i, "_").concat(a), + h, + { context: d, windowId: a } + ) + ); + case 24: + return ( + (f = t.sent), + t.abrupt("return", { + windowId: f.id + }) + ); + case 26: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "ejectActiveWindow", + value: function (e) { + var t = this._wrapperFactory.getContainerWrapper({ itemId: e }); + return this.eject(t.activeItemId); + } + }, + { + key: "createWorkspace", + value: function (e) { + var t, n, r, i; + return q( + this, + void 0, + void 0, + s().mark(function o() { + var a, + c, + u = this; + return s().wrap( + function (o) { + for (;;) + switch ((o.prev = o.next)) { + case 0: + if (this._isLayoutInitialized) { + o.next = 7; + break; + } + return ( + (e.id = + this._configFactory.getId()), + this._layoutsManager.setInitialWorkspaceConfig( + [e] + ), + (this._initPromise = + this.initLayout()), + (o.next = 6), + this._initPromise + ); + case 6: + return o.abrupt("return", K(e.id)); + case 7: + if ( + ((a = + (null === + (t = + e.workspacesOptions) || + void 0 === t + ? void 0 + : t.reuseWorkspaceId) || + this._configFactory.getId()), + !(null === + (n = e.workspacesOptions) || + void 0 === n + ? void 0 + : n.reuseWorkspaceId)) + ) { + o.next = 19; + break; + } + if ((c = ae.getById(a))) { + o.next = 12; + break; + } + throw new Error( + "Could not find workspace ".concat( + null === + (r = + e.workspacesOptions) || + void 0 === r + ? void 0 + : r.reuseWorkspaceId, + " to reuse" + ) + ); + case 12: + return ( + c.windows + .map(function (e) { + return ae.getWindowContentItem( + e.id + ); + }) + .filter(function (e) { + return e; + }) + .forEach(function (e) { + return u.closeTab( + e, + !1 + ); + }), + (o.next = 15), + this.reinitializeWorkspace(a, e) + ); + case 15: + return ( + (o.next = 17), + this._glue.contexts.set( + ee(a), + null !== + (i = + e.workspacesOptions + .context) && + void 0 !== i + ? i + : {} + ) + ); + case 17: + o.next = 21; + break; + case 19: + return ( + (o.next = 21), + this.addWorkspace(a, e) + ); + case 21: + return o.abrupt("return", a); + case 22: + case "end": + return o.stop(); + } + }, + o, + this + ); + }) + ); + } + }, + { + key: "loadWindow", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i, + o = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + (n = ae.getWindowContentItem(e)) + ) { + t.next = 3; + break; + } + throw new Error( + "Could not find window ".concat( + e, + " to load" + ) + ); + case 3: + if ( + ((r = + this._frameController.getWindowId( + e + )), + (i = ae.getByWindowId(e)), + this.stateResolver.isWindowLoaded( + e + ) || "component" !== n.type) + ) { + t.next = 11; + break; + } + return ( + this._applicationFactory.start( + n, + i.id + ), + (t.next = 9), + this.waitForFrameLoaded(e) + ); + case 9: + ((n = ae.getWindowContentItem(e)), + (r = + n.config.componentState + .windowId)); + case 11: + return t.abrupt( + "return", + new Promise(function (t, n) { + r || + n( + "The window id of ".concat( + e, + " is missing" + ) + ); + var i = function () {}, + a = setTimeout( + function () { + (n( + "Could not load window ".concat( + r, + " for 5000ms" + ) + ), + i()); + }, + 5e3 + ); + ((i = + o._glue.windows.onWindowAdded( + function (e) { + e.id === r && + (t({ + windowId: + r + }), + i(), + clearTimeout( + a + )); + } + )), + o._glue.windows + .list() + .find(function (e) { + return ( + e.id === r + ); + }) && + (t({ windowId: r }), + i(), + clearTimeout(a))); + }) + ); + case 12: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "focusItem", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((n = ae.getById(e)), + this.frameId !== e) + ) { + t.next = 5; + break; + } + t.next = 13; + break; + case 5: + if (!n) { + t.next = 12; + break; + } + if (!n.hibernateConfig) { + t.next = 9; + break; + } + return ( + (t.next = 9), + this.resumeWorkspace(n.id) + ); + case 9: + (this._controller.focusWorkspace( + n.id + ), + (t.next = 13)); + break; + case 12: + this._controller.focusWindow(e); + case 13: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "bundleWorkspace", + value: function (e, t) { + if (this._stateResolver.isWorkspaceHibernated(e)) + throw new Error( + "Could not bundle workspace ".concat( + e, + " because its hibernated" + ) + ); + this._controller.bundleWorkspace(e, t); + } + }, + { + key: "bundleItem", + value: function (e, t) { + var n = ae.getByContainerId(e); + if (!n) + throw new Error( + "Could not find workspace that contains item with id" + .concat(e, " in frame ") + .concat(this.frameId) + ); + if (this._stateResolver.isWorkspaceHibernated(n.id)) + throw new Error( + "Could not bundle workspace ".concat( + n.id, + " because its hibernated" + ) + ); + this._controller.bundleItem(e, t); + } + }, + { + key: "move", + value: function (e) { + return this._glue.windows.my().moveTo(e.y, e.x); + } + }, + { + key: "getFrameSummary", + value: function (e) { + var t = + ae.getByContainerId(e) || + ae.getByWindowId(e) || + ae.getById(e), + n = this.frameId === e; + return this._context + ? { + id: t || n ? this.frameId : "none", + isInitialized: this._isLayoutInitialized, + initializationContext: { context: this._context } + } + : { + id: t || n ? this.frameId : "none", + isInitialized: this._isLayoutInitialized + }; + } + }, + { + key: "moveWindowTo", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i, o, a, c, u; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ( + ((r = ae.getByWindowId(e)), + (i = + ae.getByContainerId(t) || + ae.getById(t))) + ) { + n.next = 4; + break; + } + throw new Error( + "Could not find container " + .concat(t, " in frame ") + .concat(this.frameId) + ); + case 4: + if (r) { + n.next = 6; + break; + } + throw new Error( + "Could not find window " + .concat(e, " in frame ") + .concat(this.frameId) + ); + case 6: + if ( + !this._stateResolver.isWorkspaceHibernated( + i.id + ) + ) { + n.next = 8; + break; + } + throw new Error( + "Could not move window " + .concat(e, " to workspace ") + .concat( + i.id, + " because its hibernated" + ) + ); + case 8: + if ( + !this._stateResolver.isWorkspaceHibernated( + r.id + ) + ) { + n.next = 10; + break; + } + throw new Error( + "Could not move window " + .concat( + e, + " from workspace " + ) + .concat( + r.id, + " because its hibernated" + ) + ); + case 10: + if ( + (o = ae.getWindowContentItem(e)) + ) { + n.next = 13; + break; + } + throw new Error( + "Could not find window " + .concat(e, " in frame ") + .concat(this.frameId) + ); + case 13: + return ( + (a = r.windows.find( + function (t) { + return ( + t.id === e || + t.windowId === e + ); + } + )), + (c = + this.stateResolver.getWindowSummarySync( + a.id + )), + this._controller.removeLayoutElement( + e + ), + ae.removeWindow(a, r.id), + ae.addWindow(a, i.id), + (n.next = 20), + this._controller.addWindow( + o.config, + t + ) + ); + case 20: + ((u = + this.stateResolver.getWindowSummarySync( + a.id + )), + this.workspacesEventEmitter.raiseWindowEvent( + { + action: "removed", + payload: { + windowSummary: c + } + } + ), + this.workspacesEventEmitter.raiseWindowEvent( + { + action: "added", + payload: { + windowSummary: u + } + } + )); + case 23: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "generateWorkspaceLayout", + value: function (e, t) { + var n = ae.getById(t); + if (!n) + throw new Error( + "Could not find workspace with id ".concat(t) + ); + return this._layoutsManager.generateLayout(e, n); + } + }, + { + key: "resumeWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r, i, o; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ((n = ae.getById(e))) { + t.next = 3; + break; + } + throw new Error( + "Could not find workspace ".concat( + e, + " in any of the frames" + ) + ); + case 3: + return ( + (r = n.hibernateConfig) + .workspacesOptions || + (r.workspacesOptions = {}), + (r.workspacesOptions.reuseWorkspaceId = + e), + (t.next = 8), + this.createWorkspace(r) + ); + case 8: + ((n.hibernateConfig = void 0), + (i = ae.getWorkspaceContentItem( + n.id + )), + (o = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: n, + workspaceContentItem: + i + } + )).isPinned + ? (xe.hideHibernatedIcon({ + workspaceTab: i.tab + }), + xe.hideWorkspaceSaveButton( + { + workspaceTab: + i.tab + } + ), + xe.showWorkspaceIconButton( + { + workspaceTab: + i.tab, + icon: o.icon + } + )) + : xe.showSaveIcon({ + workspaceTab: i.tab, + workspaceId: n.id + }), + this.workspacesEventEmitter.raiseWorkspaceEvent( + { + action: "resumed", + payload: { + frameSummary: + this.getFrameSummary( + this.frameId + ), + workspaceSummary: + this.stateResolver.getWorkspaceSummary( + e + ), + frameBounds: + this.stateResolver.getFrameBounds() + } + } + )); + case 13: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "lockWorkspace", + value: function (e) { + var t, n, r, i; + (e.config || + (e.config = { + allowDrop: !1, + allowDropLeft: !1, + allowDropTop: !1, + allowDropRight: !1, + allowDropBottom: !1, + allowSystemHibernation: !1, + allowExtract: !1, + allowWindowReorder: !1, + allowSplitters: !1, + showCloseButton: !1, + showSaveButton: !1, + allowWorkspaceTabReorder: !1, + showWindowCloseButtons: !1, + showEjectButtons: !1, + showAddWindowButtons: !1 + }), + Object.keys(e.config).forEach(function (t) { + var n = e.config; + void 0 === n[t] && (n[t] = !0); + }), + "boolean" === typeof e.config.allowDrop && + ((e.config.allowDropLeft = + null !== (t = e.config.allowDropLeft) && + void 0 !== t + ? t + : e.config.allowDrop), + (e.config.allowDropTop = + null !== (n = e.config.allowDropTop) && void 0 !== n + ? n + : e.config.allowDrop), + (e.config.allowDropRight = + null !== (r = e.config.allowDropRight) && + void 0 !== r + ? r + : e.config.allowDrop), + (e.config.allowDropBottom = + null !== (i = e.config.allowDropBottom) && + void 0 !== i + ? i + : e.config.allowDrop))); + var o = e.config, + a = o.allowDrop, + s = o.allowExtract, + c = o.allowWindowReorder, + u = o.allowSplitters, + d = o.showCloseButton, + l = o.showSaveButton, + p = o.allowWorkspaceTabReorder, + h = o.showAddWindowButtons, + f = o.showWindowCloseButtons, + v = o.showEjectButtons, + m = o.allowSystemHibernation, + g = e.workspaceId; + try { + (this.workspacesEventEmitter.startWorkspaceLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.startContainerLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.startWindowLockConfigurationChangedGrouping(), + !1 === a + ? this._layoutLockingController.disableWorkspaceDrop( + g, + e.config + ) + : this._layoutLockingController.enableWorkspaceDrop( + g, + e.config + ), + !1 === s + ? this._layoutLockingController.disableWorkspaceExtract( + g + ) + : this._layoutLockingController.enableWorkspaceExtract( + g + ), + !1 === c + ? this._layoutLockingController.disableWorkspaceWindowReorder( + g + ) + : this._layoutLockingController.enableWorkspaceWindowReorder( + g + ), + !1 === u + ? this._layoutLockingController.disableSplitters(g) + : this._layoutLockingController.enableSplitters(g), + !1 === d + ? this._layoutLockingController.disableWorkspaceCloseButton( + g + ) + : this._layoutLockingController.enableWorkspaceCloseButton( + g + ), + !1 === l + ? this._layoutLockingController.disableWorkspaceSaveButton( + g + ) + : this._layoutLockingController.enableWorkspaceSaveButton( + g + ), + !1 === p + ? this._layoutLockingController.disableWorkspaceReorder( + g + ) + : this._layoutLockingController.enableWorkspaceReorder( + g + ), + !1 === h + ? this._layoutLockingController.disableWorkspaceAddWindowButtons( + g + ) + : this._layoutLockingController.enableWorkspaceAddWindowButtons( + g + ), + !1 === v + ? this._layoutLockingController.disableWorkspaceEjectButtons( + g + ) + : this._layoutLockingController.enableWorkspaceEjectButtons( + g + ), + !1 === f + ? this._layoutLockingController.disableWorkspaceWindowCloseButtons( + g + ) + : this._layoutLockingController.enableWorkspaceWindowCloseButtons( + g + ), + !1 === m + ? this._layoutLockingController.disableWorkspaceHibernation( + g + ) + : this._layoutLockingController.enableWorkspaceHibernation( + g + )); + } finally { + (this.workspacesEventEmitter.endWorkspaceLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.endContainerLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.endWindowLockConfigurationChangedGrouping()); + } + } + }, + { + key: "lockContainer", + value: function (e) { + var t, n, r, i, o; + ((e.config || "column" !== e.type) && + (e.config || "row" !== e.type) + ? e.config || + "group" !== e.type || + (e.config = { + allowDrop: !1, + allowDropHeader: !1, + allowDropLeft: !1, + allowDropRight: !1, + allowDropTop: !1, + allowDropBottom: !1, + allowExtract: !1, + allowReorder: !1, + showAddWindowButton: !1, + showEjectButton: !1, + showMaximizeButton: !1 + }) + : (e.config = { allowDrop: !1, allowSplitters: !1 }), + "undefined" !== typeof e.config.allowDrop && + "group" === e.type && + ((e.config.allowDropHeader = + null !== (t = e.config.allowDropHeader) && + void 0 !== t + ? t + : e.config.allowDrop), + (e.config.allowDropLeft = + null !== (n = e.config.allowDropLeft) && + void 0 !== n + ? n + : e.config.allowDrop), + (e.config.allowDropTop = + null !== (r = e.config.allowDropTop) && void 0 !== r + ? r + : e.config.allowDrop), + (e.config.allowDropRight = + null !== (i = e.config.allowDropRight) && + void 0 !== i + ? i + : e.config.allowDrop), + (e.config.allowDropBottom = + null !== (o = e.config.allowDropBottom) && + void 0 !== o + ? o + : e.config.allowDrop)), + Object.keys(e.config).forEach(function (t) { + var n = e.config; + void 0 === n[t] && (n[t] = !0); + })); + try { + switch ( + (this.workspacesEventEmitter.startContainerLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.startWindowLockConfigurationChangedGrouping(), + e.type) + ) { + case "column": + this.handleColumnLockRequested(e); + break; + case "row": + this.handleRowLockRequested(e); + break; + case "group": + this.handleGroupLockRequested(e); + } + } finally { + (this.workspacesEventEmitter.endContainerLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.endWindowLockConfigurationChangedGrouping()); + } + } + }, + { + key: "lockWindow", + value: function (e) { + (e.config || + (e.config = { + allowExtract: !1, + allowReorder: !1, + showCloseButton: !1 + }), + Object.keys(e.config).forEach(function (t) { + var n = e.config; + void 0 === n[t] && (n[t] = !0); + })); + var t = e.config, + n = t.allowExtract, + r = t.allowReorder, + i = t.showCloseButton, + o = e.windowPlacementId; + try { + (this.workspacesEventEmitter.startWindowLockConfigurationChangedGrouping(), + !1 === n + ? this._layoutLockingController.disableWindowExtract( + o + ) + : this._layoutLockingController.enableWindowExtract( + o, + n + ), + !1 === r + ? this._layoutLockingController.disableWindowReorder( + o + ) + : this._layoutLockingController.enableWindowReorder( + o, + r + ), + !1 === i + ? this._layoutLockingController.disableWindowCloseButton( + o + ) + : this._layoutLockingController.enableWindowCloseButton( + o, + i + )); + } finally { + this.workspacesEventEmitter.endWindowLockConfigurationChangedGrouping(); + } + var a = ae.getByWindowId(o); + (null === a || void 0 === a ? void 0 : a.layout) && + a.layout.updateSize(); + } + }, + { + key: "hibernateWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i, + o = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((n = ae.getById(e)), + ae.getActiveWorkspace().id !== + n.id) + ) { + t.next = 3; + break; + } + throw new Error( + "Cannot hibernate workspace ".concat( + n.id, + " because its active" + ) + ); + case 3: + if ( + !this.stateResolver.isWorkspaceHibernated( + e + ) + ) { + t.next = 5; + break; + } + throw new Error( + "Cannot hibernate workspace ".concat( + e, + " because it has already been hibernated" + ) + ); + case 5: + if (n.layout) { + t.next = 7; + break; + } + throw new Error( + "Cannot hibernate workspace ".concat( + n.id, + " because its empty" + ) + ); + case 7: + return ( + (r = + this.stateResolver.getWorkspaceConfig( + n.id + )), + (n.hibernatedWindows = + n.windows), + (r.workspacesOptions.isHibernated = + !0), + (n.hibernateConfig = r), + (t.next = 13), + this.getWorkspaceContext(n.id) + ); + case 13: + return ( + (i = t.sent), + (n.hibernateConfig.workspacesOptions = + Object.assign( + {}, + Object.assign( + {}, + n.hibernateConfig + .workspacesOptions + ), + { context: i } + )), + n.windows + .map(function (e) { + return ae.getWindowContentItem( + e.id + ); + }) + .forEach(function (e) { + return o.closeTab( + e, + !1 + ); + }), + ae.removeLayout(n.id), + this._controller.showHibernationIcon( + e + ), + this.workspacesEventEmitter.raiseWorkspaceEvent( + { + action: "hibernated", + payload: { + frameSummary: + this.getFrameSummary( + this.frameId + ), + workspaceSummary: + this.stateResolver.getWorkspaceSummary( + e + ), + frameBounds: + this.stateResolver.getFrameBounds() + } + } + ), + t.abrupt("return", r) + ); + case 20: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "closeTab", + value: function (e) { + var t = + !(arguments.length > 1 && void 0 !== arguments[1]) || + arguments[1], + n = K(e.config.id), + r = ae.getByWindowId(n), + i = this.stateResolver.getWindowSummarySync(n); + (this._controller.removeLayoutElement(n), + this._frameController.remove(n), + this._platformCommunicator + .notifyFrameWillClose( + i.config.windowId, + i.config.appName + ) + .catch(function (e) {}), + r.hibernatedWindows.some(function (e) { + return i.itemId === e.id; + }) || + this.workspacesEventEmitter.raiseWindowEvent({ + action: "removed", + payload: { windowSummary: i } + }), + !r.windows.length && + t && + this._controller.resetWorkspace(r.id)); + } + }, + { + key: "resizeItem", + value: function (e) { + if (e.itemId === this.frameId) + throw new Error("Cannot resize frame ".concat(e.itemId)); + return this.resizeWorkspaceItem(e); + } + }, + { + key: "unmount", + value: function () { + try { + this._popupManager.hidePopup(); + } catch (e) { + console.warn(e); + } + } + }, + { + key: "pinWorkspace", + value: function (e, t) { + this._controller.pinWorkspace(e, t); + } + }, + { + key: "unpinWorkspace", + value: function (e) { + this._controller.unpinWorkspace(e); + } + }, + { + key: "setWorkspaceIcon", + value: function (e, t) { + var n = ae.getWorkspaceContentItem(e), + r = this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e, + workspaceContentItem: n + }); + ((r.icon = t), + r.isPinned && + xe.showWorkspaceIconButton({ + workspaceTab: n.tab, + icon: t + })); + } + }, + { + key: "setFrameContext", + value: function (e) { + this._context = e; + } + }, + { + key: "showSaveWorkspacePopup", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = { + frameId: this.frameId, + workspaceId: e, + peerId: this._glue.agm + .instance.peerId, + buildMode: Te.config.build, + domNode: void 0, + resizePopup: void 0, + hidePopup: void 0 + }), + ae + .getWorkspaceLayoutItemById( + e + ) + .tab.element.find( + ".lm_saveButton" + ), + (n.next = 4), + this._popupManager.showSaveWorkspacePopup( + t, + r + ) + ); + case 4: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "getWorkspaceContext", + value: function (e) { + return this._glue.contexts.get(ee(e)); + } + }, + { + key: "setMaximizationBoundary", + value: function (e, t) { + var n = ae.getContainer(e); + if (!n) + throw new Error( + "Could not find container " + .concat(e, " in frame ") + .concat( + this.frameId, + " to set the maximizationBoundary to " + ) + .concat(t) + ); + if ("stack" === n.type) + throw new Error( + "Could not set the maximization boundary of group " + .concat(e, " to ") + .concat( + t, + " because only rows and columns can be considered maximizationBoundaries" + ) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).maximizationBoundary = t; + } + }, + { key: "showChannelsSelector", value: function (e, t) {} }, + { + key: "showAddWindowPopup", + value: function (e, t, n) { + this._popupManager.showAddWindowPopup(n, { + boxId: t, + parentType: "group", + frameId: this.frameId, + peerId: this._glue.agm.instance.peerId, + workspaceId: e + }); + } + }, + { + key: "getDecorationsSize", + value: function (e) { + if (e === this.frameId) return xe.getFrameDecorationsSize(); + if (ae.getById(e)) { + var t = this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }); + return xe.getWorkspaceDecorationsSize(t.bounds); + } + return xe.getGroupDecorationsSize(e); + } + }, + { + key: "resizeWorkspaceItem", + value: function (e) { + var t, + n, + r = this, + i = + ae.getContainer(e.itemId) || + ae.getWindowContentItem(e.itemId); + if (!i) + throw new Error( + "Could not find container " + .concat(e.itemId, " in frame ") + .concat(this.frameId) + ); + if ("column" === i.type && e.height) + throw new Error( + "Requested resize for " + .concat(i.type, " ") + .concat( + e.itemId, + ", however an unsupported argument (height) was passed" + ) + ); + if ("row" === i.type && e.width) + throw new Error( + "Requested resize for " + .concat(i.type, " ") + .concat( + e.itemId, + ", however an unsupported argument (width) was passed" + ) + ); + var o, + a, + s = + ae.getByContainerId(i.config.id) || + ae.getByWindowId(K(i.config.id)); + if (this.stateResolver.isWorkspaceHibernated(s.id)) + throw new Error( + "Requested resize for " + .concat(i.type, " ") + .concat(e.itemId, ", however the workspace ") + .concat(s.id, " is hibernated") + ); + (s && + ((o = s.windows.find(function (e) { + return r.stateResolver.isWindowMaximized(e.id); + })), + (a = + null === + (n = + null === (t = s.layout) || void 0 === t + ? void 0 + : t.root) || void 0 === n + ? void 0 + : n.getItemsByFilter(function (e) { + return ( + e.hasId("__glMaximised") && + "component" !== e.type + ); + })[0])), + o && this._controller.restoreWindow(o.id), + a && this._controller.restoreContainer(K(a.config.id)), + "row" === i.type + ? this._controller.resizeRow(i, e.height) + : "column" === i.type + ? this._controller.resizeColumn(i, e.width) + : "stack" === i.type + ? this._controller.resizeStack(i, e.width, e.height) + : this._controller.resizeComponent( + i, + e.width, + e.height + ), + o && this._controller.maximizeWindow(o.id), + a && this._controller.maximizeContainer(K(a.config.id))); + } + }, + { + key: "initLayout", + value: function () { + var e; + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this._systemSettings.getSettings() + ); + case 2: + return ( + (n = t.sent), + (t.next = 5), + this._layoutsManager.getInitialConfig() + ); + case 5: + return ( + (r = t.sent), + this.subscribeForPopups(), + this.subscribeForLayout(), + (this._isLayoutInitialized = + !0), + (t.next = 11), + Promise.all( + r.workspaceConfigs.map( + function (e) { + var t, n; + return i._glue.contexts.set( + ee(e.id), + (null === + (n = + null === + (t = + e.config) || + void 0 === + t + ? void 0 + : t.workspacesOptions) || + void 0 === n + ? void 0 + : n.context) || + {} + ); + } + ) + ) + ); + case 11: + return ( + (t.next = 13), + this._controller.init({ + frameId: this.frameId, + workspaceLayout: + r.workspaceLayout, + workspaceConfigs: + r.workspaceConfigs, + showLoadingIndicator: + (null === + (e = + null === n || + void 0 === n + ? void 0 + : n.loadingStrategy) || + void 0 === e + ? void 0 + : e.showDelayedIndicator) || + !1 + }) + ); + case 13: + (Promise.all( + ae.workspaceIds.map( + function (e) { + var t = + i._applicationFactory.getLoadingStrategy( + n, + r + .workspaceConfigs[0] + .config + ); + return i.handleWindows( + e, + t + ); + } + ) + ), + ae.layouts + .map(function (e) { + return e.layout; + }) + .filter(function (e) { + return e; + }) + .forEach(function (e) { + return i.reportLayoutStructure( + e + ); + }), + Te.config.emptyFrame && + this._workspacesEventEmitter.raiseFrameEvent( + { + action: "opened", + payload: { + frameSummary: { + id: this + .frameId + }, + frameBounds: + this.stateResolver.getFrameBounds() + } + } + )); + case 16: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "reinitLayout", + value: function () { + var e; + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this._systemSettings.getSettings() + ); + case 2: + return ( + (n = t.sent), + (t.next = 5), + this._layoutsManager.getInitialConfig() + ); + case 5: + return ( + (r = t.sent), + (this._isLayoutInitialized = + !0), + (t.next = 9), + Promise.all( + r.workspaceConfigs.map( + function (e) { + var t, n; + return i._glue.contexts.set( + ee(e.id), + (null === + (n = + null === + (t = + e.config) || + void 0 === + t + ? void 0 + : t.workspacesOptions) || + void 0 === n + ? void 0 + : n.context) || + {} + ); + } + ) + ) + ); + case 9: + return ( + ae.workspaceIds.forEach( + function (e) { + i.discardWorkspaceWithoutClosing( + ae.getById(e) + ); + } + ), + (t.next = 12), + this._controller.reinit({ + frameId: this.frameId, + workspaceLayout: + r.workspaceLayout, + workspaceConfigs: + r.workspaceConfigs, + showLoadingIndicator: + (null === + (e = + null === n || + void 0 === n + ? void 0 + : n.loadingStrategy) || + void 0 === e + ? void 0 + : e.showDelayedIndicator) || + !1 + }) + ); + case 12: + (Promise.all( + ae.workspaceIds.map( + function (e) { + var t = + i._applicationFactory.getLoadingStrategy( + n, + r + .workspaceConfigs[0] + .config + ); + return i.handleWindows( + e, + t + ); + } + ) + ), + ae.layouts + .map(function (e) { + return e.layout; + }) + .filter(function (e) { + return e; + }) + .forEach(function (e) { + return i.reportLayoutStructure( + e + ); + })); + case 14: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "updateFrameLayoutNaive", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + o, + a, + c = this; + return s().wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = ae.workspaceIds.filter( + function (e) { + return !t.includes(e); + } + )), + (i = r.map(function (e) { + return ae.getById(e); + })), + (o = Promise.all( + i.map(function (e) { + return c.closeWorkspace(e); + }) + )), + (a = Promise.all( + e.map(function (e) { + return c.createWorkspace(e); + }) + )), + (n.next = 6), + Promise.all([o, a]) + ); + case 6: + case "end": + return n.stop(); + } + }, n); + }) + ); + } + }, + { + key: "reinitializeWorkspace", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this._controller.reinitializeWorkspace( + e, + t + ) + ); + case 2: + return ( + (n.next = 4), + this._systemSettings.getSettings() + ); + case 4: + ((r = n.sent), + (i = + this._applicationFactory.getLoadingStrategy( + r, + t + )), + this.handleWindows(e, i)); + case 7: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "subscribeForLayout", + value: function () { + var e = this; + (this._controller.emitter.onContentItemResized(function (t, n) { + e._frameController.moveFrame(n, Z(t)); + }), + this._controller.emitter.onTabCloseRequested(function (t) { + (ae.getByWindowId(K(t.config.id)), + e.closeTab(t), + e._controller.removeLayoutElement(K(t.config.id)), + e._frameController.remove(K(t.config.id))); + }), + this._controller.emitter.onWorkspaceTabCloseRequested( + function (t) { + e.closeWorkspace(t); + } + ), + this._controller.emitter.onTabElementMouseDown( + function (t) { + var n = Z(t.contentItem.element), + r = Math.min(n.width, 800), + i = Math.min(n.height, 600); + e._controller.setDragElementSize(r, i); + } + ), + this._controller.emitter.onTabDragStart(function (t) { + var n = e._controller.getDragElement(), + r = new MutationObserver(function (n) { + Array.from(n).forEach(function (n) { + if ("attributes" === n.type) { + var r = $( + e._controller.getDragElement() + ) + .children(".lm_content") + .children(".lm_item_container"), + i = Z(r[0]), + o = K(t.contentItem.config.id); + (e._frameController.moveFrame(o, i), + e._frameController.bringToFront(o)); + } + }); + }); + if (n) { + r.observe(n, { attributes: !0 }); + var i = e.stateResolver.getWindowSummarySync( + t.contentItem.config.id, + t.contentItem + ); + e.workspacesEventEmitter.raiseWindowEvent({ + action: "removed", + payload: { windowSummary: i } + }); + } + }), + this._controller.emitter.onItemDropped(function (t) { + var n = e.stateResolver.getWindowSummarySync( + t.config.id, + t + ); + e.workspacesEventEmitter.raiseWindowEvent({ + action: "added", + payload: { windowSummary: n } + }); + }), + this._controller.emitter.onSelectionChanged( + function (t, n) { + (e._popupManager.hidePopup(), + e._frameController.selectionChanged( + n.map(function (e) { + return e.id; + }), + t.map(function (e) { + return e.id; + }) + )); + } + ), + this._controller.emitter.onTabSelectionChanged( + function (t) { + (be.decoratedFactory.updateWorkspaceWindowTabs({ + placementId: K(t.config.id), + groupId: K(t.parent.config.id), + isSelected: !0 + }), + e.workspacesEventEmitter.raiseWindowEvent({ + action: "selected", + payload: { + windowSummary: + e.stateResolver.getWindowSummarySync( + t.config.id, + t + ) + } + })); + } + ), + this._controller.emitter.onWorkspaceAdded(function (t) { + e.handleOnWorkspaceAdded(t); + }), + this._controller.emitter.onWorkspaceSelectionChanged( + function (t, n) { + if ( + (e._popupManager.hidePopup(), + e._controller.refreshTabSizes(t.id), + !t.layout) + ) + return ( + e._frameController.selectionChangedDeep( + [], + n.map(function (e) { + return e.id; + }) + ), + e._workspacesEventEmitter.raiseWorkspaceEvent( + { + action: "selected", + payload: { + frameSummary: { id: e.frameId }, + workspaceSummary: + e.stateResolver.getWorkspaceSummary( + t.id + ), + frameBounds: + e.stateResolver.getFrameBounds() + } + } + ), + void ( + t.hibernateConfig && + e.resumeWorkspace(t.id) + ) + ); + var r = Q(t.layout.toConfig().content).filter( + function (t) { + return e._controller.isWindowVisible(t.id); + } + ); + (e._frameController.selectionChangedDeep( + r.map(function (e) { + return K(e.id); + }), + n.map(function (e) { + return e.id; + }) + ), + e._workspacesEventEmitter.raiseWorkspaceEvent({ + action: "selected", + payload: { + frameSummary: { id: e.frameId }, + workspaceSummary: + e.stateResolver.getWorkspaceSummary( + t.id + ), + frameBounds: + e.stateResolver.getFrameBounds() + } + })); + } + ), + this._controller.emitter.onAddButtonClicked(function (t) { + var n = t.laneId, + r = t.workspaceId, + i = t.bounds, + o = t.parentType; + return q( + e, + void 0, + void 0, + s().mark(function e() { + var t; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = { + boxId: n, + workspaceId: r, + parentType: o, + frameId: + this.frameId, + peerId: this._glue + .agm.instance + .peerId, + domNode: void 0, + resizePopup: void 0, + hidePopup: void 0 + }), + (e.next = 3), + this._popupManager.showAddWindowPopup( + i, + t + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + }), + this._controller.emitter.onContentLayoutInit(function (t) { + var n = ae.getById(t.root.config.id); + (e._wrapperFactory + .getWorkspaceWrapper({ + workspace: n, + workspaceContentItem: void 0 + }) + .getMaximizedItemInRoot(t) && + e._controller.hideWorkspaceRootItem(n.id), + e.reportLayoutStructure(t)); + }), + this._controller.emitter.onWorkspaceAddButtonClicked( + function () { + return q( + e, + void 0, + void 0, + s().mark(function e() { + var t, n, r; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = { + frameId: + this + .frameId, + peerId: this + ._glue.agm + .instance + .windowId + }), + (n = + ae.workspaceLayoutHeader.element + .find( + ".lm_workspace_controls" + ) + .find( + ".lm_add_button" + )), + (r = Z(n)), + (e.next = 5), + this._popupManager.showOpenWorkspacePopup( + r, + t + ) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + ), + this._controller.emitter.onWorkspaceSaveRequested( + function (t) { + return q( + e, + void 0, + void 0, + s().mark(function e() { + var n, r; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = ae + .getWorkspaceLayoutItemById( + t + ) + .tab.element.find( + ".lm_saveButton" + )), + (r = Z(n)), + (e.next = 4), + this.showSaveWorkspacePopup( + t, + r + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + ), + this._controller.emitter.onContainerMaximized(function (t) { + if ("component" !== t.type) { + (t + .getItemsByFilter(function (e) { + return "component" === e.type; + }) + .forEach(function (t) { + e._frameController.maximizeTab( + K(t.config.id) + ); + }), + t.contentItems + .filter(function (e) { + return "component" === e.type; + }) + .map(function (t) { + return e.stateResolver.getWindowSummarySync( + t.config.id + ); + }) + .forEach(function (t) { + e.workspacesEventEmitter.raiseWindowEvent( + { + action: "maximized", + payload: { windowSummary: t } + } + ); + })); + var n = t.getItemsByFilter(function (e) { + return "stack" === e.type; + }); + "stack" === t.type && + (n.push(t), e.showRestoreGroupButton(t)); + var r = n.reduce( + function (e, t) { + var n = t.getActiveContentItem(), + r = t.contentItems.map( + function (e) { + return K(e.config.id); + } + ); + return ( + e[0].push(K(n.config.id)), + (e[1] = [].concat(o(e[1]), o(r))), + e + ); + }, + [[], []] + ), + i = c(r, 2), + a = i[0], + s = i[1]; + e._frameController.selectionChanged(a, s); + var u = ae.getById(t.layoutManager.root.config.id), + d = ae.getWorkspaceContentItem(u.id); + (e._wrapperFactory + .getWorkspaceWrapper({ + workspace: u, + workspaceContentItem: d + }) + .getMaximizedItemInRoot(t.layoutManager) && + !t.parent.isRoot && + e._controller.hideWorkspaceRootItem(u.id), + e.reportLayoutStructure(t.layoutManager)); + } + }), + this._controller.emitter.onContainerRestored(function (t) { + if ("component" !== t.type) { + (t + .getItemsByFilter(function (e) { + return "component" === e.type; + }) + .forEach(function (t) { + e._frameController.restoreTab( + K(t.config.id) + ); + }), + t.contentItems + .filter(function (e) { + return "component" === e.type; + }) + .map(function (t) { + return e.stateResolver.getWindowSummarySync( + t.config.id + ); + }) + .forEach(function (t) { + e.workspacesEventEmitter.raiseWindowEvent( + { + action: "restored", + payload: { windowSummary: t } + } + ); + })); + var n = t.getItemsByFilter(function (e) { + return "stack" === e.type; + }); + "stack" === t.type && + (n.push(t), e.showMaximizeGroupButton(t)); + var r = n.reduce( + function (e, t) { + var n = t.getActiveContentItem(), + r = t.contentItems.map( + function (e) { + return K(e.config.id); + } + ); + return ( + e[0].push(K(n.config.id)), + (e[1] = [].concat(o(e[1]), o(r))), + e + ); + }, + [[], []] + ), + i = c(r, 2), + a = i[0], + s = i[1]; + e._frameController.selectionChanged(a, s); + var u = K(t.layoutManager.root.config.id); + (e._controller.showWorkspaceRootItem(u), + e._controller.refreshWorkspaceSize(u), + e.reportLayoutStructure(t.layoutManager)); + } + }), + this._controller.emitter.onEjectRequested(function (t) { + if (!t.isComponent) + throw new Error( + "Can't eject item of type ".concat(t.type) + ); + return e.eject(K(t.config.id)); + }), + this._controller.emitter.onComponentSelectedInWorkspace( + function (t, n) { + e._applicationFactory.start(t, n); + } + )); + var t = {}; + (this._controller.emitter.onWorkspaceContainerResized( + function (n) { + var r = K(n); + (t[r] && clearTimeout(t[r]), + (t[r] = setTimeout(function () { + e._controller.refreshWorkspaceSize(r); + }, 16))); + } + ), + this._controller.emitter.onContentItemRemoved( + function (e, t) { + "stack" === t.type && + be.notifyGroupClosed(K(t.config.id)); + } + ), + this._controller.emitter.onWorkspaceLockConfigurationChanged( + function (t) { + e.workspacesEventEmitter.raiseWorkspaceEvent({ + action: "lock-configuration-changed", + payload: { + frameSummary: e.getFrameSummary(e.frameId), + workspaceSummary: + e.stateResolver.getWorkspaceSummary(t), + frameBounds: + e.stateResolver.getFrameBounds() + } + }); + } + ), + this._controller.emitter.onContainerLockConfigurationChanged( + function (t) { + var n; + e.workspacesEventEmitter.raiseContainerEvent({ + action: "lock-configuration-changed", + payload: { + containerSummary: + e.stateResolver.getContainerSummaryByReference( + t, + null === + (n = ae.getByContainerId( + t.config.id + )) || void 0 === n + ? void 0 + : n.id + ) + } + }); + } + ), + this._controller.emitter.onWindowLockConfigurationChanged( + function (t) { + e.workspacesEventEmitter.raiseWindowEvent({ + action: "lock-configuration-changed", + payload: { + windowSummary: + e.stateResolver.getWindowSummarySync( + t.config.id + ) + } + }); + } + )); + var n = void 0; + (be.onWorkspaceContentsShown(function (t) { + var r = ae.getActiveWorkspace(); + if ( + (null === r || void 0 === r ? void 0 : r.layout) && + t === r.id + ) { + (n && clearTimeout(n), + (n = setTimeout(function () { + var e = $("#".concat(oe(r.id))), + t = Z(e[0]); + r.layout.updateSize(t.width, t.height); + }, 50))); + var i = r.layout.root.getItemsByFilter(function (e) { + return "stack" === e.type; + }); + e._frameController.selectionChangedDeep( + i.map(function (e) { + return K(e.getActiveContentItem().config.id); + }), + [] + ); + } + }), + be.onWorkspaceContentsHidden(function (t) { + var n = ae.getById(t); + (null === n || void 0 === n ? void 0 : n.layout) && + t === n.id && + e._frameController.selectionChangedDeep( + [], + n.windows.map(function (e) { + return e.id; + }) + ); + }), + this.workspacesEventEmitter.onWorkspaceEvent( + function (e, t) { + var n = ae.getById(t.workspaceSummary.id); + n && (n.lastActive = Date.now()); + } + )); + } + }, + { + key: "subscribeForPopups", + value: function () { + var e = this; + (this._frameController.onFrameContentClicked(function () { + e._popupManager.hidePopup(); + }), + this._frameController.onWindowTitleChanged(function (t, n) { + e.setItemTitle(t, n); + }), + this._frameController.onFrameLoaded(function (t) { + e._controller.hideLoadingIndicator(t); + }), + this._popupManager.onPopupStateChanged(function (e, t) { + "openWorkspace" === e.type + ? xe.updateAddWorkspaceButtonActiveState(t) + : "addApplication" === e.type && + xe.updateAddWindowButtonActiveState(e.boxId, t); + })); + } + }, + { + key: "reportLayoutStructure", + value: function (e) { + var t = this; + Q(e.toConfig().content).forEach(function (n) { + var r = e.root.getItemsById(n.id)[0]; + t._frameController.moveFrame(K(r.config.id), Z(r.element)); + }); + } + }, + { + key: "closeWorkspace", + value: function (e) { + if (!e) throw new Error("Could not find a workspace to close"); + this.closeWorkspaceCore(e); + } + }, + { + key: "closeWorkspaceCore", + value: function (e) { + var t = this._wrapperFactory.getWorkspaceWrapper({ + workspace: e, + workspaceId: e.id + }), + n = t.summary, + r = t.windowSummaries, + i = this.checkForEmptyWorkspace(e); + (this.disposeOfWindowsInClosingWorkspace(r), + i || this.raiseWorkspaceClosedEventsInClosingWorkspace(n)); + } + }, + { + key: "discardWorkspaceWithoutClosing", + value: function (e) { + var t = this._wrapperFactory.getWorkspaceWrapper({ + workspace: e, + workspaceId: e.id + }), + n = t.windowSummaries, + r = t.summary; + (this.disposeOfWindowsInClosingWorkspace(n), + this.raiseWorkspaceClosedEventsInClosingWorkspace(r), + ae.removeById(e.id)); + } + }, + { + key: "disposeOfWindowsInClosingWorkspace", + value: function (e) { + var t = this; + (e.forEach(function (e) { + return t._frameController.remove(e.itemId); + }), + e.forEach(function (e) { + (t._platformCommunicator + .notifyFrameWillClose( + e.config.windowId, + e.config.appName + ) + .catch(function (e) {}), + t.workspacesEventEmitter.raiseWindowEvent({ + action: "removed", + payload: { windowSummary: e } + })); + })); + } + }, + { + key: "raiseWorkspaceClosedEventsInClosingWorkspace", + value: function (e) { + (be.notifyWorkspaceClosed(e.id), + this.workspacesEventEmitter.raiseWorkspaceEvent({ + action: "closed", + payload: { + workspaceSummary: e, + frameSummary: { id: this.frameId }, + frameBounds: this.stateResolver.getFrameBounds() + } + })); + } + }, + { + key: "addWorkspace", + value: function (e, t) { + var n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, o; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (r.next = 2), + this._glue.contexts.set( + ee(e), + (null === + (n = + null === t || + void 0 === t + ? void 0 + : t.workspacesOptions) || + void 0 === n + ? void 0 + : n.context) || {} + ) + ); + case 2: + return ( + (r.next = 4), + this._controller.addWorkspace( + e, + t + ) + ); + case 4: + return ( + this._controller.emitter.raiseEvent( + "workspace-added", + { workspace: ae.getById(e) } + ), + (r.next = 7), + this._systemSettings.getSettings() + ); + case 7: + ((i = r.sent), + (o = + this._applicationFactory.getLoadingStrategy( + i, + t + )), + this.handleWindows(e, o).catch( + function (e) { + console.log(e); + } + )); + case 10: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "handleWindows", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + ((n.t0 = t), + (n.next = + "delayed" === n.t0 + ? 3 + : "direct" === n.t0 + ? 6 + : "lazy" === n.t0 + ? 9 + : 12)); + break; + case 3: + return ( + (n.next = 5), + this._applicationFactory.startDelayed( + e + ) + ); + case 5: + case 8: + case 11: + return n.abrupt("break", 12); + case 6: + return ( + (n.next = 8), + this._applicationFactory.startDirect( + e + ) + ); + case 9: + return ( + (n.next = 11), + this._applicationFactory.startLazy( + e + ) + ); + case 12: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "checkForEmptyWorkspace", + value: function (e) { + var t = window.glue42core || window.iobrowser; + if (1 === ae.layouts.length) { + if (this._isLayoutInitialized && t.isPlatformFrame) + return (this.replaceLastWorkspaceWithEmpty(e), !1); + if (this._isLayoutInitialized) { + try { + this._facade.executeAfterControlIsDone(function () { + window.close(); + }); + } catch (n) {} + return !0; + } + } else this._controller.removeWorkspace(e.id); + return !1; + } + }, + { + key: "replaceLastWorkspaceWithEmpty", + value: function (e) { + var t = this, + n = this._configFactory.getId(), + r = this._configFactory.getEmptyWorkspaceConfig(), + i = this._wrapperFactory.getWorkspaceWrapper({ + workspace: e, + workspaceId: e.id + }), + o = this.stateResolver + .getWorkspaceTitles() + .filter(function (e) { + return e !== i.title; + }), + a = this._configFactory.getWorkspaceTitle(o); + ((r.workspacesOptions.title = a), + this._controller + .addWorkspace( + n, + this._configFactory.getEmptyWorkspaceConfig() + ) + .then(function () { + return q( + t, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this.handleOnWorkspaceAddedWithSnapshot( + ae.getById(n) + ) + ); + case 2: + this.checkForEmptyWorkspace( + e + ); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + }) + .catch(function () {})); + } + }, + { + key: "waitForFrameLoaded", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i = function () {}, + o = setTimeout(function () { + (i(), + r( + "Did not hear frame loaded for ".concat( + e, + " in 5000ms" + ) + )); + }, 5e3); + ((i = t.workspacesEventEmitter.onWindowEvent( + function (t, r) { + "loaded" === t && + r.windowSummary.itemId === e && + (n(), clearTimeout(o), i()); + } + )), + t.stateResolver.isWindowLoaded(e) && + (n(), clearTimeout(o), i())); + }); + } + }, + { + key: "handleGroupLockRequested", + value: function (e) { + var t = e.config, + n = t.allowExtract, + r = t.allowReorder, + i = t.showAddWindowButton, + o = t.showEjectButton, + a = t.showMaximizeButton, + s = t.allowDrop; + (!1 === n + ? this._layoutLockingController.disableGroupExtract( + e.itemId + ) + : this._layoutLockingController.enableGroupExtract( + e.itemId, + n + ), + !1 === r + ? this._layoutLockingController.disableGroupReorder( + e.itemId + ) + : this._layoutLockingController.enableGroupReorder( + e.itemId, + r + ), + !1 === i + ? this._layoutLockingController.disableGroupAddWindowButton( + e.itemId + ) + : this._layoutLockingController.enableGroupAddWindowButton( + e.itemId, + i + ), + !1 === o + ? this._layoutLockingController.disableGroupEjectButton( + e.itemId + ) + : this._layoutLockingController.enableGroupEjectButton( + e.itemId, + o + ), + !1 === a + ? this._layoutLockingController.disableGroupMaximizeButton( + e.itemId + ) + : this._layoutLockingController.enableGroupMaximizeButton( + e.itemId, + a + ), + !1 === s + ? this._layoutLockingController.disableGroupDrop( + e.itemId, + e.config + ) + : this._layoutLockingController.enableGroupDrop( + e.itemId, + e.config + )); + var c = ae.getByContainerId(e.itemId); + (null === c || void 0 === c ? void 0 : c.layout) && + c.layout.updateSize(); + } + }, + { + key: "handleRowLockRequested", + value: function (e) { + var t = e.config, + n = t.allowDrop, + r = t.allowSplitters; + (!1 === n + ? this._layoutLockingController.disableRowDrop(e.itemId) + : this._layoutLockingController.enableRowDrop(e.itemId, n), + !1 === r + ? this._layoutLockingController.disableRowSplitters( + e.itemId + ) + : this._layoutLockingController.enableRowSplitters( + e.itemId, + r + )); + } + }, + { + key: "handleColumnLockRequested", + value: function (e) { + var t = e.config, + n = t.allowDrop, + r = t.allowSplitters; + (!1 === n + ? this._layoutLockingController.disableColumnDrop(e.itemId) + : this._layoutLockingController.enableColumnDrop( + e.itemId, + n + ), + !1 === r + ? this._layoutLockingController.disableColumnSplitters( + e.itemId + ) + : this._layoutLockingController.enableColumnSplitters( + e.itemId, + r + )); + } + }, + { + key: "cleanIsPinned", + value: function (e) { + if ("row" !== e.type && "column" !== e.type) return e; + var t = !1, + n = JSON.parse(JSON.stringify(e)); + return ( + (function e(n) { + (n.workspacesConfig.isPinned && + ((t = !0), (n.workspacesConfig.isPinned = !1)), + "component" !== n.type && + n.content.forEach(function (t) { + return e(t); + })); + })(n), + t ? n : e + ); + } + }, + { + key: "applyIsPinned", + value: function (e, t) { + if ( + ("row" === e.type || "column" === e.type) && + ("row" === t.config.type || "column" === t.config.type) + ) { + !(function e(t, n) { + (t.workspacesConfig.isPinned && + (n.config.workspacesConfig.isPinned = !0), + "component" !== t.type && + "component" !== n.type && + t.content.forEach(function (t, r) { + return e(t, n.contentItems[r]); + })); + })(e, t); + } + } + }, + { + key: "handleOnWorkspaceAdded", + value: function (e) { + var t, + n = ae.workspaceIds + .filter(function (t) { + return t !== e.id; + }) + .reduce(function (e, t) { + return [].concat(o(e), o(ae.getById(t).windows)); + }, []); + if ( + (this._workspacesEventEmitter.raiseWorkspaceEvent({ + action: "opened", + payload: { + frameSummary: { id: this.frameId }, + workspaceSummary: + this.stateResolver.getWorkspaceSummary(e.id), + frameBounds: this.stateResolver.getFrameBounds() + } + }), + ae.getActiveWorkspace().id === e.id) + ) { + if ( + (this._workspacesEventEmitter.raiseWorkspaceEvent({ + action: "selected", + payload: { + frameSummary: { id: this.frameId }, + workspaceSummary: + this.stateResolver.getWorkspaceSummary( + e.id + ), + frameBounds: this.stateResolver.getFrameBounds() + } + }), + !e.layout) + ) + return void this._frameController.selectionChangedDeep( + [], + n.map(function (e) { + return e.id; + }) + ); + var r = Q(e.layout.toConfig().content); + this._frameController.selectionChangedDeep( + r.map(function (e) { + return K(e.id); + }), + n.map(function (e) { + return e.id; + }) + ); + } + if (e.layout) { + var i = e.layout.config.workspacesOptions, + a = i.title || i.name; + a && + (null === (t = ae.getWorkspaceLayoutItemById(e.id)) || + void 0 === t || + t.setTitle(a)); + } + } + }, + { + key: "handleOnWorkspaceAddedWithSnapshot", + value: function (e) { + var t; + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i, a, c, u; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = ae.workspaceIds + .filter(function (t) { + return t !== e.id; + }) + .reduce(function (e, t) { + return [].concat( + o(e), + o( + ae.getById(t) + .windows + ) + ); + }, [])), + (n.next = 3), + this._stateResolver.getWorkspaceSnapshot( + e.id, + this + ) + ); + case 3: + if ( + ((i = n.sent), + this._workspacesEventEmitter.raiseWorkspaceEvent( + { + action: "opened", + payload: { + frameSummary: { + id: this.frameId + }, + workspaceSnapshot: + i, + workspaceSummary: + this.stateResolver.getWorkspaceSummary( + e.id + ), + frameBounds: + this.stateResolver.getFrameBounds() + } + } + ), + ae.getActiveWorkspace().id !== + e.id) + ) { + n.next = 12; + break; + } + if ( + (this._workspacesEventEmitter.raiseWorkspaceEvent( + { + action: "selected", + payload: { + frameSummary: { + id: this.frameId + }, + workspaceSummary: + this.stateResolver.getWorkspaceSummary( + e.id + ), + frameBounds: + this.stateResolver.getFrameBounds() + } + } + ), + e.layout) + ) { + n.next = 10; + break; + } + return ( + this._frameController.selectionChangedDeep( + [], + r.map(function (e) { + return e.id; + }) + ), + n.abrupt("return") + ); + case 10: + ((a = Q( + e.layout.toConfig().content + )), + this._frameController.selectionChangedDeep( + a.map(function (e) { + return K(e.id); + }), + r.map(function (e) { + return e.id; + }) + )); + case 12: + if (e.layout) { + n.next = 14; + break; + } + return n.abrupt("return"); + case 14: + ((c = + e.layout.config + .workspacesOptions), + (u = c.title || c.name) && + (null === + (t = + ae.getWorkspaceLayoutItemById( + e.id + )) || + void 0 === t || + t.setTitle(u))); + case 17: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showMaximizeGroupButton", + value: function (e) { + this._wrapperFactory.getContainerWrapper({ + containerContentItem: e + }).showMaximizeButton && + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: K(e.config.id), + restore: { visible: !1 }, + maximize: { visible: !0 } + }); + } + }, + { + key: "showRestoreGroupButton", + value: function (e) { + this._wrapperFactory.getContainerWrapper({ + containerContentItem: e + }).showMaximizeButton && + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: K(e.config.id), + restore: { visible: !0 }, + maximize: { visible: !1 } + }); + } + } + ]), + e + ); + })(), + st = new at(), + ct = (function () { + function e(t) { + (w(this, e), (this.manager = t)); + } + return ( + x(e, [ + { + key: "applyLockConfiguration", + value: function (e, t) { + var n = this; + return (function e(r, i) { + return q( + n, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ("window" !== r.type) { + n.next = 5; + break; + } + return ( + this.doesWindowContainLockProperties( + r + ) && + this.manager.lockWindow( + { + windowPlacementId: + i.id, + config: r.config + } + ), + n.abrupt("return") + ); + case 5: + "group" === r.type || + "row" === r.type || + "column" === r.type + ? this.doesContainerContainLockProperties( + r + ) && + this.manager.lockContainer( + { + itemId: i.id, + type: r.type, + config: r.config + } + ) + : this.doesWorkspaceContainLockProperties( + r + ) && + this.manager.lockWorkspace( + { + workspaceId: t.id, + config: r.config + } + ); + case 6: + return ( + (n.next = 8), + Promise.all( + r.children.map( + function (t, n) { + return e( + t, + i.children[ + n + ] + ); + } + ) + ) + ); + case 8: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + })(e, t); + } + }, + { + key: "applyWindowLockConfiguration", + value: function (e) { + var t = { config: e.config, id: e.itemId, type: "window" }; + this.doesWindowContainLockProperties(t) && + this.manager.lockWindow({ + windowPlacementId: e.itemId, + config: e.config + }); + } + }, + { + key: "applyContainerLockConfiguration", + value: function (e, t, n) { + var r = this; + return (function e(t, n) { + "window" !== t.type + ? ("group" === t.type || + "row" === t.type || + "column" === t.type + ? r.doesContainerContainLockProperties(t) && + r.manager.lockContainer({ + itemId: n.id, + type: t.type, + config: t.config + }) + : r.doesWorkspaceContainLockProperties(t) && + r.manager.lockWorkspace({ + workspaceId: t.id, + config: t.config + }), + t.children.forEach(function (t, r) { + return e(t, n.children[r]); + })) + : r.doesWindowContainLockProperties(t) && + r.manager.lockWindow({ + windowPlacementId: n.id, + config: t.config + }); + })(e, this.getItemFromWorkspace(t, n)); + } + }, + { + key: "doesWindowContainLockProperties", + value: function (e) { + var t, n, r; + return ( + this.isLockPropertySet( + null === (t = e.config) || void 0 === t + ? void 0 + : t.showCloseButton + ) || + this.isLockPropertySet( + null === (n = e.config) || void 0 === n + ? void 0 + : n.allowExtract + ) || + this.isLockPropertySet( + null === (r = e.config) || void 0 === r + ? void 0 + : r.allowReorder + ) + ); + } + }, + { + key: "doesContainerContainLockProperties", + value: function (e) { + var t, n, r, i, o, a, s, c, u, d, l, p; + return ( + this.isLockPropertySet( + null === (t = e.config) || void 0 === t + ? void 0 + : t.allowDrop + ) || + this.isLockPropertySet( + null === (n = e.config) || void 0 === n + ? void 0 + : n.allowDropHeader + ) || + this.isLockPropertySet( + null === (r = e.config) || void 0 === r + ? void 0 + : r.allowDropLeft + ) || + this.isLockPropertySet( + null === (i = e.config) || void 0 === i + ? void 0 + : i.allowDropRight + ) || + this.isLockPropertySet( + null === (o = e.config) || void 0 === o + ? void 0 + : o.allowDropTop + ) || + this.isLockPropertySet( + null === (a = e.config) || void 0 === a + ? void 0 + : a.allowDropBottom + ) || + this.isLockPropertySet( + null === (s = e.config) || void 0 === s + ? void 0 + : s.allowExtract + ) || + this.isLockPropertySet( + null === (c = e.config) || void 0 === c + ? void 0 + : c.allowReorder + ) || + this.isLockPropertySet( + null === (u = e.config) || void 0 === u + ? void 0 + : u.showExtractButton + ) || + this.isLockPropertySet( + null === (d = e.config) || void 0 === d + ? void 0 + : d.showMaximizeButton + ) || + this.isLockPropertySet( + null === (l = e.config) || void 0 === l + ? void 0 + : l.showAddWindowButton + ) || + this.isLockPropertySet( + null === (p = e.config) || void 0 === p + ? void 0 + : p.allowSplitters + ) + ); + } + }, + { + key: "doesWorkspaceContainLockProperties", + value: function (e) { + var t, n, r, i, o, a, s, c, u, d, l, p, h, f, v; + return ( + this.isLockPropertySet( + null === (t = e.config) || void 0 === t + ? void 0 + : t.allowDrop + ) || + this.isLockPropertySet( + null === (n = e.config) || void 0 === n + ? void 0 + : n.allowDropLeft + ) || + this.isLockPropertySet( + null === (r = e.config) || void 0 === r + ? void 0 + : r.allowDropTop + ) || + this.isLockPropertySet( + null === (i = e.config) || void 0 === i + ? void 0 + : i.allowDropRight + ) || + this.isLockPropertySet( + null === (o = e.config) || void 0 === o + ? void 0 + : o.allowDropBottom + ) || + this.isLockPropertySet( + null === (a = e.config) || void 0 === a + ? void 0 + : a.allowExtract + ) || + this.isLockPropertySet( + null === (s = e.config) || void 0 === s + ? void 0 + : s.allowWindowReorder + ) || + this.isLockPropertySet( + null === (c = e.config) || void 0 === c + ? void 0 + : c.allowHibernation + ) || + this.isLockPropertySet( + null === (u = e.config) || void 0 === u + ? void 0 + : u.showExtractButtons + ) || + this.isLockPropertySet( + null === (d = e.config) || void 0 === d + ? void 0 + : d.showWindowCloseButtons + ) || + this.isLockPropertySet( + null === (l = e.config) || void 0 === l + ? void 0 + : l.showAddWindowButtons + ) || + this.isLockPropertySet( + null === (p = e.config) || void 0 === p + ? void 0 + : p.showSaveButton + ) || + this.isLockPropertySet( + null === (h = e.config) || void 0 === h + ? void 0 + : h.allowWorkspaceTabReorder + ) || + this.isLockPropertySet( + null === (f = e.config) || void 0 === f + ? void 0 + : f.showCloseButton + ) || + this.isLockPropertySet( + null === (v = e.config) || void 0 === v + ? void 0 + : v.allowSplitters + ) + ); + } + }, + { + key: "isLockPropertySet", + value: function (e) { + return "boolean" === typeof e; + } + }, + { + key: "getItemFromWorkspace", + value: function (e, t) { + return (function e(n) { + return n.id === t + ? n + : "window" !== n.type + ? n.children + .map(function (t) { + return e(t); + }) + .find(function (e) { + return e; + }) + : void 0; + })(e); + } + } + ]), + e + ); + })(), + ut = new ((function () { + function e() { + var t = this; + (w(this, e), + (this._workspacesControlMethod = "T42.Workspaces.Control"), + (this._workspacesEventMethod = "T42.Workspaces.Events"), + (this._inDisposing = !1), + (this._controlPromise = Promise.resolve()), + (this.handleControlCore = function (e, n, r, i) { + return q( + t, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.prev = 0), + (t.next = 3), + st.initPromise + ); + case 3: + ((t.t0 = e.operation), + (t.next = + "isWindowInWorkspace" === t.t0 + ? 6 + : "addWindow" === t.t0 + ? 8 + : "addContainer" === t.t0 + ? 14 + : "getWorkspaceSnapshot" === + t.t0 + ? 20 + : "openWorkspace" === + t.t0 + ? 26 + : "saveLayout" === + t.t0 + ? 32 + : "exportAllLayouts" === + t.t0 + ? 38 + : "deleteLayout" === + t.t0 + ? 44 + : "getAllWorkspacesSummaries" === + t.t0 + ? 47 + : "maximizeItem" === + t.t0 + ? 49 + : "restoreItem" === + t.t0 + ? 52 + : "closeItem" === + t.t0 + ? 55 + : "setItemTitle" === + t.t0 + ? 58 + : "addWorkspaceChildren" === + t.t0 + ? 62 + : "ejectWindow" === + t.t0 + ? 66 + : "createWorkspace" === + t.t0 + ? 72 + : "forceLoadWindow" === + t.t0 + ? 78 + : "focusItem" === + t.t0 + ? 84 + : "bundleWorkspace" === + t.t0 + ? 88 + : "bundleItem" === + t.t0 + ? 91 + : "getFrameSummary" === + t.t0 + ? 94 + : "moveFrame" === + t.t0 + ? 100 + : "getFrameSnapshot" === + t.t0 + ? 104 + : "getSnapshot" === + t.t0 + ? 110 + : "moveWindowTo" === + t.t0 + ? 116 + : "generateLayout" === + t.t0 + ? 120 + : "ping" === + t.t0 + ? 126 + : "hibernateWorkspace" === + t.t0 + ? 128 + : "resumeWorkspace" === + t.t0 + ? 132 + : "lockWorkspace" === + t.t0 + ? 136 + : "lockContainer" === + t.t0 + ? 139 + : "lockWindow" === + t.t0 + ? 142 + : "resizeItem" === + t.t0 + ? 145 + : "pinWorkspace" === + t.t0 + ? 148 + : "unpinWorkspace" === + t.t0 + ? 151 + : "getWorkspaceIcon" === + t.t0 + ? 154 + : "setWorkspaceIcon" === + t.t0 + ? 156 + : "initFrame" === + t.t0 + ? 159 + : "createFrame" === + t.t0 + ? 163 + : "initFrameFromSnapshot" === + t.t0 + ? 165 + : "getWorkspacesLayouts" === + t.t0 + ? 169 + : "setMaximizationBoundary" === + t.t0 + ? 175 + : "operationCheck" === + t.t0 + ? 178 + : "getDecorationsSize" === + t.t0 + ? 180 + : 182)); + break; + case 6: + return ( + r( + this.handleIsWindowInWorkspace( + e.operationArguments + ) + ), + t.abrupt("break", 183) + ); + case 8: + return ( + (t.t1 = r), + (t.next = 11), + this.handleAddWindow( + e.operationArguments + ) + ); + case 11: + return ( + (t.t2 = t.sent), + (0, t.t1)(t.t2), + t.abrupt("break", 183) + ); + case 14: + return ( + (t.t3 = r), + (t.next = 17), + this.handleAddContainer( + e.operationArguments + ) + ); + case 17: + return ( + (t.t4 = t.sent), + (0, t.t3)(t.t4), + t.abrupt("break", 183) + ); + case 20: + return ( + (t.t5 = r), + (t.next = 23), + this.handleGetWorkspaceSnapshot( + e.operationArguments + ) + ); + case 23: + return ( + (t.t6 = t.sent), + (0, t.t5)(t.t6), + t.abrupt("break", 183) + ); + case 26: + return ( + (t.t7 = r), + (t.next = 29), + this.handleOpenWorkspace( + e.operationArguments + ) + ); + case 29: + return ( + (t.t8 = t.sent), + (0, t.t7)(t.t8), + t.abrupt("break", 183) + ); + case 32: + return ( + (t.t9 = r), + (t.next = 35), + this.handleSaveLayout( + e.operationArguments + ) + ); + case 35: + return ( + (t.t10 = t.sent), + (0, t.t9)(t.t10), + t.abrupt("break", 183) + ); + case 38: + return ( + (t.t11 = r), + (t.next = 41), + this.handleExportAllLayouts() + ); + case 41: + return ( + (t.t12 = t.sent), + (0, t.t11)(t.t12), + t.abrupt("break", 183) + ); + case 44: + return ( + this.handleDeleteLayout( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 47: + return ( + r( + this.handleGetAllWorkspaceSummaries() + ), + t.abrupt("break", 183) + ); + case 49: + return ( + this.handleMaximizeItem( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 52: + return ( + this.handleRestoreItem( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 55: + return ( + this.handleCloseItem( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 58: + return ( + (t.next = 60), + this.handleSetItemTitle( + e.operationArguments + ) + ); + case 60: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 62: + return ( + (t.next = 64), + this.handleAddWorkspaceChildren( + e.operationArguments + ) + ); + case 64: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 66: + return ( + (t.t13 = r), + (t.next = 69), + this.handleEject( + e.operationArguments + ) + ); + case 69: + return ( + (t.t14 = t.sent), + (0, t.t13)(t.t14), + t.abrupt("break", 183) + ); + case 72: + return ( + (t.t15 = r), + (t.next = 75), + this.handleCreateWorkspace( + e.operationArguments + ) + ); + case 75: + return ( + (t.t16 = t.sent), + (0, t.t15)(t.t16), + t.abrupt("break", 183) + ); + case 78: + return ( + (t.t17 = r), + (t.next = 81), + this.handleForceLoadWindow( + e.operationArguments + ) + ); + case 81: + return ( + (t.t18 = t.sent), + (0, t.t17)(t.t18), + t.abrupt("break", 183) + ); + case 84: + return ( + (t.next = 86), + this.handleFocusItem( + e.operationArguments + ) + ); + case 86: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 88: + return ( + this.handleBundleWorkspace( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 91: + return ( + this.handleBundleItem( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 94: + return ( + (t.t19 = r), + (t.next = 97), + this.handleGetFrameSummary( + e.operationArguments + ) + ); + case 97: + return ( + (t.t20 = t.sent), + (0, t.t19)(t.t20), + t.abrupt("break", 183) + ); + case 100: + return ( + (t.next = 102), + this.handleMoveFrame( + e.operationArguments + ) + ); + case 102: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 104: + return ( + (t.t21 = r), + (t.next = 107), + this.handleGetFrameSnapshot( + e.operationArguments + ) + ); + case 107: + return ( + (t.t22 = t.sent), + (0, t.t21)(t.t22), + t.abrupt("break", 183) + ); + case 110: + return ( + (t.t23 = r), + (t.next = 113), + this.handleGetSnapshot( + e.operationArguments + ) + ); + case 113: + return ( + (t.t24 = t.sent), + (0, t.t23)(t.t24), + t.abrupt("break", 183) + ); + case 116: + return ( + (t.next = 118), + this.handleMoveWindowTo( + e.operationArguments + ) + ); + case 118: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 120: + return ( + (t.t25 = r), + (t.next = 123), + this.handleGenerateLayout( + e.operationArguments + ) + ); + case 123: + return ( + (t.t26 = t.sent), + (0, t.t25)(t.t26), + t.abrupt("break", 183) + ); + case 126: + return ( + r(this.handlePing()), + t.abrupt("break", 183) + ); + case 128: + return ( + (t.next = 130), + this.handleHibernateWorkspace( + e.operationArguments + ) + ); + case 130: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 132: + return ( + (t.next = 134), + this.handleResumeWorkspace( + e.operationArguments + ) + ); + case 134: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 136: + return ( + this.handleLockWorkspace( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 139: + return ( + this.handleLockContainer( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 142: + return ( + this.handleLockWindow( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 145: + return ( + this.handleResizeItem( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 148: + return ( + this.handlePinWorkspace( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 151: + return ( + this.handleUnpinWorkspace( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 154: + return ( + r( + this.handleGetWorkspaceIcon( + e.operationArguments + ) + ), + t.abrupt("break", 183) + ); + case 156: + return ( + this.handleSetWorkspaceIcon( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 159: + return ( + (t.next = 161), + this.handleInitFrame( + e.operationArguments + ) + ); + case 161: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 163: + return ( + r( + this.handleCreateFrame( + e.operationArguments + ) + ), + t.abrupt("break", 183) + ); + case 165: + return ( + (t.next = 167), + this.handleInitFrameFromSnapshot( + e.operationArguments + ) + ); + case 167: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 169: + return ( + (t.t27 = r), + (t.next = 172), + this.handleGetWorkspaceLayouts( + e.operationArguments + ) + ); + case 172: + return ( + (t.t28 = t.sent), + (0, t.t27)(t.t28), + t.abrupt("break", 183) + ); + case 175: + return ( + this.handleSetMaximizationBoundary( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 178: + return ( + r( + this.handleOperationCheck( + e.operationArguments + ) + ), + t.abrupt("break", 183) + ); + case 180: + return ( + r( + this.handleGetDecorationsSize( + e.operationArguments + ) + ), + t.abrupt("break", 183) + ); + case 182: + i( + "Invalid operation - ".concat( + e.operation + ) + ); + case 183: + t.next = 189; + break; + case 185: + ((t.prev = 185), + (t.t29 = t.catch(0)), + i(t.t29.message), + console.warn(t.t29)); + case 189: + case "end": + return t.stop(); + } + }, + t, + this, + [[0, 185]] + ); + }) + ); + }), + (this.handleControl = function (e, n, r, i) { + return q( + t, + void 0, + void 0, + s().mark(function t() { + var o; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (o = this.handleControlCore( + e, + n, + r, + i + )), + (this._controlPromise = o), + (t.next = 4), + o + ); + case 4: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + })); + } + return ( + x(e, [ + { + key: "init", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((this._glue = e), + (this._configFactory = new Re( + e + )), + (this._converter = new Oe( + this._configFactory + )), + (this._locker = new ct(st)), + (this._constraintValidator = + new ze()), + !this._glue) + ) { + t.next = 8; + break; + } + return ( + (t.next = 8), + this.registerAgmMethods() + ); + case 8: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "dispose", + value: function () { + this._inDisposing = !0; + } + }, + { + key: "subscribeForWorkspaceEvents", + value: function () { + var e = this; + (st.workspacesEventEmitter.onFrameEvent(function (t, n) { + e.publishEventData(t, n, "frame"); + }), + st.workspacesEventEmitter.onWindowEvent(function (t, n) { + e.publishEventData(t, n, "window"); + }), + st.workspacesEventEmitter.onWorkspaceEvent(function (t, n) { + e.publishEventData(t, n, "workspace"); + }), + st.workspacesEventEmitter.onContainerEvent(function (t, n) { + e.publishEventData(t, n, "container"); + })); + } + }, + { + key: "executeAfterControlIsDone", + value: function (e) { + this._controlPromise.finally(function () { + return e(); + }); + } + }, + { + key: "registerAgmMethods", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this._glue.agm.registerAsync( + { + name: this + ._workspacesControlMethod + }, + this.handleControl + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "handleOpenWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n; + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.openWorkspace( + e.name, + e.restoreOptions + ) + ); + case 2: + return ( + (n = t.sent), + t.abrupt( + "return", + st.stateResolver.getWorkspaceSnapshot( + n, + st + ) + ) + ); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleExportAllLayouts", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + var t; + return s().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + st.exportAllLayouts() + ); + case 2: + return ( + (t = e.sent), + e.abrupt("return", { layouts: t }) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + } + }, + { + key: "handleSaveLayout", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.saveWorkspace( + e.name, + e.workspaceId, + e.saveContext, + e.metadata + ) + ); + case 2: + return t.abrupt("return", t.sent); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleDeleteLayout", + value: function (e) { + st.deleteLayout(e.name); + } + }, + { + key: "handleGetWorkspaceSnapshot", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return t.abrupt( + "return", + st.stateResolver.getWorkspaceSnapshot( + e.itemId, + st + ) + ); + case 1: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleGetAllWorkspaceSummaries", + value: function () { + return { + summaries: ae.layouts.map(function (e) { + return st.stateResolver.getWorkspaceSummary(e.id); + }) + }; + } + }, + { + key: "handleCloseItem", + value: function (e) { + return st.closeItem(e.itemId); + } + }, + { + key: "handleRestoreItem", + value: function (e) { + st.restoreItem(e.itemId); + } + }, + { + key: "handleMaximizeItem", + value: function (e) { + st.maximizeItem(e.itemId); + } + }, + { + key: "handleAddContainer", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r, i, o, a, c; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + "workspace" !== + e.definition.type + ) { + t.next = 2; + break; + } + throw new Error( + "Unsuported add container type ".concat( + e.definition.type + ) + ); + case 2: + if ( + ((n = + ae.getByContainerId( + e.parentId + ) || + ae.getById(e.parentId)), + (r = + this._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + n.id + ) + )), + this._constraintValidator.fixNewContainer( + e.definition, + r, + e.parentId + ), + "workspace" !== + (i = + this._converter.convertToRendererConfig( + e.definition + )).type) + ) { + t.next = 8; + break; + } + throw new Error( + "Unsuccessful conversion" + ); + case 8: + return ( + (o = { + id: K(i.id), + content: i.content, + type: i.type, + workspacesConfig: + i.workspacesConfig + }), + (t.next = 11), + st.addContainer(o, e.parentId) + ); + case 11: + return ( + (a = t.sent), + (c = + this._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + n.id + ) + )), + this._locker.applyContainerLockConfiguration( + e.definition, + c, + a + ), + t.abrupt("return", { + itemId: a + }) + ); + case 15: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "handleAddWindow", + value: function (e) { + var t, n, r, i, o, a, c; + return q( + this, + void 0, + void 0, + s().mark(function u() { + var d, l, p, h, f, v, m; + return s().wrap( + function (s) { + for (;;) + switch ((s.prev = s.next)) { + case 0: + if ( + ((d = new ze()), + (l = + ae.getByContainerId( + e.parentId + ) || + ae.getById(e.parentId)), + (p = + this._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + l.id + ) + )), + d.fixNewWindow( + e.definition, + p, + e.parentId + ), + (h = + this._configFactory.createGDWindowConfig( + { + windowId: + e.definition + .windowId, + id: void 0, + appName: + e.definition + .appName, + url: e.definition + .url, + context: + e.definition + .context, + allowExtract: + null === + (t = + e + .definition + .config) || + void 0 === t + ? void 0 + : t.allowExtract, + allowReorder: + null === + (n = + e + .definition + .config) || + void 0 === n + ? void 0 + : n.allowReorder, + showCloseButton: + null === + (r = + e + .definition + .config) || + void 0 === r + ? void 0 + : r.showCloseButton, + minWidth: + null === + (i = + e + .definition + .config) || + void 0 === i + ? void 0 + : i.minWidth, + maxWidth: + null === + (o = + e + .definition + .config) || + void 0 === o + ? void 0 + : o.maxWidth, + minHeight: + null === + (a = + e + .definition + .config) || + void 0 === a + ? void 0 + : a.minHeight, + maxHeight: + null === + (c = + e + .definition + .config) || + void 0 === c + ? void 0 + : c.maxHeight + } + )), + !e.definition.windowId) + ) { + s.next = 12; + break; + } + return ( + (f = this._glue.windows + .list() + .find(function (t) { + return ( + t.id === + e.definition + .windowId + ); + })), + (s.next = 9), + f.getURL() + ); + case 9: + ((v = s.sent), + (h.componentState.url = v), + (h.componentState.appName = + this._configFactory.getAppNameFromWindowId( + f.id + ))); + case 12: + return ( + (s.next = 14), + st.addWindow(h, e.parentId) + ); + case 14: + return ( + (m = + st.stateResolver.getWindowSummarySync( + h.id + )), + this._locker.applyWindowLockConfiguration( + m + ), + s.abrupt("return", { + itemId: K(h.id) + }) + ); + case 17: + case "end": + return s.stop(); + } + }, + u, + this + ); + }) + ); + } + }, + { + key: "handleSetItemTitle", + value: function (e) { + st.setItemTitle(e.itemId, e.title); + } + }, + { + key: "handleAddWorkspaceChildren", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r, i, o; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((n = e.children.some( + function (e) { + return "row" === e.type; + } + )), + !(r = e.children.some( + function (e) { + return ( + "column" === e.type + ); + } + )) || !n) + ) { + t.next = 4; + break; + } + throw new Error( + "Can't add both row and column workspace children" + ); + case 4: + return ( + (i = { + type: "column", + children: e.children + }), + r && + (i = { + type: "row", + children: e.children + }), + (o = + this._converter.convertToRendererConfig( + i + )), + (t.next = 9), + st.addContainer( + o, + e.workspaceId + ) + ); + case 9: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "handleEject", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.eject(e.itemId) + ); + case 2: + return t.abrupt("return", t.sent); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleCreateWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r, i, o; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + e.config || (e.config = {}), + (n = + this.convertCreateWorkspaceArgumentsToWorkspaceItem( + e + )), + this._constraintValidator.fixWorkspace( + n + ), + (r = + this._converter.convertToRendererConfig( + n + )), + (t.next = 6), + st.createWorkspace(r) + ); + case 6: + return ( + (i = t.sent), + (o = + this._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + i + ) + )), + this._locker.applyLockConfiguration( + n, + o + ), + t.abrupt( + "return", + st.stateResolver.getWorkspaceSnapshot( + i, + st + ) + ) + ); + case 10: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "handleForceLoadWindow", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.loadWindow(e.itemId) + ); + case 2: + return t.abrupt("return", t.sent); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleFocusItem", + value: function (e) { + return st.focusItem(e.itemId); + } + }, + { + key: "handleBundleWorkspace", + value: function (e) { + return st.bundleWorkspace(e.workspaceId, e.type); + } + }, + { + key: "handleBundleItem", + value: function (e) { + return st.bundleItem(e.itemId, e.type); + } + }, + { + key: "handleIsWindowInWorkspace", + value: function (e) { + return { + inWorkspace: st.stateResolver.isWindowInWorkspace(e.itemId) + }; + } + }, + { + key: "handleGetFrameSummary", + value: function (e) { + return st.getFrameSummary(e.itemId); + } + }, + { + key: "handleMoveFrame", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.move(e.location) + ); + case 2: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleGetFrameSnapshot", + value: function (e) { + return st.stateResolver.getFrameSnapshot(st, e.excludeIds); + } + }, + { + key: "handleGetSnapshot", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if (st.frameId !== e.itemId) { + t.next = 4; + break; + } + return t.abrupt( + "return", + st.stateResolver.getFrameSnapshot( + st + ) + ); + case 4: + if (!ae.getById(e.itemId)) { + t.next = 6; + break; + } + return t.abrupt( + "return", + st.stateResolver.getWorkspaceSnapshot( + e.itemId, + st + ) + ); + case 6: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleMoveWindowTo", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return t.abrupt( + "return", + st.moveWindowTo( + e.itemId, + e.containerId + ) + ); + case 1: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleGenerateLayout", + value: function (e) { + return st.generateWorkspaceLayout(e.name, e.workspaceId); + } + }, + { + key: "handlePing", + value: function () { + return { live: !this._inDisposing }; + } + }, + { + key: "handleHibernateWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return t.abrupt( + "return", + st.hibernateWorkspace(e.workspaceId) + ); + case 1: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleResumeWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return t.abrupt( + "return", + st.resumeWorkspace(e.workspaceId) + ); + case 1: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleLockWorkspace", + value: function (e) { + return st.lockWorkspace(e); + } + }, + { + key: "handleLockWindow", + value: function (e) { + return st.lockWindow(e); + } + }, + { + key: "handleLockContainer", + value: function (e) { + return st.lockContainer(e); + } + }, + { + key: "handleResizeItem", + value: function (e) { + return st.resizeItem(e); + } + }, + { + key: "handlePinWorkspace", + value: function (e) { + return st.pinWorkspace(e.workspaceId, e.icon); + } + }, + { + key: "handleUnpinWorkspace", + value: function (e) { + return st.unpinWorkspace(e.workspaceId); + } + }, + { + key: "handleGetWorkspaceIcon", + value: function (e) { + var t = st.stateResolver.getWorkspaceIcon(e.workspaceId); + return t ? { icon: t } : {}; + } + }, + { + key: "handleSetWorkspaceIcon", + value: function (e) { + st.setWorkspaceIcon(e.workspaceId, e.icon); + } + }, + { + key: "handleInitFrame", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r = this; + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Promise.all( + e.workspaces.map(function (e) { + return q( + r, + void 0, + void 0, + s().mark(function t() { + var n, r; + return s().wrap( + function (t) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + if ( + ((r = + e), + !(n = + e) + .name) + ) { + t.next = 4; + break; + } + return t.abrupt( + "return", + this._configFactory.convertLayoutOptionsToWorkspaceItem( + n.name, + n.restoreOptions, + st.layoutsManager + ) + ); + case 4: + return t.abrupt( + "return", + this._converter.convertToRendererConfig( + this.convertCreateWorkspaceArgumentsToWorkspaceItem( + r + ) + ) + ); + case 5: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + }) + ) + ); + case 2: + return ( + (n = t.sent), + (t.next = 5), + st.initFrameLayout(n) + ); + case 5: + t.sent.forEach(function (t, n) { + var i = e.workspaces[n]; + if (i.children) { + var o = + r._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + t + ) + ); + r._locker.applyLockConfiguration( + i, + o + ); + } + }); + case 7: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleInitFrameFromSnapshot", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r = this; + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (n = e.workspaces.map(function (e) { + return r._converter.convertToRendererConfig( + r.convertCreateWorkspaceArgumentsToWorkspaceItem( + e + ) + ); + })), + (t.next = 3), + st.initFrameLayout( + n, + e.keepWorkspaces + ) + ); + case 3: + t.sent.forEach(function (t, n) { + var i = e.workspaces[n]; + if (i.children) { + var o = + r._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + t + ) + ); + r._locker.applyLockConfiguration( + i, + o + ); + } + }); + case 5: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleGetWorkspaceLayouts", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.stateResolver.getAllWorkspacesLayouts( + st, + e + ) + ); + case 2: + return ( + (t.t0 = t.sent), + t.abrupt("return", { + workspaces: t.t0 + }) + ); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleSetMaximizationBoundary", + value: function (e) { + st.setMaximizationBoundary(e.itemId, e.enabled); + } + }, + { + key: "handleOperationCheck", + value: function (e) { + return { isSupported: ne(e.operation) }; + } + }, + { + key: "handleGetDecorationsSize", + value: function (e) { + return st.getDecorationsSize(e.itemId); + } + }, + { + key: "handleCreateFrame", + value: function (e) { + return ( + st.setFrameContext( + null === e || void 0 === e ? void 0 : e.context + ), + st.getFrameSummary(st.frameId) + ); + } + }, + { + key: "publishEventData", + value: function (e, t, n) { + var r = this; + if ( + this._glue.agm.methods().some(function (e) { + return e.name === r._workspacesEventMethod; + }) + ) { + var i = { action: e, type: n, payload: t }; + this._glue.agm + .invoke(this._workspacesEventMethod, i) + .catch(function () {}); + } + } + }, + { + key: "convertCreateWorkspaceArgumentsToWorkspaceItem", + value: function (e) { + var t, + n, + r = Object.assign({}, e); + return ( + r.config || (r.config = {}), + "boolean" === + typeof (null === (t = e.config) || void 0 === t + ? void 0 + : t.isSelected) && + (r.config.selected = e.config.isSelected), + (r.config.context = + (null === (n = e.config) || void 0 === n + ? void 0 + : n.context) || e.context), + (r.config.allowDrop = void 0), + r + ); + } + } + ]), + e + ); + })())(), + dt = {}; + !(function (e) { + var t, n; + ((t = "undefined" !== typeof window ? window : U), + (n = function (e, t) { + var n = [], + r = Object.getPrototypeOf, + i = n.slice, + o = n.flat + ? function (e) { + return n.flat.call(e); + } + : function (e) { + return n.concat.apply([], e); + }, + a = n.push, + s = n.indexOf, + c = {}, + u = c.toString, + d = c.hasOwnProperty, + l = d.toString, + p = l.call(Object), + h = {}, + f = function (e) { + return "function" === typeof e && "number" !== typeof e.nodeType; + }, + v = function (e) { + return null != e && e === e.window; + }, + m = e.document, + g = { type: !0, src: !0, nonce: !0, noModule: !0 }; + function y(e, t, n) { + var r, + i, + o = (n = n || m).createElement("script"); + if (((o.text = e), t)) + for (r in g) + (i = t[r] || (t.getAttribute && t.getAttribute(r))) && + o.setAttribute(r, i); + n.head.appendChild(o).parentNode.removeChild(o); + } + function w(e) { + return null == e + ? e + "" + : "object" === typeof e || "function" === typeof e + ? c[u.call(e)] || "object" + : typeof e; + } + var b = "3.5.0", + k = function e(t, n) { + return new e.fn.init(t, n); + }; + function x(e) { + var t = !!e && "length" in e && e.length, + n = w(e); + return ( + !f(e) && + !v(e) && + ("array" === n || + 0 === t || + ("number" === typeof t && t > 0 && t - 1 in e)) + ); + } + ((k.fn = k.prototype = + { + jquery: b, + constructor: k, + length: 0, + toArray: function () { + return i.call(this); + }, + get: function (e) { + return null == e + ? i.call(this) + : e < 0 + ? this[e + this.length] + : this[e]; + }, + pushStack: function (e) { + var t = k.merge(this.constructor(), e); + return ((t.prevObject = this), t); + }, + each: function (e) { + return k.each(this, e); + }, + map: function (e) { + return this.pushStack( + k.map(this, function (t, n) { + return e.call(t, n, t); + }) + ); + }, + slice: function () { + return this.pushStack(i.apply(this, arguments)); + }, + first: function () { + return this.eq(0); + }, + last: function () { + return this.eq(-1); + }, + even: function () { + return this.pushStack( + k.grep(this, function (e, t) { + return (t + 1) % 2; + }) + ); + }, + odd: function () { + return this.pushStack( + k.grep(this, function (e, t) { + return t % 2; + }) + ); + }, + eq: function (e) { + var t = this.length, + n = +e + (e < 0 ? t : 0); + return this.pushStack(n >= 0 && n < t ? [this[n]] : []); + }, + end: function () { + return this.prevObject || this.constructor(); + }, + push: a, + sort: n.sort, + splice: n.splice + }), + (k.extend = k.fn.extend = + function () { + var e, + t, + n, + r, + i, + o, + a = arguments[0] || {}, + s = 1, + c = arguments.length, + u = !1; + for ( + "boolean" === typeof a && + ((u = a), (a = arguments[s] || {}), s++), + "object" === typeof a || f(a) || (a = {}), + s === c && ((a = this), s--); + s < c; + s++ + ) + if (null != (e = arguments[s])) + for (t in e) + ((r = e[t]), + "__proto__" !== t && + a !== r && + (u && + r && + (k.isPlainObject(r) || + (i = Array.isArray(r))) + ? ((n = a[t]), + (o = + i && !Array.isArray(n) + ? [] + : i || k.isPlainObject(n) + ? n + : {}), + (i = !1), + (a[t] = k.extend(u, o, r))) + : void 0 !== r && (a[t] = r))); + return a; + }), + k.extend({ + expando: "jQuery" + (b + Math.random()).replace(/\D/g, ""), + isReady: !0, + error: function (e) { + throw new Error(e); + }, + noop: function () {}, + isPlainObject: function (e) { + var t, n; + return ( + !(!e || "[object Object]" !== u.call(e)) && + (!(t = r(e)) || + ("function" === + typeof (n = + d.call(t, "constructor") && t.constructor) && + l.call(n) === p)) + ); + }, + isEmptyObject: function (e) { + var t; + for (t in e) return !1; + return !0; + }, + globalEval: function (e, t, n) { + y(e, { nonce: t && t.nonce }, n); + }, + each: function (e, t) { + var n, + r = 0; + if (x(e)) + for ( + n = e.length; + r < n && !1 !== t.call(e[r], r, e[r]); + r++ + ); + else for (r in e) if (!1 === t.call(e[r], r, e[r])) break; + return e; + }, + makeArray: function (e, t) { + var n = t || []; + return ( + null != e && + (x(Object(e)) + ? k.merge(n, "string" === typeof e ? [e] : e) + : a.call(n, e)), + n + ); + }, + inArray: function (e, t, n) { + return null == t ? -1 : s.call(t, e, n); + }, + merge: function (e, t) { + for (var n = +t.length, r = 0, i = e.length; r < n; r++) + e[i++] = t[r]; + return ((e.length = i), e); + }, + grep: function (e, t, n) { + for (var r = [], i = 0, o = e.length, a = !n; i < o; i++) + !t(e[i], i) !== a && r.push(e[i]); + return r; + }, + map: function (e, t, n) { + var r, + i, + a = 0, + s = []; + if (x(e)) + for (r = e.length; a < r; a++) + null != (i = t(e[a], a, n)) && s.push(i); + else for (a in e) null != (i = t(e[a], a, n)) && s.push(i); + return o(s); + }, + guid: 1, + support: h + }), + "function" === typeof Symbol && + (k.fn[Symbol.iterator] = n[Symbol.iterator]), + k.each( + "Boolean Number String Function Array Date RegExp Object Error Symbol".split( + " " + ), + function (e, t) { + c["[object " + t + "]"] = t.toLowerCase(); + } + )); + var _ = (function (e) { + var t, + n, + r, + i, + o, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b = "sizzle" + 1 * new Date(), + k = e.document, + x = 0, + _ = 0, + C = ce(), + I = ce(), + S = ce(), + E = ce(), + W = function (e, t) { + return (e === t && (l = !0), 0); + }, + T = {}.hasOwnProperty, + A = [], + P = A.pop, + M = A.push, + R = A.push, + O = A.slice, + D = function (e, t) { + for (var n = 0, r = e.length; n < r; n++) + if (e[n] === t) return n; + return -1; + }, + L = + "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + B = "[\\x20\\t\\r\\n\\f]", + N = + "(?:\\\\[\\da-fA-F]{1,6}" + + B + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + F = + "\\[" + + B + + "*(" + + N + + ")(?:" + + B + + "*([*^$|!~]?=)" + + B + + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + + N + + "))|)" + + B + + "*\\]", + j = + ":(" + + N + + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + + F + + ")*)|.*)\\)|)", + H = new RegExp(B + "+", "g"), + z = new RegExp( + "^" + B + "+|((?:^|[^\\\\])(?:\\\\.)*)" + B + "+$", + "g" + ), + q = new RegExp("^" + B + "*," + B + "*"), + G = new RegExp("^" + B + "*([>+~]|" + B + ")" + B + "*"), + U = new RegExp(B + "|>"), + V = new RegExp(j), + $ = new RegExp("^" + N + "$"), + J = { + ID: new RegExp("^#(" + N + ")"), + CLASS: new RegExp("^\\.(" + N + ")"), + TAG: new RegExp("^(" + N + "|[*])"), + ATTR: new RegExp("^" + F), + PSEUDO: new RegExp("^" + j), + CHILD: new RegExp( + "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + B + + "*(even|odd|(([+-]|)(\\d*)n|)" + + B + + "*(?:([+-]|)" + + B + + "*(\\d+)|))" + + B + + "*\\)|)", + "i" + ), + bool: new RegExp("^(?:" + L + ")$", "i"), + needsContext: new RegExp( + "^" + + B + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + B + + "*((?:-\\d)?\\d*)" + + B + + "*\\)|)(?=[^-]|$)", + "i" + ) + }, + K = /HTML$/i, + Q = /^(?:input|select|textarea|button)$/i, + X = /^h\d$/i, + Y = /^[^{]+\{\s*\[native \w/, + Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + ee = /[+~]/, + te = new RegExp( + "\\\\[\\da-fA-F]{1,6}" + B + "?|\\\\([^\\r\\n\\f])", + "g" + ), + ne = function (e, t) { + var n = "0x" + e.slice(1) - 65536; + return ( + t || + (n < 0 + ? String.fromCharCode(n + 65536) + : String.fromCharCode( + (n >> 10) | 55296, + (1023 & n) | 56320 + )) + ); + }, + re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + ie = function (e, t) { + return t + ? "\0" === e + ? "\ufffd" + : e.slice(0, -1) + + "\\" + + e.charCodeAt(e.length - 1).toString(16) + + " " + : "\\" + e; + }, + oe = function () { + p(); + }, + ae = be( + function (e) { + return ( + !0 === e.disabled && + "fieldset" === e.nodeName.toLowerCase() + ); + }, + { dir: "parentNode", next: "legend" } + ); + try { + (R.apply((A = O.call(k.childNodes)), k.childNodes), + A[k.childNodes.length].nodeType); + } catch (Ie) { + R = { + apply: A.length + ? function (e, t) { + M.apply(e, O.call(t)); + } + : function (e, t) { + for (var n = e.length, r = 0; (e[n++] = t[r++]); ); + e.length = n - 1; + } + }; + } + function se(e, t, r, i) { + var o, + s, + u, + d, + l, + f, + g, + y = t && t.ownerDocument, + k = t ? t.nodeType : 9; + if ( + ((r = r || []), + "string" !== typeof e || !e || (1 !== k && 9 !== k && 11 !== k)) + ) + return r; + if (!i && (p(t), (t = t || h), v)) { + if (11 !== k && (l = Z.exec(e))) + if ((o = l[1])) { + if (9 === k) { + if (!(u = t.getElementById(o))) return r; + if (u.id === o) return (r.push(u), r); + } else if ( + y && + (u = y.getElementById(o)) && + w(t, u) && + u.id === o + ) + return (r.push(u), r); + } else { + if (l[2]) + return (R.apply(r, t.getElementsByTagName(e)), r); + if ( + (o = l[3]) && + n.getElementsByClassName && + t.getElementsByClassName + ) + return (R.apply(r, t.getElementsByClassName(o)), r); + } + if ( + n.qsa && + !E[e + " "] && + (!m || !m.test(e)) && + (1 !== k || "object" !== t.nodeName.toLowerCase()) + ) { + if ( + ((g = e), (y = t), 1 === k && (U.test(e) || G.test(e))) + ) { + for ( + ((y = (ee.test(e) && ge(t.parentNode)) || t) === + t && + n.scope) || + ((d = t.getAttribute("id")) + ? (d = d.replace(re, ie)) + : t.setAttribute("id", (d = b))), + s = (f = a(e)).length; + s--; + + ) + f[s] = (d ? "#" + d : ":scope") + " " + we(f[s]); + g = f.join(","); + } + try { + return (R.apply(r, y.querySelectorAll(g)), r); + } catch (x) { + E(e, !0); + } finally { + d === b && t.removeAttribute("id"); + } + } + } + return c(e.replace(z, "$1"), t, r, i); + } + function ce() { + var e = []; + return function t(n, i) { + return ( + e.push(n + " ") > r.cacheLength && delete t[e.shift()], + (t[n + " "] = i) + ); + }; + } + function ue(e) { + return ((e[b] = !0), e); + } + function de(e) { + var t = h.createElement("fieldset"); + try { + return !!e(t); + } catch (Ie) { + return !1; + } finally { + (t.parentNode && t.parentNode.removeChild(t), (t = null)); + } + } + function le(e, t) { + for (var n = e.split("|"), i = n.length; i--; ) + r.attrHandle[n[i]] = t; + } + function pe(e, t) { + var n = t && e, + r = + n && + 1 === e.nodeType && + 1 === t.nodeType && + e.sourceIndex - t.sourceIndex; + if (r) return r; + if (n) for (; (n = n.nextSibling); ) if (n === t) return -1; + return e ? 1 : -1; + } + function he(e) { + return function (t) { + return "input" === t.nodeName.toLowerCase() && t.type === e; + }; + } + function fe(e) { + return function (t) { + var n = t.nodeName.toLowerCase(); + return ("input" === n || "button" === n) && t.type === e; + }; + } + function ve(e) { + return function (t) { + return "form" in t + ? t.parentNode && !1 === t.disabled + ? "label" in t + ? "label" in t.parentNode + ? t.parentNode.disabled === e + : t.disabled === e + : t.isDisabled === e || + (t.isDisabled !== !e && ae(t) === e) + : t.disabled === e + : "label" in t && t.disabled === e; + }; + } + function me(e) { + return ue(function (t) { + return ( + (t = +t), + ue(function (n, r) { + for (var i, o = e([], n.length, t), a = o.length; a--; ) + n[(i = o[a])] && (n[i] = !(r[i] = n[i])); + }) + ); + }); + } + function ge(e) { + return e && "undefined" !== typeof e.getElementsByTagName && e; + } + for (t in ((n = se.support = {}), + (o = se.isXML = + function (e) { + var t = e.namespaceURI, + n = (e.ownerDocument || e).documentElement; + return !K.test(t || (n && n.nodeName) || "HTML"); + }), + (p = se.setDocument = + function (e) { + var t, + i, + a = e ? e.ownerDocument || e : k; + return a != h && 9 === a.nodeType && a.documentElement + ? ((f = (h = a).documentElement), + (v = !o(h)), + k != h && + (i = h.defaultView) && + i.top !== i && + (i.addEventListener + ? i.addEventListener("unload", oe, !1) + : i.attachEvent && i.attachEvent("onunload", oe)), + (n.scope = de(function (e) { + return ( + f + .appendChild(e) + .appendChild(h.createElement("div")), + "undefined" !== typeof e.querySelectorAll && + !e.querySelectorAll(":scope fieldset div") + .length + ); + })), + (n.attributes = de(function (e) { + return ( + (e.className = "i"), + !e.getAttribute("className") + ); + })), + (n.getElementsByTagName = de(function (e) { + return ( + e.appendChild(h.createComment("")), + !e.getElementsByTagName("*").length + ); + })), + (n.getElementsByClassName = Y.test( + h.getElementsByClassName + )), + (n.getById = de(function (e) { + return ( + (f.appendChild(e).id = b), + !h.getElementsByName || + !h.getElementsByName(b).length + ); + })), + n.getById + ? ((r.filter.ID = function (e) { + var t = e.replace(te, ne); + return function (e) { + return e.getAttribute("id") === t; + }; + }), + (r.find.ID = function (e, t) { + if ( + "undefined" !== typeof t.getElementById && + v + ) { + var n = t.getElementById(e); + return n ? [n] : []; + } + })) + : ((r.filter.ID = function (e) { + var t = e.replace(te, ne); + return function (e) { + var n = + "undefined" !== + typeof e.getAttributeNode && + e.getAttributeNode("id"); + return n && n.value === t; + }; + }), + (r.find.ID = function (e, t) { + if ( + "undefined" !== typeof t.getElementById && + v + ) { + var n, + r, + i, + o = t.getElementById(e); + if (o) { + if ( + (n = o.getAttributeNode("id")) && + n.value === e + ) + return [o]; + for ( + i = t.getElementsByName(e), r = 0; + (o = i[r++]); + + ) + if ( + (n = + o.getAttributeNode("id")) && + n.value === e + ) + return [o]; + } + return []; + } + })), + (r.find.TAG = n.getElementsByTagName + ? function (e, t) { + return "undefined" !== + typeof t.getElementsByTagName + ? t.getElementsByTagName(e) + : n.qsa + ? t.querySelectorAll(e) + : void 0; + } + : function (e, t) { + var n, + r = [], + i = 0, + o = t.getElementsByTagName(e); + if ("*" === e) { + for (; (n = o[i++]); ) + 1 === n.nodeType && r.push(n); + return r; + } + return o; + }), + (r.find.CLASS = + n.getElementsByClassName && + function (e, t) { + if ( + "undefined" !== + typeof t.getElementsByClassName && + v + ) + return t.getElementsByClassName(e); + }), + (g = []), + (m = []), + (n.qsa = Y.test(h.querySelectorAll)) && + (de(function (e) { + var t; + ((f.appendChild(e).innerHTML = + ""), + e.querySelectorAll("[msallowcapture^='']") + .length && + m.push("[*^$]=" + B + "*(?:''|\"\")"), + e.querySelectorAll("[selected]").length || + m.push( + "\\[" + B + "*(?:value|" + L + ")" + ), + e.querySelectorAll("[id~=" + b + "-]") + .length || m.push("~="), + (t = h.createElement("input")).setAttribute( + "name", + "" + ), + e.appendChild(t), + e.querySelectorAll("[name='']").length || + m.push( + "\\[" + + B + + "*name" + + B + + "*=" + + B + + "*(?:''|\"\")" + ), + e.querySelectorAll(":checked").length || + m.push(":checked"), + e.querySelectorAll("a#" + b + "+*").length || + m.push(".#.+[+~]"), + e.querySelectorAll("\\\f"), + m.push("[\\r\\n\\f]")); + }), + de(function (e) { + e.innerHTML = + ""; + var t = h.createElement("input"); + (t.setAttribute("type", "hidden"), + e.appendChild(t).setAttribute("name", "D"), + e.querySelectorAll("[name=d]").length && + m.push("name" + B + "*[*^$|!~]?="), + 2 !== e.querySelectorAll(":enabled").length && + m.push(":enabled", ":disabled"), + (f.appendChild(e).disabled = !0), + 2 !== + e.querySelectorAll(":disabled").length && + m.push(":enabled", ":disabled"), + e.querySelectorAll("*,:x"), + m.push(",.*:")); + })), + (n.matchesSelector = Y.test( + (y = + f.matches || + f.webkitMatchesSelector || + f.mozMatchesSelector || + f.oMatchesSelector || + f.msMatchesSelector) + )) && + de(function (e) { + ((n.disconnectedMatch = y.call(e, "*")), + y.call(e, "[s!='']:x"), + g.push("!=", j)); + }), + (m = m.length && new RegExp(m.join("|"))), + (g = g.length && new RegExp(g.join("|"))), + (t = Y.test(f.compareDocumentPosition)), + (w = + t || Y.test(f.contains) + ? function (e, t) { + var n = + 9 === e.nodeType + ? e.documentElement + : e, + r = t && t.parentNode; + return ( + e === r || + !( + !r || + 1 !== r.nodeType || + !(n.contains + ? n.contains(r) + : e.compareDocumentPosition && + 16 & + e.compareDocumentPosition( + r + )) + ) + ); + } + : function (e, t) { + if (t) + for (; (t = t.parentNode); ) + if (t === e) return !0; + return !1; + }), + (W = t + ? function (e, t) { + if (e === t) return ((l = !0), 0); + var r = + !e.compareDocumentPosition - + !t.compareDocumentPosition; + return ( + r || + (1 & + (r = + (e.ownerDocument || e) == + (t.ownerDocument || t) + ? e.compareDocumentPosition(t) + : 1) || + (!n.sortDetached && + t.compareDocumentPosition(e) === r) + ? e == h || + (e.ownerDocument == k && w(k, e)) + ? -1 + : t == h || + (t.ownerDocument == k && + w(k, t)) + ? 1 + : d + ? D(d, e) - D(d, t) + : 0 + : 4 & r + ? -1 + : 1) + ); + } + : function (e, t) { + if (e === t) return ((l = !0), 0); + var n, + r = 0, + i = e.parentNode, + o = t.parentNode, + a = [e], + s = [t]; + if (!i || !o) + return e == h + ? -1 + : t == h + ? 1 + : i + ? -1 + : o + ? 1 + : d + ? D(d, e) - D(d, t) + : 0; + if (i === o) return pe(e, t); + for (n = e; (n = n.parentNode); ) a.unshift(n); + for (n = t; (n = n.parentNode); ) s.unshift(n); + for (; a[r] === s[r]; ) r++; + return r + ? pe(a[r], s[r]) + : a[r] == k + ? -1 + : s[r] == k + ? 1 + : 0; + }), + h) + : h; + }), + (se.matches = function (e, t) { + return se(e, null, null, t); + }), + (se.matchesSelector = function (e, t) { + if ( + (p(e), + n.matchesSelector && + v && + !E[t + " "] && + (!g || !g.test(t)) && + (!m || !m.test(t))) + ) + try { + var r = y.call(e, t); + if ( + r || + n.disconnectedMatch || + (e.document && 11 !== e.document.nodeType) + ) + return r; + } catch (Ie) { + E(t, !0); + } + return se(t, h, null, [e]).length > 0; + }), + (se.contains = function (e, t) { + return ((e.ownerDocument || e) != h && p(e), w(e, t)); + }), + (se.attr = function (e, t) { + (e.ownerDocument || e) != h && p(e); + var i = r.attrHandle[t.toLowerCase()], + o = + i && T.call(r.attrHandle, t.toLowerCase()) + ? i(e, t, !v) + : void 0; + return void 0 !== o + ? o + : n.attributes || !v + ? e.getAttribute(t) + : (o = e.getAttributeNode(t)) && o.specified + ? o.value + : null; + }), + (se.escape = function (e) { + return (e + "").replace(re, ie); + }), + (se.error = function (e) { + throw new Error("Syntax error, unrecognized expression: " + e); + }), + (se.uniqueSort = function (e) { + var t, + r = [], + i = 0, + o = 0; + if ( + ((l = !n.detectDuplicates), + (d = !n.sortStable && e.slice(0)), + e.sort(W), + l) + ) { + for (; (t = e[o++]); ) t === e[o] && (i = r.push(o)); + for (; i--; ) e.splice(r[i], 1); + } + return ((d = null), e); + }), + (i = se.getText = + function (e) { + var t, + n = "", + r = 0, + o = e.nodeType; + if (o) { + if (1 === o || 9 === o || 11 === o) { + if ("string" === typeof e.textContent) + return e.textContent; + for (e = e.firstChild; e; e = e.nextSibling) n += i(e); + } else if (3 === o || 4 === o) return e.nodeValue; + } else for (; (t = e[r++]); ) n += i(t); + return n; + }), + (r = se.selectors = + { + cacheLength: 50, + createPseudo: ue, + match: J, + attrHandle: {}, + find: {}, + relative: { + ">": { dir: "parentNode", first: !0 }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: !0 }, + "~": { dir: "previousSibling" } + }, + preFilter: { + ATTR: function (e) { + return ( + (e[1] = e[1].replace(te, ne)), + (e[3] = (e[3] || e[4] || e[5] || "").replace( + te, + ne + )), + "~=" === e[2] && (e[3] = " " + e[3] + " "), + e.slice(0, 4) + ); + }, + CHILD: function (e) { + return ( + (e[1] = e[1].toLowerCase()), + "nth" === e[1].slice(0, 3) + ? (e[3] || se.error(e[0]), + (e[4] = +(e[4] + ? e[5] + (e[6] || 1) + : 2 * + ("even" === e[3] || "odd" === e[3]))), + (e[5] = +(e[7] + e[8] || "odd" === e[3]))) + : e[3] && se.error(e[0]), + e + ); + }, + PSEUDO: function (e) { + var t, + n = !e[6] && e[2]; + return J.CHILD.test(e[0]) + ? null + : (e[3] + ? (e[2] = e[4] || e[5] || "") + : n && + V.test(n) && + (t = a(n, !0)) && + (t = + n.indexOf(")", n.length - t) - + n.length) && + ((e[0] = e[0].slice(0, t)), + (e[2] = n.slice(0, t))), + e.slice(0, 3)); + } + }, + filter: { + TAG: function (e) { + var t = e.replace(te, ne).toLowerCase(); + return "*" === e + ? function () { + return !0; + } + : function (e) { + return ( + e.nodeName && + e.nodeName.toLowerCase() === t + ); + }; + }, + CLASS: function (e) { + var t = C[e + " "]; + return ( + t || + ((t = new RegExp( + "(^|" + B + ")" + e + "(" + B + "|$)" + )) && + C(e, function (e) { + return t.test( + ("string" === typeof e.className && + e.className) || + ("undefined" !== + typeof e.getAttribute && + e.getAttribute("class")) || + "" + ); + })) + ); + }, + ATTR: function (e, t, n) { + return function (r) { + var i = se.attr(r, e); + return null == i + ? "!=" === t + : !t || + ((i += ""), + "=" === t + ? i === n + : "!=" === t + ? i !== n + : "^=" === t + ? n && 0 === i.indexOf(n) + : "*=" === t + ? n && i.indexOf(n) > -1 + : "$=" === t + ? n && + i.slice(-n.length) === n + : "~=" === t + ? ( + " " + + i.replace(H, " ") + + " " + ).indexOf(n) > -1 + : "|=" === t && + (i === n || + i.slice( + 0, + n.length + 1 + ) === + n + "-")); + }; + }, + CHILD: function (e, t, n, r, i) { + var o = "nth" !== e.slice(0, 3), + a = "last" !== e.slice(-4), + s = "of-type" === t; + return 1 === r && 0 === i + ? function (e) { + return !!e.parentNode; + } + : function (t, n, c) { + var u, + d, + l, + p, + h, + f, + v = + o !== a + ? "nextSibling" + : "previousSibling", + m = t.parentNode, + g = s && t.nodeName.toLowerCase(), + y = !c && !s, + w = !1; + if (m) { + if (o) { + for (; v; ) { + for (p = t; (p = p[v]); ) + if ( + s + ? p.nodeName.toLowerCase() === + g + : 1 === p.nodeType + ) + return !1; + f = v = + "only" === e && + !f && + "nextSibling"; + } + return !0; + } + if ( + ((f = [ + a ? m.firstChild : m.lastChild + ]), + a && y) + ) { + for ( + w = + (h = + (u = + (d = + (l = + (p = m)[b] || + (p[b] = {}))[ + p.uniqueID + ] || + (l[p.uniqueID] = + {}))[e] || + [])[0] === x && + u[1]) && u[2], + p = h && m.childNodes[h]; + (p = + (++h && p && p[v]) || + (w = h = 0) || + f.pop()); + + ) + if ( + 1 === p.nodeType && + ++w && + p === t + ) { + d[e] = [x, h, w]; + break; + } + } else if ( + (y && + (w = h = + (u = + (d = + (l = + (p = t)[b] || + (p[b] = {}))[ + p.uniqueID + ] || + (l[p.uniqueID] = {}))[ + e + ] || [])[0] === x && + u[1]), + !1 === w) + ) + for ( + ; + (p = + (++h && p && p[v]) || + (w = h = 0) || + f.pop()) && + ((s + ? p.nodeName.toLowerCase() !== + g + : 1 !== p.nodeType) || + !++w || + (y && + ((d = + (l = + p[b] || + (p[b] = {}))[ + p.uniqueID + ] || + (l[p.uniqueID] = {}))[ + e + ] = [x, w]), + p !== t)); + + ); + return ( + (w -= i) === r || + (w % r === 0 && w / r >= 0) + ); + } + }; + }, + PSEUDO: function (e, t) { + var n, + i = + r.pseudos[e] || + r.setFilters[e.toLowerCase()] || + se.error("unsupported pseudo: " + e); + return i[b] + ? i(t) + : i.length > 1 + ? ((n = [e, e, "", t]), + r.setFilters.hasOwnProperty(e.toLowerCase()) + ? ue(function (e, n) { + for ( + var r, o = i(e, t), a = o.length; + a--; + + ) + e[(r = D(e, o[a]))] = !(n[r] = + o[a]); + }) + : function (e) { + return i(e, 0, n); + }) + : i; + } + }, + pseudos: { + not: ue(function (e) { + var t = [], + n = [], + r = s(e.replace(z, "$1")); + return r[b] + ? ue(function (e, t, n, i) { + for ( + var o, + a = r(e, null, i, []), + s = e.length; + s--; + + ) + (o = a[s]) && (e[s] = !(t[s] = o)); + }) + : function (e, i, o) { + return ( + (t[0] = e), + r(t, null, o, n), + (t[0] = null), + !n.pop() + ); + }; + }), + has: ue(function (e) { + return function (t) { + return se(e, t).length > 0; + }; + }), + contains: ue(function (e) { + return ( + (e = e.replace(te, ne)), + function (t) { + return (t.textContent || i(t)).indexOf(e) > -1; + } + ); + }), + lang: ue(function (e) { + return ( + $.test(e || "") || + se.error("unsupported lang: " + e), + (e = e.replace(te, ne).toLowerCase()), + function (t) { + var n; + do { + if ( + (n = v + ? t.lang + : t.getAttribute("xml:lang") || + t.getAttribute("lang")) + ) + return ( + (n = n.toLowerCase()) === e || + 0 === n.indexOf(e + "-") + ); + } while ( + (t = t.parentNode) && + 1 === t.nodeType + ); + return !1; + } + ); + }), + target: function (t) { + var n = e.location && e.location.hash; + return n && n.slice(1) === t.id; + }, + root: function (e) { + return e === f; + }, + focus: function (e) { + return ( + e === h.activeElement && + (!h.hasFocus || h.hasFocus()) && + !!(e.type || e.href || ~e.tabIndex) + ); + }, + enabled: ve(!1), + disabled: ve(!0), + checked: function (e) { + var t = e.nodeName.toLowerCase(); + return ( + ("input" === t && !!e.checked) || + ("option" === t && !!e.selected) + ); + }, + selected: function (e) { + return ( + e.parentNode && e.parentNode.selectedIndex, + !0 === e.selected + ); + }, + empty: function (e) { + for (e = e.firstChild; e; e = e.nextSibling) + if (e.nodeType < 6) return !1; + return !0; + }, + parent: function (e) { + return !r.pseudos.empty(e); + }, + header: function (e) { + return X.test(e.nodeName); + }, + input: function (e) { + return Q.test(e.nodeName); + }, + button: function (e) { + var t = e.nodeName.toLowerCase(); + return ( + ("input" === t && "button" === e.type) || + "button" === t + ); + }, + text: function (e) { + var t; + return ( + "input" === e.nodeName.toLowerCase() && + "text" === e.type && + (null == (t = e.getAttribute("type")) || + "text" === t.toLowerCase()) + ); + }, + first: me(function () { + return [0]; + }), + last: me(function (e, t) { + return [t - 1]; + }), + eq: me(function (e, t, n) { + return [n < 0 ? n + t : n]; + }), + even: me(function (e, t) { + for (var n = 0; n < t; n += 2) e.push(n); + return e; + }), + odd: me(function (e, t) { + for (var n = 1; n < t; n += 2) e.push(n); + return e; + }), + lt: me(function (e, t, n) { + for (var r = n < 0 ? n + t : n > t ? t : n; --r >= 0; ) + e.push(r); + return e; + }), + gt: me(function (e, t, n) { + for (var r = n < 0 ? n + t : n; ++r < t; ) e.push(r); + return e; + }) + } + }), + (r.pseudos.nth = r.pseudos.eq), + { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 })) + r.pseudos[t] = he(t); + for (t in { submit: !0, reset: !0 }) r.pseudos[t] = fe(t); + function ye() {} + function we(e) { + for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value; + return r; + } + function be(e, t, n) { + var r = t.dir, + i = t.next, + o = i || r, + a = n && "parentNode" === o, + s = _++; + return t.first + ? function (t, n, i) { + for (; (t = t[r]); ) + if (1 === t.nodeType || a) return e(t, n, i); + return !1; + } + : function (t, n, c) { + var u, + d, + l, + p = [x, s]; + if (c) { + for (; (t = t[r]); ) + if ((1 === t.nodeType || a) && e(t, n, c)) + return !0; + } else + for (; (t = t[r]); ) + if (1 === t.nodeType || a) + if ( + ((d = + (l = t[b] || (t[b] = {}))[ + t.uniqueID + ] || (l[t.uniqueID] = {})), + i && i === t.nodeName.toLowerCase()) + ) + t = t[r] || t; + else { + if ( + (u = d[o]) && + u[0] === x && + u[1] === s + ) + return (p[2] = u[2]); + if (((d[o] = p), (p[2] = e(t, n, c)))) + return !0; + } + return !1; + }; + } + function ke(e) { + return e.length > 1 + ? function (t, n, r) { + for (var i = e.length; i--; ) + if (!e[i](t, n, r)) return !1; + return !0; + } + : e[0]; + } + function xe(e, t, n, r, i) { + for (var o, a = [], s = 0, c = e.length, u = null != t; s < c; s++) + (o = e[s]) && + ((n && !n(o, r, i)) || (a.push(o), u && t.push(s))); + return a; + } + function _e(e, t, n, r, i, o) { + return ( + r && !r[b] && (r = _e(r)), + i && !i[b] && (i = _e(i, o)), + ue(function (o, a, s, c) { + var u, + d, + l, + p = [], + h = [], + f = a.length, + v = + o || + (function (e, t, n) { + for (var r = 0, i = t.length; r < i; r++) + se(e, t[r], n); + return n; + })(t || "*", s.nodeType ? [s] : s, []), + m = !e || (!o && t) ? v : xe(v, p, e, s, c), + g = n ? (i || (o ? e : f || r) ? [] : a) : m; + if ((n && n(m, g, s, c), r)) + for (u = xe(g, h), r(u, [], s, c), d = u.length; d--; ) + (l = u[d]) && (g[h[d]] = !(m[h[d]] = l)); + if (o) { + if (i || e) { + if (i) { + for (u = [], d = g.length; d--; ) + (l = g[d]) && u.push((m[d] = l)); + i(null, (g = []), u, c); + } + for (d = g.length; d--; ) + (l = g[d]) && + (u = i ? D(o, l) : p[d]) > -1 && + (o[u] = !(a[u] = l)); + } + } else + ((g = xe(g === a ? g.splice(f, g.length) : g)), + i ? i(null, a, g, c) : R.apply(a, g)); + }) + ); + } + function Ce(e) { + for ( + var t, + n, + i, + o = e.length, + a = r.relative[e[0].type], + s = a || r.relative[" "], + c = a ? 1 : 0, + d = be( + function (e) { + return e === t; + }, + s, + !0 + ), + l = be( + function (e) { + return D(t, e) > -1; + }, + s, + !0 + ), + p = [ + function (e, n, r) { + var i = + (!a && (r || n !== u)) || + ((t = n).nodeType ? d(e, n, r) : l(e, n, r)); + return ((t = null), i); + } + ]; + c < o; + c++ + ) + if ((n = r.relative[e[c].type])) p = [be(ke(p), n)]; + else { + if ( + (n = r.filter[e[c].type].apply(null, e[c].matches))[b] + ) { + for (i = ++c; i < o && !r.relative[e[i].type]; i++); + return _e( + c > 1 && ke(p), + c > 1 && + we( + e.slice(0, c - 1).concat({ + value: " " === e[c - 2].type ? "*" : "" + }) + ).replace(z, "$1"), + n, + c < i && Ce(e.slice(c, i)), + i < o && Ce((e = e.slice(i))), + i < o && we(e) + ); + } + p.push(n); + } + return ke(p); + } + return ( + (ye.prototype = r.filters = r.pseudos), + (r.setFilters = new ye()), + (a = se.tokenize = + function (e, t) { + var n, + i, + o, + a, + s, + c, + u, + d = I[e + " "]; + if (d) return t ? 0 : d.slice(0); + for (s = e, c = [], u = r.preFilter; s; ) { + for (a in ((n && !(i = q.exec(s))) || + (i && (s = s.slice(i[0].length) || s), + c.push((o = []))), + (n = !1), + (i = G.exec(s)) && + ((n = i.shift()), + o.push({ value: n, type: i[0].replace(z, " ") }), + (s = s.slice(n.length))), + r.filter)) + !(i = J[a].exec(s)) || + (u[a] && !(i = u[a](i))) || + ((n = i.shift()), + o.push({ value: n, type: a, matches: i }), + (s = s.slice(n.length))); + if (!n) break; + } + return t ? s.length : s ? se.error(e) : I(e, c).slice(0); + }), + (s = se.compile = + function (e, t) { + var n, + i = [], + o = [], + s = S[e + " "]; + if (!s) { + for (t || (t = a(e)), n = t.length; n--; ) + (s = Ce(t[n]))[b] ? i.push(s) : o.push(s); + ((s = S( + e, + (function (e, t) { + var n = t.length > 0, + i = e.length > 0, + o = function (o, a, s, c, d) { + var l, + f, + m, + g = 0, + y = "0", + w = o && [], + b = [], + k = u, + _ = o || (i && r.find.TAG("*", d)), + C = (x += + null == k + ? 1 + : Math.random() || 0.1), + I = _.length; + for ( + d && (u = a == h || a || d); + y !== I && null != (l = _[y]); + y++ + ) { + if (i && l) { + for ( + f = 0, + a || + l.ownerDocument == + h || + (p(l), (s = !v)); + (m = e[f++]); + + ) + if (m(l, a || h, s)) { + c.push(l); + break; + } + d && (x = C); + } + n && + ((l = !m && l) && g--, + o && w.push(l)); + } + if (((g += y), n && y !== g)) { + for (f = 0; (m = t[f++]); ) + m(w, b, a, s); + if (o) { + if (g > 0) + for (; y--; ) + w[y] || + b[y] || + (b[y] = P.call(c)); + b = xe(b); + } + (R.apply(c, b), + d && + !o && + b.length > 0 && + g + t.length > 1 && + se.uniqueSort(c)); + } + return (d && ((x = C), (u = k)), w); + }; + return n ? ue(o) : o; + })(o, i) + )), + (s.selector = e)); + } + return s; + }), + (c = se.select = + function (e, t, n, i) { + var o, + c, + u, + d, + l, + p = "function" === typeof e && e, + h = !i && a((e = p.selector || e)); + if (((n = n || []), 1 === h.length)) { + if ( + (c = h[0] = h[0].slice(0)).length > 2 && + "ID" === (u = c[0]).type && + 9 === t.nodeType && + v && + r.relative[c[1].type] + ) { + if ( + !(t = (r.find.ID( + u.matches[0].replace(te, ne), + t + ) || [])[0]) + ) + return n; + (p && (t = t.parentNode), + (e = e.slice(c.shift().value.length))); + } + for ( + o = J.needsContext.test(e) ? 0 : c.length; + o-- && ((u = c[o]), !r.relative[(d = u.type)]); + + ) + if ( + (l = r.find[d]) && + (i = l( + u.matches[0].replace(te, ne), + (ee.test(c[0].type) && ge(t.parentNode)) || + t + )) + ) { + if ((c.splice(o, 1), !(e = i.length && we(c)))) + return (R.apply(n, i), n); + break; + } + } + return ( + (p || s(e, h))( + i, + t, + !v, + n, + !t || (ee.test(e) && ge(t.parentNode)) || t + ), + n + ); + }), + (n.sortStable = b.split("").sort(W).join("") === b), + (n.detectDuplicates = !!l), + p(), + (n.sortDetached = de(function (e) { + return ( + 1 & e.compareDocumentPosition(h.createElement("fieldset")) + ); + })), + de(function (e) { + return ( + (e.innerHTML = ""), + "#" === e.firstChild.getAttribute("href") + ); + }) || + le("type|href|height|width", function (e, t, n) { + if (!n) + return e.getAttribute( + t, + "type" === t.toLowerCase() ? 1 : 2 + ); + }), + (n.attributes && + de(function (e) { + return ( + (e.innerHTML = ""), + e.firstChild.setAttribute("value", ""), + "" === e.firstChild.getAttribute("value") + ); + })) || + le("value", function (e, t, n) { + if (!n && "input" === e.nodeName.toLowerCase()) + return e.defaultValue; + }), + de(function (e) { + return null == e.getAttribute("disabled"); + }) || + le(L, function (e, t, n) { + var r; + if (!n) + return !0 === e[t] + ? t.toLowerCase() + : (r = e.getAttributeNode(t)) && r.specified + ? r.value + : null; + }), + se + ); + })(e); + ((k.find = _), + (k.expr = _.selectors), + (k.expr[":"] = k.expr.pseudos), + (k.uniqueSort = k.unique = _.uniqueSort), + (k.text = _.getText), + (k.isXMLDoc = _.isXML), + (k.contains = _.contains), + (k.escapeSelector = _.escape)); + var C = function (e, t, n) { + for (var r = [], i = void 0 !== n; (e = e[t]) && 9 !== e.nodeType; ) + if (1 === e.nodeType) { + if (i && k(e).is(n)) break; + r.push(e); + } + return r; + }, + I = function (e, t) { + for (var n = []; e; e = e.nextSibling) + 1 === e.nodeType && e !== t && n.push(e); + return n; + }, + S = k.expr.match.needsContext; + function E(e, t) { + return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); + } + var W = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; + function T(e, t, n) { + return f(t) + ? k.grep(e, function (e, r) { + return !!t.call(e, r, e) !== n; + }) + : t.nodeType + ? k.grep(e, function (e) { + return (e === t) !== n; + }) + : "string" !== typeof t + ? k.grep(e, function (e) { + return s.call(t, e) > -1 !== n; + }) + : k.filter(t, e, n); + } + ((k.filter = function (e, t, n) { + var r = t[0]; + return ( + n && (e = ":not(" + e + ")"), + 1 === t.length && 1 === r.nodeType + ? k.find.matchesSelector(r, e) + ? [r] + : [] + : k.find.matches( + e, + k.grep(t, function (e) { + return 1 === e.nodeType; + }) + ) + ); + }), + k.fn.extend({ + find: function (e) { + var t, + n, + r = this.length, + i = this; + if ("string" !== typeof e) + return this.pushStack( + k(e).filter(function () { + for (t = 0; t < r; t++) + if (k.contains(i[t], this)) return !0; + }) + ); + for (n = this.pushStack([]), t = 0; t < r; t++) + k.find(e, i[t], n); + return r > 1 ? k.uniqueSort(n) : n; + }, + filter: function (e) { + return this.pushStack(T(this, e || [], !1)); + }, + not: function (e) { + return this.pushStack(T(this, e || [], !0)); + }, + is: function (e) { + return !!T( + this, + "string" === typeof e && S.test(e) ? k(e) : e || [], + !1 + ).length; + } + })); + var A, + P = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; + (((k.fn.init = function (e, t, n) { + var r, i; + if (!e) return this; + if (((n = n || A), "string" === typeof e)) { + if ( + !(r = + "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 + ? [null, e, null] + : P.exec(e)) || + (!r[1] && t) + ) + return !t || t.jquery + ? (t || n).find(e) + : this.constructor(t).find(e); + if (r[1]) { + if ( + ((t = t instanceof k ? t[0] : t), + k.merge( + this, + k.parseHTML( + r[1], + t && t.nodeType ? t.ownerDocument || t : m, + !0 + ) + ), + W.test(r[1]) && k.isPlainObject(t)) + ) + for (r in t) + f(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); + return this; + } + return ( + (i = m.getElementById(r[2])) && + ((this[0] = i), (this.length = 1)), + this + ); + } + return e.nodeType + ? ((this[0] = e), (this.length = 1), this) + : f(e) + ? void 0 !== n.ready + ? n.ready(e) + : e(k) + : k.makeArray(e, this); + }).prototype = k.fn), + (A = k(m))); + var M = /^(?:parents|prev(?:Until|All))/, + R = { children: !0, contents: !0, next: !0, prev: !0 }; + function O(e, t) { + for (; (e = e[t]) && 1 !== e.nodeType; ); + return e; + } + (k.fn.extend({ + has: function (e) { + var t = k(e, this), + n = t.length; + return this.filter(function () { + for (var e = 0; e < n; e++) + if (k.contains(this, t[e])) return !0; + }); + }, + closest: function (e, t) { + var n, + r = 0, + i = this.length, + o = [], + a = "string" !== typeof e && k(e); + if (!S.test(e)) + for (; r < i; r++) + for (n = this[r]; n && n !== t; n = n.parentNode) + if ( + n.nodeType < 11 && + (a + ? a.index(n) > -1 + : 1 === n.nodeType && + k.find.matchesSelector(n, e)) + ) { + o.push(n); + break; + } + return this.pushStack(o.length > 1 ? k.uniqueSort(o) : o); + }, + index: function (e) { + return e + ? "string" === typeof e + ? s.call(k(e), this[0]) + : s.call(this, e.jquery ? e[0] : e) + : this[0] && this[0].parentNode + ? this.first().prevAll().length + : -1; + }, + add: function (e, t) { + return this.pushStack(k.uniqueSort(k.merge(this.get(), k(e, t)))); + }, + addBack: function (e) { + return this.add( + null == e ? this.prevObject : this.prevObject.filter(e) + ); + } + }), + k.each( + { + parent: function (e) { + var t = e.parentNode; + return t && 11 !== t.nodeType ? t : null; + }, + parents: function (e) { + return C(e, "parentNode"); + }, + parentsUntil: function (e, t, n) { + return C(e, "parentNode", n); + }, + next: function (e) { + return O(e, "nextSibling"); + }, + prev: function (e) { + return O(e, "previousSibling"); + }, + nextAll: function (e) { + return C(e, "nextSibling"); + }, + prevAll: function (e) { + return C(e, "previousSibling"); + }, + nextUntil: function (e, t, n) { + return C(e, "nextSibling", n); + }, + prevUntil: function (e, t, n) { + return C(e, "previousSibling", n); + }, + siblings: function (e) { + return I((e.parentNode || {}).firstChild, e); + }, + children: function (e) { + return I(e.firstChild); + }, + contents: function (e) { + return null != e.contentDocument && r(e.contentDocument) + ? e.contentDocument + : (E(e, "template") && (e = e.content || e), + k.merge([], e.childNodes)); + } + }, + function (e, t) { + k.fn[e] = function (n, r) { + var i = k.map(this, t, n); + return ( + "Until" !== e.slice(-5) && (r = n), + r && "string" === typeof r && (i = k.filter(r, i)), + this.length > 1 && + (R[e] || k.uniqueSort(i), M.test(e) && i.reverse()), + this.pushStack(i) + ); + }; + } + )); + var D = /[^\x20\t\r\n\f]+/g; + function L(e) { + return e; + } + function B(e) { + throw e; + } + function N(e, t, n, r) { + var i; + try { + e && f((i = e.promise)) + ? i.call(e).done(t).fail(n) + : e && f((i = e.then)) + ? i.call(e, t, n) + : t.apply(void 0, [e].slice(r)); + } catch (e) { + n.apply(void 0, [e]); + } + } + ((k.Callbacks = function (e) { + e = + "string" === typeof e + ? (function (e) { + var t = {}; + return ( + k.each(e.match(D) || [], function (e, n) { + t[n] = !0; + }), + t + ); + })(e) + : k.extend({}, e); + var t, + n, + r, + i, + o = [], + a = [], + s = -1, + c = function () { + for (i = i || e.once, r = t = !0; a.length; s = -1) + for (n = a.shift(); ++s < o.length; ) + !1 === o[s].apply(n[0], n[1]) && + e.stopOnFalse && + ((s = o.length), (n = !1)); + (e.memory || (n = !1), (t = !1), i && (o = n ? [] : "")); + }, + u = { + add: function () { + return ( + o && + (n && !t && ((s = o.length - 1), a.push(n)), + (function t(n) { + k.each(n, function (n, r) { + f(r) + ? (e.unique && u.has(r)) || o.push(r) + : r && + r.length && + "string" !== w(r) && + t(r); + }); + })(arguments), + n && !t && c()), + this + ); + }, + remove: function () { + return ( + k.each(arguments, function (e, t) { + for (var n; (n = k.inArray(t, o, n)) > -1; ) + (o.splice(n, 1), n <= s && s--); + }), + this + ); + }, + has: function (e) { + return e ? k.inArray(e, o) > -1 : o.length > 0; + }, + empty: function () { + return (o && (o = []), this); + }, + disable: function () { + return ((i = a = []), (o = n = ""), this); + }, + disabled: function () { + return !o; + }, + lock: function () { + return ((i = a = []), n || t || (o = n = ""), this); + }, + locked: function () { + return !!i; + }, + fireWith: function (e, n) { + return ( + i || + ((n = [e, (n = n || []).slice ? n.slice() : n]), + a.push(n), + t || c()), + this + ); + }, + fire: function () { + return (u.fireWith(this, arguments), this); + }, + fired: function () { + return !!r; + } + }; + return u; + }), + k.extend({ + Deferred: function (t) { + var n = [ + [ + "notify", + "progress", + k.Callbacks("memory"), + k.Callbacks("memory"), + 2 + ], + [ + "resolve", + "done", + k.Callbacks("once memory"), + k.Callbacks("once memory"), + 0, + "resolved" + ], + [ + "reject", + "fail", + k.Callbacks("once memory"), + k.Callbacks("once memory"), + 1, + "rejected" + ] + ], + r = "pending", + i = { + state: function () { + return r; + }, + always: function () { + return (o.done(arguments).fail(arguments), this); + }, + catch: function (e) { + return i.then(null, e); + }, + pipe: function () { + var e = arguments; + return k + .Deferred(function (t) { + (k.each(n, function (n, r) { + var i = f(e[r[4]]) && e[r[4]]; + o[r[1]](function () { + var e = + i && i.apply(this, arguments); + e && f(e.promise) + ? e + .promise() + .progress(t.notify) + .done(t.resolve) + .fail(t.reject) + : t[r[0] + "With"]( + this, + i ? [e] : arguments + ); + }); + }), + (e = null)); + }) + .promise(); + }, + then: function (t, r, i) { + var o = 0; + function a(t, n, r, i) { + return function () { + var s = this, + c = arguments, + u = function () { + var e, u; + if (!(t < o)) { + if ( + (e = r.apply(s, c)) === + n.promise() + ) + throw new TypeError( + "Thenable self-resolution" + ); + ((u = + e && + ("object" === typeof e || + "function" === + typeof e) && + e.then), + f(u) + ? i + ? u.call( + e, + a(o, n, L, i), + a(o, n, B, i) + ) + : (o++, + u.call( + e, + a(o, n, L, i), + a(o, n, B, i), + a( + o, + n, + L, + n.notifyWith + ) + )) + : (r !== L && + ((s = void 0), + (c = [e])), + (i || n.resolveWith)( + s, + c + ))); + } + }, + d = i + ? u + : function () { + try { + u(); + } catch (e) { + (k.Deferred + .exceptionHook && + k.Deferred.exceptionHook( + e, + d.stackTrace + ), + t + 1 >= o && + (r !== B && + ((s = void 0), + (c = [e])), + n.rejectWith( + s, + c + ))); + } + }; + t + ? d() + : (k.Deferred.getStackHook && + (d.stackTrace = + k.Deferred.getStackHook()), + e.setTimeout(d)); + }; + } + return k + .Deferred(function (e) { + (n[0][3].add( + a(0, e, f(i) ? i : L, e.notifyWith) + ), + n[1][3].add(a(0, e, f(t) ? t : L)), + n[2][3].add(a(0, e, f(r) ? r : B))); + }) + .promise(); + }, + promise: function (e) { + return null != e ? k.extend(e, i) : i; + } + }, + o = {}; + return ( + k.each(n, function (e, t) { + var a = t[2], + s = t[5]; + ((i[t[1]] = a.add), + s && + a.add( + function () { + r = s; + }, + n[3 - e][2].disable, + n[3 - e][3].disable, + n[0][2].lock, + n[0][3].lock + ), + a.add(t[3].fire), + (o[t[0]] = function () { + return ( + o[t[0] + "With"]( + this === o ? void 0 : this, + arguments + ), + this + ); + }), + (o[t[0] + "With"] = a.fireWith)); + }), + i.promise(o), + t && t.call(o, o), + o + ); + }, + when: function (e) { + var t = arguments.length, + n = t, + r = Array(n), + o = i.call(arguments), + a = k.Deferred(), + s = function (e) { + return function (n) { + ((r[e] = this), + (o[e] = + arguments.length > 1 + ? i.call(arguments) + : n), + --t || a.resolveWith(r, o)); + }; + }; + if ( + t <= 1 && + (N(e, a.done(s(n)).resolve, a.reject, !t), + "pending" === a.state() || f(o[n] && o[n].then)) + ) + return a.then(); + for (; n--; ) N(o[n], s(n), a.reject); + return a.promise(); + } + })); + var F = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + ((k.Deferred.exceptionHook = function (t, n) { + e.console && + e.console.warn && + t && + F.test(t.name) && + e.console.warn( + "jQuery.Deferred exception: " + t.message, + t.stack, + n + ); + }), + (k.readyException = function (t) { + e.setTimeout(function () { + throw t; + }); + })); + var j = k.Deferred(); + function H() { + (m.removeEventListener("DOMContentLoaded", H), + e.removeEventListener("load", H), + k.ready()); + } + ((k.fn.ready = function (e) { + return ( + j.then(e).catch(function (e) { + k.readyException(e); + }), + this + ); + }), + k.extend({ + isReady: !1, + readyWait: 1, + ready: function (e) { + (!0 === e ? --k.readyWait : k.isReady) || + ((k.isReady = !0), + (!0 !== e && --k.readyWait > 0) || j.resolveWith(m, [k])); + } + }), + (k.ready.then = j.then), + "complete" === m.readyState || + ("loading" !== m.readyState && !m.documentElement.doScroll) + ? e.setTimeout(k.ready) + : (m.addEventListener("DOMContentLoaded", H), + e.addEventListener("load", H))); + var z = function e(t, n, r, i, o, a, s) { + var c = 0, + u = t.length, + d = null == r; + if ("object" === w(r)) + for (c in ((o = !0), r)) e(t, n, c, r[c], !0, a, s); + else if ( + void 0 !== i && + ((o = !0), + f(i) || (s = !0), + d && + (s + ? (n.call(t, i), (n = null)) + : ((d = n), + (n = function (e, t, n) { + return d.call(k(e), n); + }))), + n) + ) + for (; c < u; c++) + n(t[c], r, s ? i : i.call(t[c], c, n(t[c], r))); + return o ? t : d ? n.call(t) : u ? n(t[0], r) : a; + }, + q = /^-ms-/, + G = /-([a-z])/g; + function U(e, t) { + return t.toUpperCase(); + } + function V(e) { + return e.replace(q, "ms-").replace(G, U); + } + var $ = function (e) { + return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType; + }; + function J() { + this.expando = k.expando + J.uid++; + } + ((J.uid = 1), + (J.prototype = { + cache: function (e) { + var t = e[this.expando]; + return ( + t || + ((t = Object.create(null)), + $(e) && + (e.nodeType + ? (e[this.expando] = t) + : Object.defineProperty(e, this.expando, { + value: t, + configurable: !0 + }))), + t + ); + }, + set: function (e, t, n) { + var r, + i = this.cache(e); + if ("string" === typeof t) i[V(t)] = n; + else for (r in t) i[V(r)] = t[r]; + return i; + }, + get: function (e, t) { + return void 0 === t + ? this.cache(e) + : e[this.expando] && e[this.expando][V(t)]; + }, + access: function (e, t, n) { + return void 0 === t || + (t && "string" === typeof t && void 0 === n) + ? this.get(e, t) + : (this.set(e, t, n), void 0 !== n ? n : t); + }, + remove: function (e, t) { + var n, + r = e[this.expando]; + if (void 0 !== r) { + if (void 0 !== t) { + n = (t = Array.isArray(t) + ? t.map(V) + : (t = V(t)) in r + ? [t] + : t.match(D) || []).length; + for (; n--; ) delete r[t[n]]; + } + (void 0 === t || k.isEmptyObject(r)) && + (e.nodeType + ? (e[this.expando] = void 0) + : delete e[this.expando]); + } + }, + hasData: function (e) { + var t = e[this.expando]; + return void 0 !== t && !k.isEmptyObject(t); + } + })); + var K = new J(), + Q = new J(), + X = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + Y = /[A-Z]/g; + function Z(e, t, n) { + var r; + if (void 0 === n && 1 === e.nodeType) + if ( + ((r = "data-" + t.replace(Y, "-$&").toLowerCase()), + "string" === typeof (n = e.getAttribute(r))) + ) { + try { + n = (function (e) { + return ( + "true" === e || + ("false" !== e && + ("null" === e + ? null + : e === +e + "" + ? +e + : X.test(e) + ? JSON.parse(e) + : e)) + ); + })(n); + } catch (i) {} + Q.set(e, t, n); + } else n = void 0; + return n; + } + (k.extend({ + hasData: function (e) { + return Q.hasData(e) || K.hasData(e); + }, + data: function (e, t, n) { + return Q.access(e, t, n); + }, + removeData: function (e, t) { + Q.remove(e, t); + }, + _data: function (e, t, n) { + return K.access(e, t, n); + }, + _removeData: function (e, t) { + K.remove(e, t); + } + }), + k.fn.extend({ + data: function (e, t) { + var n, + r, + i, + o = this[0], + a = o && o.attributes; + if (void 0 === e) { + if ( + this.length && + ((i = Q.get(o)), + 1 === o.nodeType && !K.get(o, "hasDataAttrs")) + ) { + for (n = a.length; n--; ) + a[n] && + 0 === (r = a[n].name).indexOf("data-") && + ((r = V(r.slice(5))), Z(o, r, i[r])); + K.set(o, "hasDataAttrs", !0); + } + return i; + } + return "object" === typeof e + ? this.each(function () { + Q.set(this, e); + }) + : z( + this, + function (t) { + var n; + if (o && void 0 === t) + return void 0 !== (n = Q.get(o, e)) || + void 0 !== (n = Z(o, e)) + ? n + : void 0; + this.each(function () { + Q.set(this, e, t); + }); + }, + null, + t, + arguments.length > 1, + null, + !0 + ); + }, + removeData: function (e) { + return this.each(function () { + Q.remove(this, e); + }); + } + }), + k.extend({ + queue: function (e, t, n) { + var r; + if (e) + return ( + (t = (t || "fx") + "queue"), + (r = K.get(e, t)), + n && + (!r || Array.isArray(n) + ? (r = K.access(e, t, k.makeArray(n))) + : r.push(n)), + r || [] + ); + }, + dequeue: function (e, t) { + t = t || "fx"; + var n = k.queue(e, t), + r = n.length, + i = n.shift(), + o = k._queueHooks(e, t); + ("inprogress" === i && ((i = n.shift()), r--), + i && + ("fx" === t && n.unshift("inprogress"), + delete o.stop, + i.call( + e, + function () { + k.dequeue(e, t); + }, + o + )), + !r && o && o.empty.fire()); + }, + _queueHooks: function (e, t) { + var n = t + "queueHooks"; + return ( + K.get(e, n) || + K.access(e, n, { + empty: k.Callbacks("once memory").add(function () { + K.remove(e, [t + "queue", n]); + }) + }) + ); + } + }), + k.fn.extend({ + queue: function (e, t) { + var n = 2; + return ( + "string" !== typeof e && ((t = e), (e = "fx"), n--), + arguments.length < n + ? k.queue(this[0], e) + : void 0 === t + ? this + : this.each(function () { + var n = k.queue(this, e, t); + (k._queueHooks(this, e), + "fx" === e && + "inprogress" !== n[0] && + k.dequeue(this, e)); + }) + ); + }, + dequeue: function (e) { + return this.each(function () { + k.dequeue(this, e); + }); + }, + clearQueue: function (e) { + return this.queue(e || "fx", []); + }, + promise: function (e, t) { + var n, + r = 1, + i = k.Deferred(), + o = this, + a = this.length, + s = function () { + --r || i.resolveWith(o, [o]); + }; + for ( + "string" !== typeof e && ((t = e), (e = void 0)), + e = e || "fx"; + a--; + + ) + (n = K.get(o[a], e + "queueHooks")) && + n.empty && + (r++, n.empty.add(s)); + return (s(), i.promise(t)); + } + })); + var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + te = new RegExp("^(?:([+-])=|)(" + ee + ")([a-z%]*)$", "i"), + ne = ["Top", "Right", "Bottom", "Left"], + re = m.documentElement, + ie = function (e) { + return k.contains(e.ownerDocument, e); + }, + oe = { composed: !0 }; + re.getRootNode && + (ie = function (e) { + return ( + k.contains(e.ownerDocument, e) || + e.getRootNode(oe) === e.ownerDocument + ); + }); + var ae = function (e, t) { + return ( + "none" === (e = t || e).style.display || + ("" === e.style.display && ie(e) && "none" === k.css(e, "display")) + ); + }; + function se(e, t, n, r) { + var i, + o, + a = 20, + s = r + ? function () { + return r.cur(); + } + : function () { + return k.css(e, t, ""); + }, + c = s(), + u = (n && n[3]) || (k.cssNumber[t] ? "" : "px"), + d = + e.nodeType && + (k.cssNumber[t] || ("px" !== u && +c)) && + te.exec(k.css(e, t)); + if (d && d[3] !== u) { + for (c /= 2, u = u || d[3], d = +c || 1; a--; ) + (k.style(e, t, d + u), + (1 - o) * (1 - (o = s() / c || 0.5)) <= 0 && (a = 0), + (d /= o)); + ((d *= 2), k.style(e, t, d + u), (n = n || [])); + } + return ( + n && + ((d = +d || +c || 0), + (i = n[1] ? d + (n[1] + 1) * n[2] : +n[2]), + r && ((r.unit = u), (r.start = d), (r.end = i))), + i + ); + } + var ce = {}; + function ue(e) { + var t, + n = e.ownerDocument, + r = e.nodeName, + i = ce[r]; + return ( + i || + ((t = n.body.appendChild(n.createElement(r))), + (i = k.css(t, "display")), + t.parentNode.removeChild(t), + "none" === i && (i = "block"), + (ce[r] = i), + i) + ); + } + function de(e, t) { + for (var n, r, i = [], o = 0, a = e.length; o < a; o++) + (r = e[o]).style && + ((n = r.style.display), + t + ? ("none" === n && + ((i[o] = K.get(r, "display") || null), + i[o] || (r.style.display = "")), + "" === r.style.display && ae(r) && (i[o] = ue(r))) + : "none" !== n && + ((i[o] = "none"), K.set(r, "display", n))); + for (o = 0; o < a; o++) null != i[o] && (e[o].style.display = i[o]); + return e; + } + k.fn.extend({ + show: function () { + return de(this, !0); + }, + hide: function () { + return de(this); + }, + toggle: function (e) { + return "boolean" === typeof e + ? e + ? this.show() + : this.hide() + : this.each(function () { + ae(this) ? k(this).show() : k(this).hide(); + }); + } + }); + var le = /^(?:checkbox|radio)$/i, + pe = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, + he = /^$|^module$|\/(?:java|ecma)script/i; + !(function () { + var e = m.createDocumentFragment().appendChild(m.createElement("div")), + t = m.createElement("input"); + (t.setAttribute("type", "radio"), + t.setAttribute("checked", "checked"), + t.setAttribute("name", "t"), + e.appendChild(t), + (h.checkClone = e.cloneNode(!0).cloneNode(!0).lastChild.checked), + (e.innerHTML = ""), + (h.noCloneChecked = !!e.cloneNode(!0).lastChild.defaultValue), + (e.innerHTML = ""), + (h.option = !!e.lastChild)); + })(); + var fe = { + thead: [1, "", "
            "], + col: [2, "", "
            "], + tr: [2, "", "
            "], + td: [3, "", "
            "], + _default: [0, "", ""] + }; + function ve(e, t) { + var n; + return ( + (n = + "undefined" !== typeof e.getElementsByTagName + ? e.getElementsByTagName(t || "*") + : "undefined" !== typeof e.querySelectorAll + ? e.querySelectorAll(t || "*") + : []), + void 0 === t || (t && E(e, t)) ? k.merge([e], n) : n + ); + } + function me(e, t) { + for (var n = 0, r = e.length; n < r; n++) + K.set(e[n], "globalEval", !t || K.get(t[n], "globalEval")); + } + ((fe.tbody = fe.tfoot = fe.colgroup = fe.caption = fe.thead), + (fe.th = fe.td), + h.option || + (fe.optgroup = fe.option = + [1, ""])); + var ge = /<|&#?\w+;/; + function ye(e, t, n, r, i) { + for ( + var o, + a, + s, + c, + u, + d, + l = t.createDocumentFragment(), + p = [], + h = 0, + f = e.length; + h < f; + h++ + ) + if ((o = e[h]) || 0 === o) + if ("object" === w(o)) k.merge(p, o.nodeType ? [o] : o); + else if (ge.test(o)) { + for ( + a = a || l.appendChild(t.createElement("div")), + s = (pe.exec(o) || ["", ""])[1].toLowerCase(), + c = fe[s] || fe._default, + a.innerHTML = c[1] + k.htmlPrefilter(o) + c[2], + d = c[0]; + d--; + + ) + a = a.lastChild; + (k.merge(p, a.childNodes), + ((a = l.firstChild).textContent = "")); + } else p.push(t.createTextNode(o)); + for (l.textContent = "", h = 0; (o = p[h++]); ) + if (r && k.inArray(o, r) > -1) i && i.push(o); + else if ( + ((u = ie(o)), + (a = ve(l.appendChild(o), "script")), + u && me(a), + n) + ) + for (d = 0; (o = a[d++]); ) he.test(o.type || "") && n.push(o); + return l; + } + var we = /^key/, + be = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + ke = /^([^.]*)(?:\.(.+)|)/; + function xe() { + return !0; + } + function _e() { + return !1; + } + function Ce(e, t) { + return ( + (e === + (function () { + try { + return m.activeElement; + } catch (Sn) {} + })()) === + ("focus" === t) + ); + } + function Ie(e, t, n, r, i, o) { + var a, s; + if ("object" === typeof t) { + for (s in ("string" !== typeof n && ((r = r || n), (n = void 0)), + t)) + Ie(e, s, n, r, t[s], o); + return e; + } + if ( + (null == r && null == i + ? ((i = n), (r = n = void 0)) + : null == i && + ("string" === typeof n + ? ((i = r), (r = void 0)) + : ((i = r), (r = n), (n = void 0))), + !1 === i) + ) + i = _e; + else if (!i) return e; + return ( + 1 === o && + ((a = i), + (i = function (e) { + return (k().off(e), a.apply(this, arguments)); + }), + (i.guid = a.guid || (a.guid = k.guid++))), + e.each(function () { + k.event.add(this, t, i, r, n); + }) + ); + } + function Se(e, t, n) { + n + ? (K.set(e, t, !1), + k.event.add(e, t, { + namespace: !1, + handler: function (e) { + var r, + o, + a = K.get(this, t); + if (1 & e.isTrigger && this[t]) { + if (a.length) + (k.event.special[t] || {}).delegateType && + e.stopPropagation(); + else if ( + ((a = i.call(arguments)), + K.set(this, t, a), + (r = n(this, t)), + this[t](), + a !== (o = K.get(this, t)) || r + ? K.set(this, t, !1) + : (o = {}), + a !== o) + ) + return ( + e.stopImmediatePropagation(), + e.preventDefault(), + o.value + ); + } else + a.length && + (K.set(this, t, { + value: k.event.trigger( + k.extend(a[0], k.Event.prototype), + a.slice(1), + this + ) + }), + e.stopImmediatePropagation()); + } + })) + : void 0 === K.get(e, t) && k.event.add(e, t, xe); + } + ((k.event = { + global: {}, + add: function (e, t, n, r, i) { + var o, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m = K.get(e); + if ($(e)) + for ( + n.handler && ((n = (o = n).handler), (i = o.selector)), + i && k.find.matchesSelector(re, i), + n.guid || (n.guid = k.guid++), + (c = m.events) || (c = m.events = Object.create(null)), + (a = m.handle) || + (a = m.handle = + function (t) { + return "undefined" !== typeof k && + k.event.triggered !== t.type + ? k.event.dispatch.apply(e, arguments) + : void 0; + }), + u = (t = (t || "").match(D) || [""]).length; + u--; + + ) + ((h = v = (s = ke.exec(t[u]) || [])[1]), + (f = (s[2] || "").split(".").sort()), + h && + ((l = k.event.special[h] || {}), + (h = (i ? l.delegateType : l.bindType) || h), + (l = k.event.special[h] || {}), + (d = k.extend( + { + type: h, + origType: v, + data: r, + handler: n, + guid: n.guid, + selector: i, + needsContext: + i && k.expr.match.needsContext.test(i), + namespace: f.join(".") + }, + o + )), + (p = c[h]) || + (((p = c[h] = []).delegateCount = 0), + (l.setup && !1 !== l.setup.call(e, r, f, a)) || + (e.addEventListener && + e.addEventListener(h, a))), + l.add && + (l.add.call(e, d), + d.handler.guid || (d.handler.guid = n.guid)), + i ? p.splice(p.delegateCount++, 0, d) : p.push(d), + (k.event.global[h] = !0))); + }, + remove: function (e, t, n, r, i) { + var o, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m = K.hasData(e) && K.get(e); + if (m && (c = m.events)) { + for (u = (t = (t || "").match(D) || [""]).length; u--; ) + if ( + ((h = v = (s = ke.exec(t[u]) || [])[1]), + (f = (s[2] || "").split(".").sort()), + h) + ) { + for ( + l = k.event.special[h] || {}, + p = + c[ + (h = + (r ? l.delegateType : l.bindType) || + h) + ] || [], + s = + s[2] && + new RegExp( + "(^|\\.)" + + f.join("\\.(?:.*\\.|)") + + "(\\.|$)" + ), + a = o = p.length; + o--; + + ) + ((d = p[o]), + (!i && v !== d.origType) || + (n && n.guid !== d.guid) || + (s && !s.test(d.namespace)) || + (r && + r !== d.selector && + ("**" !== r || !d.selector)) || + (p.splice(o, 1), + d.selector && p.delegateCount--, + l.remove && l.remove.call(e, d))); + a && + !p.length && + ((l.teardown && + !1 !== l.teardown.call(e, f, m.handle)) || + k.removeEvent(e, h, m.handle), + delete c[h]); + } else for (h in c) k.event.remove(e, h + t[u], n, r, !0); + k.isEmptyObject(c) && K.remove(e, "handle events"); + } + }, + dispatch: function (e) { + var t, + n, + r, + i, + o, + a, + s = new Array(arguments.length), + c = k.event.fix(e), + u = + (K.get(this, "events") || Object.create(null))[c.type] || + [], + d = k.event.special[c.type] || {}; + for (s[0] = c, t = 1; t < arguments.length; t++) + s[t] = arguments[t]; + if ( + ((c.delegateTarget = this), + !d.preDispatch || !1 !== d.preDispatch.call(this, c)) + ) { + for ( + a = k.event.handlers.call(this, c, u), t = 0; + (i = a[t++]) && !c.isPropagationStopped(); + + ) + for ( + c.currentTarget = i.elem, n = 0; + (o = i.handlers[n++]) && + !c.isImmediatePropagationStopped(); + + ) + (c.rnamespace && + !1 !== o.namespace && + !c.rnamespace.test(o.namespace)) || + ((c.handleObj = o), + (c.data = o.data), + void 0 !== + (r = ( + (k.event.special[o.origType] || {}) + .handle || o.handler + ).apply(i.elem, s)) && + !1 === (c.result = r) && + (c.preventDefault(), c.stopPropagation())); + return ( + d.postDispatch && d.postDispatch.call(this, c), + c.result + ); + } + }, + handlers: function (e, t) { + var n, + r, + i, + o, + a, + s = [], + c = t.delegateCount, + u = e.target; + if (c && u.nodeType && !("click" === e.type && e.button >= 1)) + for (; u !== this; u = u.parentNode || this) + if ( + 1 === u.nodeType && + ("click" !== e.type || !0 !== u.disabled) + ) { + for (o = [], a = {}, n = 0; n < c; n++) + (void 0 === a[(i = (r = t[n]).selector + " ")] && + (a[i] = r.needsContext + ? k(i, this).index(u) > -1 + : k.find(i, this, null, [u]).length), + a[i] && o.push(r)); + o.length && s.push({ elem: u, handlers: o }); + } + return ( + (u = this), + c < t.length && s.push({ elem: u, handlers: t.slice(c) }), + s + ); + }, + addProp: function (e, t) { + Object.defineProperty(k.Event.prototype, e, { + enumerable: !0, + configurable: !0, + get: f(t) + ? function () { + if (this.originalEvent) return t(this.originalEvent); + } + : function () { + if (this.originalEvent) return this.originalEvent[e]; + }, + set: function (t) { + Object.defineProperty(this, e, { + enumerable: !0, + configurable: !0, + writable: !0, + value: t + }); + } + }); + }, + fix: function (e) { + return e[k.expando] ? e : new k.Event(e); + }, + special: { + load: { noBubble: !0 }, + click: { + setup: function (e) { + var t = this || e; + return ( + le.test(t.type) && + t.click && + E(t, "input") && + Se(t, "click", xe), + !1 + ); + }, + trigger: function (e) { + var t = this || e; + return ( + le.test(t.type) && + t.click && + E(t, "input") && + Se(t, "click"), + !0 + ); + }, + _default: function (e) { + var t = e.target; + return ( + (le.test(t.type) && + t.click && + E(t, "input") && + K.get(t, "click")) || + E(t, "a") + ); + } + }, + beforeunload: { + postDispatch: function (e) { + void 0 !== e.result && + e.originalEvent && + (e.originalEvent.returnValue = e.result); + } + } + } + }), + (k.removeEvent = function (e, t, n) { + e.removeEventListener && e.removeEventListener(t, n); + }), + (k.Event = function (e, t) { + if (!(this instanceof k.Event)) return new k.Event(e, t); + (e && e.type + ? ((this.originalEvent = e), + (this.type = e.type), + (this.isDefaultPrevented = + e.defaultPrevented || + (void 0 === e.defaultPrevented && !1 === e.returnValue) + ? xe + : _e), + (this.target = + e.target && 3 === e.target.nodeType + ? e.target.parentNode + : e.target), + (this.currentTarget = e.currentTarget), + (this.relatedTarget = e.relatedTarget)) + : (this.type = e), + t && k.extend(this, t), + (this.timeStamp = (e && e.timeStamp) || Date.now()), + (this[k.expando] = !0)); + }), + (k.Event.prototype = { + constructor: k.Event, + isDefaultPrevented: _e, + isPropagationStopped: _e, + isImmediatePropagationStopped: _e, + isSimulated: !1, + preventDefault: function () { + var e = this.originalEvent; + ((this.isDefaultPrevented = xe), + e && !this.isSimulated && e.preventDefault()); + }, + stopPropagation: function () { + var e = this.originalEvent; + ((this.isPropagationStopped = xe), + e && !this.isSimulated && e.stopPropagation()); + }, + stopImmediatePropagation: function () { + var e = this.originalEvent; + ((this.isImmediatePropagationStopped = xe), + e && !this.isSimulated && e.stopImmediatePropagation(), + this.stopPropagation()); + } + }), + k.each( + { + altKey: !0, + bubbles: !0, + cancelable: !0, + changedTouches: !0, + ctrlKey: !0, + detail: !0, + eventPhase: !0, + metaKey: !0, + pageX: !0, + pageY: !0, + shiftKey: !0, + view: !0, + char: !0, + code: !0, + charCode: !0, + key: !0, + keyCode: !0, + button: !0, + buttons: !0, + clientX: !0, + clientY: !0, + offsetX: !0, + offsetY: !0, + pointerId: !0, + pointerType: !0, + screenX: !0, + screenY: !0, + targetTouches: !0, + toElement: !0, + touches: !0, + which: function (e) { + var t = e.button; + return null == e.which && we.test(e.type) + ? null != e.charCode + ? e.charCode + : e.keyCode + : !e.which && void 0 !== t && be.test(e.type) + ? 1 & t + ? 1 + : 2 & t + ? 3 + : 4 & t + ? 2 + : 0 + : e.which; + } + }, + k.event.addProp + ), + k.each({ focus: "focusin", blur: "focusout" }, function (e, t) { + k.event.special[e] = { + setup: function () { + return (Se(this, e, Ce), !1); + }, + trigger: function () { + return (Se(this, e), !0); + }, + delegateType: t + }; + }), + k.each( + { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" + }, + function (e, t) { + k.event.special[e] = { + delegateType: t, + bindType: t, + handle: function (e) { + var n, + r = e.relatedTarget, + i = e.handleObj; + return ( + (r && (r === this || k.contains(this, r))) || + ((e.type = i.origType), + (n = i.handler.apply(this, arguments)), + (e.type = t)), + n + ); + } + }; + } + ), + k.fn.extend({ + on: function (e, t, n, r) { + return Ie(this, e, t, n, r); + }, + one: function (e, t, n, r) { + return Ie(this, e, t, n, r, 1); + }, + off: function (e, t, n) { + var r, i; + if (e && e.preventDefault && e.handleObj) + return ( + (r = e.handleObj), + k(e.delegateTarget).off( + r.namespace + ? r.origType + "." + r.namespace + : r.origType, + r.selector, + r.handler + ), + this + ); + if ("object" === typeof e) { + for (i in e) this.off(i, t, e[i]); + return this; + } + return ( + (!1 !== t && "function" !== typeof t) || + ((n = t), (t = void 0)), + !1 === n && (n = _e), + this.each(function () { + k.event.remove(this, e, n, t); + }) + ); + } + })); + var Ee = /\s*$/g; + function Ae(e, t) { + return ( + (E(e, "table") && + E(11 !== t.nodeType ? t : t.firstChild, "tr") && + k(e).children("tbody")[0]) || + e + ); + } + function Pe(e) { + return ((e.type = (null !== e.getAttribute("type")) + "/" + e.type), e); + } + function Me(e) { + return ( + "true/" === (e.type || "").slice(0, 5) + ? (e.type = e.type.slice(5)) + : e.removeAttribute("type"), + e + ); + } + function Re(e, t) { + var n, r, i, o, a, s; + if (1 === t.nodeType) { + if (K.hasData(e) && (s = K.get(e).events)) + for (i in (K.remove(t, "handle events"), s)) + for (n = 0, r = s[i].length; n < r; n++) + k.event.add(t, i, s[i][n]); + Q.hasData(e) && + ((o = Q.access(e)), (a = k.extend({}, o)), Q.set(t, a)); + } + } + function Oe(e, t) { + var n = t.nodeName.toLowerCase(); + "input" === n && le.test(e.type) + ? (t.checked = e.checked) + : ("input" !== n && "textarea" !== n) || + (t.defaultValue = e.defaultValue); + } + function De(e, t, n, r) { + t = o(t); + var i, + a, + s, + c, + u, + d, + l = 0, + p = e.length, + v = p - 1, + m = t[0], + g = f(m); + if ( + g || + (p > 1 && "string" === typeof m && !h.checkClone && We.test(m)) + ) + return e.each(function (i) { + var o = e.eq(i); + (g && (t[0] = m.call(this, i, o.html())), De(o, t, n, r)); + }); + if ( + p && + ((a = (i = ye(t, e[0].ownerDocument, !1, e, r)).firstChild), + 1 === i.childNodes.length && (i = a), + a || r) + ) { + for (c = (s = k.map(ve(i, "script"), Pe)).length; l < p; l++) + ((u = i), + l !== v && + ((u = k.clone(u, !0, !0)), + c && k.merge(s, ve(u, "script"))), + n.call(e[l], u, l)); + if (c) + for ( + d = s[s.length - 1].ownerDocument, k.map(s, Me), l = 0; + l < c; + l++ + ) + ((u = s[l]), + he.test(u.type || "") && + !K.access(u, "globalEval") && + k.contains(d, u) && + (u.src && "module" !== (u.type || "").toLowerCase() + ? k._evalUrl && + !u.noModule && + k._evalUrl( + u.src, + { + nonce: + u.nonce || u.getAttribute("nonce") + }, + d + ) + : y(u.textContent.replace(Te, ""), u, d))); + } + return e; + } + function Le(e, t, n) { + for (var r, i = t ? k.filter(t, e) : e, o = 0; null != (r = i[o]); o++) + (n || 1 !== r.nodeType || k.cleanData(ve(r)), + r.parentNode && + (n && ie(r) && me(ve(r, "script")), + r.parentNode.removeChild(r))); + return e; + } + (k.extend({ + htmlPrefilter: function (e) { + return e; + }, + clone: function (e, t, n) { + var r, + i, + o, + a, + s = e.cloneNode(!0), + c = ie(e); + if ( + !h.noCloneChecked && + (1 === e.nodeType || 11 === e.nodeType) && + !k.isXMLDoc(e) + ) + for (a = ve(s), r = 0, i = (o = ve(e)).length; r < i; r++) + Oe(o[r], a[r]); + if (t) + if (n) + for ( + o = o || ve(e), a = a || ve(s), r = 0, i = o.length; + r < i; + r++ + ) + Re(o[r], a[r]); + else Re(e, s); + return ( + (a = ve(s, "script")).length > 0 && + me(a, !c && ve(e, "script")), + s + ); + }, + cleanData: function (e) { + for ( + var t, n, r, i = k.event.special, o = 0; + void 0 !== (n = e[o]); + o++ + ) + if ($(n)) { + if ((t = n[K.expando])) { + if (t.events) + for (r in t.events) + i[r] + ? k.event.remove(n, r) + : k.removeEvent(n, r, t.handle); + n[K.expando] = void 0; + } + n[Q.expando] && (n[Q.expando] = void 0); + } + } + }), + k.fn.extend({ + detach: function (e) { + return Le(this, e, !0); + }, + remove: function (e) { + return Le(this, e); + }, + text: function (e) { + return z( + this, + function (e) { + return void 0 === e + ? k.text(this) + : this.empty().each(function () { + (1 !== this.nodeType && + 11 !== this.nodeType && + 9 !== this.nodeType) || + (this.textContent = e); + }); + }, + null, + e, + arguments.length + ); + }, + append: function () { + return De(this, arguments, function (e) { + (1 !== this.nodeType && + 11 !== this.nodeType && + 9 !== this.nodeType) || + Ae(this, e).appendChild(e); + }); + }, + prepend: function () { + return De(this, arguments, function (e) { + if ( + 1 === this.nodeType || + 11 === this.nodeType || + 9 === this.nodeType + ) { + var t = Ae(this, e); + t.insertBefore(e, t.firstChild); + } + }); + }, + before: function () { + return De(this, arguments, function (e) { + this.parentNode && this.parentNode.insertBefore(e, this); + }); + }, + after: function () { + return De(this, arguments, function (e) { + this.parentNode && + this.parentNode.insertBefore(e, this.nextSibling); + }); + }, + empty: function () { + for (var e, t = 0; null != (e = this[t]); t++) + 1 === e.nodeType && + (k.cleanData(ve(e, !1)), (e.textContent = "")); + return this; + }, + clone: function (e, t) { + return ( + (e = null != e && e), + (t = null == t ? e : t), + this.map(function () { + return k.clone(this, e, t); + }) + ); + }, + html: function (e) { + return z( + this, + function (e) { + var t = this[0] || {}, + n = 0, + r = this.length; + if (void 0 === e && 1 === t.nodeType) + return t.innerHTML; + if ( + "string" === typeof e && + !Ee.test(e) && + !fe[(pe.exec(e) || ["", ""])[1].toLowerCase()] + ) { + e = k.htmlPrefilter(e); + try { + for (; n < r; n++) + 1 === (t = this[n] || {}).nodeType && + (k.cleanData(ve(t, !1)), + (t.innerHTML = e)); + t = 0; + } catch (i) {} + } + t && this.empty().append(e); + }, + null, + e, + arguments.length + ); + }, + replaceWith: function () { + var e = []; + return De( + this, + arguments, + function (t) { + var n = this.parentNode; + k.inArray(this, e) < 0 && + (k.cleanData(ve(this)), + n && n.replaceChild(t, this)); + }, + e + ); + } + }), + k.each( + { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, + function (e, t) { + k.fn[e] = function (e) { + for ( + var n, r = [], i = k(e), o = i.length - 1, s = 0; + s <= o; + s++ + ) + ((n = s === o ? this : this.clone(!0)), + k(i[s])[t](n), + a.apply(r, n.get())); + return this.pushStack(r); + }; + } + )); + var Be = new RegExp("^(" + ee + ")(?!px)[a-z%]+$", "i"), + Ne = function (t) { + var n = t.ownerDocument.defaultView; + return ((n && n.opener) || (n = e), n.getComputedStyle(t)); + }, + Fe = function (e, t, n) { + var r, + i, + o = {}; + for (i in t) ((o[i] = e.style[i]), (e.style[i] = t[i])); + for (i in ((r = n.call(e)), t)) e.style[i] = o[i]; + return r; + }, + je = new RegExp(ne.join("|"), "i"); + function He(e, t, n) { + var r, + i, + o, + a, + s = e.style; + return ( + (n = n || Ne(e)) && + ("" !== (a = n.getPropertyValue(t) || n[t]) || + ie(e) || + (a = k.style(e, t)), + !h.pixelBoxStyles() && + Be.test(a) && + je.test(t) && + ((r = s.width), + (i = s.minWidth), + (o = s.maxWidth), + (s.minWidth = s.maxWidth = s.width = a), + (a = n.width), + (s.width = r), + (s.minWidth = i), + (s.maxWidth = o))), + void 0 !== a ? a + "" : a + ); + } + function ze(e, t) { + return { + get: function () { + if (!e()) return (this.get = t).apply(this, arguments); + delete this.get; + } + }; + } + !(function () { + function t() { + if (d) { + ((u.style.cssText = + "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0"), + (d.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%"), + re.appendChild(u).appendChild(d)); + var t = e.getComputedStyle(d); + ((r = "1%" !== t.top), + (c = 12 === n(t.marginLeft)), + (d.style.right = "60%"), + (a = 36 === n(t.right)), + (i = 36 === n(t.width)), + (d.style.position = "absolute"), + (o = 12 === n(d.offsetWidth / 3)), + re.removeChild(u), + (d = null)); + } + } + function n(e) { + return Math.round(parseFloat(e)); + } + var r, + i, + o, + a, + s, + c, + u = m.createElement("div"), + d = m.createElement("div"); + d.style && + ((d.style.backgroundClip = "content-box"), + (d.cloneNode(!0).style.backgroundClip = ""), + (h.clearCloneStyle = "content-box" === d.style.backgroundClip), + k.extend(h, { + boxSizingReliable: function () { + return (t(), i); + }, + pixelBoxStyles: function () { + return (t(), a); + }, + pixelPosition: function () { + return (t(), r); + }, + reliableMarginLeft: function () { + return (t(), c); + }, + scrollboxSize: function () { + return (t(), o); + }, + reliableTrDimensions: function () { + var t, n, r, i; + return ( + null == s && + ((t = m.createElement("table")), + (n = m.createElement("tr")), + (r = m.createElement("div")), + (t.style.cssText = + "position:absolute;left:-11111px"), + (n.style.height = "1px"), + (r.style.height = "9px"), + re.appendChild(t).appendChild(n).appendChild(r), + (i = e.getComputedStyle(n)), + (s = parseInt(i.height) > 3), + re.removeChild(t)), + s + ); + } + })); + })(); + var qe = ["Webkit", "Moz", "ms"], + Ge = m.createElement("div").style, + Ue = {}; + function Ve(e) { + var t = k.cssProps[e] || Ue[e]; + return ( + t || + (e in Ge + ? e + : (Ue[e] = + (function (e) { + for ( + var t = e[0].toUpperCase() + e.slice(1), + n = qe.length; + n--; + + ) + if ((e = qe[n] + t) in Ge) return e; + })(e) || e)) + ); + } + var $e = /^(none|table(?!-c[ea]).+)/, + Je = /^--/, + Ke = { position: "absolute", visibility: "hidden", display: "block" }, + Qe = { letterSpacing: "0", fontWeight: "400" }; + function Xe(e, t, n) { + var r = te.exec(t); + return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t; + } + function Ye(e, t, n, r, i, o) { + var a = "width" === t ? 1 : 0, + s = 0, + c = 0; + if (n === (r ? "border" : "content")) return 0; + for (; a < 4; a += 2) + ("margin" === n && (c += k.css(e, n + ne[a], !0, i)), + r + ? ("content" === n && + (c -= k.css(e, "padding" + ne[a], !0, i)), + "margin" !== n && + (c -= k.css(e, "border" + ne[a] + "Width", !0, i))) + : ((c += k.css(e, "padding" + ne[a], !0, i)), + "padding" !== n + ? (c += k.css(e, "border" + ne[a] + "Width", !0, i)) + : (s += k.css( + e, + "border" + ne[a] + "Width", + !0, + i + )))); + return ( + !r && + o >= 0 && + (c += + Math.max( + 0, + Math.ceil( + e["offset" + t[0].toUpperCase() + t.slice(1)] - + o - + c - + s - + 0.5 + ) + ) || 0), + c + ); + } + function Ze(e, t, n) { + var r = Ne(e), + i = + (!h.boxSizingReliable() || n) && + "border-box" === k.css(e, "boxSizing", !1, r), + o = i, + a = He(e, t, r), + s = "offset" + t[0].toUpperCase() + t.slice(1); + if (Be.test(a)) { + if (!n) return a; + a = "auto"; + } + return ( + ((!h.boxSizingReliable() && i) || + (!h.reliableTrDimensions() && E(e, "tr")) || + "auto" === a || + (!parseFloat(a) && "inline" === k.css(e, "display", !1, r))) && + e.getClientRects().length && + ((i = "border-box" === k.css(e, "boxSizing", !1, r)), + (o = s in e) && (a = e[s])), + (a = parseFloat(a) || 0) + + Ye(e, t, n || (i ? "border" : "content"), o, r, a) + + "px" + ); + } + function et(e, t, n, r, i) { + return new et.prototype.init(e, t, n, r, i); + } + (k.extend({ + cssHooks: { + opacity: { + get: function (e, t) { + if (t) { + var n = He(e, "opacity"); + return "" === n ? "1" : n; + } + } + } + }, + cssNumber: { + animationIterationCount: !0, + columnCount: !0, + fillOpacity: !0, + flexGrow: !0, + flexShrink: !0, + fontWeight: !0, + gridArea: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnStart: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowStart: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + widows: !0, + zIndex: !0, + zoom: !0 + }, + cssProps: {}, + style: function (e, t, n, r) { + if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { + var i, + o, + a, + s = V(t), + c = Je.test(t), + u = e.style; + if ( + (c || (t = Ve(s)), + (a = k.cssHooks[t] || k.cssHooks[s]), + void 0 === n) + ) + return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) + ? i + : u[t]; + ("string" === (o = typeof n) && + (i = te.exec(n)) && + i[1] && + ((n = se(e, t, i)), (o = "number")), + null != n && + n === n && + ("number" !== o || + c || + (n += (i && i[3]) || (k.cssNumber[s] ? "" : "px")), + h.clearCloneStyle || + "" !== n || + 0 !== t.indexOf("background") || + (u[t] = "inherit"), + (a && "set" in a && void 0 === (n = a.set(e, n, r))) || + (c ? u.setProperty(t, n) : (u[t] = n)))); + } + }, + css: function (e, t, n, r) { + var i, + o, + a, + s = V(t); + return ( + Je.test(t) || (t = Ve(s)), + (a = k.cssHooks[t] || k.cssHooks[s]) && + "get" in a && + (i = a.get(e, !0, n)), + void 0 === i && (i = He(e, t, r)), + "normal" === i && t in Qe && (i = Qe[t]), + "" === n || n + ? ((o = parseFloat(i)), + !0 === n || isFinite(o) ? o || 0 : i) + : i + ); + } + }), + k.each(["height", "width"], function (e, t) { + k.cssHooks[t] = { + get: function (e, n, r) { + if (n) + return !$e.test(k.css(e, "display")) || + (e.getClientRects().length && + e.getBoundingClientRect().width) + ? Ze(e, t, r) + : Fe(e, Ke, function () { + return Ze(e, t, r); + }); + }, + set: function (e, n, r) { + var i, + o = Ne(e), + a = !h.scrollboxSize() && "absolute" === o.position, + s = + (a || r) && + "border-box" === k.css(e, "boxSizing", !1, o), + c = r ? Ye(e, t, r, s, o) : 0; + return ( + s && + a && + (c -= Math.ceil( + e["offset" + t[0].toUpperCase() + t.slice(1)] - + parseFloat(o[t]) - + Ye(e, t, "border", !1, o) - + 0.5 + )), + c && + (i = te.exec(n)) && + "px" !== (i[3] || "px") && + ((e.style[t] = n), (n = k.css(e, t))), + Xe(0, n, c) + ); + } + }; + }), + (k.cssHooks.marginLeft = ze(h.reliableMarginLeft, function (e, t) { + if (t) + return ( + (parseFloat(He(e, "marginLeft")) || + e.getBoundingClientRect().left - + Fe(e, { marginLeft: 0 }, function () { + return e.getBoundingClientRect().left; + })) + "px" + ); + })), + k.each({ margin: "", padding: "", border: "Width" }, function (e, t) { + ((k.cssHooks[e + t] = { + expand: function (n) { + for ( + var r = 0, + i = {}, + o = "string" === typeof n ? n.split(" ") : [n]; + r < 4; + r++ + ) + i[e + ne[r] + t] = o[r] || o[r - 2] || o[0]; + return i; + } + }), + "margin" !== e && (k.cssHooks[e + t].set = Xe)); + }), + k.fn.extend({ + css: function (e, t) { + return z( + this, + function (e, t, n) { + var r, + i, + o = {}, + a = 0; + if (Array.isArray(t)) { + for (r = Ne(e), i = t.length; a < i; a++) + o[t[a]] = k.css(e, t[a], !1, r); + return o; + } + return void 0 !== n ? k.style(e, t, n) : k.css(e, t); + }, + e, + t, + arguments.length > 1 + ); + } + }), + (k.Tween = et), + (et.prototype = { + constructor: et, + init: function (e, t, n, r, i, o) { + ((this.elem = e), + (this.prop = n), + (this.easing = i || k.easing._default), + (this.options = t), + (this.start = this.now = this.cur()), + (this.end = r), + (this.unit = o || (k.cssNumber[n] ? "" : "px"))); + }, + cur: function () { + var e = et.propHooks[this.prop]; + return e && e.get + ? e.get(this) + : et.propHooks._default.get(this); + }, + run: function (e) { + var t, + n = et.propHooks[this.prop]; + return ( + this.options.duration + ? (this.pos = t = + k.easing[this.easing]( + e, + this.options.duration * e, + 0, + 1, + this.options.duration + )) + : (this.pos = t = e), + (this.now = (this.end - this.start) * t + this.start), + this.options.step && + this.options.step.call(this.elem, this.now, this), + n && n.set ? n.set(this) : et.propHooks._default.set(this), + this + ); + } + }), + (et.prototype.init.prototype = et.prototype), + (et.propHooks = { + _default: { + get: function (e) { + var t; + return 1 !== e.elem.nodeType || + (null != e.elem[e.prop] && null == e.elem.style[e.prop]) + ? e.elem[e.prop] + : (t = k.css(e.elem, e.prop, "")) && "auto" !== t + ? t + : 0; + }, + set: function (e) { + k.fx.step[e.prop] + ? k.fx.step[e.prop](e) + : 1 !== e.elem.nodeType || + (!k.cssHooks[e.prop] && + null == e.elem.style[Ve(e.prop)]) + ? (e.elem[e.prop] = e.now) + : k.style(e.elem, e.prop, e.now + e.unit); + } + } + }), + (et.propHooks.scrollTop = et.propHooks.scrollLeft = + { + set: function (e) { + e.elem.nodeType && + e.elem.parentNode && + (e.elem[e.prop] = e.now); + } + }), + (k.easing = { + linear: function (e) { + return e; + }, + swing: function (e) { + return 0.5 - Math.cos(e * Math.PI) / 2; + }, + _default: "swing" + }), + (k.fx = et.prototype.init), + (k.fx.step = {})); + var tt, + nt, + rt = /^(?:toggle|show|hide)$/, + it = /queueHooks$/; + function ot() { + nt && + (!1 === m.hidden && e.requestAnimationFrame + ? e.requestAnimationFrame(ot) + : e.setTimeout(ot, k.fx.interval), + k.fx.tick()); + } + function at() { + return ( + e.setTimeout(function () { + tt = void 0; + }), + (tt = Date.now()) + ); + } + function st(e, t) { + var n, + r = 0, + i = { height: e }; + for (t = t ? 1 : 0; r < 4; r += 2 - t) + i["margin" + (n = ne[r])] = i["padding" + n] = e; + return (t && (i.opacity = i.width = e), i); + } + function ct(e, t, n) { + for ( + var r, + i = (ut.tweeners[t] || []).concat(ut.tweeners["*"]), + o = 0, + a = i.length; + o < a; + o++ + ) + if ((r = i[o].call(n, t, e))) return r; + } + function ut(e, t, n) { + var r, + i, + o = 0, + a = ut.prefilters.length, + s = k.Deferred().always(function () { + delete c.elem; + }), + c = function () { + if (i) return !1; + for ( + var t = tt || at(), + n = Math.max(0, u.startTime + u.duration - t), + r = 1 - (n / u.duration || 0), + o = 0, + a = u.tweens.length; + o < a; + o++ + ) + u.tweens[o].run(r); + return ( + s.notifyWith(e, [u, r, n]), + r < 1 && a + ? n + : (a || s.notifyWith(e, [u, 1, 0]), + s.resolveWith(e, [u]), + !1) + ); + }, + u = s.promise({ + elem: e, + props: k.extend({}, t), + opts: k.extend( + !0, + { specialEasing: {}, easing: k.easing._default }, + n + ), + originalProperties: t, + originalOptions: n, + startTime: tt || at(), + duration: n.duration, + tweens: [], + createTween: function (t, n) { + var r = k.Tween( + e, + u.opts, + t, + n, + u.opts.specialEasing[t] || u.opts.easing + ); + return (u.tweens.push(r), r); + }, + stop: function (t) { + var n = 0, + r = t ? u.tweens.length : 0; + if (i) return this; + for (i = !0; n < r; n++) u.tweens[n].run(1); + return ( + t + ? (s.notifyWith(e, [u, 1, 0]), + s.resolveWith(e, [u, t])) + : s.rejectWith(e, [u, t]), + this + ); + } + }), + d = u.props; + for ( + (function (e, t) { + var n, r, i, o, a; + for (n in e) + if ( + ((i = t[(r = V(n))]), + (o = e[n]), + Array.isArray(o) && ((i = o[1]), (o = e[n] = o[0])), + n !== r && ((e[r] = o), delete e[n]), + (a = k.cssHooks[r]) && ("expand" in a)) + ) + for (n in ((o = a.expand(o)), delete e[r], o)) + (n in e) || ((e[n] = o[n]), (t[n] = i)); + else t[r] = i; + })(d, u.opts.specialEasing); + o < a; + o++ + ) + if ((r = ut.prefilters[o].call(u, e, d, u.opts))) + return ( + f(r.stop) && + (k._queueHooks(u.elem, u.opts.queue).stop = + r.stop.bind(r)), + r + ); + return ( + k.map(d, ct, u), + f(u.opts.start) && u.opts.start.call(e, u), + u + .progress(u.opts.progress) + .done(u.opts.done, u.opts.complete) + .fail(u.opts.fail) + .always(u.opts.always), + k.fx.timer(k.extend(c, { elem: e, anim: u, queue: u.opts.queue })), + u + ); + } + ((k.Animation = k.extend(ut, { + tweeners: { + "*": [ + function (e, t) { + var n = this.createTween(e, t); + return (se(n.elem, e, te.exec(t), n), n); + } + ] + }, + tweener: function (e, t) { + f(e) ? ((t = e), (e = ["*"])) : (e = e.match(D)); + for (var n, r = 0, i = e.length; r < i; r++) + ((n = e[r]), + (ut.tweeners[n] = ut.tweeners[n] || []), + ut.tweeners[n].unshift(t)); + }, + prefilters: [ + function (e, t, n) { + var r, + i, + o, + a, + s, + c, + u, + d, + l = "width" in t || "height" in t, + p = this, + h = {}, + f = e.style, + v = e.nodeType && ae(e), + m = K.get(e, "fxshow"); + for (r in (n.queue || + (null == (a = k._queueHooks(e, "fx")).unqueued && + ((a.unqueued = 0), + (s = a.empty.fire), + (a.empty.fire = function () { + a.unqueued || s(); + })), + a.unqueued++, + p.always(function () { + p.always(function () { + (a.unqueued--, + k.queue(e, "fx").length || a.empty.fire()); + }); + })), + t)) + if (((i = t[r]), rt.test(i))) { + if ( + (delete t[r], + (o = o || "toggle" === i), + i === (v ? "hide" : "show")) + ) { + if ("show" !== i || !m || void 0 === m[r]) continue; + v = !0; + } + h[r] = (m && m[r]) || k.style(e, r); + } + if ((c = !k.isEmptyObject(t)) || !k.isEmptyObject(h)) + for (r in (l && + 1 === e.nodeType && + ((n.overflow = [f.overflow, f.overflowX, f.overflowY]), + null == (u = m && m.display) && + (u = K.get(e, "display")), + "none" === (d = k.css(e, "display")) && + (u + ? (d = u) + : (de([e], !0), + (u = e.style.display || u), + (d = k.css(e, "display")), + de([e]))), + ("inline" === d || + ("inline-block" === d && null != u)) && + "none" === k.css(e, "float") && + (c || + (p.done(function () { + f.display = u; + }), + null == u && + ((d = f.display), + (u = "none" === d ? "" : d))), + (f.display = "inline-block"))), + n.overflow && + ((f.overflow = "hidden"), + p.always(function () { + ((f.overflow = n.overflow[0]), + (f.overflowX = n.overflow[1]), + (f.overflowY = n.overflow[2])); + })), + (c = !1), + h)) + (c || + (m + ? "hidden" in m && (v = m.hidden) + : (m = K.access(e, "fxshow", { display: u })), + o && (m.hidden = !v), + v && de([e], !0), + p.done(function () { + for (r in (v || de([e]), + K.remove(e, "fxshow"), + h)) + k.style(e, r, h[r]); + })), + (c = ct(v ? m[r] : 0, r, p)), + r in m || + ((m[r] = c.start), + v && ((c.end = c.start), (c.start = 0)))); + } + ], + prefilter: function (e, t) { + t ? ut.prefilters.unshift(e) : ut.prefilters.push(e); + } + })), + (k.speed = function (e, t, n) { + var r = + e && "object" === typeof e + ? k.extend({}, e) + : { + complete: n || (!n && t) || (f(e) && e), + duration: e, + easing: (n && t) || (t && !f(t) && t) + }; + return ( + k.fx.off + ? (r.duration = 0) + : "number" !== typeof r.duration && + (r.duration in k.fx.speeds + ? (r.duration = k.fx.speeds[r.duration]) + : (r.duration = k.fx.speeds._default)), + (null != r.queue && !0 !== r.queue) || (r.queue = "fx"), + (r.old = r.complete), + (r.complete = function () { + (f(r.old) && r.old.call(this), + r.queue && k.dequeue(this, r.queue)); + }), + r + ); + }), + k.fn.extend({ + fadeTo: function (e, t, n, r) { + return this.filter(ae) + .css("opacity", 0) + .show() + .end() + .animate({ opacity: t }, e, n, r); + }, + animate: function (e, t, n, r) { + var i = k.isEmptyObject(e), + o = k.speed(t, n, r), + a = function () { + var t = ut(this, k.extend({}, e), o); + (i || K.get(this, "finish")) && t.stop(!0); + }; + return ( + (a.finish = a), + i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) + ); + }, + stop: function (e, t, n) { + var r = function (e) { + var t = e.stop; + (delete e.stop, t(n)); + }; + return ( + "string" !== typeof e && ((n = t), (t = e), (e = void 0)), + t && this.queue(e || "fx", []), + this.each(function () { + var t = !0, + i = null != e && e + "queueHooks", + o = k.timers, + a = K.get(this); + if (i) a[i] && a[i].stop && r(a[i]); + else + for (i in a) + a[i] && a[i].stop && it.test(i) && r(a[i]); + for (i = o.length; i--; ) + o[i].elem !== this || + (null != e && o[i].queue !== e) || + (o[i].anim.stop(n), (t = !1), o.splice(i, 1)); + (!t && n) || k.dequeue(this, e); + }) + ); + }, + finish: function (e) { + return ( + !1 !== e && (e = e || "fx"), + this.each(function () { + var t, + n = K.get(this), + r = n[e + "queue"], + i = n[e + "queueHooks"], + o = k.timers, + a = r ? r.length : 0; + for ( + n.finish = !0, + k.queue(this, e, []), + i && i.stop && i.stop.call(this, !0), + t = o.length; + t--; + + ) + o[t].elem === this && + o[t].queue === e && + (o[t].anim.stop(!0), o.splice(t, 1)); + for (t = 0; t < a; t++) + r[t] && r[t].finish && r[t].finish.call(this); + delete n.finish; + }) + ); + } + }), + k.each(["toggle", "show", "hide"], function (e, t) { + var n = k.fn[t]; + k.fn[t] = function (e, r, i) { + return null == e || "boolean" === typeof e + ? n.apply(this, arguments) + : this.animate(st(t, !0), e, r, i); + }; + }), + k.each( + { + slideDown: st("show"), + slideUp: st("hide"), + slideToggle: st("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } + }, + function (e, t) { + k.fn[e] = function (e, n, r) { + return this.animate(t, e, n, r); + }; + } + ), + (k.timers = []), + (k.fx.tick = function () { + var e, + t = 0, + n = k.timers; + for (tt = Date.now(); t < n.length; t++) + (e = n[t])() || n[t] !== e || n.splice(t--, 1); + (n.length || k.fx.stop(), (tt = void 0)); + }), + (k.fx.timer = function (e) { + (k.timers.push(e), k.fx.start()); + }), + (k.fx.interval = 13), + (k.fx.start = function () { + nt || ((nt = !0), ot()); + }), + (k.fx.stop = function () { + nt = null; + }), + (k.fx.speeds = { slow: 600, fast: 200, _default: 400 }), + (k.fn.delay = function (t, n) { + return ( + (t = (k.fx && k.fx.speeds[t]) || t), + (n = n || "fx"), + this.queue(n, function (n, r) { + var i = e.setTimeout(n, t); + r.stop = function () { + e.clearTimeout(i); + }; + }) + ); + }), + (function () { + var e = m.createElement("input"), + t = m + .createElement("select") + .appendChild(m.createElement("option")); + ((e.type = "checkbox"), + (h.checkOn = "" !== e.value), + (h.optSelected = t.selected), + ((e = m.createElement("input")).value = "t"), + (e.type = "radio"), + (h.radioValue = "t" === e.value)); + })()); + var dt, + lt = k.expr.attrHandle; + (k.fn.extend({ + attr: function (e, t) { + return z(this, k.attr, e, t, arguments.length > 1); + }, + removeAttr: function (e) { + return this.each(function () { + k.removeAttr(this, e); + }); + } + }), + k.extend({ + attr: function (e, t, n) { + var r, + i, + o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) + return "undefined" === typeof e.getAttribute + ? k.prop(e, t, n) + : ((1 === o && k.isXMLDoc(e)) || + (i = + k.attrHooks[t.toLowerCase()] || + (k.expr.match.bool.test(t) ? dt : void 0)), + void 0 !== n + ? null === n + ? void k.removeAttr(e, t) + : i && + "set" in i && + void 0 !== (r = i.set(e, n, t)) + ? r + : (e.setAttribute(t, n + ""), n) + : i && "get" in i && null !== (r = i.get(e, t)) + ? r + : null == (r = k.find.attr(e, t)) + ? void 0 + : r); + }, + attrHooks: { + type: { + set: function (e, t) { + if (!h.radioValue && "radio" === t && E(e, "input")) { + var n = e.value; + return ( + e.setAttribute("type", t), + n && (e.value = n), + t + ); + } + } + } + }, + removeAttr: function (e, t) { + var n, + r = 0, + i = t && t.match(D); + if (i && 1 === e.nodeType) + for (; (n = i[r++]); ) e.removeAttribute(n); + } + }), + (dt = { + set: function (e, t, n) { + return ( + !1 === t ? k.removeAttr(e, n) : e.setAttribute(n, n), + n + ); + } + }), + k.each(k.expr.match.bool.source.match(/\w+/g), function (e, t) { + var n = lt[t] || k.find.attr; + lt[t] = function (e, t, r) { + var i, + o, + a = t.toLowerCase(); + return ( + r || + ((o = lt[a]), + (lt[a] = i), + (i = null != n(e, t, r) ? a : null), + (lt[a] = o)), + i + ); + }; + })); + var pt = /^(?:input|select|textarea|button)$/i, + ht = /^(?:a|area)$/i; + function ft(e) { + return (e.match(D) || []).join(" "); + } + function vt(e) { + return (e.getAttribute && e.getAttribute("class")) || ""; + } + function mt(e) { + return Array.isArray(e) + ? e + : ("string" === typeof e && e.match(D)) || []; + } + (k.fn.extend({ + prop: function (e, t) { + return z(this, k.prop, e, t, arguments.length > 1); + }, + removeProp: function (e) { + return this.each(function () { + delete this[k.propFix[e] || e]; + }); + } + }), + k.extend({ + prop: function (e, t, n) { + var r, + i, + o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) + return ( + (1 === o && k.isXMLDoc(e)) || + ((t = k.propFix[t] || t), (i = k.propHooks[t])), + void 0 !== n + ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) + ? r + : (e[t] = n) + : i && "get" in i && null !== (r = i.get(e, t)) + ? r + : e[t] + ); + }, + propHooks: { + tabIndex: { + get: function (e) { + var t = k.find.attr(e, "tabindex"); + return t + ? parseInt(t, 10) + : pt.test(e.nodeName) || + (ht.test(e.nodeName) && e.href) + ? 0 + : -1; + } + } + }, + propFix: { for: "htmlFor", class: "className" } + }), + h.optSelected || + (k.propHooks.selected = { + get: function (e) { + var t = e.parentNode; + return ( + t && t.parentNode && t.parentNode.selectedIndex, + null + ); + }, + set: function (e) { + var t = e.parentNode; + t && + (t.selectedIndex, + t.parentNode && t.parentNode.selectedIndex); + } + }), + k.each( + [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" + ], + function () { + k.propFix[this.toLowerCase()] = this; + } + ), + k.fn.extend({ + addClass: function (e) { + var t, + n, + r, + i, + o, + a, + s, + c = 0; + if (f(e)) + return this.each(function (t) { + k(this).addClass(e.call(this, t, vt(this))); + }); + if ((t = mt(e)).length) + for (; (n = this[c++]); ) + if ( + ((i = vt(n)), + (r = 1 === n.nodeType && " " + ft(i) + " ")) + ) { + for (a = 0; (o = t[a++]); ) + r.indexOf(" " + o + " ") < 0 && (r += o + " "); + i !== (s = ft(r)) && n.setAttribute("class", s); + } + return this; + }, + removeClass: function (e) { + var t, + n, + r, + i, + o, + a, + s, + c = 0; + if (f(e)) + return this.each(function (t) { + k(this).removeClass(e.call(this, t, vt(this))); + }); + if (!arguments.length) return this.attr("class", ""); + if ((t = mt(e)).length) + for (; (n = this[c++]); ) + if ( + ((i = vt(n)), + (r = 1 === n.nodeType && " " + ft(i) + " ")) + ) { + for (a = 0; (o = t[a++]); ) + for (; r.indexOf(" " + o + " ") > -1; ) + r = r.replace(" " + o + " ", " "); + i !== (s = ft(r)) && n.setAttribute("class", s); + } + return this; + }, + toggleClass: function (e, t) { + var n = typeof e, + r = "string" === n || Array.isArray(e); + return "boolean" === typeof t && r + ? t + ? this.addClass(e) + : this.removeClass(e) + : f(e) + ? this.each(function (n) { + k(this).toggleClass( + e.call(this, n, vt(this), t), + t + ); + }) + : this.each(function () { + var t, i, o, a; + if (r) + for ( + i = 0, o = k(this), a = mt(e); + (t = a[i++]); + + ) + o.hasClass(t) + ? o.removeClass(t) + : o.addClass(t); + else + (void 0 !== e && "boolean" !== n) || + ((t = vt(this)) && + K.set(this, "__className__", t), + this.setAttribute && + this.setAttribute( + "class", + t || !1 === e + ? "" + : K.get( + this, + "__className__" + ) || "" + )); + }); + }, + hasClass: function (e) { + var t, + n, + r = 0; + for (t = " " + e + " "; (n = this[r++]); ) + if ( + 1 === n.nodeType && + (" " + ft(vt(n)) + " ").indexOf(t) > -1 + ) + return !0; + return !1; + } + })); + var gt = /\r/g; + (k.fn.extend({ + val: function (e) { + var t, + n, + r, + i = this[0]; + return arguments.length + ? ((r = f(e)), + this.each(function (n) { + var i; + 1 === this.nodeType && + (null == (i = r ? e.call(this, n, k(this).val()) : e) + ? (i = "") + : "number" === typeof i + ? (i += "") + : Array.isArray(i) && + (i = k.map(i, function (e) { + return null == e ? "" : e + ""; + })), + ((t = + k.valHooks[this.type] || + k.valHooks[this.nodeName.toLowerCase()]) && + "set" in t && + void 0 !== t.set(this, i, "value")) || + (this.value = i)); + })) + : i + ? (t = + k.valHooks[i.type] || + k.valHooks[i.nodeName.toLowerCase()]) && + "get" in t && + void 0 !== (n = t.get(i, "value")) + ? n + : "string" === typeof (n = i.value) + ? n.replace(gt, "") + : null == n + ? "" + : n + : void 0; + } + }), + k.extend({ + valHooks: { + option: { + get: function (e) { + var t = k.find.attr(e, "value"); + return null != t ? t : ft(k.text(e)); + } + }, + select: { + get: function (e) { + var t, + n, + r, + i = e.options, + o = e.selectedIndex, + a = "select-one" === e.type, + s = a ? null : [], + c = a ? o + 1 : i.length; + for (r = o < 0 ? c : a ? o : 0; r < c; r++) + if ( + ((n = i[r]).selected || r === o) && + !n.disabled && + (!n.parentNode.disabled || + !E(n.parentNode, "optgroup")) + ) { + if (((t = k(n).val()), a)) return t; + s.push(t); + } + return s; + }, + set: function (e, t) { + for ( + var n, + r, + i = e.options, + o = k.makeArray(t), + a = i.length; + a--; + + ) + ((r = i[a]).selected = + k.inArray(k.valHooks.option.get(r), o) > -1) && + (n = !0); + return (n || (e.selectedIndex = -1), o); + } + } + } + }), + k.each(["radio", "checkbox"], function () { + ((k.valHooks[this] = { + set: function (e, t) { + if (Array.isArray(t)) + return (e.checked = k.inArray(k(e).val(), t) > -1); + } + }), + h.checkOn || + (k.valHooks[this].get = function (e) { + return null === e.getAttribute("value") + ? "on" + : e.value; + })); + }), + (h.focusin = "onfocusin" in e)); + var yt = /^(?:focusinfocus|focusoutblur)$/, + wt = function (e) { + e.stopPropagation(); + }; + (k.extend(k.event, { + trigger: function (t, n, r, i) { + var o, + a, + s, + c, + u, + l, + p, + h, + g = [r || m], + y = d.call(t, "type") ? t.type : t, + w = d.call(t, "namespace") ? t.namespace.split(".") : []; + if ( + ((a = h = s = r = r || m), + 3 !== r.nodeType && + 8 !== r.nodeType && + !yt.test(y + k.event.triggered) && + (y.indexOf(".") > -1 && + ((w = y.split(".")), (y = w.shift()), w.sort()), + (u = y.indexOf(":") < 0 && "on" + y), + ((t = t[k.expando] + ? t + : new k.Event( + y, + "object" === typeof t && t + )).isTrigger = i ? 2 : 3), + (t.namespace = w.join(".")), + (t.rnamespace = t.namespace + ? new RegExp( + "(^|\\.)" + w.join("\\.(?:.*\\.|)") + "(\\.|$)" + ) + : null), + (t.result = void 0), + t.target || (t.target = r), + (n = null == n ? [t] : k.makeArray(n, [t])), + (p = k.event.special[y] || {}), + i || !p.trigger || !1 !== p.trigger.apply(r, n))) + ) { + if (!i && !p.noBubble && !v(r)) { + for ( + c = p.delegateType || y, + yt.test(c + y) || (a = a.parentNode); + a; + a = a.parentNode + ) + (g.push(a), (s = a)); + s === (r.ownerDocument || m) && + g.push(s.defaultView || s.parentWindow || e); + } + for (o = 0; (a = g[o++]) && !t.isPropagationStopped(); ) + ((h = a), + (t.type = o > 1 ? c : p.bindType || y), + (l = + (K.get(a, "events") || Object.create(null))[ + t.type + ] && K.get(a, "handle")) && l.apply(a, n), + (l = u && a[u]) && + l.apply && + $(a) && + ((t.result = l.apply(a, n)), + !1 === t.result && t.preventDefault())); + return ( + (t.type = y), + i || + t.isDefaultPrevented() || + (p._default && !1 !== p._default.apply(g.pop(), n)) || + !$(r) || + (u && + f(r[y]) && + !v(r) && + ((s = r[u]) && (r[u] = null), + (k.event.triggered = y), + t.isPropagationStopped() && + h.addEventListener(y, wt), + r[y](), + t.isPropagationStopped() && + h.removeEventListener(y, wt), + (k.event.triggered = void 0), + s && (r[u] = s))), + t.result + ); + } + }, + simulate: function (e, t, n) { + var r = k.extend(new k.Event(), n, { type: e, isSimulated: !0 }); + k.event.trigger(r, null, t); + } + }), + k.fn.extend({ + trigger: function (e, t) { + return this.each(function () { + k.event.trigger(e, t, this); + }); + }, + triggerHandler: function (e, t) { + var n = this[0]; + if (n) return k.event.trigger(e, t, n, !0); + } + }), + h.focusin || + k.each({ focus: "focusin", blur: "focusout" }, function (e, t) { + var n = function (e) { + k.event.simulate(t, e.target, k.event.fix(e)); + }; + k.event.special[t] = { + setup: function () { + var r = this.ownerDocument || this.document || this, + i = K.access(r, t); + (i || r.addEventListener(e, n, !0), + K.access(r, t, (i || 0) + 1)); + }, + teardown: function () { + var r = this.ownerDocument || this.document || this, + i = K.access(r, t) - 1; + i + ? K.access(r, t, i) + : (r.removeEventListener(e, n, !0), K.remove(r, t)); + } + }; + })); + var bt = e.location, + kt = { guid: Date.now() }, + xt = /\?/; + k.parseXML = function (t) { + var n; + if (!t || "string" !== typeof t) return null; + try { + n = new e.DOMParser().parseFromString(t, "text/xml"); + } catch (r) { + n = void 0; + } + return ( + (n && !n.getElementsByTagName("parsererror").length) || + k.error("Invalid XML: " + t), + n + ); + }; + var _t = /\[\]$/, + Ct = /\r?\n/g, + It = /^(?:submit|button|image|reset|file)$/i, + St = /^(?:input|select|textarea|keygen)/i; + function Et(e, t, n, r) { + var i; + if (Array.isArray(t)) + k.each(t, function (t, i) { + n || _t.test(e) + ? r(e, i) + : Et( + e + + "[" + + ("object" === typeof i && null != i ? t : "") + + "]", + i, + n, + r + ); + }); + else if (n || "object" !== w(t)) r(e, t); + else for (i in t) Et(e + "[" + i + "]", t[i], n, r); + } + ((k.param = function (e, t) { + var n, + r = [], + i = function (e, t) { + var n = f(t) ? t() : t; + r[r.length] = + encodeURIComponent(e) + + "=" + + encodeURIComponent(null == n ? "" : n); + }; + if (null == e) return ""; + if (Array.isArray(e) || (e.jquery && !k.isPlainObject(e))) + k.each(e, function () { + i(this.name, this.value); + }); + else for (n in e) Et(n, e[n], t, i); + return r.join("&"); + }), + k.fn.extend({ + serialize: function () { + return k.param(this.serializeArray()); + }, + serializeArray: function () { + return this.map(function () { + var e = k.prop(this, "elements"); + return e ? k.makeArray(e) : this; + }) + .filter(function () { + var e = this.type; + return ( + this.name && + !k(this).is(":disabled") && + St.test(this.nodeName) && + !It.test(e) && + (this.checked || !le.test(e)) + ); + }) + .map(function (e, t) { + var n = k(this).val(); + return null == n + ? null + : Array.isArray(n) + ? k.map(n, function (e) { + return { + name: t.name, + value: e.replace(Ct, "\r\n") + }; + }) + : { name: t.name, value: n.replace(Ct, "\r\n") }; + }) + .get(); + } + })); + var Wt = /%20/g, + Tt = /#.*$/, + At = /([?&])_=[^&]*/, + Pt = /^(.*?):[ \t]*([^\r\n]*)$/gm, + Mt = /^(?:GET|HEAD)$/, + Rt = /^\/\//, + Ot = {}, + Dt = {}, + Lt = "*/".concat("*"), + Bt = m.createElement("a"); + function Nt(e) { + return function (t, n) { + "string" !== typeof t && ((n = t), (t = "*")); + var r, + i = 0, + o = t.toLowerCase().match(D) || []; + if (f(n)) + for (; (r = o[i++]); ) + "+" === r[0] + ? ((r = r.slice(1) || "*"), + (e[r] = e[r] || []).unshift(n)) + : (e[r] = e[r] || []).push(n); + }; + } + function Ft(e, t, n, r) { + var i = {}, + o = e === Dt; + function a(s) { + var c; + return ( + (i[s] = !0), + k.each(e[s] || [], function (e, s) { + var u = s(t, n, r); + return "string" !== typeof u || o || i[u] + ? o + ? !(c = u) + : void 0 + : (t.dataTypes.unshift(u), a(u), !1); + }), + c + ); + } + return a(t.dataTypes[0]) || (!i["*"] && a("*")); + } + function jt(e, t) { + var n, + r, + i = k.ajaxSettings.flatOptions || {}; + for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); + return (r && k.extend(!0, e, r), e); + } + ((Bt.href = bt.href), + k.extend({ + active: 0, + lastModified: {}, + etag: {}, + ajaxSettings: { + url: bt.href, + type: "GET", + isLocal: + /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test( + bt.protocol + ), + global: !0, + processData: !0, + async: !0, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + accepts: { + "*": Lt, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + converters: { + "* text": String, + "text html": !0, + "text json": JSON.parse, + "text xml": k.parseXML + }, + flatOptions: { url: !0, context: !0 } + }, + ajaxSetup: function (e, t) { + return t ? jt(jt(e, k.ajaxSettings), t) : jt(k.ajaxSettings, e); + }, + ajaxPrefilter: Nt(Ot), + ajaxTransport: Nt(Dt), + ajax: function (t, n) { + ("object" === typeof t && ((n = t), (t = void 0)), + (n = n || {})); + var r, + i, + o, + a, + s, + c, + u, + d, + l, + p, + h = k.ajaxSetup({}, n), + f = h.context || h, + v = h.context && (f.nodeType || f.jquery) ? k(f) : k.event, + g = k.Deferred(), + y = k.Callbacks("once memory"), + w = h.statusCode || {}, + b = {}, + x = {}, + _ = "canceled", + C = { + readyState: 0, + getResponseHeader: function (e) { + var t; + if (u) { + if (!a) + for (a = {}; (t = Pt.exec(o)); ) + a[t[1].toLowerCase() + " "] = ( + a[t[1].toLowerCase() + " "] || [] + ).concat(t[2]); + t = a[e.toLowerCase() + " "]; + } + return null == t ? null : t.join(", "); + }, + getAllResponseHeaders: function () { + return u ? o : null; + }, + setRequestHeader: function (e, t) { + return ( + null == u && + ((e = x[e.toLowerCase()] = + x[e.toLowerCase()] || e), + (b[e] = t)), + this + ); + }, + overrideMimeType: function (e) { + return (null == u && (h.mimeType = e), this); + }, + statusCode: function (e) { + var t; + if (e) + if (u) C.always(e[C.status]); + else for (t in e) w[t] = [w[t], e[t]]; + return this; + }, + abort: function (e) { + var t = e || _; + return (r && r.abort(t), I(0, t), this); + } + }; + if ( + (g.promise(C), + (h.url = ((t || h.url || bt.href) + "").replace( + Rt, + bt.protocol + "//" + )), + (h.type = n.method || n.type || h.method || h.type), + (h.dataTypes = (h.dataType || "*") + .toLowerCase() + .match(D) || [""]), + null == h.crossDomain) + ) { + c = m.createElement("a"); + try { + ((c.href = h.url), + (c.href = c.href), + (h.crossDomain = + Bt.protocol + "//" + Bt.host !== + c.protocol + "//" + c.host)); + } catch (S) { + h.crossDomain = !0; + } + } + if ( + (h.data && + h.processData && + "string" !== typeof h.data && + (h.data = k.param(h.data, h.traditional)), + Ft(Ot, h, n, C), + u) + ) + return C; + for (l in ((d = k.event && h.global) && + 0 === k.active++ && + k.event.trigger("ajaxStart"), + (h.type = h.type.toUpperCase()), + (h.hasContent = !Mt.test(h.type)), + (i = h.url.replace(Tt, "")), + h.hasContent + ? h.data && + h.processData && + 0 === + (h.contentType || "").indexOf( + "application/x-www-form-urlencoded" + ) && + (h.data = h.data.replace(Wt, "+")) + : ((p = h.url.slice(i.length)), + h.data && + (h.processData || "string" === typeof h.data) && + ((i += (xt.test(i) ? "&" : "?") + h.data), + delete h.data), + !1 === h.cache && + ((i = i.replace(At, "$1")), + (p = + (xt.test(i) ? "&" : "?") + "_=" + kt.guid++ + p)), + (h.url = i + p)), + h.ifModified && + (k.lastModified[i] && + C.setRequestHeader( + "If-Modified-Since", + k.lastModified[i] + ), + k.etag[i] && + C.setRequestHeader("If-None-Match", k.etag[i])), + ((h.data && h.hasContent && !1 !== h.contentType) || + n.contentType) && + C.setRequestHeader("Content-Type", h.contentType), + C.setRequestHeader( + "Accept", + h.dataTypes[0] && h.accepts[h.dataTypes[0]] + ? h.accepts[h.dataTypes[0]] + + ("*" !== h.dataTypes[0] + ? ", " + Lt + "; q=0.01" + : "") + : h.accepts["*"] + ), + h.headers)) + C.setRequestHeader(l, h.headers[l]); + if (h.beforeSend && (!1 === h.beforeSend.call(f, C, h) || u)) + return C.abort(); + if ( + ((_ = "abort"), + y.add(h.complete), + C.done(h.success), + C.fail(h.error), + (r = Ft(Dt, h, n, C))) + ) { + if ( + ((C.readyState = 1), + d && v.trigger("ajaxSend", [C, h]), + u) + ) + return C; + h.async && + h.timeout > 0 && + (s = e.setTimeout(function () { + C.abort("timeout"); + }, h.timeout)); + try { + ((u = !1), r.send(b, I)); + } catch (S) { + if (u) throw S; + I(-1, S); + } + } else I(-1, "No Transport"); + function I(t, n, a, c) { + var l, + p, + m, + b, + x, + _ = n; + u || + ((u = !0), + s && e.clearTimeout(s), + (r = void 0), + (o = c || ""), + (C.readyState = t > 0 ? 4 : 0), + (l = (t >= 200 && t < 300) || 304 === t), + a && + (b = (function (e, t, n) { + for ( + var r, + i, + o, + a, + s = e.contents, + c = e.dataTypes; + "*" === c[0]; + + ) + (c.shift(), + void 0 === r && + (r = + e.mimeType || + t.getResponseHeader( + "Content-Type" + ))); + if (r) + for (i in s) + if (s[i] && s[i].test(r)) { + c.unshift(i); + break; + } + if (c[0] in n) o = c[0]; + else { + for (i in n) { + if ( + !c[0] || + e.converters[i + " " + c[0]] + ) { + o = i; + break; + } + a || (a = i); + } + o = o || a; + } + if (o) + return (o !== c[0] && c.unshift(o), n[o]); + })(h, C, a)), + !l && + k.inArray("script", h.dataTypes) > -1 && + (h.converters["text script"] = function () {}), + (b = (function (e, t, n, r) { + var i, + o, + a, + s, + c, + u = {}, + d = e.dataTypes.slice(); + if (d[1]) + for (a in e.converters) + u[a.toLowerCase()] = e.converters[a]; + for (o = d.shift(); o; ) + if ( + (e.responseFields[o] && + (n[e.responseFields[o]] = t), + !c && + r && + e.dataFilter && + (t = e.dataFilter(t, e.dataType)), + (c = o), + (o = d.shift())) + ) + if ("*" === o) o = c; + else if ("*" !== c && c !== o) { + if ( + !(a = u[c + " " + o] || u["* " + o]) + ) + for (i in u) + if ( + (s = i.split(" "))[1] === + o && + (a = + u[c + " " + s[0]] || + u["* " + s[0]]) + ) { + !0 === a + ? (a = u[i]) + : !0 !== u[i] && + ((o = s[0]), + d.unshift(s[1])); + break; + } + if (!0 !== a) + if (a && e.throws) t = a(t); + else + try { + t = a(t); + } catch (S) { + return { + state: "parsererror", + error: a + ? S + : "No conversion from " + + c + + " to " + + o + }; + } + } + return { state: "success", data: t }; + })(h, b, C, l)), + l + ? (h.ifModified && + ((x = C.getResponseHeader("Last-Modified")) && + (k.lastModified[i] = x), + (x = C.getResponseHeader("etag")) && + (k.etag[i] = x)), + 204 === t || "HEAD" === h.type + ? (_ = "nocontent") + : 304 === t + ? (_ = "notmodified") + : ((_ = b.state), + (p = b.data), + (l = !(m = b.error)))) + : ((m = _), + (!t && _) || ((_ = "error"), t < 0 && (t = 0))), + (C.status = t), + (C.statusText = (n || _) + ""), + l + ? g.resolveWith(f, [p, _, C]) + : g.rejectWith(f, [C, _, m]), + C.statusCode(w), + (w = void 0), + d && + v.trigger(l ? "ajaxSuccess" : "ajaxError", [ + C, + h, + l ? p : m + ]), + y.fireWith(f, [C, _]), + d && + (v.trigger("ajaxComplete", [C, h]), + --k.active || k.event.trigger("ajaxStop"))); + } + return C; + }, + getJSON: function (e, t, n) { + return k.get(e, t, n, "json"); + }, + getScript: function (e, t) { + return k.get(e, void 0, t, "script"); + } + }), + k.each(["get", "post"], function (e, t) { + k[t] = function (e, n, r, i) { + return ( + f(n) && ((i = i || r), (r = n), (n = void 0)), + k.ajax( + k.extend( + { + url: e, + type: t, + dataType: i, + data: n, + success: r + }, + k.isPlainObject(e) && e + ) + ) + ); + }; + }), + k.ajaxPrefilter(function (e) { + var t; + for (t in e.headers) + "content-type" === t.toLowerCase() && + (e.contentType = e.headers[t] || ""); + }), + (k._evalUrl = function (e, t, n) { + return k.ajax({ + url: e, + type: "GET", + dataType: "script", + cache: !0, + async: !1, + global: !1, + converters: { "text script": function () {} }, + dataFilter: function (e) { + k.globalEval(e, t, n); + } + }); + }), + k.fn.extend({ + wrapAll: function (e) { + var t; + return ( + this[0] && + (f(e) && (e = e.call(this[0])), + (t = k(e, this[0].ownerDocument).eq(0).clone(!0)), + this[0].parentNode && t.insertBefore(this[0]), + t + .map(function () { + for (var e = this; e.firstElementChild; ) + e = e.firstElementChild; + return e; + }) + .append(this)), + this + ); + }, + wrapInner: function (e) { + return f(e) + ? this.each(function (t) { + k(this).wrapInner(e.call(this, t)); + }) + : this.each(function () { + var t = k(this), + n = t.contents(); + n.length ? n.wrapAll(e) : t.append(e); + }); + }, + wrap: function (e) { + var t = f(e); + return this.each(function (n) { + k(this).wrapAll(t ? e.call(this, n) : e); + }); + }, + unwrap: function (e) { + return ( + this.parent(e) + .not("body") + .each(function () { + k(this).replaceWith(this.childNodes); + }), + this + ); + } + }), + (k.expr.pseudos.hidden = function (e) { + return !k.expr.pseudos.visible(e); + }), + (k.expr.pseudos.visible = function (e) { + return !!( + e.offsetWidth || + e.offsetHeight || + e.getClientRects().length + ); + }), + (k.ajaxSettings.xhr = function () { + try { + return new e.XMLHttpRequest(); + } catch (t) {} + })); + var Ht = { 0: 200, 1223: 204 }, + zt = k.ajaxSettings.xhr(); + ((h.cors = !!zt && "withCredentials" in zt), + (h.ajax = zt = !!zt), + k.ajaxTransport(function (t) { + var n, r; + if (h.cors || (zt && !t.crossDomain)) + return { + send: function (i, o) { + var a, + s = t.xhr(); + if ( + (s.open( + t.type, + t.url, + t.async, + t.username, + t.password + ), + t.xhrFields) + ) + for (a in t.xhrFields) s[a] = t.xhrFields[a]; + for (a in (t.mimeType && + s.overrideMimeType && + s.overrideMimeType(t.mimeType), + t.crossDomain || + i["X-Requested-With"] || + (i["X-Requested-With"] = "XMLHttpRequest"), + i)) + s.setRequestHeader(a, i[a]); + ((n = function (e) { + return function () { + n && + ((n = + r = + s.onload = + s.onerror = + s.onabort = + s.ontimeout = + s.onreadystatechange = + null), + "abort" === e + ? s.abort() + : "error" === e + ? "number" !== typeof s.status + ? o(0, "error") + : o(s.status, s.statusText) + : o( + Ht[s.status] || s.status, + s.statusText, + "text" !== + (s.responseType || + "text") || + "string" !== + typeof s.responseText + ? { binary: s.response } + : { text: s.responseText }, + s.getAllResponseHeaders() + )); + }; + }), + (s.onload = n()), + (r = s.onerror = s.ontimeout = n("error")), + void 0 !== s.onabort + ? (s.onabort = r) + : (s.onreadystatechange = function () { + 4 === s.readyState && + e.setTimeout(function () { + n && r(); + }); + }), + (n = n("abort"))); + try { + s.send((t.hasContent && t.data) || null); + } catch (c) { + if (n) throw c; + } + }, + abort: function () { + n && n(); + } + }; + }), + k.ajaxPrefilter(function (e) { + e.crossDomain && (e.contents.script = !1); + }), + k.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { script: /\b(?:java|ecma)script\b/ }, + converters: { + "text script": function (e) { + return (k.globalEval(e), e); + } + } + }), + k.ajaxPrefilter("script", function (e) { + (void 0 === e.cache && (e.cache = !1), + e.crossDomain && (e.type = "GET")); + }), + k.ajaxTransport("script", function (e) { + var t, n; + if (e.crossDomain || e.scriptAttrs) + return { + send: function (r, i) { + ((t = k(" + + + + + +
            + + diff --git a/angular/start/workspace/manifest.json b/angular/start/workspace/manifest.json new file mode 100644 index 0000000..4a8a56e --- /dev/null +++ b/angular/start/workspace/manifest.json @@ -0,0 +1,25 @@ +{ + "short_name": "io.Connect Workspaces", + "name": "io.Connect Workspaces", + "icons": [ + { + "src": "favicon.ico", + "sizes": "64x64 32x32 24x24 16x16", + "type": "image/x-icon" + }, + { + "src": "logo192.png", + "type": "image/png", + "sizes": "192x192" + }, + { + "src": "logo512.png", + "type": "image/png", + "sizes": "512x512" + } + ], + "start_url": ".", + "display": "standalone", + "theme_color": "#000000", + "background_color": "#ffffff" +} diff --git a/angular/start/workspace/package-lock.json b/angular/start/workspace/package-lock.json new file mode 100644 index 0000000..77651e8 --- /dev/null +++ b/angular/start/workspace/package-lock.json @@ -0,0 +1,258 @@ +{ + "name": "workspace", + "version": "1.0.0", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "workspace", + "version": "1.0.0", + "license": "ISC", + "devDependencies": { + "http-server": "^0.12.3" + } + }, + "node_modules/async": { + "version": "2.6.3", + "resolved": "https://registry.npmjs.org/async/-/async-2.6.3.tgz", + "integrity": "sha512-zflvls11DCy+dQWzTW2dzuilv8Z5X/pjfmZOWba6TNIVDm+2UDaJmXSOXlasHKfNBs8oo3M0aT50fDEWfKZjXg==", + "dev": true, + "dependencies": { + "lodash": "^4.17.14" + } + }, + "node_modules/basic-auth": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-1.1.0.tgz", + "integrity": "sha1-RSIe5Cn37h5QNb4/UVM/HN/SmIQ=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha1-jtolLsqrWEDc2XXOuQ2TcMgZ/4c=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/ecstatic": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/ecstatic/-/ecstatic-3.3.2.tgz", + "integrity": "sha512-fLf9l1hnwrHI2xn9mEDT7KIi22UDqA2jaCwyCbSUJh9a1V+LEUSL/JO/6TIz/QyuBURWUHrFL5Kg2TtO1bkkog==", + "deprecated": "This package is unmaintained and deprecated. See the GH Issue 259.", + "dev": true, + "dependencies": { + "he": "^1.1.1", + "mime": "^1.6.0", + "minimist": "^1.1.0", + "url-join": "^2.0.5" + }, + "bin": { + "ecstatic": "lib/ecstatic.js" + } + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.13.3", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.3.tgz", + "integrity": "sha512-DUgl6+HDzB0iEptNQEXLx/KhTmDb8tZUHSeLqpnjpknR70H0nC2t9N73BK6fN4hOvJ84pKlIQVQ4k5FFlBedKA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-server": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-0.12.3.tgz", + "integrity": "sha512-be0dKG6pni92bRjq0kvExtj/NrrAd28/8fCXkaI/4piTwQMSDSLMhWyW0NI1V+DBI3aa1HMlQu46/HjVLfmugA==", + "dev": true, + "dependencies": { + "basic-auth": "^1.0.3", + "colors": "^1.4.0", + "corser": "^2.0.1", + "ecstatic": "^3.3.2", + "http-proxy": "^1.18.0", + "minimist": "^1.2.5", + "opener": "^1.5.1", + "portfinder": "^1.0.25", + "secure-compare": "3.0.1", + "union": "~0.5.0" + }, + "bin": { + "hs": "bin/http-server", + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimist": { + "version": "1.2.5", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", + "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.5", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", + "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", + "dev": true, + "dependencies": { + "minimist": "^1.2.5" + }, + "bin": { + "mkdirp": "bin/cmd.js" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/portfinder": { + "version": "1.0.28", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", + "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", + "dev": true, + "dependencies": { + "async": "^2.6.2", + "debug": "^3.1.1", + "mkdirp": "^0.5.5" + }, + "engines": { + "node": ">= 0.12.0" + } + }, + "node_modules/qs": { + "version": "6.9.6", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.9.6.tgz", + "integrity": "sha512-TIRk4aqYLNoJUbd+g2lEdz5kLWIuTMRagAXxl78Q0RiVjAOugHmeKNGdd3cwo/ktpf9aL9epCfFqWDEKysUlLQ==", + "dev": true, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha1-8aAymzCLIh+uN7mXTz1XjQypmeM=", + "dev": true + }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/url-join": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-2.0.5.tgz", + "integrity": "sha1-WvIvGMBSoACkjXuCxenC4v7tpyg=", + "dev": true + } + } +} diff --git a/angular/start/workspace/package.json b/angular/start/workspace/package.json new file mode 100644 index 0000000..f28ce29 --- /dev/null +++ b/angular/start/workspace/package.json @@ -0,0 +1,15 @@ +{ + "name": "workspace", + "version": "1.0.0", + "private": true, + "description": "io.Connect Workspaces App", + "scripts": { + "start": "http-server -p 9300" + }, + "keywords": [], + "author": "", + "license": "ISC", + "devDependencies": { + "http-server": "^0.12.3" + } +} diff --git a/angular/start/workspace/robots.txt b/angular/start/workspace/robots.txt new file mode 100644 index 0000000..e9e57dc --- /dev/null +++ b/angular/start/workspace/robots.txt @@ -0,0 +1,3 @@ +# https://www.robotstxt.org/robotstxt.html +User-agent: * +Disallow: diff --git a/angular/start/workspace/static/css/main.9c658736.css b/angular/start/workspace/static/css/main.9c658736.css new file mode 100644 index 0000000..cdc0adc --- /dev/null +++ b/angular/start/workspace/static/css/main.9c658736.css @@ -0,0 +1,2506 @@ +#root { + height: 100%; +} +.App { + text-align: center; +} +.App-logo { + height: 40vmin; + pointer-events: none; +} +@media (prefers-reduced-motion: no-preference) { + .App-logo { + -webkit-animation: App-logo-spin 20s linear infinite; + animation: App-logo-spin 20s linear infinite; + } +} +.App-header { + align-items: center; + background-color: #282c34; + color: #fff; + display: flex; + flex-direction: column; + font-size: calc(10px + 2vmin); + justify-content: center; + min-height: 100vh; +} +.App-link { + color: #61dafb; +} +@-webkit-keyframes App-logo-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} +@keyframes App-logo-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} +:root { + --g42-font-family: "PTSans", "Helvetica Neue", Arial, sans-serif; + --g42-font-size: 12px; + --spacing-1: 1px; + --spacing-2: 2px; + --spacing-4: 4px; + --spacing-6: 6px; + --spacing-8: 8px; + --spacing-9: 9px; + --spacing-10: 10px; + --spacing-12: 12px; + --spacing-14: 14px; + --spacing-16: 16px; + --spacing-24: 24px; + --spacing-32: 32px; + --spacing-40: 40px; + --border-radius-4: 4px; + --border-radius-6: 6px; + --g42-red: 354, 86%, 48%; + --g42-white: 0, 0%, 100%; + --g42-black: 0, 0%, 0%; +} +.dark { + --g42-bg-00: 216, 14%, 7%; + --g42-bg-01: 210, 5%, 16%; + --g42-bg-02: 216, 4%, 22%; + --g42-bg-03: 220, 4%, 28%; + --g42-bg-04: 222, 3%, 35%; + --g42-bg-primary: 210, 5%, 16%; + --g42-border-primary: 222, 4%, 35%; + --g42-border-secondary: 216, 4%, 22%; + --g42-label-primary: 210 4% 97%; + --g42-label-secondary: 210 4% 70%; + --g42-label-tertiary: 210 4% 45%; + --g42-interactive-primary: 216 96% 64%; + --g42-interactive-secondary: 216 57% 49%; + --g42-highlight-neutral: 216 5% 21%; + --g42-highlight-Interactive: 215 79% 40%; + --g42-app-content-bg: 216, 14%, 7%; + --g42-overlay-shadow: 2px 2px 4px 0 rgba(9, 11, 16, 0.35); + --g42-bkd-00: 0 0% 7%; + --g42-warning-xp: 43, 71%, 54%; + --g42-logo-icon: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100.2 121' style='enable-background:new 0 0 100.2 121'%3E%3Cpath fill='%23FFF' d='m59.4 10.6-8.3 8.3c-.5.5-1.4.5-1.9 0l-8.3-8.3c-.5-.5-.5-1.4 0-1.9L49.2.4c.5-.5 1.4-.5 1.9 0l8.3 8.3c.5.5.5 1.4 0 1.9zm-.1 99.8-8.3-8.3c-.5-.5-1.4-.5-1.9 0l-8.3 8.3c-.5.5-.5 1.4 0 1.9l8.3 8.3c.5.5 1.4.5 1.9 0l8.3-8.3c.6-.5.6-1.4 0-1.9zM100.1 60.1c.3 7.3-2.9 14.3-9.3 20.6l-24.7 24.7c-.6.6-1.5.6-2.1 0l-8.1-8.1c-.6-.6-.6-1.5 0-2.1l24.7-24.7.3-.3c3.2-3.3 4.7-6.7 4.4-10.2 0-.4-.1-.8-.2-1.3-.6-3.3-2.8-7-6.8-11l-9.9-9.9c-.3-.3-.7-.5-1.1-.5-.4 0-.8.2-1.3.6L34.5 69.6c-.6.6-1.5.6-2.1 0L27.7 65c-3.3-3.3-3.8-5.1-1.3-7.6 11.1-11.2 22-22.1 33.2-33.2 2.7-2.7 5.1-4.2 7.5-4.3 2.5-.1 4.7 1.2 6.9 3.5l14.3 14.3c7.6 7.6 11.5 15.1 11.8 22.4zM0 60.9c.3 7.3 3.7 14.3 11.2 21.9L26 97.6c2.3 2.3 4.5 3.6 6.9 3.5 2.4-.1 4.8-1.6 7.5-4.3 11.1-11.1 22.1-22 33.2-33.2 2.5-2.5 2-4.3-1.3-7.6l-4.7-4.7c-.6-.6-1.5-.6-2.1 0L34 83c-.5.5-.9.6-1.3.6s-.7-.1-1.1-.5L21.3 72.7c-4-4-5.7-7.2-6.3-10.5-.1-.4-.1-.8-.2-1.3-.3-3.5 1.2-6.9 4.4-10.2l.3-.3 24.7-24.7c.6-.6.6-1.5 0-2.1l-8.1-8.1c-.6-.6-1.5-.6-2.1 0L9.3 40.3C2.9 46.6-.3 53.5 0 60.9z'/%3E%3C/svg%3E"); + --g42-select-indicator: url('data:image/svg+xml;utf8, span { + align-items: center; + justify-content: center; +} +.g42-btn-split > span { + border-left: var(--spacing-1) solid hsl(var(--g42-border-secondary)); + display: flex; + height: 16px; + height: var(--spacing-16); + margin-left: 4px; + margin-left: var(--spacing-4); + transition-duration: 0.24s; + transition-property: border-color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + width: 16px; + width: var(--spacing-16); +} +.g42-btn-split:hover > span { + border-color: Hsl(var(--g42-border-primary)); +} +.g42-btn-link, +.g42-btn-link:hover { + background-color: initial; + border-color: transparent; + color: Hsl(var(--g42-interactive-primary)); +} +.g42-btn-link:hover { + text-decoration: underline; +} +.g42-btn-group { + display: inline-flex; +} +.g42-btn-group .g42-btn, +.g42-btn-group .save-workspace .btn, +.save-workspace .g42-btn-group .btn { + border-radius: 0; +} +.g42-btn-group .g42-btn:not(:last-child), +.g42-btn-group .save-workspace .btn:not(:last-child), +.save-workspace .g42-btn-group .btn:not(:last-child) { + border-right: 0; +} +.g42-btn-group .g42-btn:first-of-type, +.g42-btn-group .save-workspace .btn:first-of-type, +.save-workspace .g42-btn-group .btn:first-of-type { + border-bottom-left-radius: 4px; + border-bottom-left-radius: var(--spacing-4); + border-top-left-radius: 4px; + border-top-left-radius: var(--spacing-4); +} +.g42-btn-group .g42-btn:last-of-type, +.g42-btn-group .save-workspace .btn:last-of-type, +.save-workspace .g42-btn-group .btn:last-of-type { + border-bottom-right-radius: 4px; + border-bottom-right-radius: var(--spacing-4); + border-top-right-radius: 4px; + border-top-right-radius: var(--spacing-4); +} +.g42-btn-icon { + border: 0; +} +.g42-btn-icon, +.g42-btn-icon:hover { + background-color: initial; +} +@font-face { + font-family: PTSans; + font-style: normal; + font-weight: 400; + src: url(data:font/ttf;base64,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APYA+AD6APwA/gEAAQIBBAEGAQgBCgEMAQ4BEAESARQBFgEYARoBHAEeAR8BIQEjAScBKQErATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBlwGZAZsBnQGfAaEBowGlAacBqQGrAa0BrwGxAbMBtQG3AbkBuwG9Ab8BwQHDAcUBxwHJAcsBzQHPAdEB0wHUAdYB2AHaAdwB3gHhAeMB5QHnAekB6wHtAe8B8QHzAfUB9wH5AfsB/QH/AgECAwIFAgcCCQILAg0CDwIRAhMCFQIXAhkCGwIdAl8CawJtAm8CcQJzAnUCdwJ5AnsCfQJ/AoECgwKFAocCiQKLAo0CjwKRApMClQKXApkCmwKdAp8CoQKjAqUCpwKpAqsCrQKvArECswK1ArcCuQADAAAAAQAIAAEADAADACIAHAAWAAEAAwAUAb0BvgACAnoCrAACAnkCqwACAsEAewABAAAAAQAIAAIAMgAWAsACvwB0AHUCzgElASkBKgErASwCzQKnAqgCqQKqAncCeAK7ArwCvQK+As8AAQAWAAUACgAVABYATwBWAQwBDQEQAREBMAFAAY4BpQGmAasBrAIhAiICJAIlAi4AAALuADIAAAAAAQsAAAELAAABMQBuAU8AWgIhABwCIQBMAwUARgMuAHYA2gBaARgAPAEYAAIBXwAoAfkAKADhACoBaAA7ANYAMQFi/9sCIQArAiEARgIhAD4CIQBYAiEAFAIhAE0CIQA8AiEAPQIhAEQCIQA0ANsAWwEAAFIB+QAqAfkAKAH5ACoBtAAlBCgAVwJJAAgCSABVAjsAOAKOAFUCGABVAgUAVQJkADgCoABVASMAaAEj/94CYgBVAgUAVQMXAFUCoQBVAqwAOAIvAFUCrAA4AlMAVQITAC4CKwASAowAVQI4//4DPAAIAmoAGgIuAAgCIQAmATAAVQF8/9sBMAAmAfQAMAGYAAABGAA8AfAAJwIcAE0BwwAxAhoAMQH8ADEBPwAWAhkAMQIjAE0BDABNAQsACQHfAE0BJABWAywATQIjAE0CGAAxAh0ATQIZADEBVABNAaUAJwFTAAsCGwBFAeIACQLfAAgCAwAcAdIADAG/ACoBWgA5AO4AVQFaADcB+QAfAQsAAAEwAE0CIQBXAiEAMgIhABUCIQACAO4AVQHxADkBmwA8AyYAMwGCADAB3gAnAfkAKQFoADoCvABVAaAAPAGpAFUB+QAoAYoAMAGKAEMBDAA8AigARAHuACUBCwBMAR8APAGKADUBjgAsAd4AJwNFADUDUgA1A2wATAG0ACUCSQAIAkkACAJJAAgCSQAIAkkACAJJAAgDTv/qAjsAOAIYAFUCGABVAhgAVQIYAFUBIwABASMAPgEj//EBI//+ApL//wKhAFUCrAA4AqwAOAKsADgCrAA4AqwAOAH5AEoCrAA4AowAVQKMAFUCjABVAowAVQIuAAgCLwBVAlAAFgHwACcB8AAnAfAAJwHwACcB8AAnAfAAJwMcACcBwwAxAfwAMQH8ADEB/AAxAfwAMQEMAAwBDABeAQz//gEM//QCMQA4AiMATQIYADECGAAxAhgAMQIYADECGAAxAfkAKAIYADECGwBFAhsARQIbAEUCGwBFAdIADAIdAE0B0gAMAkkACAHwACcCSQAIAfAAJwJJAAgB8AAnAjsAOAHDADECOwA4AcMAMQI7ADgBwwAxAo4AVQJNADECkv//AhwAMQIYAFUB/AAxAhgAVQH8ADECGABVAfwAMQIYAFUB/AAxAmQAOAIZADECZAA4AhkAMQJkADgCGQAxAqAAVQIj/9gCpQAJAiX//wEj//UBDP/zASMAIgENABMBIwBUAQwAXgEj/94BCwABAmIAVQHfAE0CBQBVASQAVgIFAFUBJABWAgUAVQEkAFYCBQAPASQACgKhAFUCIwBNAqEAVQIjAE0CoQBVAiMATQKsADgCGAAxAqwAOAIYADEDpAA4A1oAMQJTAFUBVABNAlMAVQFUAE0CUwBVAVQANgITAC4BpQAnAhMALgGlACcCEwAuAaUAJwITAC4BpQAnAisAEgFTAAsCKwASAVMACwKMAFUCGwBFAowAVQIbAEUCjABVAhsARQKMAFUCGwBFAowAVQIbAEUCLgAIAiEAJgG/ACoCIQAmAb8AKgIhACYBvwAqAPkAFgIh/94CZAA4AhkAMQITAC4BpQAnAisAEgFTAAsBCwAJAMIAKAGCADwBiwA8AakAPADpADwBOwA8ATEAPAGPADwBgwA8AAL+3gI4AA4DIgBMApgAJAIYAFUC2AASAboAVQJHADgCEwAuASMAaAElACABI//eA57//gPOAFUC7gASAmIAVQIpAAcCkwBVAkkACAImAFUCSABVAboAVQKdAAUCGABVAyb//wIdACwCqQBVAqkAVQJiAFUCcP/+AxcAVQKgAFUCrAA4ApMAVQIvAFUCOwA4AisAEgIpAAcDDAApAmoAGgKvAFUCXQBLA20AVQORAFUCdv//AwEAVQIrAFUCQQAtA30AVQI5ABoB8AAnAhgAMQHzAE0BcQBNAh0ABQH8ADECkwABAbkAJgIiAE0CIgBNAd4ATQH3//sChQBNAhwATQIYADECFwBNAh0ATQHDADEBjgACAdIADAKoACwCAwAcAiQATQHqADEC4ABNAvEATQHxAAEClABNAdAATQHRACcCzwBNAdsAFAH8ADECJP/+AXEATQHYADEBpQAnAQwATQEWAB0BCwAJAt3/+wMCAE0CJP/+Ad4ATQHSAAwCFwBNAmsAAAHxAAECrAA4AhgAMQJW//4B+wAKArIAVQIxAE0CawAAAfEAAQIvAFUCHQBNAboAVQFxAE0B4gAKAYEAAAJBAFUCFwBNAzP//wK1AAECHQAsAbkAJgJnAFUB+gBNAq0AVQIaAE0CmAAAAeH//gKtAAACAAABAsMAVQIiAE0DXQBVAqMATQPXAFUDRABNAysAOAKUADECOwA4AcMAMQIrABIBjgACAi4ACAHkAAoCLgAIAeQACgKIABoCDQAcA0YAEgJ3AAICfwBLAf0AMQJlAEsB8QAxAl0AVQIjAE0DBgABAmkACAMGAAECaQAIASMAaAJYAFUB4QBNAm7//gIE//sCoABVAhwATQKpAFUCLABNAl0ASwHqADEDIQBVApUATQD+AFcCSQAIAfAAJwJJAAgB8AAnA07/6gMcACcCGABVAfwAMQJ/ADUB+wAxAn8ANQH7ADEDJv//ApMAAQIdACwBuQAmAjMANwHbACcCqQBVAiIATQKpAFUCIgBNAqwAOAIYADECrAA4AhgAMQKsADgCGAAxAkEALQHRACcCKQAHAdIADAIpAAcB0gAMAikABwHSAAwCXQBLAeoAMQG6AFUBcQBNAwEAVQKUAE0CagAaAgIAHAIcAEEBuQAxAnL//gH3//sDPAAIAt8ACAK2AFUCKgBNAoAAVQJDAE0CYgBVAd8ATQMXAFUDLABNAi8AVQIdAE0CmwBVAWgAOwKUAHYDNAB2AMIAKADCACgAwgAoAVQAKAFUACgBVAAoAeYAKAHmACgBxABXAvcARwR7AEYBKQAnASkAJwC4/08BigA1AYoAMAGKAEMBigAZAiEACgIhACkCIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAfQASQP/AFUDdQAmAlgALAH5ABQCpgBVAfkADgH5ACgB+f/vAfn/9wNYADcBXv/UAfkAHwH5ACgB+QAkAfkAJQH5ACICwwBVAkMATQAC/p0B0QA8AR8APAG4ADwA6wA8AMIAKAD2ADwBSwA8AbYAPAExADwCSABVAhwATQIFAFUBPwAWAl3//QIl//8CXQBLAeoAMQIpAAcB0gAMAkEALQHRACcCHQAsAbkAJgI7ADgBwwAxAkkACAHwACcCGABVAfwAMQIYAFUB/AAxAhgAVQH8ADECHQAsAbkAJgKsADgCGAAxAqwAOAIYADECrAA4AhgAMQKsADgCGAAxAwEAVQKUAE0CQQAtAdEAJwJBAC0B0QAnAkcAOAHYADECOQAaAdsAFAI5ABoB2wAUA30AVQLPAE0DfQBVAs8ATQKR//4CC//7AqkAVQIiAE0CrAA4AhgAMQMBAFUClABNAhwAQQG5ADEBIwBUAQwAXgIFAFUBnQBNAjsAOAHDADECjgBVAiMAMQKgAFUCIwBNAgUAVQEkAFYCKwASAVMACwI4//4B4gAJAh0ALAGyAB0CHQAsAbIAHQDCACgAwgAoAVQAKAFUACgA2gBaAU8AWgGKADUA6wA8AWAAPAG2ADwBogA8AWAAPAG9ADwBtAA8AcYAPAGuADwCHAAWAkcAFgC8AMwA/gBXALj/QgAAAAAAAAQgAAAEIAAABCAAAAQgAAAFFwAABVMAAAePAAAJ+AAACqwAABACAAAQRgAAEVUAABJ5AAAVxgAAFpQAABekAAAX4gAAGDIAABlSAAAaXAAAG7MAAB2CAAAf8QAAIhQAACNLAAAlXAAAJwAAACuzAAAuDgAALqgAADABAAAwygAAMUkAADIDAAAzPAAANtgAADmgAAA8BwAAPZoAAD8MAAA/9wAAQOAAAEMnAABEMAAARJ4AAEWQAABKBgAASqYAAE55AABR4gAAVAAAAFVdAABXxwAAWjAAAFxiAABdIgAAXkcAAGEVAABpnwAAcAMAAHKQAAB03wAAdVYAAHZKAAB2xwAAd6gAAHfrAAB44wAAe2QAAHyyAAB99QAAf34AAIFaAACCpwAAhE8AAIV8AACGaAAAh4EAAIusAACMnAAAjs0AAJBYAACRkAAAkxIAAJRDAACWQgAAmAwAAJnVAACbkgAAno4AAKTvAACqOQAArokAAK/4AACw6QAAsXMAALJ6AACzrwAAs68AALRGAAC16gAAuAoAALoDAAC9WgAAvdAAAMC6AADCRAAAxKUAAMcpAADIBwAAyEsAAMiJAADM8AAAzXEAAM8TAADP8AAA0BwAANBIAADRMwAA0q4AANOPAADTowAA1GgAANSUAADVogAA1oQAANcIAADXjAAA2CQAANlnAADZnwAA2csAANpbAADanwAA20cAAOEMAADkjQAA5vgAAOcoAADnUAAA54AAAOgAAADoUAAA6HQAAOkYAADpxAAA60oAAOvKAADr9gAA7C4AAOyiAADtNgAA7aYAAO5qAADyXgAA8ooAAPLOAADzKgAA89YAAPQmAAD1NwAA+DIAAPhqAAD4pgAA+PIAAPkuAAD5lgAA+iIAAP0hAAD/HgAA/1oAAP+CAAD/3gABADoAAQCCAAEAzgABAUIAAQHmAAEEjQABBPEAAQUlAAEFPQABBgkAAQZBAAEGwQABB9gAAQtWAAELjgABC8YAAQwuAAEMtgABDOoAAQ43AAEOwwABD2sAAQ+zAAEQUwABEOsAARQvAAEWxQABFvkAARcxAAEXZQABF50AARfJAAEYCQABGDkAARjdAAEY7QABGvMAARtHAAEb1wABHCMAARx7AAEdyAABIDQAASB8AAEgwAABIPgAASEkAAEhaAABIagAASHcAAEiSAABItAAASM8AAEkoQABJh0AASa9AAEnWQABKCUAASn+AAEqPgABKqEAASsVAAErjQABK8EAASvtAAEsPQABLIEAASzFAAEtHQABLVkAAS3lAAEvagABMMoAATEGAAExLgABMV4AATGaAAEx2gABMg4AATKmAAEzYgABM64AATQiAAE14QABOG0AATipAAE4zQABOQUAATlVAAE5iQABOaEAATnZAAE6CQABOjkAATptAAE9RgABP8cAAT/3AAFAIwABQXgAAUPg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AAAAAAAAAAAAAAAAAAAAAALQAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQECAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAQMAigDaAIMAkwDyAPMAjQCXAIgAwwDeAPEAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB+AIAAgQDsAO4AugEEAQUBBgEHAQgBCQD9AP4BCgELAP8BAAEMAQ0BDgEBAQ8BEAERARIBEwEUARUBFgEXARgA+AD5ARkBGgEbARwBHQEeAR8BIAEhASIA+gDXASMBJAElASYBJwEoASkBKgErASwA4gDjAS0BLgEvATABMQEyATMBNAE1ATYAsACxATcBOAE5AToBOwE8AT0BPgE/AUAA+wD8AOQA5QFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4AuwFPAVABUQFSAOYA5wFTAKYBVAFVAVYBVwFYAVkBWgFbANgA4QDbANwA3QDgANkA3wFcAV0BXgCbAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInAigCKQIqAisCLAItAi4CLwIwAjECMgIzAjQCNQI2AjcCOAI5AjoCOwI8Aj0CPgI/AkACQQJCALIAswC2ALcAxAC0ALUAxQCCAMIAhwCrAMYAvgC/ALwCQwJEAkUCRgJHAkgCSQJKAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMAjAJkAJgAmgCZAO8CZQClAJIAnACnAI8AlACVALkCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEAwADBAtIC0wLUB3VuaTAwQTAHdW5pMDBBRAdBbWFjcm9uB2FtYWNyb24GQWJyZXZlBmFicmV2ZQdBb2dvbmVrB2FvZ29uZWsLQ2NpcmN1bWZsZXgLY2NpcmN1bWZsZXgGRGNhcm9uBmRjYXJvbgZEY3JvYXQHRW1hY3JvbgdlbWFjcm9uCkVkb3RhY2NlbnQKZWRvdGFjY2VudAdFb2dvbmVrB2VvZ29uZWsGRWNhcm9uBmVjYXJvbgtHY2lyY3VtZmxleAtnY2lyY3VtZmxleAxHY29tbWFhY2NlbnQMZ2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4BEhiYXIEaGJhcgdJbWFjcm9uB2ltYWNyb24HSW9nb25lawdpb2dvbmVrC0pjaXJjdW1mbGV4C2pjaXJjdW1mbGV4DEtjb21tYWFjY2VudAxrY29tbWFhY2NlbnQGTGFjdXRlBmxhY3V0ZQxMY29tbWFhY2NlbnQMbGNvbW1hYWNjZW50BkxjYXJvbgZsY2Fyb24GTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24HT21hY3JvbgdvbWFjcm9uDU9odW5nYXJ1bWxhdXQNb2h1bmdhcnVtbGF1dAZSYWN1dGUGcmFjdXRlDFJjb21tYWFjY2VudAxyY29tbWFhY2NlbnQGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlC1NjaXJjdW1mbGV4C3NjaXJjdW1mbGV4CFRjZWRpbGxhCHRjZWRpbGxhBlRjYXJvbgZ0Y2Fyb24HVW1hY3Jvbgd1bWFjcm9uBlVicmV2ZQZ1YnJldmUFVXJpbmcFdXJpbmcNVWh1bmdhcnVtbGF1dA11aHVuZ2FydW1sYXV0B1VvZ29uZWsHdW9nb25lawZaYWN1dGUGemFjdXRlClpkb3RhY2NlbnQKemRvdGFjY2VudAVsb25ncwd1bmkwMUY0B3VuaTAxRjUMU2NvbW1hYWNjZW50DHNjb21tYWFjY2VudAxUY29tbWFhY2NlbnQMdGNvbW1hYWNjZW50B3VuaTAyMzcJYWZpaTU3OTI5CWFjdXRlY29tYgd1bmkwMzk0B3VuaTAzQTkJYWZpaTEwMDIzCWFmaWkxMDA1MQlhZmlpMTAwNTIJYWZpaTEwMDUzCWFmaWkxMDA1NAlhZmlpMTAwNTUJYWZpaTEwMDU2CWFmaWkxMDA1NwlhZmlpMTAwNTgJYWZpaTEwMDU5CWFmaWkxMDA2MAlhZmlpMTAwNjEJYWZpaTEwMDYyCWFmaWkxMDE0NQlhZmlpMTAwMTcJYWZpaTEwMDE4CWFmaWkxMDAxOQlhZmlpMTAwMjAJYWZpaTEwMDIxCWFmaWkxMDAyMglhZmlpMTAwMjQJYWZpaTEwMDI1CWFmaWkxMDAyNglhZmlpMTAwMjcJYWZpaTEwMDI4CWFmaWkxMDAyOQlhZmlpMTAwMzAJYWZpaTEwMDMxCWFmaWkxMDAzMglhZmlpMTAwMzMJYWZpaTEwMDM0CWFmaWkxMDAzNQlhZmlpMTAwMzYJYWZpaTEwMDM3CWFmaWkxMDAzOAlhZmlpMTAwMzkJYWZpaTEwMDQwCWFmaWkxMDA0MQlhZmlpMTAwNDIJYWZpaTEwMDQzCWFmaWkxMDA0NAlhZmlpMTAwNDUJYWZpaTEwMDQ2CWFmaWkxMDA0NwlhZmlpMTAwNDgJYWZpaTEwMDQ5CWFmaWkxMDA2NQlhZmlpMTAwNjYJYWZpaTEwMDY3CWFmaWkxMDA2OAlhZmlpMTAwNjkJYWZpaTEwMDcwCWFmaWkxMDA3MglhZmlpMTAwNzMJYWZpaTEwMDc0CWFmaWkxMDA3NQlhZmlpMTAwNzYJYWZpaTEwMDc3CWFmaWkxMDA3OAlhZmlpMTAwNzkJYWZpaTEwMDgwCWFmaWkxMDA4MQlhZmlpMTAwODIJYWZpaTEwMDgzCWFmaWkxMDA4NAlhZmlpMTAwODUJYWZpaTEwMDg2CWFmaWkxMDA4NwlhZmlpMTAwODgJYWZpaTEwMDg5CWFmaWkxMDA5MAlhZmlpMTAwOTEJYWZpaTEwMDkyCWFmaWkxMDA5MwlhZmlpMTAwOTQJYWZpaTEwMDk1CWFmaWkxMDA5NglhZmlpMTAwOTcJYWZpaTEwMDcxCWFmaWkxMDA5OQlhZmlpMTAxMDAJYWZpaTEwMTAxCWFmaWkxMDEwMglhZmlpMTAxMDMJYWZpaTEwMTA0CWFmaWkxMDEwNQlhZmlpMTAxMDYJYWZpaTEwMTA3CWFmaWkxMDEwOAlhZmlpMTAxMDkJYWZpaTEwMTEwCWFmaWkxMDE5MwlhZmlpMTAxNDYJYWZpaTEwMTk0CWFmaWkxMDE0NwlhZmlpMTAxOTUJYWZpaTEwMTQ4CWFmaWkxMDE5Ngd1bmkwNDhBB3VuaTA0OEIHdW5pMDQ4Qwd1bmkwNDhEB3VuaTA0OEUHdW5pMDQ4RglhZmlpMTAwNTAJYWZpaTEwMDk4B3VuaTA0OTIHdW5pMDQ5Mwd1bmkwNDk0B3VuaTA0OTUHdW5pMDQ5Ngd1bmkwNDk3B3VuaTA0OTgHdW5pMDQ5OQd1bmkwNDlBB3VuaTA0OUIHdW5pMDQ5Qwd1bmkwNDlEB3VuaTA0OUUHdW5pMDQ5Rgd1bmkwNEEwB3VuaTA0QTEHdW5pMDRBMgd1bmkwNEEzB3VuaTA0QTQHdW5pMDRBNQd1bmkwNEE2B3VuaTA0QTcHdW5pMDRBOAd1bmkwNEE5B3VuaTA0QUEHdW5pMDRBQgd1bmkwNEFDB3VuaTA0QUQHdW5pMDRBRQd1bmkwNEFGB3VuaTA0QjAHdW5pMDRCMQd1bmkwNEIyB3VuaTA0QjMHdW5pMDRCNAd1bmkwNEI1B3VuaTA0QjYHdW5pMDRCNwd1bmkwNEI4B3VuaTA0QjkHdW5pMDRCQQd1bmkwNEJCB3VuaTA0QkMHdW5pMDRCRAd1bmkwNEJFB3VuaTA0QkYHdW5pMDRDMAd1bmkwNEMzB3VuaTA0QzQHdW5pMDRDNQd1bmkwNEM2B3VuaTA0QzcHdW5pMDRDOAd1bmkwNEM5B3VuaTA0Q0EHdW5pMDRDQgd1bmkwNENDB3VuaTA0Q0QHdW5pMDRDRQd1bmkwNENGB3VuaTA0RDAHdW5pMDREMQd1bmkwNEQyB3VuaTA0RDMHdW5pMDRENAd1bmkwNEQ1B3VuaTA0RDYHdW5pMDRENwd1bmkwNEQ4CWFmaWkxMDg0Ngd1bmkwNERBB3VuaTA0REIHdW5pMDREQwd1bmkwNEREB3VuaTA0REUHdW5pMDRERgd1bmkwNEUwB3VuaTA0RTEHdW5pMDRFMgd1bmkwNEUzB3VuaTA0RTQHdW5pMDRFNQd1bmkwNEU2B3VuaTA0RTcHdW5pMDRFOAd1bmkwNEU5B3VuaTA0RUEHdW5pMDRFQgd1bmkwNEVDB3VuaTA0RUQHdW5pMDRFRQd1bmkwNEVGB3VuaTA0RjAHdW5pMDRGMQd1bmkwNEYyB3VuaTA0RjMHdW5pMDRGNAd1bmkwNEY1B3VuaTA0RjYHdW5pMDRGNwd1bmkwNEY4B3VuaTA0RjkHdW5pMDRGQwd1bmkwNEZEB3VuaTA1MTAHdW5pMDUxMQd1bmkwNTEyB3VuaTA1MTMHdW5pMDUxQwd1bmkwNTFEB3VuaTA1MjQHdW5pMDUyNQd1bmkwNTI2B3VuaTA1MjcHdW5pMUUzMAd1bmkxRTMxB3VuaTFFM0UHdW5pMUUzRgd1bmkxRTU0B3VuaTFFNTUHdW5pMUU5RQd1bmkyMDExB3VuaTIwODEHdW5pMjA4Mgd1bmkyMDgzB3VuaTIwODQERXVybwd1bmkyMEI0B3VuaTIwQjYHdW5pMjBCNwd1bmkyMEI5B3VuaTIwQkEHdW5pMjBCQgd1bmkyMEJDB3VuaTIwQkQHdW5pMjBCRQd1bmkyMEJGB3VuaTIwQzAHdW5pMjBDMQd1bmkyMEMyB3VuaTIwQzMHdW5pMjBDNAd1bmkyMEM1B3VuaTIwQzYHdW5pMjBDNwd1bmkyMEM4B3VuaTIwQzkHdW5pMjBDQQd1bmkyMENCB3VuaTIwQ0MHdW5pMjBDRAd1bmkyMENFB3VuaTIwQ0YJYWZpaTYxMjg5CWFmaWk2MTM1Mgllc3RpbWF0ZWQHdW5pMjIxNQd1bmkyQzY3B3VuaTJDNjgHdW5pRjQwMQd1bmlGNDA2B3VuaUY0MDcHdW5pRjQwOAd1bmlGNDA5B3VuaUY0MEEHdW5pRjQwQgd1bmlGNDBDB3VuaUY0MEQHdW5pRjQwRQd1bmlGNDg2B3VuaUY0ODcHdW5pRjQ4OAd1bmlGNDg5B3VuaUY0OUUHdW5pRjQ5Rgd1bmlGNEM2B3VuaUY0QzcHdW5pRjRDQwd1bmlGNENEB3VuaUY0RDYHdW5pRjRENwt1bmkwNDk4LmFsdAt1bmkwNDk5LmFsdA11bmkwNEFBLmFsdDAyDXVuaTA0QUIuYWx0MDIHdW5pRjUwRQd1bmlGNTBGB3VuaUY1MTAHdW5pRjUxMQd1bmlGNTEyB3VuaUY1MTMHdW5pRjUxNAd1bmlGNTE1B3VuaUY1MTYHdW5pRjUxNwd1bmlGNTE4B3VuaUY1MTkHdW5pRjUxQQd1bmlGNTFCB3VuaUY1MUMHdW5pRjUxRAd1bmlGNTFFB3VuaUY1MUYHdW5pRjUyMAd1bmlGNTIxB3VuaUY1MjIHdW5pRjUyMwd1bmlGNTI0B3VuaUY1MjUHdW5pRjUyNgd1bmlGNTI3B3VuaUY1MjgHdW5pRjUyOQd1bmlGNTJBB3VuaUY1MkIHdW5pRjUyQwd1bmlGNTJEB3VuaUY1MkUHdW5pRjUyRgd1bmlGNTMwB3VuaUY1MzEHdW5pRjUzMgd1bmlGNTMzB3VuaUY1MzQHdW5pRjUzNQd1bmlGNTM2B3VuaUY1MzcHdW5pRjUzOAd1bmlGNTM5DWFmaWkxMDA1NS5hbHQNYWZpaTEwMTAzLmFsdAt1bmkwNDkyLmFsdAt1bmkwNDkzLmFsdAt1bmkwNEFBLmFsdAt1bmkwNEFCLmFsdAd1bmlGNTQwB3VuaUY1NDEHdW5pRjU0Mgd1bmlGNTQzB3VuaUY1NDQHdW5pRjU0NQd1bmlGNTQ2B3VuaUY1NDcHdW5pRjU0OAd1bmlGNTQ5B3VuaUY1NEEHdW5pRjU0Qgd1bmlGNTRDB3VuaUY1NEQHdW5pRjYyQwd1bmlGNjJEB3VuaUY2MkUHdW5pRjYyRgd1bmlGNjM0B3VuaUY2MzUNb25lLm51bWVyYXRvcgd1bmlGNkMzB3VuaUY2QzkHdW5pRjZDQQd1bmlGNkNCB3VuaUY2Q0UHdW5pRjZDRgd1bmlGNkQwB3VuaUY2RDEHdW5pRjZENAdjYXJvbi5sBWwudmFyDGZyYWN0aW9uLmFsdAAAAAAAAA8AugADAAEECQAAAGYt8gADAAEECQABAA4t5AADAAEECQACAA4t1gADAAEECQADADQtogADAAEECQAEAA4t5AADAAEECQAFACQtfgADAAEECQAGABwtYgADAAEECQAHAFYtDAADAAEECQAIABgs9AADAAEECQAJAEQssAADAAEECQAKCQojpgADAAEECQALAC4jeAADAAEECQAMAE4jKgADAAEECQANIu4APAADAAEECQAOADwAAABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAXwB3AGUAYgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEAMAAsACAAUABhAHIAYQBUAHkAcABlACAATAB0AGQALgAgACgAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAC8AcAB1AGIAbABpAGMAKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlAHMAIAAiAFAAVAAgAFMAYQBuAHMAIgAsACAAIgBQAFQAIABTAGUAcgBpAGYAIgAgAGEAbgBkACAAIgBQAGEAcgBhAFQAeQBwAGUAIgAuAA0ACgANAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABjAG8AcABpAGUAZAAgAGIAZQBsAG8AdwAsACAAYQBuAGQAIABpAHMAIABhAGwAcwBvACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoAIABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwADQAKAA0ACgAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ADQAKAFMASQBMACAATwBQAEUATgAgAEYATwBOAFQAIABMAEkAQwBFAE4AUwBFACAAVgBlAHIAcwBpAG8AbgAgADEALgAxACAALQAgADIANgAgAEYAZQBiAHIAdQBhAHIAeQAgADIAMAAwADcADQAKAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQANAAoADQAKAFAAUgBFAEEATQBCAEwARQANAAoAVABoAGUAIABnAG8AYQBsAHMAIABvAGYAIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAgACgATwBGAEwAKQAgAGEAcgBlACAAdABvACAAcwB0AGkAbQB1AGwAYQB0AGUAIAB3AG8AcgBsAGQAdwBpAGQAZQAgAGQAZQB2AGUAbABvAHAAbQBlAG4AdAAgAG8AZgAgAGMAbwBsAGwAYQBiAG8AcgBhAHQAaQB2AGUAIABmAG8AbgB0ACAAcAByAG8AagBlAGMAdABzACwAIAB0AG8AIABzAHUAcABwAG8AcgB0ACAAdABoAGUAIABmAG8AbgB0ACAAYwByAGUAYQB0AGkAbwBuACAAZQBmAGYAbwByAHQAcwAgAG8AZgAgAGEAYwBhAGQAZQBtAGkAYwAgAGEAbgBkACAAbABpAG4AZwB1AGkAcwB0AGkAYwAgAGMAbwBtAG0AdQBuAGkAdABpAGUAcwAsACAAYQBuAGQAIAB0AG8AIABwAHIAbwB2AGkAZABlACAAYQAgAGYAcgBlAGUAIABhAG4AZAAgAG8AcABlAG4AIABmAHIAYQBtAGUAdwBvAHIAawAgAGkAbgAgAHcAaABpAGMAaAAgAGYAbwBuAHQAcwAgAG0AYQB5ACAAYgBlACAAcwBoAGEAcgBlAGQAIABhAG4AZAAgAGkAbQBwAHIAbwB2AGUAZAAgAGkAbgAgAHAAYQByAHQAbgBlAHIAcwBoAGkAcAAgAHcAaQB0AGgAIABvAHQAaABlAHIAcwAuAA0ACgANAAoAVABoAGUAIABPAEYATAAgAGEAbABsAG8AdwBzACAAdABoAGUAIABsAGkAYwBlAG4AcwBlAGQAIABmAG8AbgB0AHMAIAB0AG8AIABiAGUAIAB1AHMAZQBkACwAIABzAHQAdQBkAGkAZQBkACwAIABtAG8AZABpAGYAaQBlAGQAIABhAG4AZAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABmAHIAZQBlAGwAeQAgAGEAcwAgAGwAbwBuAGcAIABhAHMAIAB0AGgAZQB5ACAAYQByAGUAIABuAG8AdAAgAHMAbwBsAGQAIABiAHkAIAB0AGgAZQBtAHMAZQBsAHYAZQBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAsACAAaQBuAGMAbAB1AGQAaQBuAGcAIABhAG4AeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIAB3AG8AcgBrAHMALAAgAGMAYQBuACAAYgBlACAAYgB1AG4AZABsAGUAZAAsACAAZQBtAGIAZQBkAGQAZQBkACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAYQBuAGQALwBvAHIAIABzAG8AbABkACAAdwBpAHQAaAAgAGEAbgB5ACAAcwBvAGYAdAB3AGEAcgBlACAAcAByAG8AdgBpAGQAZQBkACAAdABoAGEAdAAgAGEAbgB5ACAAcgBlAHMAZQByAHYAZQBkACAAbgBhAG0AZQBzACAAYQByAGUAIABuAG8AdAAgAHUAcwBlAGQAIABiAHkAIABkAGUAcgBpAHYAYQB0AGkAdgBlACAAdwBvAHIAawBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAgAGEAbgBkACAAZABlAHIAaQB2AGEAdABpAHYAZQBzACwAIABoAG8AdwBlAHYAZQByACwAIABjAGEAbgBuAG8AdAAgAGIAZQAgAHIAZQBsAGUAYQBzAGUAZAAgAHUAbgBkAGUAcgAgAGEAbgB5ACAAbwB0AGgAZQByACAAdAB5AHAAZQAgAG8AZgAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlACAAcgBlAHEAdQBpAHIAZQBtAGUAbgB0ACAAZgBvAHIAIABmAG8AbgB0AHMAIAB0AG8AIAByAGUAbQBhAGkAbgAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAZABvAGUAcwAgAG4AbwB0ACAAYQBwAHAAbAB5ACAAdABvACAAYQBuAHkAIABkAG8AYwB1AG0AZQBuAHQAIABjAHIAZQBhAHQAZQBkACAAdQBzAGkAbgBnACAAdABoAGUAIABmAG8AbgB0AHMAIABvAHIAIAB0AGgAZQBpAHIAIABkAGUAcgBpAHYAYQB0AGkAdgBlAHMALgANAAoADQAKAEQARQBGAEkATgBJAFQASQBPAE4AUwANAAoAIgBGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAHQAaABlACAAcwBlAHQAIABvAGYAIABmAGkAbABlAHMAIAByAGUAbABlAGEAcwBlAGQAIABiAHkAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIAB1AG4AZABlAHIAIAB0AGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAbgBkACAAYwBsAGUAYQByAGwAeQAgAG0AYQByAGsAZQBkACAAYQBzACAAcwB1AGMAaAAuACAAVABoAGkAcwAgAG0AYQB5ACAAaQBuAGMAbAB1AGQAZQAgAHMAbwB1AHIAYwBlACAAZgBpAGwAZQBzACwAIABiAHUAaQBsAGQAIABzAGMAcgBpAHAAdABzACAAYQBuAGQAIABkAG8AYwB1AG0AZQBuAHQAYQB0AGkAbwBuAC4ADQAKAA0ACgAiAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAbgBhAG0AZQBzACAAcwBwAGUAYwBpAGYAaQBlAGQAIABhAHMAIABzAHUAYwBoACAAYQBmAHQAZQByACAAdABoAGUAIABjAG8AcAB5AHIAaQBnAGgAdAAgAHMAdABhAHQAZQBtAGUAbgB0ACgAcwApAC4ADQAKAA0ACgAiAE8AcgBpAGcAaQBuAGEAbAAgAFYAZQByAHMAaQBvAG4AIgAgAHIAZQBmAGUAcgBzACAAdABvACAAdABoAGUAIABjAG8AbABsAGUAYwB0AGkAbwBuACAAbwBmACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGMAbwBtAHAAbwBuAGUAbgB0AHMAIABhAHMAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABiAHkAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkALgANAAoADQAKACIATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAiACAAcgBlAGYAZQByAHMAIAB0AG8AIABhAG4AeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIABtAGEAZABlACAAYgB5ACAAYQBkAGQAaQBuAGcAIAB0AG8ALAAgAGQAZQBsAGUAdABpAG4AZwAsACAAbwByACAAcwB1AGIAcwB0AGkAdAB1AHQAaQBuAGcAIAAtAC0AIABpAG4AIABwAGEAcgB0ACAAbwByACAAaQBuACAAdwBoAG8AbABlACAALQAtACAAYQBuAHkAIABvAGYAIAB0AGgAZQAgAGMAbwBtAHAAbwBuAGUAbgB0AHMAIABvAGYAIAB0AGgAZQAgAE8AcgBpAGcAaQBuAGEAbAAgAFYAZQByAHMAaQBvAG4ALAAgAGIAeQAgAGMAaABhAG4AZwBpAG4AZwAgAGYAbwByAG0AYQB0AHMAIABvAHIAIABiAHkAIABwAG8AcgB0AGkAbgBnACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAdABvACAAYQAgAG4AZQB3ACAAZQBuAHYAaQByAG8AbgBtAGUAbgB0AC4ADQAKAA0ACgAiAEEAdQB0AGgAbwByACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAZABlAHMAaQBnAG4AZQByACwAIABlAG4AZwBpAG4AZQBlAHIALAAgAHAAcgBvAGcAcgBhAG0AbQBlAHIALAAgAHQAZQBjAGgAbgBpAGMAYQBsACAAdwByAGkAdABlAHIAIABvAHIAIABvAHQAaABlAHIAIABwAGUAcgBzAG8AbgAgAHcAaABvACAAYwBvAG4AdAByAGkAYgB1AHQAZQBkACAAdABvACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlAC4ADQAKAA0ACgBQAEUAUgBNAEkAUwBTAEkATwBOACAAJgAgAEMATwBOAEQASQBUAEkATwBOAFMADQAKAFAAZQByAG0AaQBzAHMAaQBvAG4AIABpAHMAIABoAGUAcgBlAGIAeQAgAGcAcgBhAG4AdABlAGQALAAgAGYAcgBlAGUAIABvAGYAIABjAGgAYQByAGcAZQAsACAAdABvACAAYQBuAHkAIABwAGUAcgBzAG8AbgAgAG8AYgB0AGEAaQBuAGkAbgBnACAAYQAgAGMAbwBwAHkAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAHQAbwAgAHUAcwBlACwAIABzAHQAdQBkAHkALAAgAGMAbwBwAHkALAAgAG0AZQByAGcAZQAsACAAZQBtAGIAZQBkACwAIABtAG8AZABpAGYAeQAsACAAcgBlAGQAaQBzAHQAcgBpAGIAdQB0AGUALAAgAGEAbgBkACAAcwBlAGwAbAAgAG0AbwBkAGkAZgBpAGUAZAAgAGEAbgBkACAAdQBuAG0AbwBkAGkAZgBpAGUAZAAgAGMAbwBwAGkAZQBzACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACwAIABzAHUAYgBqAGUAYwB0ACAAdABvACAAdABoAGUAIABmAG8AbABsAG8AdwBpAG4AZwAgAGMAbwBuAGQAaQB0AGkAbwBuAHMAOgANAAoADQAKADEAKQAgAE4AZQBpAHQAaABlAHIAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABuAG8AcgAgAGEAbgB5ACAAbwBmACAAaQB0AHMAIABpAG4AZABpAHYAaQBkAHUAYQBsACAAYwBvAG0AcABvAG4AZQBuAHQAcwAsACAAaQBuACAATwByAGkAZwBpAG4AYQBsACAAbwByACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgBzACwAIABtAGEAeQAgAGIAZQAgAHMAbwBsAGQAIABiAHkAIABpAHQAcwBlAGwAZgAuAA0ACgANAAoAMgApACAATwByAGkAZwBpAG4AYQBsACAAbwByACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgBzACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAbQBhAHkAIABiAGUAIABiAHUAbgBkAGwAZQBkACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAYQBuAGQALwBvAHIAIABzAG8AbABkACAAdwBpAHQAaAAgAGEAbgB5ACAAcwBvAGYAdAB3AGEAcgBlACwAIABwAHIAbwB2AGkAZABlAGQAIAB0AGgAYQB0ACAAZQBhAGMAaAAgAGMAbwBwAHkAIABjAG8AbgB0AGEAaQBuAHMAIAB0AGgAZQAgAGEAYgBvAHYAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAbgBvAHQAaQBjAGUAIABhAG4AZAAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlAC4AIABUAGgAZQBzAGUAIABjAGEAbgAgAGIAZQAgAGkAbgBjAGwAdQBkAGUAZAAgAGUAaQB0AGgAZQByACAAYQBzACAAcwB0AGEAbgBkAC0AYQBsAG8AbgBlACAAdABlAHgAdAAgAGYAaQBsAGUAcwAsACAAaAB1AG0AYQBuAC0AcgBlAGEAZABhAGIAbABlACAAaABlAGEAZABlAHIAcwAgAG8AcgAgAGkAbgAgAHQAaABlACAAYQBwAHAAcgBvAHAAcgBpAGEAdABlACAAbQBhAGMAaABpAG4AZQAtAHIAZQBhAGQAYQBiAGwAZQAgAG0AZQB0AGEAZABhAHQAYQAgAGYAaQBlAGwAZABzACAAdwBpAHQAaABpAG4AIAB0AGUAeAB0ACAAbwByACAAYgBpAG4AYQByAHkAIABmAGkAbABlAHMAIABhAHMAIABsAG8AbgBnACAAYQBzACAAdABoAG8AcwBlACAAZgBpAGUAbABkAHMAIABjAGEAbgAgAGIAZQAgAGUAYQBzAGkAbAB5ACAAdgBpAGUAdwBlAGQAIABiAHkAIAB0AGgAZQAgAHUAcwBlAHIALgANAAoADQAKADMAKQAgAE4AbwAgAE0AbwBkAGkAZgBpAGUAZAAgAFYAZQByAHMAaQBvAG4AIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABtAGEAeQAgAHUAcwBlACAAdABoAGUAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAoAHMAKQAgAHUAbgBsAGUAcwBzACAAZQB4AHAAbABpAGMAaQB0ACAAdwByAGkAdAB0AGUAbgAgAHAAZQByAG0AaQBzAHMAaQBvAG4AIABpAHMAIABnAHIAYQBuAHQAZQBkACAAYgB5ACAAdABoAGUAIABjAG8AcgByAGUAcwBwAG8AbgBkAGkAbgBnACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAuACAAVABoAGkAcwAgAHIAZQBzAHQAcgBpAGMAdABpAG8AbgAgAG8AbgBsAHkAIABhAHAAcABsAGkAZQBzACAAdABvACAAdABoAGUAIABwAHIAaQBtAGEAcgB5ACAAZgBvAG4AdAAgAG4AYQBtAGUAIABhAHMAIABwAHIAZQBzAGUAbgB0AGUAZAAgAHQAbwAgAHQAaABlACAAdQBzAGUAcgBzAC4ADQAKAA0ACgA0ACkAIABUAGgAZQAgAG4AYQBtAGUAKABzACkAIABvAGYAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIABvAHIAIAB0AGgAZQAgAEEAdQB0AGgAbwByACgAcwApACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAcwBoAGEAbABsACAAbgBvAHQAIABiAGUAIAB1AHMAZQBkACAAdABvACAAcAByAG8AbQBvAHQAZQAsACAAZQBuAGQAbwByAHMAZQAgAG8AcgAgAGEAZAB2AGUAcgB0AGkAcwBlACAAYQBuAHkAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACwAIABlAHgAYwBlAHAAdAAgAHQAbwAgAGEAYwBrAG4AbwB3AGwAZQBkAGcAZQAgAHQAaABlACAAYwBvAG4AdAByAGkAYgB1AHQAaQBvAG4AKABzACkAIABvAGYAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIABhAG4AZAAgAHQAaABlACAAQQB1AHQAaABvAHIAKABzACkAIABvAHIAIAB3AGkAdABoACAAdABoAGUAaQByACAAZQB4AHAAbABpAGMAaQB0ACAAdwByAGkAdAB0AGUAbgANAAoAcABlAHIAbQBpAHMAcwBpAG8AbgAuACAADQAKAA0ACgA1ACkAIABUAGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAG0AbwBkAGkAZgBpAGUAZAAgAG8AcgAgAHUAbgBtAG8AZABpAGYAaQBlAGQALAAgAGkAbgAgAHAAYQByAHQAIABvAHIAIABpAG4AIAB3AGgAbwBsAGUALAAgAG0AdQBzAHQAIABiAGUAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABlAG4AdABpAHIAZQBsAHkAIAB1AG4AZABlAHIAIAB0AGgAaQBzACAAbABpAGMAZQBuAHMAZQAsACAAYQBuAGQAIABtAHUAcwB0ACAAbgBvAHQAIABiAGUAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIAB1AG4AZABlAHIAIABhAG4AeQAgAG8AdABoAGUAcgAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlACAAcgBlAHEAdQBpAHIAZQBtAGUAbgB0ACAAZgBvAHIAIABmAG8AbgB0AHMAIAB0AG8AIAByAGUAbQBhAGkAbgAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAZABvAGUAcwAgAG4AbwB0ACAAYQBwAHAAbAB5ACAAdABvACAAYQBuAHkAIABkAG8AYwB1AG0AZQBuAHQAIABjAHIAZQBhAHQAZQBkACAAdQBzAGkAbgBnACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlAC4ADQAKAA0ACgBUAEUAUgBNAEkATgBBAFQASQBPAE4ADQAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYgBlAGMAbwBtAGUAcwAgAG4AdQBsAGwAIABhAG4AZAAgAHYAbwBpAGQAIABpAGYAIABhAG4AeQAgAG8AZgAgAHQAaABlACAAYQBiAG8AdgBlACAAYwBvAG4AZABpAHQAaQBvAG4AcwAgAGEAcgBlACAAbgBvAHQAIABtAGUAdAAuAA0ACgANAAoARABJAFMAQwBMAEEASQBNAEUAUgANAAoAVABIAEUAIABGAE8ATgBUACAAUwBPAEYAVABXAEEAUgBFACAASQBTACAAUABSAE8AVgBJAEQARQBEACAAIgBBAFMAIABJAFMAIgAsACAAVwBJAFQASABPAFUAVAAgAFcAQQBSAFIAQQBOAFQAWQAgAE8ARgAgAEEATgBZACAASwBJAE4ARAAsACAARQBYAFAAUgBFAFMAUwAgAE8AUgAgAEkATQBQAEwASQBFAEQALAAgAEkATgBDAEwAVQBEAEkATgBHACAAQgBVAFQAIABOAE8AVAAgAEwASQBNAEkAVABFAEQAIABUAE8AIABBAE4AWQAgAFcAQQBSAFIAQQBOAFQASQBFAFMAIABPAEYAIABNAEUAUgBDAEgAQQBOAFQAQQBCAEkATABJAFQAWQAsACAARgBJAFQATgBFAFMAUwAgAEYATwBSACAAQQAgAFAAQQBSAFQASQBDAFUATABBAFIAIABQAFUAUgBQAE8AUwBFACAAQQBOAEQAIABOAE8ATgBJAE4ARgBSAEkATgBHAEUATQBFAE4AVAAgAE8ARgAgAEMATwBQAFkAUgBJAEcASABUACwAIABQAEEAVABFAE4AVAAsACAAVABSAEEARABFAE0AQQBSAEsALAAgAE8AUgAgAE8AVABIAEUAUgAgAFIASQBHAEgAVAAuACAASQBOACAATgBPACAARQBWAEUATgBUACAAUwBIAEEATABMACAAVABIAEUAIABDAE8AUABZAFIASQBHAEgAVAAgAEgATwBMAEQARQBSACAAQgBFACAATABJAEEAQgBMAEUAIABGAE8AUgAgAEEATgBZACAAQwBMAEEASQBNACwAIABEAEEATQBBAEcARQBTACAATwBSACAATwBUAEgARQBSACAATABJAEEAQgBJAEwASQBUAFkALAAgAEkATgBDAEwAVQBEAEkATgBHACAAQQBOAFkAIABHAEUATgBFAFIAQQBMACwAIABTAFAARQBDAEkAQQBMACwAIABJAE4ARABJAFIARQBDAFQALAAgAEkATgBDAEkARABFAE4AVABBAEwALAAgAE8AUgAgAEMATwBOAFMARQBRAFUARQBOAFQASQBBAEwAIABEAEEATQBBAEcARQBTACwAIABXAEgARQBUAEgARQBSACAASQBOACAAQQBOACAAQQBDAFQASQBPAE4AIABPAEYAIABDAE8ATgBUAFIAQQBDAFQALAAgAFQATwBSAFQAIABPAFIAIABPAFQASABFAFIAVwBJAFMARQAsACAAQQBSAEkAUwBJAE4ARwAgAEYAUgBPAE0ALAAgAE8AVQBUACAATwBGACAAVABIAEUAIABVAFMARQAgAE8AUgAgAEkATgBBAEIASQBMAEkAVABZACAAVABPACAAVQBTAEUAIABUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUAIABPAFIAIABGAFIATwBNACAATwBUAEgARQBSACAARABFAEEATABJAE4ARwBTACAASQBOACAAVABIAEUAIABGAE8ATgBUACAAUwBPAEYAVABXAEEAUgBFAC4ADQAKAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBwAGEAcgBhAHQAeQBwAGUALgBjAG8AbQAvAGgAZQBsAHAALwBkAGUAcwBpAGcAbgBlAHIAcwAvAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBwAGEAcgBhAHQAeQBwAGUALgBjAG8AbQBQAFQAIABTAGEAbgBzACAAaQBzACAAYQAgAHQAeQBwAGUAIABmAGEAbQBpAGwAeQAgAG8AZgAgAHUAbgBpAHYAZQByAHMAYQBsACAAdQBzAGUALgAgAEkAdAAgAGMAbwBuAHMAaQBzAHQAcwAgAG8AZgAgADgAIABzAHQAeQBsAGUAcwA6ACAAcgBlAGcAdQBsAGEAcgAgAGEAbgBkACAAYgBvAGwAZAAgAHcAZQBpAGcAaAB0AHMAIAB3AGkAdABoACAAYwBvAHIAcgBlAHMAcABvAG4AZABpAG4AZwAgAGkAdABhAGwAaQBjAHMAIABmAG8AcgBtACAAYQAgAHMAdABhAG4AZABhAHIAZAAgAGMAbwBtAHAAdQB0AGUAcgAgAGYAbwBuAHQAIABmAGEAbQBpAGwAeQA7ACAAdAB3AG8AIABuAGEAcgByAG8AdwAgAHMAdAB5AGwAZQBzACAAKAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACkAIABhAHIAZQAgAGkAbgB0AGUAbgBkAGUAZAAgAGYAbwByACAAZABvAGMAdQBtAGUAbgB0AHMAIAB0AGgAYQB0ACAAcgBlAHEAdQBpAHIAZQAgAHQAaQBnAGgAdAAgAHMAZQB0ADsAIAB0AHcAbwAgAGMAYQBwAHQAaQBvAG4AIABzAHQAeQBsAGUAcwAgACgAcgBlAGcAdQBsAGEAcgAgAGEAbgBkACAAYgBvAGwAZAApACAAYQByAGUAIABmAG8AcgAgAHQAZQB4AHQAcwAgAG8AZgAgAHMAbQBhAGwAbAAgAHAAbwBpAG4AdAAgAHMAaQB6AGUAcwAuACAAVABoAGUAIABkAGUAcwBpAGcAbgAgAGMAbwBtAGIAaQBuAGUAcwAgAHQAcgBhAGQAaQB0AGkAbwBuAGEAbAAgAGMAbwBuAHMAZQByAHYAYQB0AGkAdgBlACAAYQBwAHAAZQBhAHIAYQBuAGMAZQAgAHcAaQB0AGgAIABtAG8AZABlAHIAbgAgAHQAcgBlAG4AZABzACAAbwBmACAAaAB1AG0AYQBuAGkAcwB0AGkAYwAgAHMAYQBuAHMAIABzAGUAcgBpAGYAIABhAG4AZAAgAGMAaABhAHIAYQBjAHQAZQByAGkAegBlAGQAIABiAHkAIABlAG4AaABhAG4AYwBlAGQAIABsAGUAZwBpAGIAaQBsAGkAdAB5AC4AIABUAGgAZQBzAGUAIABmAGUAYQB0AHUAcgBlAHMAIABiAGUAcwBpAGQAZQAgAGMAbwBuAHYAZQBuAHQAaQBvAG4AYQBsACAAdQBzAGUAIABpAG4AIABiAHUAcwBpAG4AZQBzAHMAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4AcwAgAGEAbgBkACAAcAByAGkAbgB0AGUAZAAgAHMAdAB1AGYAZgAgAG0AYQBkAGUAIAB0AGgAZQAgAGYAbwBuAHQAcwAgAHEAdQBpAHQAZQAgAHUAcwBlAGEAYgBsAGUAIABmAG8AcgAgAGQAaQByAGUAYwB0AGkAbwBuACAAYQBuAGQAIABnAHUAaQBkAGUAIABzAGkAZwBuAHMALAAgAHMAYwBoAGUAbQBlAHMALAAgAHMAYwByAGUAZQBuAHMAIABvAGYAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4AIABrAGkAbwBzAGsAcwAgAGEAbgBkACAAbwB0AGgAZQByACAAbwBiAGoAZQBjAHQAcwAgAG8AZgAgAHUAcgBiAGEAbgAgAHYAaQBzAHUAYQBsACAAYwBvAG0AbQB1AG4AaQBjAGEAdABpAG8AbgBzAC4ADQAKAA0ACgBUAGgAZQAgAGYAbwBuAHQAcwAgAG4AZQB4AHQAIAB0AG8AIABzAHQAYQBuAGQAYQByAGQAIABMAGEAdABpAG4AIABhAG4AZAAgAEMAeQByAGkAbABsAGkAYwAgAGMAaABhAHIAYQBjAHQAZQByACAAcwBlAHQAcwAgAGMAbwBuAHQAYQBpAG4AIABzAGkAZwBuAHMAIABvAGYAIAB0AGkAdABsAGUAIABsAGEAbgBnAHUAYQBnAGUAcwAgAG8AZgAgAHQAaABlACAAbgBhAHQAaQBvAG4AYQBsACAAcgBlAHAAdQBiAGwAaQBjAHMAIABvAGYAIABSAHUAcwBzAGkAYQBuACAARgBlAGQAZQByAGEAdABpAG8AbgAgAGEAbgBkACAAcwB1AHAAcABvAHIAdAAgAHQAaABlACAAbQBvAHMAdAAgAG8AZgAgAHQAaABlACAAbABhAG4AZwB1AGEAZwBlAHMAIABvAGYAIABuAGUAaQBnAGgAYgBvAHIAaQBuAGcAIABjAG8AdQBuAHQAcgBpAGUAcwAuACAAVABoAGUAIABmAG8AbgB0AHMAIAB3AGUAcgBlACAAZABlAHYAZQBsAG8AcABlAGQAIABhAG4AZAAgAHIAZQBsAGUAYQBzAGUAZAAgAGIAeQAgAFAAYQByAGEAVAB5AHAAZQAgAGkAbgAgADIAMAAwADkAIAB3AGkAdABoACAAZgBpAG4AYQBuAGMAaQBhAGwAIABzAHUAcABwAG8AcgB0ACAAZgByAG8AbQAgAEYAZQBkAGUAcgBhAGwAIABBAGcAZQBuAGMAeQAgAG8AZgAgAFAAcgBpAG4AdAAgAGEAbgBkACAATQBhAHMAcwAgAEMAbwBtAG0AdQBuAGkAYwBhAHQAaQBvAG4AcwAgAG8AZgAgAFIAdQBzAHMAaQBhAG4AIABGAGUAZABlAHIAYQB0AGkAbwBuAC4AIABEAGUAcwBpAGcAbgAgAC0AIABBAGwAZQB4AGEAbgBkAHIAYQAgAEsAbwByAG8AbABrAG8AdgBhACAAdwBpAHQAaAAgAGEAcwBzAGkAcwB0AGEAbgBjAGUAIABvAGYAIABP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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAA/9IAAAAAAAAAAAAAAAAAAAAA/+kAAAAAAAD/8P/wAAD/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//UAAP/q//X/6f/1AAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAD/6AAAAAAAAAAAAAAAAAAA//X/8AAAAAAAAAAAAAAAEP/yABEAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAD/9AAAAAAAAAAAAAAAAAAAAAAAAP/0//X/6P/wAAD/y//wAAAAAAAAAAD/+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+AAEAAAAAAAAAAAAAAAAAAA//UAAAAAAAD/8AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3AAOAAD/uAAAAAAAAAAAAAAAAAAA//UAAAAHAAb/8//2AAAAAP/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAAAAD/wgAAAAAAAAAAAAAAAAAA//UAAAAGAAD/8f/wAAAAAP/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAA/9IAAAAAAAAAAAAAAAAAAAAA/+gAAP/5AAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAA/9gAAAAAAAAAAAAAAAAAAAAA//AAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7D/8wAA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AAD/8AAAAAAAAAAAAAD/4QAA/8r/sgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+zAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAA/+sAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+r/+gAAAAD/7wAA//UAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/y//wAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//r/+gAAAAD/9AAAAAAAAAAAAAAAAAAA/9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAA/+gAAAAAAAAAAAAA//8AAAAAAAD/8gAA/+kAAAAAAAD/3AAAAAD/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAABQAA//oAAAAAAAAAAAAA/+oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//oAAAAAAAAAAAAAAB4AAAAAAAAAAAAA//kAAAAAAAD/3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/bgAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3AAA/+kAAAAAAAAAAAAA//UAAAAAAAD/2wAA//UAAP/jAAD/6gAA/8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+YAAAAAAAAAAAAA//AAAAAAAAD/8AAA/+MAAAAAAAAAAAAAAAD/xAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBHAADAAUACgALAA0ADwAQABEAGgAk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AC8AHQArAAAAAAAAAAAALAAtABoAKgAAAC0AAAAtAAAALQAAAAAALAAtACwALQAsAC0ALAAtAAAAAAAAAAAAAAAAACwALQAAACoAAAAqAAAAAAAAAAAAAAAAAAAAKgAsAC0AAAAAAAAAAAAAAAAAAAAAACwALQAAAAwAAAAAAAAAAAAGAAAABwAOAAEAAwK0ABUAAAAYAAAAAAAAAAAAGAAaAAAAGwAAABYAFwAWAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAMAAAAAAAAAAAAAAAAACQACAAAAAAADAAQAAwAFAAAABgAAAAcACAAJAAoACwAaAAAAAAAAAAAAAAAAAA8ADAAAAA0ADgAAAAAAAAAAABMAAAAAAAAADwAPAAAAMAAAABAAAAARABIAEwARABQAGgAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAADAAAAAwADAAMAAwADAAAAAwAAAAAAAAAAAAoABAAAAAAAAAAAAAAAAAAAAAAADAANAA0ADQANAAAAAAAAAAAAAAAAAA8ADwAPAA8ADwAAAA8AAAAAAAAAAAARAA8AEQAAAAAAAAAAAAAAAAABAAwAAQAMAAEADAAAAAAAAwAAAAAADQAAAA0AAAANAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJABMAAgAAAAIAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAANAAUAMAAFADAABQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAACgALABQACwAUAAsAFAAAAAAAAAAAAAAAAAAGABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAmACYAAAAlACQAAAAdAAAAAAAeAB8AAAAlAAAAAAAAACUAAAAAAAAAIAAAACEAIgAjACQAIAAlAB8AAAAAAB8AJgAAACYAIAAgAAAAAAAqAAAAKAAAACkALQAAAAAAAAAtAAAAAAAAACoAAAAqACsAKAAsACoALQAAAAAAAAAAAC4AAAAuACoAKgAAACkAAAAoAAAAAAAAAAAAAAAuAC4AAAAtACwAAAAmAC4AIAAqACQALAAfAAAAJgAuACEAKgAeACgAHgAoAAAAAAAlAC0AAAAAACUALQAlAC0AJQAtACUALQAAAAAAHgAoAAAAAAAgACoAIgArACMAKAAkACwAJAAAACUALQAAAAAAHwAAAAAAAAAmAAAAJwApACcAKQAAACUALQAfAAAAAAAAAB8AAAAAAAAAHwAAAAAAHQAAAB0AAAAAACkAAAAAACAAKgAgACoAJQAtAAAAAAAAAC8AAAAAAAAAAAAgACoAIAAqACAAKgAgAAAAJAAsACQALAAkACwAAAAAAB4AKAAAAAAAJQAtAAAAAAAAAAAAJAAsAB8AAAAAAAAACQATAAAAAAAEAA8AAAAXABcAFwAYABgAGQAYABgAGQAAAAAAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAACQALAAgACoAAAAAAAAAAAAdAAAAAAApAAAAKQAAACkAAAAAACAAKgAgACoAIAAqACAAKgAAAAAAIAAqACAAKgAAACkAAAAAAAAAAAAgACoAIAAqAAAAAAAAAAAAIAAqAAAAAAAAAAAAAAAAAAAAAAAiACsAAwAAAAAAAAAAAAAABgAAAAcAEQABAGgABAAAAC8Ipgh8B/IH4AfWB8wHxgXcBSYFEASuAzACzgK4AqICjALOAn4BwAKMAowBtgGgAYoBKALOAs4CzgLOARICjAD8APwA5gKMAowBoAGKAaABigGgAYoBKAKMAOAAygKMAAEALwAlAEQATgBRALEA5QDyARABEQFLAVMBXgFiAWUBaQFtAXMBewF+AX8BggGPAZ0BngGqAa4BsAGyAbQBtQG2AcEBwwHHAcgBygHWAdcB2gHbAd4B3wHuAhQCIgKdAp4ABQFDAB4BTQAeAVQAHgHWAB4CDwAeAAEBiP+mAAUBQwAYAU0AGAFUABgB1gAYAg8AGAAFATz/+QFF//kBW//5Ab//+QHH//kABQFDABcBTQAXAVQAFwHWABcCDwAXABgBbv/6AXf/+gF6//oBff/6AYn/+gGM//oBmv/6Abz/+gG+//oB6P/6Afj/+gH6//oB/P/6Anr/+gJ+//oCgP/6AoL/+gKG//oCiP/6Aor/+gKM//oClP/6AqL/+gKs//oABQFtACgBdAAoAZEAKAHXACgCEAAoAAUBQwAkAU0AJAFUACQB1gAkAg8AJAACAHAAGwJQABsALwAD/+UAEP/VAGL/5QBv/9UBbf/6AW7/6gF0//oBd//qAXr/6gF8//UBff/qAYn/6gGM/+oBkf/6AZX/9QGa/+oBnP/1Abz/6gG+/+oBwv/1AdD/3AHS/9wB1//6Aej/6gH4/+oB+v/qAfz/6gIA//UCAv/1AgT/9QIQ//oCEv/1Ah7/1QIf/9UCIP/VAnT/9QJ6/+oCfv/qAoD/6gKC/+oChv/qAoj/6gKK/+oCjP/qApT/6gKi/+oCrP/qAAMADAAQAEAAEABgABAABQFtAB4BdAAeAZEAHgHXAB4CEAAeAAUBPP+TAUX/kwFb/5MBv/+TAcf/kwAFATz/sAFF/7ABW/+wAb//sAHH/7AAGAFu//UBd//1AXr/9QF9//UBif/1AYz/9QGa//UBvP/1Ab7/9QHo//UB+P/1Afr/9QH8//UCev/1An7/9QKA//UCgv/1Aob/9QKI//UCiv/1Aoz/9QKU//UCov/1Aqz/9QBfAAP/5QAQ/7gAYv/lAG//uAE8/+UBPv/lAUX/5QFH/+oBSf/wAVf/5QFa/+UBW//lAVz/6gFd/+UBbf/qAW7/1QF0/+oBd//VAXr/1QF7/98BfP/PAX3/1QGD/98Bif/VAYz/1QGR/+oBlf/PAZn/5QGa/9UBm//qAZz/zwGg/98BtP/fAbv/5QG8/9UBvf/lAb7/1QG//+UBwP/fAcH/6gHC/88Bw//qAcf/5QHI/98Bz/+8AdD/uAHR/7wB0v+4Adf/6gHh//AB4//wAeX/qQHo/9UB6f/fAev/3wH3/+UB+P/VAfn/5QH6/9UB+//lAfz/1QH//+oCAP/PAgH/6gIC/88CA//qAgT/zwIQ/+oCEf/qAhL/zwIe/7gCH/+4AiD/uAJz/+oCdP/PAnn/5QJ6/9UCe//wAn7/1QKA/9UCgv/VAoX/5QKG/9UCh//lAoj/1QKJ/+UCiv/VAov/5QKM/9UCk//lApT/1QKh/+UCov/VAqv/5QKs/9UAGAFu/78Bd/+/AXr/vwF9/78Bif+/AYz/vwGa/78BvP+/Ab7/vwHo/78B+P+/Afr/vwH8/78Cev+/An7/vwKA/78Cgv+/Aob/vwKI/78Civ+/Aoz/vwKU/78Cov+/Aqz/vwAFATz/5QFF/+UBW//lAb//5QHH/+UALQAPABAAEP/gABEAEABG//UASP/1AEr/9QBS//UAVP/1AFv/8ABv/+AAqf/1AKr/9QCr//UArP/1AK3/9QCy//UAtP/1ALX/9QC2//UAt//1ALj/9QC6//UAyf/1AMv/9QDN//UAz//1ANH/9QDT//UA1f/1ANf/9QDZ//UA2//1AN3/9QDf//UA/f/1AP//9QEB//UBKP/1Ah7/4AIf/+ACIP/gAiMAEAImABACKgAQAq7/9QB6AAP/2AAMABsAD/+aABD/rAAR/5oAJP+9ACb/0AAq/9AAMv/QADT/0AA3ABQAO//fADz/9AA9/+gAQAAbAET/lwBG/4AASP+AAEr/gABQ/5cAUf+XAFL/gABT/5cAVP+AAFX/lwBW/5cAV//DAFj/lwBZ/4AAWv+AAFv/gABc/4AAXf+AAGAAGwBi/9gAb/+sAIL/vQCD/70AhP+9AIX/vQCG/70Ah/+9AIj/igCJ/9AAlP/QAJX/0ACW/9AAl//QAJj/0ACa/9AAn//0AKL/swCj/7MApP+zAKX/swCm/7MAp/+zAKj/lwCp/4AArv+zAK//swCy/4AAs/+zALr/gAC7/7MAvP+zAL3/swC+/7MAwv+9AMP/swDE/70Axf+zAMb/vQDH/5cAyP/QAMn/gADK/9AAzP/QAM//gADR/4AA1/+AANr/0ADc/9AA3v/QAN//gAD3/7MA+f+XAPv/swD8/9AA/v/QAQD/0AEB/4ABA/+zAQX/lwEJ/7MBC/+zAQ3/lwESABQBE//DARX/swEX/7MBGf+zARv/swEd/5cBHv/0AR//6AEh/+gBI//oASf/0AEo/4ABKv+XASsAFAEs/8MCHv+sAh//rAIg/6wCI/+ZAib/mQIq/5oCrv+AArMAFAK2/4AAAQAN/5IAAgBwABYCUAAWAAIAcAAeAlAAHgAEADf/gQES/4EBK/+BArP/gQAiAEb/9ABI//QASv/0AFL/9ABU//QAqf/0AKr/9ACr//QArP/0AK3/9ACy//QAtP/0ALX/9AC2//QAt//0ALj/9AC6//QAyf/0AMv/9ADN//QAz//0ANH/9ADT//QA1f/0ANf/9ADZ//QA2//0AN3/9ADf//QA/f/0AP//9AEB//QBKP/0Aq7/9AAKAAX/+AAK//gAN/+IARL/iAEr/4gCIf/4AiL/+AIk//gCJf/4ArP/iAAEADf/4gES/+IBK//iArP/4gABAe4ABAAAAPIHtgewB7AHqgekB5IHpAeMB4YHfAekB3IHbAdiB1gHbAdSB2wHSAbKBpwGhgdiBjgGLgeqBigGIgYcBf4F+AYiBiIF8geqB7YHkgd8B3wHfAd8B3wHfAdyB2wHbAdsB2wHbAdsB2wGOAdSBhwGIgYiBiIGIgYiBiIGIgd8B3wHfAdyBhwHcgYcB3IGHAdsB2IHWAdYB1gHWAdsB2wHSAXyB0gF8gdIBfIGygbKBjgGLgYuBi4GygVwBWIFYgUMBQIFcAT8BO4E4ATSBEQFDATuBDYE/AT8BWIFYgTuBO4EMAQqBCQEHgQwBCoEGAQwBBgEMAQSBAgEAgQwBBID/AP8BDAEMAQwBCQD/AP8BAIFYgP8BO4EMAUMBAIE/AViA/wE4AQwBXAEJAVwBCQFcAQkBO4EMATSBBIERAQkBQwEAgUMBPwFYgPuBDAD7gQwBPwE/AT8BQIFAgQwBO4EMATuBDAEEgTuBDAE7gQwBO4EMATuBQwEAgUMBAIFDAQCBXAEJAUMBAIE/AdiB1IGIgeSB5IHkgewA+AD1gewB7AD1gekBiIFDAQCBO4EMAUCBDAEMAQwBO4EMATuBDAE7gQwBO4EMATuBDAE7gQwBDAE7gQwBO4EMATuBDAE0gQSB2wGygacAAEA8gADAAUACgALAA8AEAARABoAHQAkACUAJgAnAC4ALwAyADMANAA1ADcAOQA6ADsAPAA9AD4ARABFAEYASQBRAFIAUwBVAF4AYgBvAIIAgwCEAIUAhgCHAIkAkgCUAJUAlgCXAJgAmgCfAKAAqQC0ALUAtgC3ALgAugDAAMIAxADGAMgAyQDKAMsAzADNANAA7ADuAPAA8gD0APwA/gECAQMBBAEFAQYBBwEQARIBHgEfASEBIwErAT0BQwFEAUcBSQFMAU0BVwFZAVoBWwFcAV0BXgFfAWIBYwFlAWYBZwFqAWsBbAFtAW4BcAF1AXcBeAF5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AhMCFQIXAhkCGwIdAl8CawJtAm8CcQJzAnUCdwJ5AnsCfQJ/AoECgwKFAocCiQKLAo0CjwKRApMClQKXApkCmwKdAp8CoQKjAqUCpwKpAqsCrQKvArECswK1ArcCuQAAAAAALwAAAtQJCgcAAgIDAwUFBwcCAwMEBQIDAgMFBQUFBQUFBQUFAgIFBQUECgYFBQYFBQYGAwMFBQcGBgUGBQUFBgYHBgUFAwMDBQQDBAUEBQUDBQUCAgQDBwUFBQUDBAMFBAcEBAQDAgMFAgMFBQUFAgQEBwMFBQMGBAQFBAQCBQUCAwQEBQgICAQGBgYGBgYIBQUFBQUDAwMDBgYGBgYGBgUGBgYGBgUFBQQEBAQEBAcEBQUFBQICAgIFBQUFBQUFBQUFBQUFBAUEBgQGBAYEBQQFBAUEBgUGBQUFBQUFBQUFBgUGBQYFBgUGBQMCAwIDAgMCBQQFAwUDBQMFAwYFBgUGBQYFBgUICAUDBQMFAwUEBQQFBAUEBQMFAwYFBgUGBQYFBgUFBQQFBAUEAwUGBQUEBQMCAgMEBAIDAwQDAAUHBgUHBAUFAwMDCAkHBQUGBgUFBAYFCAUGBgUGBwYGBgUFBQUHBgYFCAgGBwUFCAUEBQQDBQUGBAUFBAUGBQUFBQQEBAYEBQQGBwQGBAQHBAUFAwQEAgMCBwcFBAQFBgQGBQUFBgUGBAUFBAMEAwUFBwYFBAYFBgUGBAYFBgUIBgkIBwYFBAUEBQQFBAYFCAYGBQYFBQUHBgcGAwUEBgUGBQYFBQQHBgIGBAYECAcFBQYFBgUIBgUEBQQGBQYFBgUGBQYFBQQFBAUEBQQFBAQDBwYGBAUEBgUHBwYFBgUFBAcHBQUGAwYHAgICAwMDBAQEBwoDAwIEBAQEBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkIBQUGBQUFBQgDBQUFBQUGBQAEAwQCAgIDBAMFBQUDBQUFBAUEBQQFBAUEBgQFBQUFBQUFBAYFBgUGBQYFBwYFBAUEBQQFBAUECAcIBwYFBgUGBQcGBQQDAgUEBQQGBQYFBQMFAwYEBQQFBAICBAQCBAQCAwQEAwQEBAQFBgICAgAACgsIAAMDAwMFBQgIAgMDBAUCBAIEBQUFBQUFBQUFBQIDBQUFBAsGBgYHBQUGBwMDBgUIBwcFBwYFBQcGCAYFBQMEAwUEAwQFBAUFAwUFAgMFAwgFBQUFAwQDBQUHBQUEAwIDBQMDBQUFBQIFBAgEBQUEBwQEBQQEAwYFAwMEBAUICQkEBgYGBgYGCAYFBQUFAwMDAwcHBwcHBwcFBwcHBwcFBgYEBAQEBAQIBAUFBQUCAgICBQUFBQUFBQUFBQUFBQUFBQYEBgQGBAYEBgQGBAcGBwUFBQUFBQUFBQYFBgUGBQcFBwUDAgMCAwIDAwYFBQMFAwUDBQMHBQcFBwUHBQcFCQgGAwYDBgMFBAUEBQQFBAUDBQMHBQcFBwUHBQcFBQUEBQQFBAIFBgUFBAUDAwIEBAQCAwMEBAAGCAcFBwQGBQMDAwkKCAYFBwYGBgQHBQgFBwcGBwgHBwcFBgUFCAYHBgkJBggGBgkGBAUFBAYFBgQFBQUFBgUFBQUEBAUGBQUFBwcFBgQEBwUFBQQFBAIDAwcIBQUFBQYFBwUFBQcGBgUGBQQEBQQGBQgHBQQGBQcFBgUHBQcFCAcKCAgHBgQFBAUFBgUGBQgGBgUGBQYFCAYIBgMGBQYFBwUHBgYFCAcCBgQGBAgIBQUGBQYFCAYFBAYFBwUHBQcFBwUHBQYEBQUFBQUFBgUEBAgGBgUFBAYFCAcHBgYGBgUICAUFBwQHCAICAgMDAwUFBQgLAwMCBAQEBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUKCQYFBwUFBQUJBAUFBQUFBwYABQMEAgICAwQDBgUFAwYFBgUFBQYEBQQGBAYEBQUFBQUFBQQHBQcFBwUHBQgGBgQGBAYFBgUGBQkHCQcHBgcFBwUIBgUEAwIFBAYEBwUHBQUDBQMGBQUEBQQCAgMEAgQEAgQEBAQEBAUEBQYCAgIAAAsNCAADAwMEBgYJCQIDAwQGAgQCBAYGBgYGBgYGBgYCAwYGBgUMBgYGBwYGBwcDAwcGCQcIBggHBgYHBgkHBgYDBAMGBAMGBgUGBgQGBgMDBQMJBgYGBgQFAwYFCAUFBQQDBAYDAwYGBgYDBQUJBAUGBAgFBQYEBAMGBQMDBAQFCQkKBQYGBgYGBgkGBgYGBgMDAwMHBwgICAgIBggHBwcHBgYHBgYGBgYGCQUGBgYGAwMDAwYGBgYGBgYGBgYGBgYFBgUGBgYGBgYGBQYFBgUHBgcGBgYGBgYGBgYHBgcGBwYHBgcGAwMDAwMDAwMHBQYDBgMGAwUDBwYHBgcGCAYIBgoJBwQHBAcEBgUGBQYFBgUGAwYDBwYHBgcGBwYHBgYGBQYFBgUDBgcGBgUGAwMCBAQFAwMDBAQABgkHBggFBgYDAwMKCggHBgcGBgYFBwYJBgcHBwcJBwgHBgYGBgkHCAcKCgcIBgYKBgYGBQQGBgcFBgYFBgcGBgYGBQQFBwUGBQgIBQcFBQgFBgYEBQUDAwMICAYFBQYHBQgGBwYHBgcFBgYFBAUEBgYJCAYFBwYIBgcFCAYIBgkHCwkJCAYFBgQGBQYFBwUJBgcGBwYHBgkHCQcDBwYHBgcGBwYHBgkHAwYGBgYJCQYGBwYHBgkHBgUGBQcGBwYIBggGCAYGBQYFBgUGBQcFBQQIBwcFBgUHBgkICAYHBgcFCQkGBgcEBwkCAgIEBAQFBQUIDQMDAgQEBAQGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCwoHBgcGBgYGCQQGBgYGBggGAAUDBQMCAwQFAwYGBgQHBgcGBgUGBQYFBgUGBgYGBgYGBgYFCAYIBggGCAYIBwYFBgUGBQYFBgUKCAoIBwYHBggGCAcGBQMDBgUGBQcGBwYGAwYDBgUGBQYFAgIEBAIEBAMEBQUEBQUFBQYGAgMCAAAMDgkAAwMEBAcHCQoDAwMEBgMEAwQHBwcHBwcHBwcHAwMGBgYFDQcHBwgGBgcIAwMHBgkICAcIBwcHCAcKBwcHAwUEBgUDBQYFBgYEBgYDAwUECgYGBgYEBQQGBgkGBgUEAwQGAwQHBwcHAwYFCgUGBgQIBQUGBQUDBwYDAwUFBgoKCwUHBwcHBwcKBwYGBgYDAwMDCAgICAgICAYICAgICAcHBwUFBQUFBQkFBgYGBgMDAwMHBgYGBgYGBgYGBgYGBgYGBwUHBQcFBwUHBQcFCAcIBgYGBgYGBgYGBwYHBgcGCAYIBgMDAwMDAwMDBwUGBAYEBgQGBAgGCAYIBggGCAYLCgcEBwQHBAcFBwUHBQcFBwQHBAgGCAYIBggGCAYHBwUHBQcFAwcHBgcFBwQDAgUFBQMEBAUFAAcKCAYJBQcHAwQDCwwJBwcIBwcHBQcGCQYICAcHCQgICAcHBwcJBwgHCwsICQcHCwcFBgUEBwYIBQYGBgYHBgYGBgUFBggGBwYICQUHBQUIBQYGBAYFAwMDCQkGBgYGBwUIBgcGCAcHBQcGBQQGBQcGCggGBQcGCAYIBQgGCAcKCAwKCgcHBQcFBwYHBggGCggIBwcGBwYJBwkHAwcGBwcIBggHBwYJCAMHBQcFCgkGBggGCAYJCAYFBwYIBggGCAYIBggGBwUHBgcGBwYHBgUECQcHBgYFCAYKCQgHBwcHBQkKBwYIBAgKAgICBAQEBgYFCQ4EBAIFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBgwLBwYIBgYGBgoEBgYGBgYIBwAGAwUDAgMEBQQHBgYEBwYHBgcGBwUGBQcFBwUGBgYGBgYGBQgGCAYIBggGCQcHBQcFBwYHBQcFCwgLCAgGCAYIBgkHBgUDAwYFBwUIBwgGBgQHBAcGBgUGBQICBAQDBAUDBAUFBAUFBQUGBwIDAgAADQ8KAAMDBAQHBwoLAwQEBQcDBQMFBwcHBwcHBwcHBwMDBwcHBg4HCAcJBwcICAMDBwYKCAkHCQcHBwgHCwcHBwQFBAcFBAYHBgcHBAcHAwMGBAsHBwcHBAUEBwYKBwYGBQMFBwMEBwcHBwMGBQoFBgcFCQUGBwUFAwcGAwQFBQYLCwsGBwcHBwcICwcHBwcHAwMDAwkICQkJCQkHCQgICAgHBwgGBgYGBgYKBgcHBwcDAwMDBwcHBwcHBwcHBwcHBwYHBgcGBwYIBgcGBwYHBgkICQcHBwcHBwcHBwgHCAcIBwgHCQcDAwMDAwMDAwcGBgQGBAYEBwQIBwgHCAcJBwkHDAsHBAcEBwQHBQcFBwUHBQcEBwQIBwgHCAcIBwgHBwcGBwYHBgMHCAcHBQcEAwMFBQYDBAQFBQAHCgkHCQYIBwMEAwwMCgcHCAcHCAYJBwsHCAgHCAoICQgHBwcHCgcJCAsMCAoHCAwHBgcGBQcHCQYHBwYGCAcHBwcGBQYJBwcHCQkGCQYGCQYHBwUGBQMDAwoKBwYGBwgGCQcHBwgHCAYHBwYFBgUIBwsJBwYIBwkHCQYJBwkHCwkNCwsJBwYHBQcGBwYIBwsICAcIBwgHCggKCAMIBggHCAcJBwgGCggDBwYHBgsKBwcIBwgHCwkHBgcGCAcIBwkHCQcJBwgGBwYHBgcGCAcGBQoJCAcHBggHCwoJBwgIBwYKCwcHCQUJCwMDAwQEBAYGBgoPBAQCBQUFBQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcNDAgHCQcHBwcLBQcHBwcHCQgABgQGAwMDBAYECAcHBAgHCAcHBggGBwYHBgcGBwcHBwcHBwYJBwkHCQcJBwoJCAYIBggGBwYHBgwJDAkJBwgHCQcKCQcGAwMHBQcGCQcIBwYEBwQHBgcGBwYDAwQEAwQFAwUGBQUGBgYGBwgCAwIAAA4QCwAEBAQFCAgLCwMEBAUHAwUDBQgICAgICAgICAgDBAcHBwYPCAgICQgHCQkDBAkHCwkKCAoIBwgJCAwJBwgEBQQHBgQHCAYHBwQICAQEBwQLCAgICAUGBQgHCgcHBgUDBQcEBAgICAgDBwYLBQcHBQoGBgcGBgQIBwQEBgYHDAwMBggICAgICAwICAgICAMDAwMJCQoKCgoKBwoJCQkJBwgJBwcHBwcHCwYHBwcHBAQEBAgICAgICAgHCAgICAgHCAcIBwgHCAcIBggGCAYJCAkICAcIBwgHCAcJCAkICQgJCAkIAwQDBAMEBAQJBwcEBwQHBAcECQgJCAkICggKCA0MCAUIBQgFBwYHBgcGBwYIBQgFCQgJCAkICQgJCAcIBggGCAYDCAkIBwYIBQQDBQYGAwQEBgUACAsJCAoGCAcDBAQNDgsJCAkICAgGCQgLCAkJCQgLCQoJCAgICAsJCggMDQkKCAgNCAcIBwUIBwkGBwcHBwkHCAcIBgYHCQcIBwsLBwkHBwoHBwgFBwYEBAQKCwgHBwcJBwoICAcKBwkHCAgGBQcFCAcLCggGCQcKCAkHCgcKCAwJDgwLCQgGBwYHBwcHCQcMCQkHCQcICAsICwgDCAcJBwkHCgcIBwsJBAgHCAcMCwgHCQcJBwsJCAYIBwkHCQcKCAoICggIBwgHCAcIBwgHBgUKCQkHCAYJBwwKCggJCAkHCwsICAkFCQsDAwMFBQUHBwYLEAQEAwYGBgYICAgICAgICAgICAgICAgICAgICAgICAgICAgHDgwIBwkHBwcHDAUHBwcHBwoIAAcEBgMDAwUGBAgIBwQICAgHCAcIBwgGCAYIBwgHCAcIBwgGCggKCAoICggKCQgHCAcIBwgHCAcNCg0KCQcJBwoICgkIBgMEBwYIBgkICQgHBAgFCAcIBggGAwMFBQMFBgMFBgYFBgYGBggIAwQDAAAPEQsABAQFBQgIDAwDBAQFCAMFAwUICAgICAgICAgIAwQICAgHEAkJCQoICAkKBAQJCAsKCggKCQgICgkNCQgIBAYFCAYEBwgHCAgFCAgEBAcEDAgICAgFBgUIBwsHBwcFAwUIBAUICAgIBAcGDAYHCAULBgYIBgYECAcEBAYGBw0NDQcJCQkJCQkNCQgICAgEBAQECgoKCgoKCggKCgoKCggICQcHBwcHBwwHCAgICAQEBAQICAgICAgICAgICAgIBwgHCQcJBwkHCQcJBwkHCgkKCAgICAgICAgICQgJCAkICggKCAQEBAQEBAQECQcIBAgECAQIBAoICggKCAoICggODQkFCQUJBQgGCAYIBggGCAUIBQoICggKCAoICggICAcIBwgHBAgJCAgGCAUEAwYGBgQFBQYGAAkMCggLBwkIBAQEDg8LCQgKCQgJBwoIDAgKCgkJCwoKCggJCAgLCQoJDQ4JCwgJDQgHCAcFCAgJBwgIBwcJCAgICAcFBwsHCAcLCwcKBwcLBwgIBQcGBAQECwwIBwcICQcKCAkICggJBwgIBwYHBgkIDAoIBwkICggKBwoICwgNCg8NDAoJBwgGCAcIBwoIDQkKCAkICQgMCQwJBAkHCQgKCAoICQcMCgQJBwkHDQwICAoICggMCQgHCAcKCAoICggKCAoICQcIBwgHCAcJBwcGCwoJCAgHCQgNCwoICgkJBwsMCAgKBQoMAwMDBQUFBwcHCxEEBAMGBgYGCAgICAgICAgICAgICAgICAgICAgICAgICAgICA8NCQgKCAgICA0FCAgICAgLCQAHBAcEAwQFBwUJCAgFCQgJBwgHCQcIBwkHCQcICAgICAgIBwoICggKCAoICwoJBwkHCQcIBwgHDQsNCwoICggKCAsKCAcEBAgGCQcKCAoICAQIBQkHCAcIBwMDBQUDBQYEBQcGBQcHBwYICQMEAwAAEBIMAAQEBQUJCQwNAwQEBggEBgMGCQkJCQkJCQkJCQQECAgIBxEJCQkKCAgKCgUECggNCgsJCwkJCQoJDQoJCQUGBQgHBAgJBwkIBQkIBAQIBQ0ICQkJBQcFCAcLCAcHBgMGCAQFCQkJCQQIBw0GCAgGCwcHCAYGBAkIBAUGBggNDg4HCQkJCQkJDgkICAgIBQUFBQsKCwsLCwsICwoKCgoJCQkICAgICAgNBwgICAgEBAQECQgJCQkJCQgJCAgICAcJBwkICQgJCAkHCQcJBwoJCwkICAgICQgICAoJCgkKCQoICggFBAUEBQQEBAoICAUIBQgFCAUKCAoICggLCQsJDw4JBQkFCQUJBwkHCQcJBwkFCQUKCAoICggKCAoICQkHCQcJBwQJCgkJBwkFBAMGBgcEBQUGBgAJDQsIDAcJCQUFBBAQDAoJCgkJCQcLCA0JCgoKCg0KCwoJCQkJDQoLCQ4PCgwJCQ4JCAkIBggICwcICAgICggJCAkHBgcLCAkICwwICgcHDAcICAYIBwQEBAwMCAgHCAoICwkKCAsJCggJCQcGCAYJCA0LCQcKCAsJCwgLCAsJDgsQDQ0LCQcJBgkICQgKCA0KCggKCAkIDAoMCgUKCAoICgkLCQkIDQsECQgJCA4NCAgKCAoIDQsJBwkICggKCAsJCwkLCQkHCQcJBwkHCQgHBgwKCggJBwoIDQsLCQoJCggNDQkJCwYLDQMDAwUFBQgIBwwSBQUDBgYGBgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgQDgoICwgICAgOBggICAgICwkABwUHBAMEBQcFCQkIBQoICQgJBwkHCQcJBwkICAgICAgICQcLCQsJCwkLCQwKCQcJBwkICQcJBw4MDgwLCAoICwkMCgkHBQQIBwkHCgkKCAgFCQUJBwkHCQcDAwUFAwUGBAYHBwYHBwcHCAkDBAMAABEUDQAFBQUGCQkNDgQFBQYJBAYEBgkJCQkJCQkJCQkEBAkJCQcSCgoKCwkJCgwFBQoJDQsMCgwKCQkLCg4KCgkFBgUJBwUICQgJCQUJCQUFCAUOCQkJCQUHBgkIDQkICAYDBgkFBQkJCQkECAcOBwgJBgwHBwkHBwUJCAUFBwcIDg4PBwoKCgoKCg4KCQkJCQUFBQULCwwMDAwMCQwLCwsLCgoKCAgICAgIDggJCQkJBQUFBQkJCQkJCQkJCQkJCQkICQgKCAoICggKCAoICggLCgsJCQkJCQkJCQkKCQoJCgkMCQwJBQUFBQUFBQUKCAkFCQUJBQkFCwkLCQsJDAkMCRAPCgUKBQoFCQcJBwkHCQcJBgkGCwkLCQsJCwkLCQoJCAkICQgECQoJCQcJBgUDBwcHBAUFBwcACg4LCQwICgkFBQUQEQwKCQsKCgoICwkOCQsLCgoNDAwLCgoJCQ0KDAoODwoNCQoPCggJCAYJCQsICQkICAoJCQkJCAcICwkJCA0NCAsICAwICQkGCAcFBQUMDQkICAkLCAsJCgkLCgsICgkIBggHCgkODAkICgkMCQsIDAkMCQ8MEQ4OCwoICQcKCAkICwkOCwsJCggKCQ0LDQsFCggLCQsJDAkKCA4LBQoICggODgkJCwkLCQ4LCQgKCAsJCwkMCQsJCwkKCAkICQgJCAoICAYNCwsJCQgLCA4NDAkLCgoIDQ4KCQsGCw4DAwMGBgYICAgNFAUFAwcHBwcJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJEQ8KCQwJCQkJDwYJCQkJCQwKAAgFBwQDBAYHBQoJCQUKCQoICQgKCAkICggKCAkJCQkJCQkIDAkMCQsJCwkNCwoICggKCAoICggPDA8MCwkLCQwJDQsJCAUFCQcKCAsJDAkJBQkGCggJBwkHAwMGBgQGBwQGBwcGCAcIBwkKAwUDAAASFQ4ABQUFBgoKDg8EBQUGCQQGBAYKCgoKCgoKCgoKBAUJCQkIEwsKCgsKCQsMBQULCQ4MDAoMCwoKDAoPCwoKBQcFCQcFCQoICgkGCgoFBQgFDgoJCgoGCAYKCQ0JCAgGAwYJBQUKCgoKBAkHDwcJCQYNBwgJBwcFCgkFBQcHCQ8PEAgLCwsLCwsPCgoKCgoFBQUFDAwMDAwMDAkMDAwMDAoKCwkJCQkJCQ4ICQkJCQUFBQUKCgkJCQkJCQkKCgoKCAoICwkLCQsJCggKCAoICwsMCgoJCgkKCQoJCwoLCgsKDAoMCgUFBQUFBQUFCwgJBQkFCQUJBQwKDAoMCgwJDAkRDwsGCwYLBgoICggKCAoICgYKBgwKDAoMCgwKDAoKCggKCAoIBAoLCgoICgYFAwcHCAQGBQcHAAoODAoNCAoKBQUFERIOCwoMCwoKCAwKDwoMDAsLDgwMDAoKCgoPCwwLEBALDgoKEAoJCgkHCQkMCAoKCAkMCgkKCggHCAwJCgkNDgkMCAgMCQkKBwkIBQUFDQ4KCAgKCwkMCQsJDAoLCQoJCAcJBwoKDwwKCAsJDAoMCAwJDQoQDBIPDwwKCAoHCgkKCQwJDwwMCQsJCwoOCw4LBQsICwkMCgwKCwkODAULCQsJDw4KCQwJDAkPDAoICgkMCgwKDAkMCQwJCggKCAoICggLCQgHDgwLCQoICwkPDQwKDAoLCA4OCgoMBgwPAwMDBgYGCQkIDhUFBQMHBwcHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCRIQCwkMCQkJCQ8GCQkJCQkNCgAIBQgEAwQGCAUKCgkGCwoLCQoICggKCAoICwkKCQoJCgkKCAwJDAkMCQwJDgwKCAoICgkKCQoJEAwQDAwJDAoMCQ4MCggFBQkHCggLCgwKCQUKBgoJCggKCAMDBgYEBgcEBggIBggICAgKCwMFAwAAExYOAAUFBgYKCg8PBAUFBwoEBwQHCgoKCgoKCgoKCgQFCgoKCBQLCwsMCgoMDQYGCwoPDA0LDQsKCwwLEAwLCgYHBgoIBQkKCQsKBgoKBQUJBhAKCgoKBggGCgkOCQkJBwUHCgUGCgoKCgUJCA8HCQoHDQgICgcHBQoJBQUHCAkQEBEICwsLCwsLEAsKCgoKBgYGBg0MDQ0NDQ0KDQwMDAwLCwsJCQkJCQkPCQoKCgoFBQUFCwoKCgoKCgoKCgoKCgkKCQsJCwkLCQsJCwkLCQwLDQoKCgoKCgoKCgwKDAoMCg0KDAoGBQYFBgUGBQsJCgYKBgoGCgYMCgwKDAoNCg0KEhALBgsGCwYKCAoICggKCAsGCwYMCgwKDAoMCgwKCwoJCgkKCQUKDAoKCAsGBQQHCAgEBgYIBwALDw0KDggLCgYGBhITDgsLDAsKCwgNCg8KDQ0LDA8NDQ0LCwsLDwwODBESDA8LCxELCQoJBwoKDAgKCgkJDAoKCgoJCAkNCQoJDg4JDQkJDgkKCgcJCAUFBQ4PCgkJCgwJDQoLCg0LDAkLCggHCQcLChANCggMCg0KDQkNCg0KEA0TEA8NCwkKCAsJCgkMChAMDAoMCQsKDwwPDAYLCQwKDAoNCwwJDw0FCwkLCRAPCgoMCgwKDwwKCAsJDQoNCg0KDQoNCgsJCwkLCQsJDAkIBw8NDAoKCAwJEA4NCwwLCwkPEAsKDQcNEAQEBAYGBgkJCQ4WBgYEBwcHBwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoTEQsKDQoKCgoQBwoKCgoKDQsACQUIBAQFBggGCwoKBgwKDAkLCQsJCggLCQsJCgoKCgoKCggNCg0KDQoNCg8NCwkLCQsJCwkLCREOEQ4MCgwKDQoPDQoIBgUKCAsJDAoNCgoGCwYLCQoICggEBAYGBAYHBAcICAcICAkICgsEBQQAABQXDwAFBQYHCwsPEAQGBgcKBQcEBwsLCwsLCwsLCwsEBQoKCgkVDAwLDQsKDA0GBgwKEA0NCw0MCgsNCxEMCwsGCAYKCAYJCwkLCgYLCwUFCgYQCwsLCwcIBwsJDwoJCQcFBwoFBgsLCwsFCggQCAoKBw4ICQoICAULCgUGCAgKERESCQwMDAwMDBELCwsLCwYGBgYNDQ0NDQ0NCg4NDQ0NCwsMCQkJCQkJEAkKCgoKBQUFBQsLCwsLCwsKCwsLCwsJCwkMCQwJDAoLCQsJCwkNDA0LCwoLCgsKCwoMCwwLDAsNCw0LBgUGBQYFBgUMCgoGCgYKBgoGDQsNCw0LDQsNCxMRDAcMBwwHCggKCAoICggLBwsHDQsNCw0LDQsNCwsLCQsJCwkFCwwLCggLBwUECAgJBQYGCAgACxANCw8JDAoGBgYTEw8MCw0MCwwJDQsQCg4ODAwQDQ0NCwsLCw8MDgwREg0QCwsSCwkLCggLCg0JCwsKCg0LCwsLCQgJDgoLCQ8PCg0JCQ8JCgsICQgFBgUPDwsKCQsMCg4LDAoOCwwKCwsJCAoIDAsQDgsJDAoOCw0KDgoOCxEOFBEQDQsJCwgLCgsKDQsRDQ0KDAoMCw8MDwwGDAoMCg0LDgsMCRANBQwJDAkREAsKDQoNChANCgkLCg4LDgsNCw4LDgsLCQsJCwkLCQwJCQcQDQwKCwkNChEPDgsNDAwKEBALCw0HDRAEBAQHBwcKCgkPFwYGBAgICAgLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsKFBIMCg4KCgoKEQcKCgoKCg4MAAkGCQUEBQcJBgwLCgYMCwwJCwkLCQsJCwkMCQsKCwoLCgoJDQsNCw4LDgsQDQsJCwkMCQsJCwkSDxIPDQoNCw0LEA0LCQYFCggLCQ0LDQsKBgsHCwkKCQoJBAQHBwQHCAUHCQgHCQkJCQsMBAUEAAAVGBAABgYGBwsLEBEFBgYHCwUIBQcLCwsLCwsLCwsLBQULCwsJFgwMDA4LCw0OBgYNCxEODgwODQsMDgwRDQwLBggGCwkGCgwJCwsHCwsGBgoGEQsLDAsHCQcLChAKCgkHBQcLBgYLCwsLBQoJEQgKCwgPCQkLCAgGDAoGBggIChISEgkMDAwMDAwSDAsLCwsGBgYGDg4ODg4ODgsODg4ODgwMDAoKCgoKChEJCwsLCwUFBQUMCwsLCwsLCwsLCwsLCgwKDAoMCgwKDAkMCQwJDgwOCwsLCwsLCwsLDQsNCw0LDgsPDAYFBgUGBQYGDQoLBgsGCwYLBg4LDgsOCw4LDgsUEg0HDQcNBwsJCwkLCQsJDAcMBw4LDgsOCw4LDgsMCwkLCQsJBQsNCwsJDAcGBAgICQUHBggIAAwRDgsPCQwLBgYGExQQDQwODAwMCQ4LEQsODg0NEQ4ODgwMDAwQDQ4NEhMNEQwMEwwKCwoICwsOCQsLCwsNCwsLDAkICg4KDAoPEAoOCgoQCgsMCAoJBgYGDxAMCwoLDQoOCw0LDgwNCgwLCQgKCAwLEQ8LCQ0LDgwOCg4LDwwSDhUREQ4MCQwIDAoMCg4LEg0NCw0KDAsQDRANBg0LDQsOCw4MDQoRDgUMCgwKEhELCw0LDQsRDgsJDAoOCw4LDgsOCw4LDAoMCgwKDAoNCgkIEQ4NCwsJDQsREA8MDQwNChERDAwOCA4RBAQEBwcHCgoJEBgGBgQICAgICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCxUTDQsOCwsLCxIHCwsLCwsPDAAKBgkFBAUHCQYMDAsHDQwNCgwKDAoLCQwJDAoLCwsLCwsLCQ4LDgsOCw4LEQ4MCgwKDAoMCgwKExATEA4LDgsOCxEOCwkGBQsJDAkOCw4LCwYMBwwKCwkLCQQEBwcFBwgFBwkJBwkJCgkLDAQFBAAAFhkRAAYGBwcMDBESBQYGCAsFCAUIDAwMDAwMDAwMDAUGCwsLChcNDQ0ODAsNDwYGDQsRDw8MDw0MDA8NEg4MDAcIBwsJBgoMCgwLBwwMBgYLBhEMDAwMBwkHDAsQCwoKCAUICwYHDAwMDAULCRIICwsIDwkJCwkJBgwLBgYJCQsSExMKDQ0NDQ0NEw0MDAwMBgYGBg4PDw8PDw8LDw8PDw8MDA0KCgoKCgoRCgsLCwsGBgYGDAwMDAwMDAsMDAwMDAoMCg0KDQoNCg0KDQoNCg4NDgwMCwwLDAsMCw0MDQwNDA8MDwwGBgYGBgYGBg0LCwYLBgsGCwYPDA8MDwwPDA8MFRMNBw0HDQcMCQwJDAkMCQwHDAcPDA8MDwwPDA8MDAwKDAoMCgUMDQwMCQwHBgQICQkFBwcJCQANEg8MEAoNDAYGBhQVEQ0MDw0MDQoPDBIMDw8NDhEPDw8MDQwMEg4PDRMUDhEMDRQNCgwLCAwLDwoMDAsLDgwMDAwKCQoOCwwKEBELDwsKEAoLDAgKCQYGBhARDAsKDA4LDwwNCw8MDgsMDAoICwgNDBIPDAoOCw8MDwsPCxAMEw8WExIPDQoMCQwLDAsODBIODgsNCw0MEQ0RDQYNCw4LDwwPDA0KEg8GDQoNChMRDAsOCw4LEg8MCgwKDwwPDA8MDwwPDA0KDAoMCgwKDQoKCBEPDgsMCg4LEhAPDA4NDQsREQwMDwgPEgQEBAcHBwsLChEZBwcECQkJCQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsXEw0LDwsLCwsTCAsLCwsLEA0ACgYKBQQFBwoHDQwLBw0MDQoMCg0KDAoNCg0KDAsMCwwLDAoPDA8MDwwPDBEPDQoNCg0KDQoNChQQFBAODA8MDwwRDwwKBgYLCQ0KDgwPDAsGDAcNCwwKDAoEBAcHBQcJBQgKCQgKCgoJDA0EBgQAABcaEQAGBgcIDQ0SEwUGBggMBQgFCA0NDQ0NDQ0NDQ0FBgwMDAoYDQ0NEAwMDg8GBw4MEg8QDRAODA0PDRMODQ0HCQcMCQYLDAoMDAcMDQYGCwcTDQwMDAgKCAwLEQsLCggFCAwGBw0NDQ0GCwkTCQsMCBAKCgwJCQYNCwYHCQkLExQUCg0NDQ0NDRMNDAwMDAYGBgYPDxAQEBAQDBAPDw8PDQ0OCwsLCwsLEgoMDAwMBgYGBg0NDAwMDAwMDAwMDAwLDAsNCw0LDQsNCg0KDQoQDg8MDAwMDAwMDAwODA4MDgwPDRANBgYGBgYGBwYOCwwHDAcMBwwHDw0PDQ8NEAwQDBUUDggOCA4IDAoMCgwKDAoNCA0IDwwPDA8MDwwPDA0NCg0KDQoGDQ4MDAoNCAYECQkKBQcHCQkADRIPDBEKDQwGBwcVFhEODQ8NDQ0KDwwSDBAQDg4SDxAPDQ0NDRIOEA4UFQ4SDQ0VDQsMCwgMDA8KDQ0LDA8NDA0MCgkLEAsNCxERCw8LCxELDA0ICwoGBgYREg0LCwwOCxAMDgwQDQ4LDQwKCAsJDQwTEAwKDgwQDA8LEAwQDRQQFxMTDw0KDQkNCw0LDwwTDw8MDgsODRIOEg4GDgsODA8MEA0OCxIPBg0LDQsTEgwMDwwPDBIPDAoNCxANEA0QDBAMEAwNCw0LDQsNCw4LCggSDw4MDAoODBMREA0PDQ4LEhMNDA8IDxMEBAQICAgLCwoRGgcHBAkJCQkNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0MGBQODBAMDAwMFAgMDAwMDBANAAsHCgUEBggKBw0MDAcODQ4LDQsNCwwKDQoNCwwMDAwMDAwKEAwQDBAMEAwSDw0LDQsNCw0LDQsVERURDwwPDRAMEg8MCgYGDAoNChANDw0MBw0IDQsMCgwKBAQICAUICQUICgoICgoKCgwNBAYEAAAYHBIABgYHCA0NExQFBwcIDAUJBQkNDQ0NDQ0NDQ0NBQYMDAwKGg4ODg8NDA8QBgcPDBMQEA0QDg0NEA4UDw0NBwkHDAoHDA0LDQwIDQ0GBgsHEw0NDQ0ICggNCxEMCwsIBggMBgcNDQ0NBgwKEwkLDAkRCgoMCQkGDQwGBwkKCxQUFQoODg4ODg4UDg0NDQ0GBgYGEBAQEBAQEAwQEBAQEA0NDgwMDAwMDBMLDAwMDAYGBgYNDQ0NDQ0NDA0NDQ0NCw0LDgwODA4MDgsOCw4LDw4QDQ0MDQwNDA0MDw0PDQ8NEA0QDQYGBgYGBgcGDwsMBwwHDAcMBxANEA0QDRANEA0WFQ4IDggOCA0KDQoNCg0KDQgNCBANEA0QDRANEA0NDQsNCw0LBg0PDQ0KDQgGBQkJCgYIBwoJAA4TEA0RCw4NBgcHFhcSDw0QDg0OCxANEw0QEA8PExAQEA0ODQ0SDxAPFRYPEg0NFQ4MDQwJDQwQCw0NCwwPDQ0NDQsKCxAMDQwSEgwQCwsRCwwNCQsKBgcGEhINCwsNDwwQDQ4MEQ0PDA0NCwkMCQ4NFBENCw8MEA0QCxAMEQ0VEBgUExAOCw0KDQwNDBANFA8PDA8MDw0TDxMPBg4MDwwQDRANDwwTDwYODA4MFBMNDA8MDwwTEA0LDgsQDRANEA0QDRANDQsNCw0LDQsPDAsJEhAPDA0KDwwUERENDw4PCxMTDQ0QCRAUBQUFCAgIDAwLEhwHBwQJCQkJDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDBkVDgwQDAwMDBUIDAwMDAwRDgALBwsGBQYICwcODQwIDw0PDA0LDQsNCw4LDgwNDA0MDQwNCxANEA0QDRANEhANCw0LDgsOCw4LFREVERANEA0QDRIQDQoGBgwKDgsPDRANDAcNCA4LDQoNCgUFCAgFCAkGCAsKCAsKCwoNDgUGBAAAGR0TAAcHCAgODhMUBQcHCQ0GCQUJDg4ODg4ODg4ODgUGDA0NCxsPDw4QDQ0PEQcHDw0UEREOEQ8NDhEOFQ8ODggKCA0KBwwOCw0NCA0OBwcMBxQODQ4NCQoIDgwSDQwLCQYJDQcIDg4ODgYMChQKDA0JEgoLDQoKBw4MBwcKCgwVFRYLDw8PDw8PFQ4NDQ0NBwcHBxARERERERENEREREREODg8MDAwMDAwUCw0NDQ0HBwcHDg4NDQ0NDQ0NDg4ODgwODA8MDwwPDA4LDgsOCxAPEA4NDQ0NDQ0NDQ8NDw0PDREOEQ4HBwcHBwcHBw8MDQcNBw0HDQcRDhEOEQ4RDRENFxUPCQ8JDwkNCg0KDQoNCg4IDggRDhEOEQ4RDhEODg4LDgsOCwYODw0NCg4IBwUKCgsGCAgKCgAOFBENEgsPDQcHBxcYEw8OEA8ODwsRDRQOEREPEBQRERAODg4OFA8RDxYXEBMODhYODA0MCQ4NEAsODgwNEA4NDg4LCgwQDQ4MEhMMEQwMEgwNDgkMCgcHBxITDgwMDQ8MEQ0PDREODwwODgsJDAoODRQRDgsPDRENEQwRDRIOFhEZFRQRDgsOCg4MDgwQDRUQEA0PDA8OEw8TDwcPDBANEQ4RDg8MFBEGDwwPDBUUDQ0QDBAMFBAOCw4MEQ4RDhENEQ0RDQ4MDgwODA4MDwwLCRMRDw0OCxANFRIRDhAODwwUFA4OEQkRFQUFBQkJCQwMCxMdBwcFCgoKCg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg0aFg8NEQ0NDQ0VCQ0NDQ0NEg4ADAcLBgUGCAsIDw4NCA8ODwwODA4MDgsOCw8MDQ0NDQ0NDgsRDRENEQ0RDRMRDgwODA8MDgwODBYSFhIQDREOEQ0TEQ4LBwcNCg4LEA4RDg0HDggODA4LDgsFBQkJBQgKBgkLCgkLCwsLDg8FBgUAABoeFAAHBwgJDg4UFQYHBwkNBgkGCQ4ODg4ODg4ODg4GBw0NDQscDw8PEQ4NEBEIBxANFBESDhIPDg4RDxYQDg4ICggNCwcNDgwODAgODgcHDAgWDg0ODgkKCQ4MEw0MCwkGCQ0HCA4ODg4GDQsVCgwNCRILCw0KCgcODQcHCgoMFhYXCw8PDw8PDxYPDg4ODggICAgRERISEhISDRIRERERDg8PDQ0NDQ0NFAwMDAwMBwcHBw8ODQ0NDQ0NDQ4ODg4MDgwPDQ8NDw0PDA8MDwwRDxEODgwODA4NDgwQDhAOEA4RDhEOCAcIBwgHBwcQDA0IDQgNCA0IEQ4RDhEOEg0SDRgWDwkPCQ8JDgoOCg4LDgoOCQ4JEQ4RDhEOEQ4RDg4OCw4LDgsGDhAODgoOCQcFCgoLBggICgoADxURDhMLDw4ICAcYGRQQDhEPDg8LEQ4VDhEREBAUERIRDg8ODhQQEhAWFxAUDg8XDw0NDQoODBELDg4MDREODQ4ODAoMEg0ODRQUDREMDBMMDA4KDAoHBwcTFA4MDA4QDRINEA0SDxANDw4LCg0KDw0VEg4LEA0SDhEMEg0SDhYSGhYVEQ8MDgoODA4NEQ4WEBENEA0QDhQQFBAIEA0QDREOEg4QDRURBw8NDw0WFA4MEQ0RDRURDgsPDBEOEQ4SDRINEg0PDA4MDgwODBANCwoUERANDgsQDRYTEg4RDxAMFBYODhEJERUFBQUJCQkNDQwUHggIBQoKCgoODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4NGxcQDRINDQ0NFgkNDQ0NDRIPAAwHCwYFBgkLCA8ODQgQDhANDgwPDA4LDwwPDQ4MDgwODA4LEg0SDRINEg0UEQ8MDwwPDA8MDwwXExcTEQ4SDhINFBEOCwgHDQsPDBEOEQ4NCA4JDwwOCw4LBQUJCQYJCgYJCwsJDAsMCw4PBQcFAAAbHxQABwcICQ8PFRYGCAgJDgYKBgoPDw8PDw8PDw8PBgcODg4MHRAQDxIODhESCAgQDhUSEg8SEA4PEg8WEA8PCAoIDgsIDQ4MDg4JDg8HBw0IFg8ODg4JCwkPDRQODQwJBgkOBwgPDw8PBg0LFgoNDgoTCwsOCwsHDw0HCAsLDRcXGAwQEBAQEBAXDw4ODg4ICAgIEhISEhISEg4SEhISEg8PEA0NDQ0NDRUMDg4ODgcHBwcPDw4ODg4ODg4PDw8PDQ8NEA0QDRANDwwPDA8MEhASDw4ODg4ODg4OEQ4RDhEOEg8SDwgHCAcIBwgHEA0OCA4IDggOCBIPEg8SDxIOEg4ZFxAJEAkQCQ4LDgsOCw4LDwkPCRIPEg8SDxIPEg8PDwwPDA8MBw8RDg4LDwkHBQoLCwYJCAsKAA8WEg4UDBAOCAgIGRoUEA8SEA8QDBIOFg4SEhARFRISEg8PDw8VEBMQFxkRFQ8PGA8NDg0KDw4SDA8PDQ4RDw4PDgwLDRIODw0UFA0SDQ0TDQ4PCg0LBwgHFBUPDQ0PEQ0SDhAOEw8RDQ8PDAoNChAOFhMPDBEOEw8SDRMOEw8XEhsXFhIPDA8LDw0PDRIOFxERDhANEA8UEBUQCBANEQ4SDxIPEA0WEgcQDRANFxUODhEOEQ4WEg4MDw0SDxIPEg4SDhIODw0PDQ8NDw0QDQwKFRIRDg8MEQ4WFBMPERAQDRUWDw4SChIWBQUFCQkJDQ0MFR8ICAULCwsLDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDhwYEA4SDg4ODhcJDg4ODg4TEAANCAwGBQcJDAgQDg4JEA8QDQ8NDw0PDA8MEA0ODg4ODg4ODBIOEg4SDhIOFRIPDQ8NEA0PDQ8NGBMYExIOEg8SDhUSDwwIBw4LDwwSDxIPDggPCQ8NDgwODAUFCQkGCQsGCgwLCgwMDAwPEAUHBQAAHCAVAAcHCQkPDxYXBggICg4GCgYKDw8PDw8PDw8PDwYHDg4ODB4QEBASDw4REwgIEQ4WExMQExEPDxIPFxEQDwkLCQ4LCA4PDA8OCQ8PCAcNCBYPDg8PCQwJDw4UDg0NCgYKDgcJDw8PDwcODBcLDQ4KFAwMDgsLCA8OBwgLCw0XGBkMEBAQEBAQGBAPDw8PCAgICBITExMTExMOExISEhIQEBEODg4ODg4WDA4ODg4ICAgIEA8ODg4ODg4ODw8PDw0PDRAOEA4QDhAMEAwQDBIQEg8PDg8ODw4PDhEPEQ8RDxMPEw8ICAgICAgIBxENDggOCA4IDggTDxMPEw8TDhMOGhgRCREJEQkPDA8MDwwPDBAJDwkSDxIPEg8SDxIPEA8NDw0PDQcPEQ8PDA8JBwULCwwHCQkLCwAQFhMPFAwQDwgICBobFREPEhAQEAwTDxcPExMRERYTExIQEA8PFRETERkaEhYQEBkQDg4NCg8OEgwPDw0OEg8ODw8MCw0TDg8OFBUOEg0NFA0ODwoNDAgIBxUWDw0NDxEOEw4RDhMQEQ4QDwwKDgsQDhcTDwwRDhMPEw0TDhQPGBMcFxcSEAwQCxAOEA4SDxcSEg4RDhEPFhEWEQgRDREPEw8TEBEOFhMHEA4QDhgWDw4SDhIOFxIPDBANEw8TDxMOEw4TDhANDw0PDQ8NEQ4MChYSEQ4PDBEOFxQTEBIQEQ0W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Dw8ZDhAQEBAICAgIERERERERERAREREREQ4RDhIPEg8SDxEOEQ4RDhQSFBEREBEQERAREBMRExETERURFREJCAkICQgJCBMPEAkQCRAJEAkVERURFREVERURHRsSCxILEgsQDRANEA0QDRELEQsUERQRFBEUERQRERENEQ0RDQgRExEQDRELCAYMDA0HCgkMDAASGRURFw4SEAkJCR0eFxMRFBIREg4VERkRFRUTExkVFRQRERERGBMVEhwdExgREhwSDxEPCxEQFQ4REQ8QFBEREREODA4VEBEPFxcPFA4OFg8QEQsPDQgJCBcYEQ8OEBMPFRETEBUREw8REQ4LDwwSERkVEQ4TEBURFQ8VEBYRGxUeGhkUEg4RDBEPEQ8UEBoUFBATDxMRGBMYEwkTDxMQFREVERMPGRQIEg8SDxoZERAUEBQQGRURDhEPFREVERURFREVERIOEQ4RDhEOEg8OCxgUExARDhMQGhcWERQSEw8ZGRERFQsUGQYGBgsLCw8PDhgkCQkGDAwMDBERERERERERERERERERERERERERERERERERERAgGxMQFRAQEBAbCxAQEBAQFhIADgkOBwYICg4JEhEQChMREw8RDhIOEQ4SDhIPERAREBEQEQ4VERURFREVERgUEg4SDhIPEg8SDxwWHBYUERURFREYFBEOCQgQDRIOFBEVERAJEQsRDxENEQ0GBgsLBwoMBwsODQsODg4NERIGCAYAACAlGAAJCQoLEREZGgcJCQsQBwwHCxEREREREREREREHCBAQEA4iExMSFRERFBYJCRQRGRYWEhYTERIVEhsUEhEKDAoQDQkQEQ4REAoREgkJDwkaEhEREQsNCxEPGBAPDgsICxAJChEREREIEA0aDA8QDBYNDhANDQkSEAkJDQ0PGxscDhMTExMTExsSEREREQkJCQkVFhYWFhYWEBYVFRUVEhITEBAQEBAQGQ4QEBAQCQkJCRISEREREREQEREREREPEQ8TEBMQExASDhIOEg4VExURERAREBEQERAUERQRFBEWEhYSCQkJCQkJCQkUDxEJEQkRCREJFhIWEhYSFhEWER4bEwsTCxMLEQ0RDRENEQ0SCxILFREVERURFREVERIRDhEOEQ4IERQREQ0SCwkGDA0OBwoKDQwAEhoVERcOExEJCQkeHxgUEhUTEhMOFREaERYWFBQZFhYVEhISEhkUFhMcHRQZEhIdEhAREAwREBUOEREPEBURERERDg0PFhASEBgYEBUPDhcPEBIMDw0JCQkXGRIPDxEUEBYRExAWEhQQEhEODA8MEhEaFhEOFBAWERUPFhAXEhwWHxsaFRIOEg0SDxIPFREbFBQQFBATEhkTGRMJEw8UERYRFhITEBoVCBMQExAbGREQFBAUEBoVEQ4SDxYRFhEWERYRFhESDhIPEg8SDxMQDgwZFRQQEQ4UEBsYFhIUExQPGRoSERUMFRoGBgYLCwsQEA4YJQoKBg0NDQ0REREREREREREREREREREREREREREREREREREQIRwTEBYQEBAQGwsQEBAQEBcTAA8JDggGCAsOChMREQoTEhMQEg8SDhEOEg4TEBEQERAREBEOFhEWERYRFhEZFRIOEg4TDxIPEg8dFx0XFREWERYRGRURDgkJEQ0SDhUSFhIRCRILEg8RDhEOBgYLCwcLDQgLDg0LDg4PDhETBggGAAAhJhkACQkKCxISGhsHCQkMEQcMBwwSEhISEhISEhISBwgREREOIxMTExYSERQWCQkUERoWFxIXFBISFRMbFBISCg0KEQ0JEBIPERELERIJCRAKGhISEhELDgsSEBgRDw4LBwsRCQoSEhISCBAOGw0QEQwXDg4RDQ0JEhAJCQ0NEBwcHQ4TExMTExMcExISEhIJCQkJFhYXFxcXFxEXFRUVFRISFBAQEBAQEBoPEREREQkJCQkTEhISEhISERISEhISDxIPExATEBMQEw8TDxMPFhMWEhIREhESERIRFBEUERQRFhIWEgkJCgkJCQkJFBARChEKEQoRChYSFhIWEhcSFxIfHBQLFAsUCxIOEg4SDhIOEgsSCxUSFRIVEhUSFRISEg4SDhIOCBIUERIOEgsJBg0NDggKCg0NABMaFhIYDxMSCQoJHyAZFBIWExITDxYSGxIWFhQVGhYXFhITEhIaFBcUHR4VGRITHRMQEhAMEhEWDhISEBAVEhISEg8NDxYRExAYGRAWDw8YEBESDBAOCQkJGBkSEA8SFBAXEhQRFxMUEBISDwwQDRMSGxcSDxQRFxIWEBcRFxIcFiAcGxYTDxINEhASEBURHBUVERQQFBIaFBoUCRQQFREWEhYSFBAaFgkTEBMQHBoSERURFREbFhIOExAWEhYSFxIXEhcSEw8SDxIPEg8UEA8MGRYUERIPFRAbGBcSFRMUEBoaEhIWDBYbBgYGCwsLEBAPGSYKCgYNDQ0NEhISEhISEhISEhISEhISEhISEhISEhISEhISESIdFBEWERERERwMEREREREXEwAPCQ8IBggLDgoTEhELFBIUEBIPEw8SDxMPExASERIREhESDhcSFxIXEhcSGRYTDxMPExATEBMQHRgdGBYRFhIXEhkWEg8JCREOEw8WEhYSEQoSCxMQEg4SDgYGCwsHCw0IDA4ODA8ODw4SEwYJBgAAIicaAAkJCgsTExocBwoKDBEIDAcMExMTExMTExMTEwcJERERDyQUFBMWEhIVFwkKFRIbFxcTFxQSExYTHBUTEwoNChEOChESDxIRCxITCQkQChwTEhISDA4MEhAZEhAPDAgMEQkKExMTEwgRDhsNEBEMGA4OEQ0NCRMRCQoNDhAcHR4PFBQUFBQUHRMSEhISCQkJCRYXFxcXFxcRFxYWFhYTExQREREREREbDxEREREJCQkJExMSEhISEhESEhISEhASEBQRFBEUERMPEw8TDxYUFhISERIREhESERUSFRIVEhcTFxMJCQkJCQkKCRUQEgoSChIKEgoXExcTFxMXEhcSIB0UDBQMFAwSDhIOEg4SDhMMEwwWEhYSFhIWEhYSExMPEw8TDwgTFRISDhMMCQcNDQ4ICwoODQATGxcSGQ8UEgkKCh8hGhUTFhQTFA8XEhsSFxcVFRsXFxYTExMTGxUXFR4fFRoTFB4TERIRDRIRFg8SEhARFhISEhIPDhAXEhMQGRoRFhAQGBAREw0QDgkJCRkaExAQEhURFxIUERcTFRETEg8NEA0UEhwYEg8VERcSFxAXERgTHRchHBwWEw8TDhMQExAWEhwVFhEVERUTGhUaFQkUEBUSFxIXExURGxYJFBEUER0bEhEWERYRGxYSDxMQFxIXEhcSFxIXEhQQExATEBMQFRAPDRoWFRESDxURHBkYExYUFRAbHBMSFwwWHAcHBwwMDBERDxonCgoGDQ0NDRMTExMTExMTExMTExMTExMTExMTExMTExMTExEjHhQRFxEREREdDBERERERGBQAEAoPCAcICw8KFBISCxUTFRETEBQQEg8TDxQREhESERIREg8XEhcSFxIXEhoWFBAUEBQQExATEB4YHhgWEhcTFxIaFhIPCQkSDhMPFhMXExIKEwwTEBIPEg8HBwwMBwsNCAwPDgwPDw8PEhQGCQYAACMoGgAJCQsMExMbHAgKCgwSCA0HDBMTExMTExMTExMICRISEg8lFBQUFxMSFRgKChUSHBgYFBgVExMXFB0WFBMLDQsSDgoRExATEgsTEwkJEQocExMTEwwPDBMRGhIQEAwJDBIJCxMTExMIEQ4cDhESDRkPDxIODgkTEQkKDg4RHR4fDxQUFBQUFB4UExMTEwoKCgoXGBgYGBgYEhgXFxcXFBQVERERERERHBASEhISCQkJCRQTExMTExMSExMTExMQExAUERQRFBEUEBQQFBAXFRcTExITEhMSExIVExUTFRMYExgTCgkKCQoJCgkVERIKEgoSChIKGBMYExgTGBMYEyEeFQwVDBUMEw8TDxMPEw8TDBMMFxMXExcTFxMXExQTEBMQExAJExUTEw8TDAkHDg4PCAsLDg4AFBwXExkPFBMKCgogIhoVExcUExQPFxMcExgYFRYcGBgXFBQTExsWGBUfIBYbExQfFBETEQ0TEhcPExMREhcTExMTEA4QGBITERoaERcQEBkREhMNEQ8JCgkaGxMREBMWERgTFRIYFBYRFBMPDRENFBMdGBMPFhIYExcRGBIZEx4YIh0cFxQQEw4UERQRFxIdFhYSFREVExsWGxYKFREWEhgTGBMVERwXCRQRFBEeHBMSFhIWEhwXEw8UERgTGBMYExgTGBMUEBMQExATEBURDw0bFxUSEw8WEh0aGBMWFBURHBwUExcNFx0HBwcMDAwRERAbKAoKBg4ODg4TExMTExMTExMTExMTExMTExMTExMTExMTExMSJB8VEhgSEhISHgwSEhISEhkUABAKDwgHCQwPCxQTEgsVExURExAUEBMPFBAUERMSExITEhMPGBMYExgTGBMbFxQQFBAUERQRFBEfGR8ZFxIYExgTGxcTDwoJEg4UEBcTGBMSChMMFBETDxMPBwcMDAgMDggMDw8MEA8QDxMUBwkGAAAkKRsACgoLDBQUHB0ICgoNEggNCA0UFBQUFBQUFBQUCAkSEhIQJhUVFRcTExYYCgoWExwYGRQZFRMUFxQeFhQUCw4LEg8KEhMQExILExQKChELHRQTExMMDwwTERoTERAMCQwSCgsUFBQUCRIPHQ4REg0ZDw8SDg4KFBIKCg4OER4fIBAVFRUVFRUeFRMTExMKCgoKGBgZGRkZGRIZFxcXFxQUFRISEhISEh0QEhISEgoKCgoUFBMTExMTEhMTExMTERMRFRIVEhUSFRAVEBUQFxUYExMSExITEhMSFhMWExYTGBQYFAoKCgoKCgoKFhETCxMLEwsTCxgUGBQYFBkTGRMiHxUMFQwVDBMPEw8TDxMPFAwUDBcTFxMXExcTFxMUFBAUEBQQCRQWExMPFAwKBw4ODwgLCw4OABQdGBMaEBUTCgsKISMbFhQYFRQVEBgTHRMYGBYWHBgZGBQVFBQcFhkWHyAXHBQVIBQSExINExIYEBMTERMXExMTExAOERgTFBIbGxIYEREaERIUDREPCgoKGhwUERETFhIZExYSGRQWEhQTEA0RDhUTHRkTEBYSGRMYERkSGRQfGCMeHRgVEBQOFBEUERcTHhcXEhYSFhQcFhwWChYRFhMYExkUFhIdGAkVEhUSHh0TEhcSFxIdGBMQFBEYExgTGRMZExkTFREUERQRFBEWEhANHBgWEhMQFxIeGhkUFxUWERwdFBMYDRgeBwcHDAwMEhIQGykLCwcODg4OFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEiUgFhIYEhISEh8NEhISEhIZFQARChAIBwkMEAsVExMLFhQWEhQRFRETEBUQFRITEhMSExITEBkTGRMZExkTHBgVERURFREUERQRIBogGhgTGRMZExwYExAKChMPFRAXFBgUEwsUDBQRExATEAcHDAwIDA4IDRAPDRAQEA8TFQcJBwAAJSocAAoKCwwUFB0eCAoKDRMIDQgNFBQUFBQUFBQUFAgJExMTECcWFhUYFBMXGQsLFxMdGRkVGRYUFRgVHxcVFAsOCxMPChIUERQTDBQUCgoSCx4UFBQUDRANFBIbExERDQkNEwoLFBQUFAkSDx4OEhMNGg8QEw8PChQSCgsPDxIfHyAQFhYWFhYWHxUUFBQUCwsLCxgZGRkZGRkTGRgYGBgVFRYSEhISEhIdERMTExMKCgoKFRQUFBQUFBMUFBQUFBEUERYSFhIWEhURFREVERgWGBQUExQTFBMUExcUFxQXFBkUGRQLCgsKCwoLChcSEwsTCxMLEwsZFBkUGRQZFBkUIiAWDRYNFg0UEBQQFBAUEBUNFQ0YFBgUGBQYFBgUFRQRFBEUEQkUFxQUEBUNCgcODxAJDAsPDgAVHhkUGxAWFAsLCyIkHBcUGBYUFhAZFB4UGRkXFx0ZGRgVFRUUHRcZFiAiFxwVFSEVEhQSDhQTGBAUFBITGBQUFBQRDxEZExQSGxwSGBERGxITFA4REAoKChscFBIRFBcSGRQWExoVFxIVFBAOEg4VFB4aFBAXExkUGRIZExoUIBkkHx4YFREVDxUSFRIYEx8XGBMXEhYUHRcdFwsWEhcTGRQZFRYSHhgJFhIWEh8dFBMYExgTHhgUEBUSGRQZFBkUGRQZFBURFBEUERQRFhIQDhwYFxMUEBcTHxsaFRgVFxIdHhUUGQ0YHgcHBw0NDRISERwqCwsHDw8PDxQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBMmIRYTGRMTExMgDRMTExMTGhUAEQsQCQcJDBALFhQTDBYUFhIUERURFBAVERYSFBMUExQTFBAZFBkUGRQZFBwYFREVERYRFRIVEiEbIRsYExkUGRQcGBQQCwoTDxURGBQZFBMLFQ0VEhQQFBAHBw0NCAwPCQ0QDw0QEBEQFBYHCQcAACYsHQAKCgwNFRUdHwgLCw0TCQ4IDRUVFRUVFRUVFRUIChMTExEoFhYWGRQUFxoLCxcUHhoaFRoXFBUZFh8XFRUMDgwTEAsTFREUEwwUFQoKEgsfFRQVFA0QDRQSHBQSEQ0JDRMKDBUVFRUJExAfDxITDhsQEBMPDwoVEwoLDw8SICAhERYWFhYWFiAWFBQUFAsLCwsZGhoaGhoaExoZGRkZFRUXExMTExMTHhETExMTCgoKChUVFBQUFBQTFBQUFBQSFRIWExYTFhMWERYRFhEZFhkVFBMUExQTFBMXFBcUFxQaFRoVCwoLCgsKCwoXEhQLFAsUCxQLGhUaFRoVGhQaFCMhFw0XDRcNFBAUEBQQFBAVDRUNGRQZFBkUGRQZFBUVERURFREJFRcUFBAVDQoHDw8QCQwMDw8AFh4ZFBwRFhQLCwsjJR0XFRkWFRYRGRQfFRoaFxgeGhoZFRYVFR4XGhchIxgdFRYiFhMUEw4VExkRFRUSExkVFBQVEQ8SGhQVExwdExkSEhsSExUOEhAKCwocHRUSEhQYExoUFxMaFRgTFRURDhIPFhQfGhURFxMaFBkSGhMbFSEaJSAfGRYRFQ8VEhUSGRQgGBgTFxMXFR0XHRcLFxIYFBoVGhUXEx4ZChYTFhMgHhQTGBMYEx8ZFREVEhoVGhUaFBoUGhQWEhUSFRIVEhcTEQ4dGRcUFREYEx8cGhUYFhcSHh8VFRkOGR8HBwcNDQ0SEhEdLAsLBw8PDw8VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUTJyIXExoTExMTIQ0TExMTExsWABILEQkHCQ0RDBYVFAwXFRcTFRIWEhURFhEWExQTFBMUExURGhQaFBoUGhQdGRYSFhIWEhYSFhIiGyIbGRQaFRoUHRkVEQsKFBAWERkVGhUUCxUNFhIVEBUQBwcNDQgNDwkNERANEREREBUWBwoHAAAnLR0ACgoMDRUVHiAJCwsOFAkOCA4VFRUVFRUVFRUVCQoUFBQRKhcXFhoVFBgaCwsXFB8aGxYbFxUWGRYgGBYVDA8MFBALExUSFRQMFRUKChMLIBUVFRUNEA0VEx0UEhEOCQ4UCgwVFRUVCRMQHw8TFA4bEBEUDw8KFhMKCw8QEyEhIhEXFxcXFxchFhUVFRULCwsLGhobGxsbGxQbGRkZGRYWFxMTExMTEx8SFBQUFAoKCgoWFRUVFRUVFBUVFRUVEhUSFxMXExcTFhIWEhYSGhcaFRUUFRQVFBUUGBUYFRgVGhUaFQsKCwoLCgsKFxMUCxQLFAsUCxoVGhUaFRsVGxUkIRcNFw0XDRUQFRAVEBUQFg0WDRkVGRUZFRkVGRUWFREVERURChUYFRUQFg0KCA8PEQkMDBAPABYfGhUcERcVCwsLJCYdFxYaFxUXERoVHxUbGxcYHxobGhYWFhYeGBsYIiQZHhYXIxYTFRMOFRQZERUVExMZFRUVFRIQEhsUFRMdHRMaEhIcExQVDhIQCgsKHR4VExIVGBMbFRcUGxYYExYVEQ4TDxcVIBsVERgUGxUaExsUHBUiGiYhIBoWEhYQFhMWExkUIRkZFBgTGBUeGB4YCxcTGBQaFRsWGBMfGgoXExcTIR8VFBkUGRQfGRURFhMbFRsVGxUbFRsVFxIWEhYSFhIYExEOHhoYFBURGBQgHRsWGRcXEx8gFhUaDhogCAgIDQ0NExMSHi0MDAcPDw8PFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFCgjFxQaFBQUFCEOFBQUFBQcFwASCxEJCAoNEQwXFRQMGBUYExYSFxIVERYSFxMVFBUUFRQVERsVGxUbFRsVHhoXEhcSFxIWExYTIxwjHBoUGxUbFR4aFRELChQQFhIaFRoVFAsWDRYTFREVEQgIDQ0JDQ8JDhEQDhEREhEVFwcKBwAAKC4eAAsLDA0WFh8hCQsLDhQJDgkOFhYWFhYWFhYWFgkKFBQUESsXFxcaFRUYGgsMGBUgGxsWGxgVFhoXIRkWFgwPDBQQCxQWEhYUDRUWCwsTDCAWFRYVDhEOFhMdFBMSDgkOFAsMFhYWFgoUECAPExQOHBERFBAQCxYUCwsQEBMhIiMRFxcXFxcXIhcVFRUVCwsLCxobGxsbGxsUGxoaGhoWFhgUFBQUFBQgEhQUFBQLCwsLFhYVFRUVFRQVFhYWFhMWExcUFxQXFBcSFxIXEhoYGhYVFBUUFRQVFBgVGBUYFRoWGxYLCwwLCwsMCxgTFQwVDBUMFQwbFhsWGxYbFRsVJSIYDhgOGA4VERURFREVERYOFg4aFhoWGhYaFhoWFhYSFhIWEgoWGBUVERYOCwgPEBEJDQwQDwAXIBsVHRIXFQsMDCUnHhgWGhcWFxIbFSAWGhoYGSAaGxoWFxYWHxkbGCMlGR8WFyQXFBUUDxYUGhIWFhMUGhUVFRYSEBMbFBYUHR4UGhMTHRMUFg8SEQsLCx0fFhMTFRkUGxUYFBwWGRQWFhIPEw8XFSEcFhIZFBsWGxMbFBwWIhsnISAaFxIWEBYTFhMaFSIZGhQZFBgWHxkfGQsYExkVGxYbFhgUIBoKFxQXFCIgFRQaFBoUIBoWEhcTGhYaFhsVGxUbFRcTFhMWExYTGBQSDx8aGRUWEhkUIR0cFhoXGBMgIBYWGw4aIQgICA4ODhMTEh4uDAwHEBAQEBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQpIxgUGxQUFBQiDhQUFBQUHBcAEwsSCQgKDRIMFxYVDRgWGBQWExcTFhIXEhcUFRQVFBUUFhIbFRsVGxUbFR8aFxMXExcSFxMXEyQdJB0aFRsWGxUfGhYSCwsVEBcSGhYaFhUMFg4XExYRFhEICA4OCQ0QCQ4SEQ4SERIRFhcICgcAACkvHwALCw0OFhYgIQkLCw4VCQ8JDxYWFhYWFhYWFhYJCxUVFRIsGBgXGxYVGRwMDBkVIBwcFxwYFhcbFyIZFxYMEAwVEQsUFhIWFQ0WFgsLFAwhFhYWFg4RDhYUHhUTEg4KDhULDBYWFhYKFBEhEBQVDx0RERUQEAsXFAsMEBAUIiMkEhgYGBgYGCMXFhYWFgwMDAwbHBwcHBwcFRwbGxsbFxcYFBQUFBQUIRIVFRUVCwsLCxcWFhYWFhYVFhYWFhYTFhMYFBgUGBQXEhcSFxIbGBsWFhUWFRYVFhUZFhkWGRYcFhwXDAsMCwwLDAsZFBUMFQwVDBUMHBYcFhwWHBYcFiYjGA4YDhgOFhEWERYRFhEXDhcOGxYbFhsWGxYbFhcWEhYSFhIKFhkWFhEXDgsIEBARCg0NEBAAFyEbFh4SGBYMDAwmKB8ZFxsYFxgSGxYhFhwcGRogHBwbFxcXFyAZHBkkJRogFxgkFxQWFA8WFRsSFhYUFRoWFhYWEhATHBUWFB4fFBsTEx0TFRYPExELCwseIBYUExYZFBwWGRUcFxkUFxYSDxQQGBYiHBYSGRUcFhsUHBUdFiMcKCIhGxcSFxAXFBcUGxYiGhoVGRQZFiAZIBkMGRQaFRwWHBcZFCEbChgUGBQjIRYVGhUaFSEbFhIXExwWHBYcFhwWHBYYExcTFxMXExkUEg8gGxkVFhIaFSIeHBcaGBkUICEXFhsPGyIICAgODg4UFBMfLwwMCBAQEBAWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYVKiQZFRwVFRUVIw4VFRUVFR0YABMMEgoICg4SDRgWFQ0ZFxkUFxMYExYSFxIYFBYVFhUWFRYSHBYcFhwWHBYgGxgTGBMYExcTFxMkHSQdGxUcFhwWIBsWEgwLFREXEhsWHBYVDBcOFxQWEhYSCAgODgkOEAoOEhEOEhITEhYYCAoIAAAqMCAACwsNDhcXICIJDAwPFQkPCQ8XFxcXFxcXFxcXCQsVFRUSLRkZGBsXFhocDAwaFiEcHRcdGRYXGxgjGhcXDRANFREMFBcTFxUNFxcLCxQMIhcXFxcOEg4XFB8VFBMPCw8VCw0XFxcXChURIhAUFQ8dERIVERELFxULDBERFCMkJRIZGRkZGRkkGBcXFxcMDAwMGxwdHR0dHRUdGxsbGxcXGRQUFBQUFCETFRUVFQsLCwsYFxcXFxcXFRcXFxcXFBcUGRQZFBkVGBMYExgTGxkbFxcVFxUXFRcVGhcaFxoXHBccFwwLDAsMCwwLGhQWDBYMFgwWDBwXHBccFx0XHRcnJBkOGQ4ZDhYSFhIWEhYSFw4XDhsXGxcbFxsXGxcXFxMXExcTChcaFxYSFw4LCBAREgoNDREQABgiHBcfExgWDAwMJykgGhccGRcZExwXIhcdHRoaIRwdHBcYFxchGh0ZJSYaIBcYJhgUFxQQFxUcExcXFBUbFxcWFxMRFB0VFxUfIBUbExQeFBUXEBQSCwwLHyAXFBQWGhUdFxkVHRgaFRcXExAUEBgWIh0XExoVHRccFB0WHhckHCkjIhwYExcRFxQXFBsWIxsbFRoVGRchGiEaDBkUGhYcFx0XGRUiHAsZFBkUJCEXFRsVGxUiHBcTGBQdFx0XHRcdFx0XGBQXFBcUFxQZFRMQIBsaFhcTGhUjHx0XGxgaFCEiFxccDxwiCAgIDg4OFBQTIDAMDAgRERERFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFSslGRUcFRUVFSQPFRUVFRUeGAAUDBIKCAoOEg0ZFxYNGRcZFRcUGBQXExgTGRQXFRcVFxUXEx0XHRcdFx0XIBsYFBgUGBQYFBgUJh4mHhwWHRcdFyAbFxMMCxYRGBMbFxwXFgwXDhgUFxIXEggIDg4JDhEKDxISDxMSExIXGAgLCAAAKzEgAAsLDQ4XFyEjCQwMDxYKDwkPFxcXFxcXFxcXFwkLFhYWEy4ZGRgcFxYaHQ0NGhYiHR0YHRoXGBwYJBsYFw0QDRYSDBUXExcWDhcYDAsVDSMYFxcXDxIPFxUgFhQTDwoPFgsNFxcXFwoVEiMRFRYPHhISFhERDBgVCwwRERUkJSYTGRkZGRkZJBkXFxcXDQ0NDRwdHR0dHR0WHRwcHBwYGBkVFRUVFRUiExYWFhYMDAwMGBgXFxcXFxYXFxcXFxQXFBkVGRUZFRgTGBMYExwZHBcXFhcWFxYXFhoXGhcaFx0YHRgNDA0MDQwNCxoVFg0WDRYNFg0dGB0YHRgdFx0XKCUaDxoPGg8XEhcSFxIXEhgPGA8cFxwXHBccFxwXGBcTFxMXEwsXGhcXEhgPCwgRERIKDg0REQAYIh0XHxMZFw0NDSgqIBoYHBkYGRMdFyMXHR0aGyIdHRwYGBgYIhseGiYnGyEYGSYYFRcVEBcWHBMXFxUWHBcXFxcTERQdFhgVICAVHBQUHxQWGBAUEgwMCyAhGBUUFxsVHRcaFh4YGxUYFxMQFREZFyMeFxMaFh0XHRUdFh4XJR0qJCMcGRMYERgVGBUcFyQbGxYaFRoYIRshGw0aFRsWHRcdGBoVIhwLGRUZFSQiFxYbFhsWIxwXExgUHRcdFx0XHRcdFxkUGBQYFBgUGhUTECEcGxYXExsWJCAeGBwZGhUiIxgXHQ8cIwgICA8PDxUVEyExDQ0IERERERcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxYsJhoWHRYWFhYlDxYWFhYWHhkAFAwTCggLDhMNGRcWDhoYGhUYFBkUFxMZExkVFxYXFhcWFxMdFx0XHRcdFyEcGRQZFBkUGBQYFCYfJh8cFh0XHRchHBcTDQwWEhkTHBgdGBYNGA8YFRcTFxMICA8PCQ4RCg8TEg8TExQSFxkICwgAACwyIQAMDA0PGBgiJAoMDA8WChAJEBgYGBgYGBgYGBgKCxYWFhMvGhoZHRgXGx4NDRsXIx4eGR4aFxgdGSQbGRgNEQ0WEgwWGBQYFg4YGAwMFQ0kGBgYGA8TDxgVIBcVFA8KDxYMDRgYGBgKFhIjERUWEB8SExYREQwYFgwNERIVJSUnExoaGhoaGiUZGBgYGA0NDQ0dHh4eHh4eFh4dHR0dGRkaFhYWFhYWIxQWFhYWDAwMDBkYGBgYGBgWGBgYGBgVGBUaFhoWGhYZFBkUGRQdGh0YGBYYFhgWGBYbGBsYGxgeGB4YDQwNDA0MDQwbFRcNFw0XDRcNHhgeGB4YHhgeGCkmGg8aDxoPFxMXExcTFxMYDxgPHRgdGB0YHRgdGBkYFBgUGBQLGBsYFxMYDwwJERETCg4NEhEAGSMdGCATGhcNDQ0pKyEbGB0aGBoTHRgjGB4eGxsjHh4dGRkYGCIbHhsnKBwiGBknGRYYFhAYFh0TGBgVFhwYGBgYFBIVHhcYFiAhFh0UFCAVFhgQFRMMDAwgIhgVFRgbFh4YGhYeGRsWGRgTEBURGRgkHhgTGxYeGB0VHhcfGCYeKyUkHRkUGBIZFRkVHRclHBwWGxYbGCIbIhsNGhUbFx4YHhgbFiMdCxoWGhYlIxgWHBYcFiMdGBMZFR4YHhgeGB4YHhgZFBgVGBUYFRsWExAiHRsXGBMcFiQgHxgcGRsVIyQZGB0QHSQJCQkPDw8VFRQhMg0NCBEREREYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgWLScaFh4WFhYWJg8WFhYWFh8ZABQNEwoJCw8TDRoYFw4bGBsWGBUZFBgTGRQaFhgWGBYYFhgTHhgeGB4YHhgiHRkUGRQaFRkVGRUnICcgHRceGB4YIh0YEw0MFxIZFB0YHhgXDRgPGRUYExgTCQkPDwoPEQoPExIPFBMUExgaCAsIAAAtNCIADAwODxkZIyUKDQ0QFwoQChAZGRkZGRkZGRkZCgwXFxcUMBoaGh0YFxweDQ0bFyQeHxkfGxgZHRolHBkZDhEOFxINFhgUGBcOGBkMDBYNJRkYGBgPEw8YFiEXFRQQCxAXDA4ZGRkZCxYTJBEWFxAgExMXEhIMGRYMDRISFiYmJxQaGhoaGhomGhgYGBgNDQ0NHh4fHx8fHxcfHR0dHRkZGxYWFhYWFiQUFxcXFwwMDAwZGRgYGBgYFxgYGBgYFRgVGhYaFhoWGhQaFBoUHRseGBgXGBcYFxgXHBgcGBwYHhkeGQ0MDQwNDA0MGxYXDRcNFw0XDR4ZHhkeGR8YHxgqJxsPGw8bDxgTGBMYExgTGQ8ZDx0YHRgdGB0YHRgZGRQZFBkUCxkcGBgTGQ8MCRESEwoODhIRABokHhghFBoYDQ0NKiwiGxkeGhkaFB4YJBgfHxscJB4fHRkaGRkjHB8bJykcIxkaKBoWGBYRGBceFBgYFRcdGBgYGBQSFR8XGRYhIhYeFRUgFRcZERUTDA0MISMZFRUYHBYfGBsXHxkcFhkYFBEWERoYJR8YFBwXHxgeFh8XIBknHiwmJR4aFBkSGRYZFh0YJhwdFxwWGxkjHCMcDRsWHBceGB8ZGxYkHgsaFhoWJiQYFx0XHRckHhgUGRUfGB8YHxgfGB8YGhUZFRkVGRUbFhQRIx4cFxgUHBclIR8ZHRobFiQlGRgeEB4lCQkJDw8PFhYUIjQNDQgSEhISGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFy4oGxcfFxcXFycQFxcXFxcgGgAVDRQLCQsPFA4aGBcOGxkbFhkVGhUYFBoUGhYYFxgXGBcYFB8YHxgfGB8YIx4aFRoVGhUaFRoVKCAoIB4YHxkfGCMeGBQNDBcTGhQdGR4ZFw0ZDxoWGBQYFAkJDw8KDxILEBQTEBQUFBMYGggLCAAALjUjAAwMDg8ZGSQlCg0NEBcKEQoQGRkZGRkZGRkZGQoMFxcXFDEbGxoeGRgcHw0NHBgkHx8aHxsYGh4aJhwaGQ4RDhcTDRcZFRkXDxkZDAwWDSUZGRkZEBMQGRYiGBUVEAsQFwwOGRkZGQsXEyUSFhcRIBMUFxISDBkXDA0SEhYnJygUGxsbGxsbJxoZGRkZDQ0NDR4fHx8fHx8XHx4eHh4aGhsXFxcXFxclFRcXFxcMDAwMGhkZGRkZGRcZGRkZGRUZFRsXGxcbFxoVGhUaFR4bHhkZFxkXGRcZFxwZHBkcGR8ZHxkNDA0MDQwNDBwWGA0YDRgNGA0fGR8ZHxkfGR8ZKycbEBsQGxAYExgTGBMYExoQGhAeGR4ZHhkeGR4ZGhkVGRUZFQsZHBkYExoQDAkSEhQLDg4SEgAaJR8ZIRQbGA0NDSstIxwZHhsZGxQfGSUZHx8cHSQfHx4aGhoZJBwgHCgqHSMaGykaFxkXERkXHhQZGRYXHhkZGRkVEhUfGBkXIiMXHhUVIRYXGREWEwwNDCIjGRYVGRwXHxkcFyAaHBcaGRQRFhIbGSYgGRQcFyAZHxYgGCEZKB8tJiUeGhUaEhoWGhYeGCcdHRccFxwZJBwkHA0cFh0YHxkfGhwXJR4MGxcbFyclGRcdFx0XJR4ZFBoWHxkfGR8ZHxkfGRsVGRUZFRkVHBcUESMeHBgZFB0XJiIgGR0bHBYkJRoZHxEeJgkJCRAQEBYWFSM1Dg4IEhISEhkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRcvKRwXHxcXFxcnEBcXFxcXIRsAFQ0UCwkLDxQOGxkYDxwZHBcZFRsVGRQaFRsXGRcZFxkXGRQfGR8ZHxkfGSMeGxUbFRsWGhYaFikhKSEeGB8ZHxkjHhkUDQwYExoVHhkfGRgNGhAaFhkUGRQJCRAQCg8SCxAUExAUFBUUGRsJDAgAAC82IwANDQ4QGhokJgoNDREYCxEKERoaGhoaGhoaGhoKDBgYGBQyHBsbHxkYHSAODh0YJSAgGiAcGRofGycdGhoOEg4YEw0XGRUZGA8ZGg0NFw4mGhkZGRAUEBkXIxgWFRALEBgNDhoaGhoLFxMmEhYYESEUFBgTEw0aFw0NExMWJygpFBwcHBwcHCgbGRkZGQ4ODg4fICAgICAgGCAfHx8fGhocFxcXFxcXJRUYGBgYDQ0NDRoaGRkZGRkYGRkZGRkWGRYcFxwXHBcbFRsVGxUfHB8ZGRgZGBkYGRgdGR0ZHRkgGiAaDg0ODQ4NDg0dFxgOGA4YDhgOIBogGiAaIBkgGSwoHBAcEBwQGRQZFBkUGRQaEBoQHxkfGR8ZHxkfGRoaFRoVGhUMGh0ZGRQaEA0JEhMUCw8OExIAGyYfGSIVGxkODg4sLiMdGh8cGhsVHxkmGSAgHR0lICAfGhsaGiUdIBwpKx4kGhsqGxcZFxEZGB8VGhoWGB4ZGRkZFRMWIBgaFyMjFx8WFiIWGBoRFhQNDQ0iJBoWFhkdFyAZHBggGh0XGhkVERcSGxknIRkVHRggGR8XIBghGiggLicmHxsVGhMaFxoXHhknHh4YHRccGiQdJB0OHBcdGCAZIBocFyYfDBwXHBcoJRkYHhgeGCYfGRUaFiAaIBogGSAZIBkbFhoWGhYaFhwXFREkHx0YGRUdGCcjIRoeGx0XJSYaGR8RHycJCQkQEBAXFxUkNg4OCRMTExMaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoYMCocGCAYGBgYKBAYGBgYGCEbABYNFQsJDBAVDhsZGA8cGhwXGhYbFhkVGxUcFxkYGRgZGBkVIBkgGSAZIBkkHxsWGxYbFhsWGxYqIioiHxkgGiAZJB8ZFQ4NGBMbFR8aIBoYDhoQGxcZFBkUCQkQEAoQEwsRFRQRFRQVFBkbCQwJAAAwNyQADQ0PEBoaJScKDQ0RGAsRChEaGhoaGhoaGhoaCwwYGBgVMxwcGx8aGR0gDg4dGSYgIRshHRkbHxsoHhsaDxIPGBQNGBoWGhgPGhoNDRcOJxoaGhoQFBAaFyMZFhURCxEYDQ8aGhoaCxgUJxMXGBEiFBQYExMNGxgNDhMTFygpKhUcHBwcHBwpGxoaGhoODg4OICAhISEhIRghHx8fHxsbHBgYGBgYGCYWGBgYGA0NDQ0bGhoaGhoaGBoaGhoaFhoWHBgcGBwYGxYbFhsWHxwgGhoYGhgaGBoYHRodGh0aIBohGg4NDg0ODQ4NHRcZDhkOGQ4ZDiAaIBogGiEaIRotKR0QHRAdEBkUGRQZFBkUGxAbEB8aHxofGh8aHxobGhUaFRoVDBodGhkUGxANCRMTFAsPDxMTABsnIBojFRwZDg4OLC8kHRsgHBocFSAaJxohIR0eJiAhIBsbGxslHiEdKiweJRscKxsYGhgSGhggFRoaFxgfGhoaGhYTFiEZGhgjJBggFhYjFxgaEhcUDQ0NIyUaFxYaHhghGh0YIRseGBsaFRIXEhwaJyEaFR4YIRogFyEZIhopIC8oJyAbFhsTGxcbFx8ZKB4fGB0YHRolHiUeDh0XHhkgGiEbHRgmIAwcGBwYKSYaGB8YHxgnIBoVGxchGiEaIRohGiEaHBYbFhsWGxYdGBUSJSAeGRoVHhgoIyEbHxwdFyYnGxogESAnCQkJEBAQFxcWJDcODgkTExMTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGDEqHRghGBgYGCkRGBgYGBgiHAAWDhULCQwQFQ8cGhkPHRodGBsWHBYaFRsWHBgaGBoYGhgaFSEaIRohGiEaJSAcFhwWHBcbFxsXKyMrIyAZIRohGiUgGhUODRkUGxYfGiAaGQ4bEBsXGhUaFQkJEBAKEBMLERUUERUVFhUaHAkMCQAAMTglAA0NDxAbGyYoCw4OERkLEgoRGxsbGxsbGxsbGwsNGRkZFTQdHRwgGhkeIQ4OHhknISIbIh0aGyAcKR4bGw8TDxkUDhgaFhoZEBobDQ0XDigbGhsaERURGhgkGRcWEQwRGQ0PGxsbGwwYFCgTFxkSIhQVGRMTDRsYDQ4TFBcpKisVHR0dHR0dKRwaGhoaDg4ODiAhIiIiIiIZIiAgICAbGx0YGBgYGBgnFhkZGRkNDQ0NGxsaGhoaGhkaGhoaGhcbFx0YHRgdGBwWHBYcFiAdIBoaGRoZGhkaGR4aHhoeGiEbIRsODQ4NDg0ODR4XGQ4ZDhkOGQ4hGyEbIRsiGiIaLiodER0RHREaFRoVGhUaFRsRGxEgGiAaIBogGiAaGxsWGxYbFgwbHhoaFRsRDQoTExULDw8UEwAcJyEaJBYdGg4ODi0wJR4bIB0bHRYhGigbISEeHychIiAbHBsbJh4iHistHyYbHCwcGBoYEhsZIBYbGxcZIBoaGhsWFBchGRsYJCUYIBcXIxcZGxIXFQ0ODSQmGxcXGh4YIhodGSIbHhgbGxYSGBMcGigiGxYeGSIaIRgiGSMbKiEwKSggHBYbFBsYGxggGikfHxkeGB4bJh4mHg4dGB4ZIRohGx4YJyAMHRgdGCknGhkfGR8ZKCAbFhwXIRshGyIaIhoiGhwXGxcbFxsXHhgWEiYgHhkaFh8ZKSQiGx8cHhcnKBsbIRIgKAoKChERERgYFiU4Dw8JExMTExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxkyKx0ZIRkZGRkqERkZGRkZIxwAFw4WDAoMEBUPHRoZEB4bHhgbFxwXGxYcFh0YGhkaGRoZGxYiGiIaIhoiGiYgHBccFx0XHBccFywjLCMgGiEbIhomIBoWDg0ZFBwWIBshGxkOGxEcGBsVGxUKChERCxATDBEVFBEWFRYVGh0JDAkAADI5JgANDQ8RGxsnKQsODhIZCxILEhsbGxsbGxsbGxsLDRkZGRY1HR0dIRsaHyIPDx8aKCIiHCIeGxwhHCkfHBsPEw8ZFA4ZGxcbGRAbGw0NGA8pGxsbGxEVERsYJRoXFhEMERkNDxsbGxsMGRUoExgZEiMVFRkUFA0cGQ0OFBQYKissFh0dHR0dHSodGxsbGw8PDw8hIiIiIiIiGSIhISEhHBweGRkZGRkZKBcZGRkZDQ0NDRwbGxsbGxsZGxsbGxsXGxcdGR0ZHRkdFx0XHRchHSEbGxkbGRsZGxkfGx8bHxsiGyIbDw0PDQ8NDw0fGBoPGg8aDxoPIhsiGyIbIhsiGy8rHhEeER4RGxUbFRsVGxUcERwRIRshGyEbIRshGxwbFhsWGxYMGx8bGxUcEQ0KExQVDBAPFBMAHCghGyQWHRsPDw8uMSYfHCEdHB0WIRsoGyIiHx8oIiIhHB0cHCcfIh4sLiAmHB0tHBkbGRIbGSAWGxsYGSAbGxsbFxQXIhobGSUmGSEXFyQYGRsSGBUNDg0lJxsYFxsfGSIbHhkjHB8ZHBsWEhgTHRspIxsWHxkiGyEYIhojGysiMSopIR0XHBQcGBwYIBoqICAZHxkeGycfJx8PHhgfGiIbIhweGSghDR0ZHRkqKBsZIBkgGSggGxYcGCIbIhsiGyIbIhsdFxwXHBccFx4ZFhImIR8aGxYfGSklIxwgHR8YKCkcGyESISkKCgoREREYGBcmOQ8PCRQUFBQbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsZMyweGSIZGRkZKxIZGRkZGSMdABcOFgwKDBEWDx0bGhAeGx4ZHBcdFxsWHRcdGRsZGxkbGRsWIhsiGyIbIhsmIR0XHRcdGBwYHBgtJC0kIRoiGyIbJiEbFg8NGhUdFyEbIhsaDxwRHBgbFhsWCgoREQsRFAwSFhUSFhYXFhsdCQ0JAAAzOyYADg4QERwcJyoLDg4SGgsSCxIcHBwcHBwcHBwcCw0aGhoWNh4eHSEbGh8iDw8fGigiIx0jHhscIR0qIBwcEBMQGhUOGRwXGxoQGxwODhgPKRwbHBsRFREbGSUaGBcSDBIaDhAcHBwcDBkVKRQYGhIkFRYaFBQOHBkODxQUGCsrLRYeHh4eHh4rHRsbGxsPDw8PIiIjIyMjIxojISEhIRwdHhkZGRkZGSkXGhoaGg4ODg4dHBsbGxsbGhsbGxsbGBwYHhkeGR4ZHRcdFx0XIR4iHBsaGxobGhsaHxsfGx8bIhwjHA8ODw4PDg8OHxgaDxoPGg8aDyIcIhwiHCMbIxswLB4RHhEeERsVGxUbFRsVHBEcESEbIRshGyEbIRscHBccFxwXDRwfGxsVHBEOChQUFgwQEBQUAB0pIhslFx4bDw8PLzImHxwiHhweFyIbKRwjIx8gKCIjIh0dHBwoICMfLS8gJxwdLh0ZGxkTHBoiFhwcGBohHBsbHBcUGCMaHBkmJhkiGBglGBocExgVDg4OJSccGBgbIBkjGx8aIx0gGR0cFxMZFB0bKiMcFh8aIxsiGSMaJBwsIjIrKSIdFxwUHBkcGSEbKyAhGh8ZHxwnHycfDx8ZIBoiHCMcHxkpIg0eGR4ZKykbGiEaIRopIhwWHRgjHCMcIxsjGyMbHRgcGBwYHBgfGRcTJyIgGhwWIBoqJSMcIR4fGCgpHRwiEiIqCgoKERERGRkXJzsPDwkUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGjQtHxojGhoaGiwSGhoaGhokHgAYDxYMCg0RFhAeHBoQHxwfGRwYHRgcFh0XHhkbGhsaGxocFiMbIxsjGyMbJyIdGB0YHhgdGB0YLiUuJSIbIxwjGyciHBYPDhoVHRchHCIcGg8cER0ZHBYcFgoKERELERQMEhYVEhcWFxYcHgoNCQAANDwnAA4OEBEcHCgqCw8PEhoMEwsSHBwcHBwcHBwcHAsNGhoaFzceHh4iHBsgIw8PIBspIyQdJB8cHSIeKyAdHBAUEBoVDxocFxwaERwcDg4ZDyocHBwcEhYSHBkmGxgXEgwSGg4QHBwcHAwaFSoUGRoTJBYWGhQUDh0aDg8UFRksLC4XHh4eHh4eLB4cHBwcDw8PDyIjJCQkJCQaJCIiIiIdHR8aGhoaGhopFxoaGhoODg4OHRwcHBwcHBocHBwcHBgcGB4aHhoeGh4XHhceFyIfIhwcGhwaHBocGiAcIBwgHCMcIx0PDg8ODw4PDiAZGw8bDxsPGw8jHCMcIxwkHCQcMC0fEh8SHxIcFhwWHBYcFh0SHRIiHCIcIhwiHCIcHRwXHBccFw0cIBwcFh0SDgoUFRYMEBAVFAAeKiMcJhceHA8PDzAzJyAdIh4dHhcjHCocIyMgICkjJCIdHh0dKSAkHy4vISgdHi4eGhwaExwaIhccHBkaIhwcHBwXFRgjGx0ZJicaIhgYJRkaHRMZFg4ODiYoHRkYHCAaJBwfGiQdIBodHBcTGRQeHCskHBcgGiQcIxkkGyUcLSMzKyoiHhcdFR0ZHRkiGywhIRogGh8cKCAoIA8fGSAbIxwjHR8ZKiINHhoeGiwpHBohGiEaKiIcFx0ZIxwjHCQcJBwkHB4YHRgdGB0YHxkXEygiIBscFyEaKyYkHSEeIBkpKh0cIxMiKwoKChISEhkZGCc8Dw8KFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBo1Lh8aIxoaGhotEhoaGhoaJR4AGA8XDAoNERcQHhwbER8dHxkdGB4YHBceFx4aHBocGhwaHBckHCQcJBwkHCgiHhgeGB4ZHhkeGS4lLiUiGyMcJBwoIhwXDw4bFR4XIhwjHBsPHRIeGRwXHBcKChISCxEUDBIXFhIXFxgWHB4KDQoAADU9KAAODhASHR0pKwwPDxMbDBMLEx0dHR0dHR0dHR0MDhsbGxc4Hx8eIxwbICQPDyAbKiQkHiQgHB0jHiwhHh0QFBAbFg8aHRgdGxEcHQ4OGQ8rHRwdHBIWEh0aJxsZGBINEhsOEB0dHR0NGhYrFBkbEyUWFxsVFQ4dGg4PFRUZLC0uFx8fHx8fHy0eHBwcHA8PDw8jJCQkJCQkGyQjIyMjHh4fGhoaGhoaKhgbGxsbDg4ODh4dHBwcHBwbHB0dHR0ZHRkfGh8aHxoeGB4YHhgjHyMdHBscGxwbHBsgHCAcIBwkHSQdDw4PDg8ODw4gGRsPGw8bDxsPJB0kHSQdJBwkHDEtIBIgEiASHBYcFhwWHBYdEh0SIx0jHSMdIx0jHR4dGB0YHRgNHSAcHBYdEg4KFBUXDBEQFRUAHisjHCcXHxwPEA8xNCggHSMfHR8XIxwrHSQkICEqJCQjHh4dHSkhJCAuMCEpHR8vHhocGhQdGyMXHR0ZGyIdHBwdGBUZJBsdGicoGiMZGSYZGx0UGRYODw4nKR0ZGRwhGiQcIBslHiEaHh0XFBoUHxwrJR0XIRskHSMaJBslHS4kNCwrIx4YHRUeGh4aIhwsISIbIBogHSkhKSEPIBohGyQdJB0gGiojDR8aHxotKhwbIhsiGysjHRceGSQdJB0kHCQcJBwfGR0ZHRkdGSAaFxQpIyEbHRchGywnJR0iHyAZKiseHSMTIysKCgoSEhIaGhgoPRAQChUVFRUdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0bNi8gGyQbGxsbLRMbGxsbGyUfABkPFwwKDRIXEB8dGxEgHSAaHRkfGR0XHhgfGhwbHBscGx0XJBwkHCQcJBwpIx8ZHxkfGR4ZHhkvJi8mIxwkHSQcKSMdFw8OGxYeGCMdJB0bDx0SHhodFx0XCgoSEgwSFQwTFxYTGBcYFx0fCg0KAAA2PikADg4QEh0dKiwMDw8TGwwTDBMdHR0dHR0dHR0dDA4bGxsYOSAfHyMdHCEkEBAhHCskJR4lIB0eIx8tIR4dEBUQGxYPGx0YHRsRHR4ODhoQLB4dHR0SFxIdGigcGRgTDRMbDhAdHR0dDRsWLBUaGxMmFhcbFRUOHhsOEBUVGi0uLxggICAgICAuHx0dHR0QEBAQJCQlJSUlJRslIyMjIx4eIBsbGxsbGysYGxsbGw4ODg4eHh0dHR0dGx0dHR0dGR0ZIBsgGyAbHxgfGB8YIyAkHR0bHRsdGx0bIR0hHSEdJB4lHhAOEA8QDhAOIRocEBwQHBAcECQeJB4kHiUdJR0yLiASIBIgEh0XHRcdFx0XHhIeEiMdIx0jHSMdIx0eHRgdGB0YDR0hHR0XHhIOChUVFw0REBYVAB8rJB0nGB8dEBAQMjUpIR4kIB4fGCQdLB0lJSEiKyQlJB4fHh4qISUhLzEiKh4fMB8bHRsUHRskGB0dGhsjHR0dHRgVGSUcHhooKRskGRknGhseFBkXDg8OKCoeGhkdIRslHSAbJR4hGx4dGBQaFR8dLCUdGCEbJR0kGiUcJh0vJDUtLCQfGB4VHhoeGiMcLSIjGyEbIR4qISohECAaIhwkHSUeIRorJA4gGyAbLisdGyMbIxssJB0YHholHSUdJR0lHSUdHxkeGR4ZHhkhGhgUKiQhHB0YIhstKCUeIx8hGissHh0kEyQsCgoKEhISGhoYKT4QEAoVFRUVHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dGzcwIBslGxsbGy4TGxsbGxsmHwAZEBgN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Fe8VAnKy8BUBcbQAFRAVAnKwCtCwERCwDdCwDS+0bw1/DQJxsv8NAXG0qg26DQJdsQwK9LLzDAFdQQ0AAwAMABMADAAjAAwAMwAMAEMADABTAAwABnG0AwwTDAJysmUMAXFBEQAmAAwANgAMAEYADABWAAwAZgAMAHYADACGAAwAlgAMAAhytOUM9QwCcUEJAKQADAC0AAwAxAAMANQADAAEckEPAHMADACDAAwAkwAMAKMADACzAAwAwwAMANMADAAHcUEJAKMADACzAAwAwwAMANMADAAEXbLiDAFdsgsGDBESObJbCwFdsnYLAXGyZQsBcbIODQYREjmyWQ4BXUERACkADgA5AA4ASQAOAFkADgBpAA4AeQAOAIkADgCZAA4ACHKwERCxEgr0QQ0AowASALMAEgDDABIA0wASAOMAEgDzABIABl20AxITEgJysmUSAXFBEQAmABIANgASAEYAEgBWABIAZgASAHYAEgCGABIAlgASAAhytOUS9RICcUEJAKQAEgC0ABIAxAASANQAEgAEckEPAHMAEgCDABIAkwASAKMAEgCzABIAwwASANMAEgAHcUEJACMAEgAzABIAQwASAFMAEgAEcbQCEhISAnGyExIDERI5tEkTWRMCXbJlEwFxsqUTAXGyEBEDERI5QREAKQAQADkAEABJABAAWQAQAGkAEAB5ABAAiQAQAJkAEAAIcrSGEJYQAl20JhA2EAJxsg8TEBESObJmDwFdss8YAV1ZALAARViwBS8bsQUVPlmwAEVYsAwvG7EMFT5ZsABFWLACLxuxAg0+WbAARViwEi8bsRINPlmyBgUCERI5sAYvsAHcQQkAwAABANAAAQDgAAEA8AABAARdQQ0AAAABABAAAQAgAAEAMAABAEAAAQBQAAEABnG0gAGQAQJysAYQsAjcsjAIAV2wBhCwCtCyDwEGERI5skYPAV2wARCwFNCwARCwFty2vxbPFt8WA120PxZPFgJdMDE3IxUjETMVNzUzFT8BMw8BHwEjJyMVI80wUFAwPxqDVH4sNIpeih0/4eEB9OIFe3UD1MkhKOLhfwABAAAAAAJ1ArwAFgPisAorWLsAEwAJABQABCuyEBQBcbSAFJAUAl2wFBCwAdCyEBMBcbSAE5ATAl2wExCwBNCwExCwBtyywAYBXbATELAI0LATELAP3LIADwFdsp8P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) + format("truetype"); +} +@font-face { + font-family: PTSans-Bold; + font-style: normal; + font-weight: 800; + src: url(data:font/ttf;base64,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AAgAAgAMAAMAbAB8AmEAAQADAEQAUgE3AAYAAAAEAFQAPAAiAA4AAwACACgAXgABAEAAAAABAAAADQADAAIAFABKAAEARAAAAAEAAAANAAEAAQARAAMAAQAwAAEAEgAAAAEAAAANAAEAAQBSAAMAAQAYAAEAEgAAAAEAAAANAAEAAQBEAAIAAQATABwAAAAEAAAAAQAIAAEAGgABAAgAAgAMAAYCTwACAHwCTwACAFIAAQABADEAAQAAAAEACAABAAYAzwABAAEAVgAEAAAAAQAIAAEAGgABAAgAAgAMAAYCzAACAE8CywACAEwAAQABAEkAAQAAAAEACAACAAwAAwB7AHQAdQABAAMAFAAVABYABAAAAAEACAABAK4AAwBqACwADAADABgAEAAIAIAAAwJWABcAgAADAi4AFwCAAAMAEgAXAAYANgAuACYAHgAWAA4AfgADAlYAFwB/AAMCVgAVAH4AAwIuABcAfwADAi4AFQB+AAMAEgAXAH8AAwASABUABgA6ADAAJgAeABYADgAIAAMCVgATAAgAAwIuABMACAADABIAEwIrAAQCVgATABMCKwAEAi4AEwATAisABAASABMAEwABAAMAEwAUABYAAQAAAAEACAABAAYAvAABAAIBvQG+AAEAAAABAAgAAgASAAYCqQKqAncCeAKrAqwAAQAGAaUBpgGrAawBvQG+AAEAAAABAAgAAgAOAAQBKQEqASsBLAABAAQBDAENARABEQAGAAAAAgBqAAoAAwABABIAAQByAAAAAQAAAA0AAQAlAEUARwBJAEsATgBPAFcAoQCyAM8A0QDhAOMA5gDtAPEA8wD1AREBEwElASwBagF9AYoBkwGYAaABsgHOAeACFgJgAnACywLMAs4AAwABABgAAQASAAAAAQAAAA0AAQABATcAAQEIACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmgCbAJwAnQCeAJ8AoADCAMQAxgDIAMoAzADOANAA0gDUANYA2ADaANwA3gDgAOIA5ADmAOgA6gDsAO4A8ADyAPQA9gD4APoA/AD+AQABAgEEAQYBCAEKAQwBDgEQARIBFAEWARgBGgEcAR4BHwEhASMBJwEpASsBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAGXAZkBmwGdAZ8BoQGjAaUBpwGpAasBrQGvAbEBswG1AbcBuQG7Ab0BvwHBAcMBxQHHAckBywHNAc8B0QHTAdQB1gHYAdoB3AHeAeEB4wHlAecB6QHrAe0B7wHxAfMB9QH3AfkB+wH9Af8CAQIDAgUCBwIJAgsCDQIPAhECEwIVAhcCGQIbAh0CXwJrAm0CbwJxAnMCdQJ3AnkCewJ9An8CgQKDAoUChwKJAosCjQKPApECkwKVApcCmQKbAp0CnwKhAqMCpQKnAqkCqwKtAq8CsQKzArUCtwK5AAMAAAABAAgAAQAMAAMAIgAcABYAAQADABQBvQG+AAICegKsAAICeQKrAAICwQB7AAEAAAABAAgAAgAyABYCwAK/AHQAdQLOASUBKQEqASsBLALNAqcCqAKpAqoCdwJ4ArsCvAK9Ar4CzwABABYABQAKABUAFgBPAFYBDAENARABEQEwAUABjgGlAaYBqwGsAiECIgIkAiUCLgAAAu4AMgAAAAAA/QAAAP0AAAEmAFYBkgBaAjcAEwI3AEUDSAAzAy4AXAD+AFoBRwA8AUcACwF6ACgCDwArAPwAJQFoADYA9gAqAZj/6AI3ACgCNwA/AjcARQI3AE4CNwATAjcARAI3ADQCNwA8AjcAPQI3AC0BDQBdASIATQIPACgCDwArAg8AJwHGABcEIwBJAl0AAAJPADwCLwAmAocAPAIKADwB/AA8AmEAJgKLADwBHQBKAU7/6QJsADwCAgA8AyAAPAKRADwCngAmAjwAPAKeACYCWgA8AhIAGwI4AAsCcwA5Alr/9wNeAAACeQAKAlD//gIbABsBRAA8Aaj/6AFEAB0B9AAUAbwAAAE8ADwB8AAXAhgAOQGxACECGwAhAfwAIQFBAAsCGAAhAiEAOQENADEBDP/wAesAOQEmAD0DJQA5AiEAOQIZACECHAA5AhgAIQFfADkBpgAZAV0ABQIaADQB3f/yAtH/+AINAAgB3v/3AcoAHwFzACsA4wA8AXMAIwIPABwA/QAAASUALAI3AFQCNwAzAjcABQI3//IA4wA8AhIAMQHfADwDQQA3AaQAKgHoAB0CDwAtAWgANgKyAD4BuwA8AbUAPAIPACsBnAAyAZwAOAExADwCOQA0AhEAGgD9AC0BTAA8AZwAKQGjACIB6AAiA3AAJQOHACUDiQAwAcYAFwJdAAACXQAAAl0AAAJdAAACXQAAAl0AAANe/+MCLwAmAgoAPAIKADwCCgA8AgoAPAEd/+oBHQAxAR3/3AEd/9oCnf/6ApEAPAKeACYCngAmAp4AJgKeACYCngAmAg8ANgKeACYCcwA5AnMAOQJzADkCcwA5AlD//gI8ADwCdgAMAfAAFwHwABcB8AAXAfAAFwHwABcB8AAXAxEAFwGxACEB/AAhAfwAIQH8ACEB/AAhAQ3//gENAEYBDf/iAQ3/0wIzACUCIQA5AhkAIQIZACECGQAhAhkAIQIZACECDwArAhgAIQIaADQCGgA0AhoANAIaADQB3v/3AhwAOQHe//cCXQAAAfAAFwJdAAAB8AAXAl0AAAHwABcCLwAmAbEAIQIvACYBsQAhAi8AJgGxACEChwA8An8AIQKd//oCJgAhAgoAPAH8ACECCgA8AfwAIQIKADwB/AAhAgoAPAH8ACECYQAmAhgAIQJhACYCGAAhAmEAJgIYACECiwA8AiH/0wKrAAICLP/6AR3/5wEN/+UBHQAWAQ4ADQEdADkBDQBGAU7/6QEM/+YCbAA8AesAOQICADwBJgA9AgIAPAEmAD0CAgA8ASYAPQINAAMBPwAGApEAPAIhADkCkQA8AiEAOQKRADwCIQA5Ap4AJgIZACECngAmAhkAIQOTACYDSQAhAloAPAFfADkCWgA8AV8AOQJaADwBXwAhAhIAGwGmABkCEgAbAaYAGQISABsBpgAZAhIAGwGmABkCOAALAV0ABQI4AAsBaAAFAnMAOQIaADQCcwA5AhoANAJzADkCGgA0AnMAOQIaADQCcwA5AhoANAJQ//4CGwAbAcoAHwIbABsBygAfAhsAGwHKAB8A+QAMAjf/zAJhACYCGAAhAhIAGwGmABkCOAALAV0ABQEM//AA3wAmAbgAPAHBADwBzQA8AR4APAFWADwBXgA8AcQAPAHLADwAAv7PAkkADAMKADoCuAATAgoAPALkAAsBygA8AkEAJgISABsBHQBKASgAEwFO/+kDp//zA8IAPAL2AAsCbAA8Ajj/9wJ/ADwCXQAAAjoAPAJPADwBygA8ArMAAAIKADwDR//5Ag4AEgKaADwCmgA8AmwAPAJv//MDIAA8AosAPAKeACYCfwA8AjwAPAIvACYCOAALAjj/9wMiABoCeQAKAqoAPAJeAC4DXQA8A48APAKY//wDHgA8AjkAPAI+ABQDgQA8AkQABQHwABcCGQAhAfkAOQF4ADkCOP/+AfwAIQK1//oBsAAWAiEAOQIhADkB6QA5AgP/7wKaADkCGQA5AhkAIQIUADkCHAA5AbEAIQGiAAEB3v/3ArwAHAINAAgCLwA5AfkAIQLyADkDDwA5Ahv/+wK/ADkB6gA5AcsAFwLeADkB9wAKAfwAIQIm//QBeAA5AckAJQGmABkBDQA0AT4AFQEM//AC+v/vAxAAOQIm//QB6QA5Ad7/9wIUADkCiwAAAhv/+wKeACYCGQAhAnX/8wIP//kCyAA8Ak4AOQKLAAACG//7AjwAPAIcADkBygA8AXgAOQH8AAABngAAAkYAPAIWADkDWf/5Atf/+gIOABIBsAAWAnsAPAIPADkCzAA8AksAOQK0AAAB9v/yAs8AAAIc//sCuAA8AjcAOQNTADwCmAA5A8IAPAM2ADkDbAAmAsUAIAIvACYBsQAhAjgACwGiAAECUP/+Aev/+QJQ//4B6//5ApsACgIeAAgDRgALAocAAQKLAC4CIgAhAoUALgIYACACXgA8AiEAOQMaAAAChwAGAxoAAAKHAAYBHQBKAmMAPAH1ADkCi//zAib/7wKLADwCGQA5AqsAPAJAADkCXgAuAfkAIQNOADwCxgA5AQYAQgJdAAAB8AAXAl0AAAHwABcDXv/jAxEAFwIKADwB/AAhAnYAJQH8ACICdgAlAfwAIQNH//kCtf/6Ag4AEgGwABMCJAAiAeQACgKaADwCIQA5ApoAPAIhADkCngAmAhkAIQKeACYCGQAhAp4AJgIZACECPgAUAcsAFwI4//cB3v/3Ajj/9wHe//cCOP/3Ad7/9wJeAC4B+QAhAcoAPAF4ADkDHgA8Ar8AOQJ5AAoCDQAIAg4AKAGwACECev/zAgP/7wNeAAAC0f/4AqwAPAI+ADkClQA8Ak4AOQJsADwB6wA5AyAAPAMlADkCPAA8AhwAOQKgADwBaAA2ApQAbQM0AG0A3wAmAN8AJgDfACYBjAAmAYwAJgGMACYB/QAoAf0AKAHEAEkDKQA1BNAAMwEzAB0BMwAiALj/WwGcACkBnAAyAZwAOAGcABICNwACAjcALQI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcB9ABJBAMAPAO0AB0CWAAsAhoAEgKOADwCDwAUAg8AKwIPAAUCD//7A1kAIwFw/8ICDwAeAg8AKwIPACICDwAoAg8AGwK4ADwCTgA5AAL+fQH1ADwBTAA8AdwAPAELADwA3wAmAScAPAF4ADwB6gA8AV4APAJPADwCGAA5AfwAPAFBAAsCXv/vAiz/+gJeAC4B+QAhAjj/9wHe//cCPgAUAcsAFwIOABIBsAAWAi8AJgGxACECXQAAAfAAFwIKADwB/AAhAgoAPAH8ACECCgA8AfwAIQIOABIBsAAWAp4AJgIZACECngAmAhkAIQKeACYCGQAhAp4AJgIZACEDHgA8Ar8AOQI+ABQBywAXAj4AFAHLABcCQQAmAckAJQJEAAUB9wAKAkQABQH3AAoDgQA8At4AOQOBADwC3gA5Ap3/8wIz/+8CmgA8AiEAOQKeACYCGQAhAx4APAK/ADkCDgAoAbAAIQEdADkBDQBGAfwAPAGYADkCLwAmAbEAIQKHADwCGwAhAosAPAIhADkCAgA8ASYAPQI4AAsBXQAFAlr/9wHd//ICDgASAbUADgIOABIBtQAOAN8AJgDfACYBjAAmAYwAJgD+AFoBkgBaAZwAKQELADwBfwA8AdoAPAHlADwBfwA8AgUAPAHPADwB9wA8Ac4APAIpAAwCUQAMALwAzAEGAEIAuP8WAAAAAAAAA7UAAAO1AAADtQAAA7UAAATYAAAFHAAAB2IAAAsHAAALiwAADrkAAA8NAAAQGAAAEQgAABNXAAAUcgAAFkkAABbRAAAXZAAAF8gAABnxAAAazAAAHEcAAB6hAAAgqQAAIk4AACTqAAAlpgAAKlcAACzDAAAtiwAALgcAAC7TAAAvKwAAMAcAADJDAAA2aAAAOLYAADwXAAA+aAAAQLsAAEHfAABCvAAARigAAEckAABHsAAASUUAAEtCAABL+QAAT8oAAFNcAABWKQAAWAAAAFreAABdbwAAYCEAAGDDAABiYQAAZB0AAGeZAABq8AAAbOoAAG8dAABvywAAcD0AAHCgAAByFAAAclAAAHMUAAB1vQAAd2MAAHk6AAB7WwAAfiIAAH9xAACBdAAAgzMAAIOfAACD8wAAhlwAAId4AACKBQAAi7gAAI5MAACQTwAAkhIAAJMIAACWOgAAl3IAAJkJAACa3AAAnUsAAKBgAACitQAApTYAAKeRAACn8gAAqk0AAKtsAACrbAAArHsAAK5PAACwCwAAtGEAALcRAAC3hwAAu5cAALz3AADAdwAAw4YAAMVKAADFiAAAxZgAAMnwAADKbgAAzNcAAM3wAADOEAAAzjAAAM7xAADQPQAA0PwAANEQAADRzwAA0e8AANOAAADVWQAA1dUAANZNAADWvQAA2OkAANl1AADZ2QAA2kkAANqNAADbFQAA4KgAAOKLAADnPgAA544AAOfWAADoLgAA6JIAAOjuAADpSgAA6aYAAOn+AADsgQAA7MUAAO0lAADtfQAA7eEAAO45AADunQAA76gAAPN0AADz2AAA9DQAAPSoAAD1JAAA9XgAAPaxAAD4iAAA+QAAAPlYAAD5zAAA+gwAAPqUAAD7KAAA/rQAAQKaAAEC9gABA1YAAQOaAAEEDgABBGIAAQSuAAEE+gABBYIAAQdOAAEHigABB94AAQhCAAEIogABCOYAAQlSAAEKRAABDlMAAQ6zAAEPAwABD1sAAQ/PAAEQJwABEg8AARJvAAESxwABEyMAARNvAAET+wABFTkAARc4AAEXvAABGBQAARhYAAEYuAABGQwAARmAAAEZzAABGiAAARowAAEcfwABHMcAAR0TAAEdZwABHb8AASABAAEiagABItoAASMaAAEjRgABI4YAASPyAAEkQgABJJIAASTOAAElFgABJToAASaOAAEovQABKQ0AASlpAAErWAABLh8AAS5vAAEvAAABL0wAAS9wAAEvuAABMBAAATBQAAEwqAABMOwAATE8AAExgAABMgAAATMuAAE07QABNVEAATWlAAE17QABNk0AATapAAE2+QABN2UAATfRAAE4UQABOL0AATrKAAE9nQABPfUAAT59AAE+1QABPx0AAT+NAAE/6QABQD0AAUCJAAFAwQABQQEAAUYcAAFL6QABTEEAAUytAAFN4AABT2cAAU/DAAFQGwABUIcAAVDzAAFRCwABUSMAAVGrAAFSIwABUpsAAVMHAAFURAABVcEAAVZNAAFWqQABVv0AAVdRAAFXrQABV/kAAVhhAAFZ2QABW9YAAVxOAAFcugABXQoAAV1aAAFdsgABXfoAAV9oAAFfeAABYQMAAWJ3AAFj+AABZNkAAWf3AAFqAgABa6gAAWyZAAFsrQABbhgAAXEPAAFyRAABcrgAAXR1AAF0xQABd2kAAXd5AAF3iQABeR0AAXktAAF7uAABfZUAAX8UAAF/aAABf6gAAYEbAAGBKwABgwMAAYMTAAGDygABhcIAAYXSAAGINQABi0MAAY2LAAGNzwABjd8AAY9GAAGPVgABj2YAAY92AAGQTgABkF4AAZBuAAGQfgABkwMAAZZ7AAGWiwABl3AAAZhrAAGZpAABmvEAAZzNAAGfDQABoPoAAaM5AAGmEgABqI8AAaifAAGr5wABrzAAAa/dAAGxugABscoAAbYmAAG5gAABuxUAAbtVAAG93AABv08AAcGbAAHCswABwsMAAcOfAAHDrwABw78AAcSeAAHErgAByh8AAcovAAHK+QABzLEAAc4EAAHPQQAB0ZUAAdRaAAHWxwAB2PsAAdyXAAHfzgAB4GYAAeIwAAHikAAB5OUAAeT1AAHlYQAB5v8AAedTAAHqhAAB7YcAAe7xAAHvVQAB760AAfEyAAHzTAAB9coAAfh1AAH72QAB/ZcAAf9HAAIDBwACBj8AAgZPAAIJBgACC3wAAg2RAAIOWgACDxQAAg/gAAIQxwACEnsAAhQrAAIWuAACGwMAAh7MAAIjfAACJakAAigkAAIpxQACK2kAAizqAAIvigACMXAAAjObAAIzqwACNOcAAjX3AAI3EwACOMEAAjrPAAI+iQACQgQAAkTJAAJGxgACR6sAAki7AAJIywACSmUAAky8AAJOiwACUfMAAlTqAAJV7wACVrQAAlf+AAJaEAACW1MAAl0FAAJeWwACXmsAAmFBAAJkiwACaDIAAmxGAAJsVgACbjAAAnAcAAJxsAACc0kAAnSdAAJ2NwACd1cAAniqAAJ55AACe8YAAn+iAAKB8gACggIAAoJyAAKC5gACg3oAAoQGAAKEFgAChCYAAoSOAAKEzgAChswAAol4AAKJ9AACipQAAor4AAKL1AACjDwAAozsAAKO4AACkU4AApGKAAKR3gACkjIAApK6AAKTFgACk7IAApPCAAKT0gAClDIAApTCAAKVLgACleIAApYqAAKWdgAClwIAApd2AAKX6gACmEIAApjqAAKZfgACmoMAAptpAAKb9QACnJUAAqBYAAKjfwACpcsAAqhWAAKqBwACq+0AAq9aAAKxuwACss4AArPIAAK1kQACtaEAArX1AAK2SQACtpkAArbtAAK3NQACt4kAArkhAAK5MQACuZEAArnYAAK64wACu8AAArwgAAK8XAACvJAAAr1EAAK+HAACv+gAAsBPAALA1wACwXsAAsJlAALDbQACxG0AAsU0AALG5QACyWkAAspNAALNAAACz5wAAtGBAALRkQAC0aEAAtGxAALRwQAC0dEAAtHhAALR8QAC0gEAAtIRAALSIQAC0jEAAtJBAALSUQAC0mEAAtJxAALSgQAC0pEAAtKhAALSsQAC0sEAAtLRAALS4QAC0vEAAtMBAALWYwAC2doAAtw2AALeYwAC4EYAAuDHAALilgAC4wUAAuMZAALkFgAC5ysAAuklAALpdQAC6uoAAuwgAALtOgAC7ooAAu/AAALxxAAC8dgAAvL7AALzCwAC9AoAAvQaAAL0KgAC9ZQAAvmeAAL7dwAC+4cAAvvDAAL8EwAC/E8AAvyjAAL+OgAC/koAAv/MAAMB5wADAk8AAwKjAAMDCwADA3sAAwOLAAMDmwADA6sAAwO7AAMD/wADBFsAAwSfAAME6wADBhMAAwebAAMIjwADCeMAAwpTAAMKwwADCy8AAwubAAMMBwADDEsAAwyrAAMM7wADDcsAAw8jAAMPfwADD9MAAxAzAAMQvwADETcAAxGLAAMSAwADEo8AAxLXAAMTPwADE7MAAxP/AAMUTwADFJcAAxTbAAMVHwADFscAAxhQAAMclgADIAgAAyBsAAMg5AADIUwAAyGQAAMh6AADIoAAAyLQAAMi4AADIvAAAyPLAAMj2wADI+sAAyRLAAMkqwADJQsAAyVTAAMlowADJgcAAyZLAAMmswADJwMAAydnAAMndwADKWYAAynWAAMqGgADKyAAAyv9AAMsNQADLH0AAyzRAAMtHQADLbQAAy65AAMvawADMFIAAzEbAAMxzgADMsoAAzM5AAM06QADNsEAAzhVAAM6IgADOowAAzsfAAM8FwACAAAAAAAA/7UAMgAAAAAAAAAAAAAAAAAAAAAAAAAAAtAAAAABAAIAAwAEAAUABgAHAAgACQAKAAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQIAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBAwCKANoAgwCTAPIA8wCNAJcAiADDAN4A8QCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6AQQBBQEGAQcBCAEJAP0A/gEKAQsA/wEAAQwBDQEOAQEBDwEQAREBEgETARQBFQEWARcBGAD4APkBGQEaARsBHAEdAR4BHwEgASEBIgD6ANcBIwEkASUBJgEnASgBKQEqASsBLADiAOMBLQEuAS8BMAExATIBMwE0ATUBNgCwALEBNwE4ATkBOgE7ATwBPQE+AT8BQAD7APwA5ADlAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgC7AU8BUAFRAVIA5gDnAVMApgFUAVUBVgFXAVgBWQFaAVsA2ADhANsA3ADdAOAA2QDfAVwBXQFeAJsBXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB+AH5AfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwI4AjkCOgI7AjwCPQI+Aj8CQAJBAkIAsgCzALYAtwDEALQAtQDFAIIAwgCHAKsAxgC+AL8AvAJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwCMAmQAmACaAJkA7wJlAKUAkgCcAKcAjwCUAJUAuQJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoICgwKEAoUChgKHAogCiQKKAosCjAKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0QDAAMEC0gLTAtQHdW5pMDBBMAd1bmkwMEFEB0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleAZEY2Fyb24GZGNhcm9uBkRjcm9hdAdFbWFjcm9uB2VtYWNyb24KRWRvdGFjY2VudAplZG90YWNjZW50B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4DEdjb21tYWFjY2VudAxnY29tbWFhY2NlbnQLSGNpcmN1bWZsZXgLaGNpcmN1bWZsZXgESGJhcgRoYmFyB0ltYWNyb24HaW1hY3JvbgdJb2dvbmVrB2lvZ29uZWsLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAZMYWN1dGUGbGFjdXRlDExjb21tYWFjY2VudAxsY29tbWFhY2NlbnQGTGNhcm9uBmxjYXJvbgZOYWN1dGUGbmFjdXRlDE5jb21tYWFjY2VudAxuY29tbWFhY2NlbnQGTmNhcm9uBm5jYXJvbgdPbWFjcm9uB29tYWNyb24NT2h1bmdhcnVtbGF1dA1vaHVuZ2FydW1sYXV0BlJhY3V0ZQZyYWN1dGUMUmNvbW1hYWNjZW50DHJjb21tYWFjY2VudAZSY2Fyb24GcmNhcm9uBlNhY3V0ZQZzYWN1dGULU2NpcmN1bWZsZXgLc2NpcmN1bWZsZXgIVGNlZGlsbGEIdGNlZGlsbGEGVGNhcm9uBnRjYXJvbgdVbWFjcm9uB3VtYWNyb24GVWJyZXZlBnVicmV2ZQVVcmluZwV1cmluZw1VaHVuZ2FydW1sYXV0DXVodW5nYXJ1bWxhdXQHVW9nb25lawd1b2dvbmVrBlphY3V0ZQZ6YWN1dGUKWmRvdGFjY2VudAp6ZG90YWNjZW50BWxvbmdzB3VuaTAxRjQHdW5pMDFGNQxTY29tbWFhY2NlbnQMc2NvbW1hYWNjZW50DFRjb21tYWFjY2VudAx0Y29tbWFhY2NlbnQHdW5pMDIzNwlhZmlpNTc5MjkJYWN1dGVjb21iB3VuaTAzOTQHdW5pMDNBOQlhZmlpMTAwMjMJYWZpaTEwMDUxCWFmaWkxMDA1MglhZmlpMTAwNTMJYWZpaTEwMDU0CWFmaWkxMDA1NQlhZmlpMTAwNTYJYWZpaTEwMDU3CWFmaWkxMDA1OAlhZmlpMTAwNTkJYWZpaTEwMDYwCWFmaWkxMDA2MQlhZmlpMTAwNjIJYWZpaTEwMTQ1CWFmaWkxMDAxNwlhZmlpMTAwMTgJYWZpaTEwMDE5CWFmaWkxMDAyMAlhZmlpMTAwMjEJYWZpaTEwMDIyCWFmaWkxMDAyNAlhZmlpMTAwMjUJYWZpaTEwMDI2CWFmaWkxMDAyNwlhZmlpMTAwMjgJYWZpaTEwMDI5CWFmaWkxMDAzMAlhZmlpMTAwMzEJYWZpaTEwMDMyCWFmaWkxMDAzMwlhZmlpMTAwMzQJYWZpaTEwMDM1CWFmaWkxMDAzNglhZmlpMTAwMzcJYWZpaTEwMDM4CWFmaWkxMDAzOQlhZmlpMTAwNDAJYWZpaTEwMDQxCWFmaWkxMDA0MglhZmlpMTAwNDMJYWZpaTEwMDQ0CWFmaWkxMDA0NQlhZmlpMTAwNDYJYWZpaTEwMDQ3CWFmaWkxMDA0OAlhZmlpMTAwNDkJYWZpaTEwMDY1CWFmaWkxMDA2NglhZmlpMTAwNjcJYWZpaTEwMDY4CWFmaWkxMDA2OQlhZmlpMTAwNzAJYWZpaTEwMDcyCWFmaWkxMDA3MwlhZmlpMTAwNzQJYWZpaTEwMDc1CWFmaWkxMDA3NglhZmlpMTAwNzcJYWZpaTEwMDc4CWFmaWkxMDA3OQlhZmlpMTAwODAJYWZpaTEwMDgxCWFmaWkxMDA4MglhZmlpMTAwODMJYWZpaTEwMDg0CWFmaWkxMDA4NQlhZmlpMTAwODYJYWZpaTEwMDg3CWFmaWkxMDA4OAlhZmlpMTAwODkJYWZpaTEwMDkwCWFmaWkxMDA5MQlhZmlpMTAwOTIJYWZpaTEwMDkzCWFmaWkxMDA5NAlhZmlpMTAwOTUJYWZpaTEwMDk2CWFmaWkxMDA5NwlhZmlpMTAwNzEJYWZpaTEwMDk5CWFmaWkxMDEwMAlhZmlpMTAxMDEJYWZpaTEwMTAyCWFmaWkxMDEwMwlhZmlpMTAxMDQJYWZpaTEwMTA1CWFmaWkxMDEwNglhZmlpMTAxMDcJYWZpaTEwMTA4CWFmaWkxMDEwOQlhZmlpMTAxMTAJYWZpaTEwMTkzCWFmaWkxMDE0NglhZmlpMTAxOTQJYWZpaTEwMTQ3CWFmaWkxMDE5NQlhZmlpMTAxNDgJYWZpaTEwMTk2B3VuaTA0OEEHdW5pMDQ4Qgd1bmkwNDhDB3VuaTA0OEQHdW5pMDQ4RQd1bmkwNDhGCWFmaWkxMDA1MAlhZmlpMTAwOTgHdW5pMDQ5Mgd1bmkwNDkzB3VuaTA0OTQHdW5pMDQ5NQd1bmkwNDk2B3VuaTA0OTcHdW5pMDQ5OAd1bmkwNDk5B3VuaTA0OUEHdW5pMDQ5Qgd1bmkwNDlDB3VuaTA0OUQHdW5pMDQ5RQd1bmkwNDlGB3VuaTA0QTAHdW5pMDRBMQd1bmkwNEEyB3VuaTA0QTMHdW5pMDRBNAd1bmkwNEE1B3VuaTA0QTYHdW5pMDRBNwd1bmkwNEE4B3VuaTA0QTkHdW5pMDRBQQd1bmkwNEFCB3VuaTA0QUMHdW5pMDRBRAd1bmkwNEFFB3VuaTA0QUYHdW5pMDRCMAd1bmkwNEIxB3VuaTA0QjIHdW5pMDRCMwd1bmkwNEI0B3VuaTA0QjUHdW5pMDRCNgd1bmkwNEI3B3VuaTA0QjgHdW5pMDRCOQd1bmkwNEJBB3VuaTA0QkIHdW5pMDRCQwd1bmkwNEJEB3VuaTA0QkUHdW5pMDRCRgd1bmkwNEMwB3VuaTA0QzMHdW5pMDRDNAd1bmkwNEM1B3VuaTA0QzYHdW5pMDRDNwd1bmkwNEM4B3VuaTA0QzkHdW5pMDRDQQd1bmkwNENCB3VuaTA0Q0MHdW5pMDRDRAd1bmkwNENFB3VuaTA0Q0YHdW5pMDREMAd1bmkwNEQxB3VuaTA0RDIHdW5pMDREMwd1bmkwNEQ0B3VuaTA0RDUHdW5pMDRENgd1bmkwNEQ3B3VuaTA0RDgJYWZpaTEwODQ2B3VuaTA0REEHdW5pMDREQgd1bmkwNERDB3VuaTA0REQHdW5pMDRERQd1bmkwNERGB3VuaTA0RTAHdW5pMDRFMQd1bmkwNEUyB3VuaTA0RTMHdW5pMDRFNAd1bmkwNEU1B3VuaTA0RTYHdW5pMDRFNwd1bmkwNEU4B3VuaTA0RTkHdW5pMDRFQQd1bmkwNEVCB3VuaTA0RUMHdW5pMDRFRAd1bmkwNEVFB3VuaTA0RUYHdW5pMDRGMAd1bmkwNEYxB3VuaTA0RjIHdW5pMDRGMwd1bmkwNEY0B3VuaTA0RjUHdW5pMDRGNgd1bmkwNEY3B3VuaTA0RjgHdW5pMDRGOQd1bmkwNEZDB3VuaTA0RkQHdW5pMDUxMAd1bmkwNTExB3VuaTA1MTIHdW5pMDUxMwd1bmkwNTFDB3VuaTA1MUQHdW5pMDUyNAd1bmkwNTI1B3VuaTA1MjYHdW5pMDUyNwd1bmkxRTMwB3VuaTFFMzEHdW5pMUUzRQd1bmkxRTNGB3VuaTFFNTQHdW5pMUU1NQd1bmkxRTlFB3VuaTIwMTEHdW5pMjA4MQd1bmkyMDgyB3VuaTIwODMHdW5pMjA4NARFdXJvB3VuaTIwQjQHdW5pMjBCNgd1bmkyMEI3B3VuaTIwQjkHdW5pMjBCQQd1bmkyMEJCB3VuaTIwQkMHdW5pMjBCRAd1bmkyMEJFB3VuaTIwQkYHdW5pMjBDMAd1bmkyMEMxB3VuaTIwQzIHdW5pMjBDMwd1bmkyMEM0B3VuaTIwQzUHdW5pMjBDNgd1bmkyMEM3B3VuaTIwQzgHdW5pMjBDOQd1bmkyMENBB3VuaTIwQ0IHdW5pMjBDQwd1bmkyMENEB3VuaTIwQ0UHdW5pMjBDRglhZmlpNjEyODkJYWZpaTYxMzUyCWVzdGltYXRlZAd1bmkyMjE1B3VuaTJDNjcHdW5pMkM2OAd1bmlGNDAxB3VuaUY0MDYHdW5pRjQwNwd1bmlGNDA4B3VuaUY0MDkHdW5pRjQwQQd1bmlGNDBCB3VuaUY0MEMHdW5pRjQwRAd1bmlGNDBFB3VuaUY0ODYHdW5pRjQ4Nwd1bmlGNDg4B3VuaUY0ODkHdW5pRjQ5RQd1bmlGNDlGB3VuaUY0QzYHdW5pRjRDNwd1bmlGNENDB3VuaUY0Q0QHdW5pRjRENgd1bmlGNEQ3C3VuaTA0OTguYWx0C3VuaTA0OTkuYWx0DXVuaTA0QUEuYWx0MDINdW5pMDRBQi5hbHQwMgd1bmlGNTBFB3VuaUY1MEYHdW5pRjUxMAd1bmlGNTExB3VuaUY1MTIHdW5pRjUxMwd1bmlGNTE0B3VuaUY1MTUHdW5pRjUxNgd1bmlGNTE3B3VuaUY1MTgHdW5pRjUxOQd1bmlGNTFBB3VuaUY1MUIHdW5pRjUxQwd1bmlGNTFEB3VuaUY1MUUHdW5pRjUxRgd1bmlGNTIwB3VuaUY1MjEHdW5pRjUyMgd1bmlGNTIzB3VuaUY1MjQHdW5pRjUyNQd1bmlGNTI2B3VuaUY1MjcHdW5pRjUyOAd1bmlGNTI5B3VuaUY1MkEHdW5pRjUyQgd1bmlGNTJDB3VuaUY1MkQHdW5pRjUyRQd1bmlGNTJGB3VuaUY1MzAHdW5pRjUzMQd1bmlGNTMyB3VuaUY1MzMHdW5pRjUzNAd1bmlGNTM1B3VuaUY1MzYHdW5pRjUzNwd1bmlGNTM4B3VuaUY1MzkNYWZpaTEwMDU1LmFsdA1hZmlpMTAxMDMuYWx0C3VuaTA0OTIuYWx0C3VuaTA0OTMuYWx0C3VuaTA0QUEuYWx0C3VuaTA0QUIuYWx0B3VuaUY1NDAHdW5pRjU0MQd1bmlGNTQyB3VuaUY1NDMHdW5pRjU0NAd1bmlGNTQ1B3VuaUY1NDYHdW5pRjU0Nwd1bmlGNTQ4B3VuaUY1NDkHdW5pRjU0QQd1bmlGNTRCB3VuaUY1NEMHdW5pRjU0RAd1bmlGNjJDB3VuaUY2MkQHdW5pRjYyRQd1bmlGNjJGB3VuaUY2MzQHdW5pRjYzNQ1vbmUubnVtZXJhdG9yB3VuaUY2QzMHdW5pRjZDOQd1bmlGNkNBB3VuaUY2Q0IHdW5pRjZDRQd1bmlGNkNGB3VuaUY2RDAHdW5pRjZEMQd1bmlGNkQ0B2Nhcm9uLmwFbC52YXIMZnJhY3Rpb24uYWx0AAAAAAAADwC6AAMAAQQJAAAAZi4IAAMAAQQJAAEADi36AAMAAQQJAAIACC3yAAMAAQQJAAMAPi20AAMAAQQJAAQAGC2cAAMAAQQJAAUAJC14AAMAAQQJAAYAFi1iAAMAAQQJAAcAVi0MAAMAAQQJAAgAGCz0AAMAAQQJAAkARCywAAMAAQQJAAoJCiOmAAMAAQQJAAsALiN4AAMAAQQJAAwATiMqAAMAAQQJAA0i7gA8AAMAAQQJAA4APAAAAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABfAHcAZQBiAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQAwACwAIABQAGEAcgBhAFQAeQBwAGUAIABMAHQAZAAuACAAKABoAHQAdABwADoALwAvAHcAdwB3AC4AcABhAHIAYQB0AHkAcABlAC4AYwBvAG0ALwBwAHUAYgBsAGkAYwApACwAIAB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAcwAgACIAUABUACAAUwBhAG4AcwAiACwAIAAiAFAAVAAgAFMAZQByAGkAZgAiACAAYQBuAGQAIAAiAFAAYQByAGEAVAB5AHAAZQAiAC4ADQAKAA0ACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEAIABUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGMAbwBwAGkAZQBkACAAYgBlAGwAbwB3ACwAIABhAG4AZAAgAGkAcwAgAGEAbABzAG8AIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAANAAoADQAKAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQANAAoAUwBJAEwAIABPAFAARQBOACAARgBPAE4AVAAgAEwASQBDAEUATgBTAEUAIABWAGUAcgBzAGkAbwBuACAAMQAuADEAIAAtACAAMgA2ACAARgBlAGIAcgB1AGEAcgB5ACAAMgAwADAANwANAAoALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAA0ACgANAAoAUABSAEUAQQBNAEIATABFAA0ACgBUAGgAZQAgAGcAbwBhAGwAcwAgAG8AZgAgAHQAaABlACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACAAKABPAEYATAApACAAYQByAGUAIAB0AG8AIABzAHQAaQBtAHUAbABhAHQAZQAgAHcAbwByAGwAZAB3AGkAZABlACAAZABlAHYAZQBsAG8AcABtAGUAbgB0ACAAbwBmACAAYwBvAGwAbABhAGIAbwByAGEAdABpAHYAZQAgAGYAbwBuAHQAIABwAHIAbwBqAGUAYwB0AHMALAAgAHQAbwAgAHMAdQBwAHAAbwByAHQAIAB0AGgAZQAgAGYAbwBuAHQAIABjAHIAZQBhAHQAaQBvAG4AIABlAGYAZgBvAHIAdABzACAAbwBmACAAYQBjAGEAZABlAG0AaQBjACAAYQBuAGQAIABsAGkAbgBnAHUAaQBzAHQAaQBjACAAYwBvAG0AbQB1AG4AaQB0AGkAZQBzACwAIABhAG4AZAAgAHQAbwAgAHAAcgBvAHYAaQBkAGUAIABhACAAZgByAGUAZQAgAGEAbgBkACAAbwBwAGUAbgAgAGYAcgBhAG0AZQB3AG8AcgBrACAAaQBuACAAdwBoAGkAYwBoACAAZgBvAG4AdABzACAAbQBhAHkAIABiAGUAIABzAGgAYQByAGUAZAAgAGEAbgBkACAAaQBtAHAAcgBvAHYAZQBkACAAaQBuACAAcABhAHIAdABuAGUAcgBzAGgAaQBwACAAdwBpAHQAaAAgAG8AdABoAGUAcgBzAC4ADQAKAA0ACgBUAGgAZQAgAE8ARgBMACAAYQBsAGwAbwB3AHMAIAB0AGgAZQAgAGwAaQBjAGUAbgBzAGUAZAAgAGYAbwBuAHQAcwAgAHQAbwAgAGIAZQAgAHUAcwBlAGQALAAgAHMAdAB1AGQAaQBlAGQALAAgAG0AbwBkAGkAZgBpAGUAZAAgAGEAbgBkACAAcgBlAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGYAcgBlAGUAbAB5ACAAYQBzACAAbABvAG4AZwAgAGEAcwAgAHQAaABlAHkAIABhAHIAZQAgAG4AbwB0ACAAcwBvAGwAZAAgAGIAeQAgAHQAaABlAG0AcwBlAGwAdgBlAHMALgAgAFQAaABlACAAZgBvAG4AdABzACwAIABpAG4AYwBsAHUAZABpAG4AZwAgAGEAbgB5ACAAZABlAHIAaQB2AGEAdABpAHYAZQAgAHcAbwByAGsAcwAsACAAYwBhAG4AIABiAGUAIABiAHUAbgBkAGwAZQBkACwAIABlAG0AYgBlAGQAZABlAGQALAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUAIABwAHIAbwB2AGkAZABlAGQAIAB0AGgAYQB0ACAAYQBuAHkAIAByAGUAcwBlAHIAdgBlAGQAIABuAGEAbQBlAHMAIABhAHIAZQAgAG4AbwB0ACAAdQBzAGUAZAAgAGIAeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIAB3AG8AcgBrAHMALgAgAFQAaABlACAAZgBvAG4AdABzACAAYQBuAGQAIABkAGUAcgBpAHYAYQB0AGkAdgBlAHMALAAgAGgAbwB3AGUAdgBlAHIALAAgAGMAYQBuAG4AbwB0ACAAYgBlACAAcgBlAGwAZQBhAHMAZQBkACAAdQBuAGQAZQByACAAYQBuAHkAIABvAHQAaABlAHIAIAB0AHkAcABlACAAbwBmACAAbABpAGMAZQBuAHMAZQAuACAAVABoAGUAIAByAGUAcQB1AGkAcgBlAG0AZQBuAHQAIABmAG8AcgAgAGYAbwBuAHQAcwAgAHQAbwAgAHIAZQBtAGEAaQBuACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABkAG8AZQBzACAAbgBvAHQAIABhAHAAcABsAHkAIAB0AG8AIABhAG4AeQAgAGQAbwBjAHUAbQBlAG4AdAAgAGMAcgBlAGEAdABlAGQAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAGYAbwBuAHQAcwAgAG8AcgAgAHQAaABlAGkAcgAgAGQAZQByAGkAdgBhAHQAaQB2AGUAcwAuAA0ACgANAAoARABFAEYASQBOAEkAVABJAE8ATgBTAA0ACgAiAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAdABoAGUAIABzAGUAdAAgAG8AZgAgAGYAaQBsAGUAcwAgAHIAZQBsAGUAYQBzAGUAZAAgAGIAeQAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQBuAGQAIABjAGwAZQBhAHIAbAB5ACAAbQBhAHIAawBlAGQAIABhAHMAIABzAHUAYwBoAC4AIABUAGgAaQBzACAAbQBhAHkAIABpAG4AYwBsAHUAZABlACAAcwBvAHUAcgBjAGUAIABmAGkAbABlAHMALAAgAGIAdQBpAGwAZAAgAHMAYwByAGkAcAB0AHMAIABhAG4AZAAgAGQAbwBjAHUAbQBlAG4AdABhAHQAaQBvAG4ALgANAAoADQAKACIAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABuAGEAbQBlAHMAIABzAHAAZQBjAGkAZgBpAGUAZAAgAGEAcwAgAHMAdQBjAGgAIABhAGYAdABlAHIAIAB0AGgAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAcwB0AGEAdABlAG0AZQBuAHQAKABzACkALgANAAoADQAKACIATwByAGkAZwBpAG4AYQBsACAAVgBlAHIAcwBpAG8AbgAiACAAcgBlAGYAZQByAHMAIAB0AG8AIAB0AGgAZQAgAGMAbwBsAGwAZQBjAHQAaQBvAG4AIABvAGYAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAYwBvAG0AcABvAG4AZQBuAHQAcwAgAGEAcwAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGIAeQAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAuAA0ACgANAAoAIgBNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAZABlAHIAaQB2AGEAdABpAHYAZQAgAG0AYQBkAGUAIABiAHkAIABhAGQAZABpAG4AZwAgAHQAbwAsACAAZABlAGwAZQB0AGkAbgBnACwAIABvAHIAIABzAHUAYgBzAHQAaQB0AHUAdABpAG4AZwAgAC0ALQAgAGkAbgAgAHAAYQByAHQAIABvAHIAIABpAG4AIAB3AGgAbwBsAGUAIAAtAC0AIABhAG4AeQAgAG8AZgAgAHQAaABlACAAYwBvAG0AcABvAG4AZQBuAHQAcwAgAG8AZgAgAHQAaABlACAATwByAGkAZwBpAG4AYQBsACAAVgBlAHIAcwBpAG8AbgAsACAAYgB5ACAAYwBoAGEAbgBnAGkAbgBnACAAZgBvAHIAbQBhAHQAcwAgAG8AcgAgAGIAeQAgAHAAbwByAHQAaQBuAGcAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIAB0AG8AIABhACAAbgBlAHcAIABlAG4AdgBpAHIAbwBuAG0AZQBuAHQALgANAAoADQAKACIAQQB1AHQAaABvAHIAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABkAGUAcwBpAGcAbgBlAHIALAAgAGUAbgBnAGkAbgBlAGUAcgAsACAAcAByAG8AZwByAGEAbQBtAGUAcgAsACAAdABlAGMAaABuAGkAYwBhAGwAIAB3AHIAaQB0AGUAcgAgAG8AcgAgAG8AdABoAGUAcgAgAHAAZQByAHMAbwBuACAAdwBoAG8AIABjAG8AbgB0AHIAaQBiAHUAdABlAGQAIAB0AG8AIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgANAAoADQAKAFAARQBSAE0ASQBTAFMASQBPAE4AIAAmACAAQwBPAE4ARABJAFQASQBPAE4AUwANAAoAUABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGgAZQByAGUAYgB5ACAAZwByAGEAbgB0AGUAZAAsACAAZgByAGUAZQAgAG8AZgAgAGMAaABhAHIAZwBlACwAIAB0AG8AIABhAG4AeQAgAHAAZQByAHMAbwBuACAAbwBiAHQAYQBpAG4AaQBuAGcAIABhACAAYwBvAHAAeQAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAsACAAdABvACAAdQBzAGUALAAgAHMAdAB1AGQAeQAsACAAYwBvAHAAeQAsACAAbQBlAHIAZwBlACwAIABlAG0AYgBlAGQALAAgAG0AbwBkAGkAZgB5ACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQAsACAAYQBuAGQAIABzAGUAbABsACAAbQBvAGQAaQBmAGkAZQBkACAAYQBuAGQAIAB1AG4AbQBvAGQAaQBmAGkAZQBkACAAYwBvAHAAaQBlAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAHMAdQBiAGoAZQBjAHQAIAB0AG8AIAB0AGgAZQAgAGYAbwBsAGwAbwB3AGkAbgBnACAAYwBvAG4AZABpAHQAaQBvAG4AcwA6AA0ACgANAAoAMQApACAATgBlAGkAdABoAGUAcgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAG4AbwByACAAYQBuAHkAIABvAGYAIABpAHQAcwAgAGkAbgBkAGkAdgBpAGQAdQBhAGwAIABjAG8AbQBwAG8AbgBlAG4AdABzACwAIABpAG4AIABPAHIAaQBnAGkAbgBhAGwAIABvAHIAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuAHMALAAgAG0AYQB5ACAAYgBlACAAcwBvAGwAZAAgAGIAeQAgAGkAdABzAGUAbABmAC4ADQAKAA0ACgAyACkAIABPAHIAaQBnAGkAbgBhAGwAIABvAHIAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABtAGEAeQAgAGIAZQAgAGIAdQBuAGQAbABlAGQALAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUALAAgAHAAcgBvAHYAaQBkAGUAZAAgAHQAaABhAHQAIABlAGEAYwBoACAAYwBvAHAAeQAgAGMAbwBuAHQAYQBpAG4AcwAgAHQAaABlACAAYQBiAG8AdgBlACAAYwBvAHAAeQByAGkAZwBoAHQAIABuAG8AdABpAGMAZQAgAGEAbgBkACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlAHMAZQAgAGMAYQBuACAAYgBlACAAaQBuAGMAbAB1AGQAZQBkACAAZQBpAHQAaABlAHIAIABhAHMAIABzAHQAYQBuAGQALQBhAGwAbwBuAGUAIAB0AGUAeAB0ACAAZgBpAGwAZQBzACwAIABoAHUAbQBhAG4ALQByAGUAYQBkAGEAYgBsAGUAIABoAGUAYQBkAGUAcgBzACAAbwByACAAaQBuACAAdABoAGUAIABhAHAAcAByAG8AcAByAGkAYQB0AGUAIABtAGEAYwBoAGkAbgBlAC0AcgBlAGEAZABhAGIAbABlACAAbQBlAHQAYQBkAGEAdABhACAAZgBpAGUAbABkAHMAIAB3AGkAdABoAGkAbgAgAHQAZQB4AHQAIABvAHIAIABiAGkAbgBhAHIAeQAgAGYAaQBsAGUAcwAgAGEAcwAgAGwAbwBuAGcAIABhAHMAIAB0AGgAbwBzAGUAIABmAGkAZQBsAGQAcwAgAGMAYQBuACAAYgBlACAAZQBhAHMAaQBsAHkAIAB2AGkAZQB3AGUAZAAgAGIAeQAgAHQAaABlACAAdQBzAGUAcgAuAA0ACgANAAoAMwApACAATgBvACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAG0AYQB5ACAAdQBzAGUAIAB0AGgAZQAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACgAcwApACAAdQBuAGwAZQBzAHMAIABlAHgAcABsAGkAYwBpAHQAIAB3AHIAaQB0AHQAZQBuACAAcABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGcAcgBhAG4AdABlAGQAIABiAHkAIAB0AGgAZQAgAGMAbwByAHIAZQBzAHAAbwBuAGQAaQBuAGcAIABDAG8AcAB5AHIAaQBnAGgAdAAgAEgAbwBsAGQAZQByAC4AIABUAGgAaQBzACAAcgBlAHMAdAByAGkAYwB0AGkAbwBuACAAbwBuAGwAeQAgAGEAcABwAGwAaQBlAHMAIAB0AG8AIAB0AGgAZQAgAHAAcgBpAG0AYQByAHkAIABmAG8AbgB0ACAAbgBhAG0AZQAgAGEAcwAgAHAAcgBlAHMAZQBuAHQAZQBkACAAdABvACAAdABoAGUAIAB1AHMAZQByAHMALgANAAoADQAKADQAKQAgAFQAaABlACAAbgBhAG0AZQAoAHMAKQAgAG8AZgAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAG8AcgAgAHQAaABlACAAQQB1AHQAaABvAHIAKABzACkAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABzAGgAYQBsAGwAIABuAG8AdAAgAGIAZQAgAHUAcwBlAGQAIAB0AG8AIABwAHIAbwBtAG8AdABlACwAIABlAG4AZABvAHIAcwBlACAAbwByACAAYQBkAHYAZQByAHQAaQBzAGUAIABhAG4AeQAgAE0AbwBkAGkAZgBpAGUAZAAgAFYAZQByAHMAaQBvAG4ALAAgAGUAeABjAGUAcAB0ACAAdABvACAAYQBjAGsAbgBvAHcAbABlAGQAZwBlACAAdABoAGUAIABjAG8AbgB0AHIAaQBiAHUAdABpAG8AbgAoAHMAKQAgAG8AZgAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAGEAbgBkACAAdABoAGUAIABBAHUAdABoAG8AcgAoAHMAKQAgAG8AcgAgAHcAaQB0AGgAIAB0AGgAZQBpAHIAIABlAHgAcABsAGkAYwBpAHQAIAB3AHIAaQB0AHQAZQBuAA0ACgBwAGUAcgBtAGkAcwBzAGkAbwBuAC4AIAANAAoADQAKADUAKQAgAFQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAsACAAbQBvAGQAaQBmAGkAZQBkACAAbwByACAAdQBuAG0AbwBkAGkAZgBpAGUAZAAsACAAaQBuACAAcABhAHIAdAAgAG8AcgAgAGkAbgAgAHcAaABvAGwAZQAsACAAbQB1AHMAdAAgAGIAZQAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGUAbgB0AGkAcgBlAGwAeQAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACwAIABhAG4AZAAgAG0AdQBzAHQAIABuAG8AdAAgAGIAZQAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAHUAbgBkAGUAcgAgAGEAbgB5ACAAbwB0AGgAZQByACAAbABpAGMAZQBuAHMAZQAuACAAVABoAGUAIAByAGUAcQB1AGkAcgBlAG0AZQBuAHQAIABmAG8AcgAgAGYAbwBuAHQAcwAgAHQAbwAgAHIAZQBtAGEAaQBuACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABkAG8AZQBzACAAbgBvAHQAIABhAHAAcABsAHkAIAB0AG8AIABhAG4AeQAgAGQAbwBjAHUAbQBlAG4AdAAgAGMAcgBlAGEAdABlAGQAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgANAAoADQAKAFQARQBSAE0ASQBOAEEAVABJAE8ATgANAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABiAGUAYwBvAG0AZQBzACAAbgB1AGwAbAAgAGEAbgBkACAAdgBvAGkAZAAgAGkAZgAgAGEAbgB5ACAAbwBmACAAdABoAGUAIABhAGIAbwB2AGUAIABjAG8AbgBkAGkAdABpAG8AbgBzACAAYQByAGUAIABuAG8AdAAgAG0AZQB0AC4ADQAKAA0ACgBEAEkAUwBDAEwAQQBJAE0ARQBSAA0ACgBUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUAIABJAFMAIABQAFIATwBWAEkARABFAEQAIAAiAEEAUwAgAEkAUwAiACwAIABXAEkAVABIAE8AVQBUACAAVwBBAFIAUgBBAE4AVABZACAATwBGACAAQQBOAFkAIABLAEkATgBEACwAIABFAFgAUABSAEUAUwBTACAATwBSACAASQBNAFAATABJAEUARAAsACAASQBOAEMATABVAEQASQBOAEcAIABCAFUAVAAgAE4ATwBUACAATABJAE0ASQBUAEUARAAgAFQATwAgAEEATgBZACAAVwBBAFIAUgBBAE4AVABJAEUAUwAgAE8ARgAgAE0ARQBSAEMASABBAE4AVABBAEIASQBMAEkAVABZACwAIABGAEkAVABOAEUAUwBTACAARgBPAFIAIABBACAAUABBAFIAVABJAEMAVQBMAEEAUgAgAFAAVQBSAFAATwBTAEUAIABBAE4ARAAgAE4ATwBOAEkATgBGAFIASQBOAEcARQBNAEUATgBUACAATwBGACAAQwBPAFAAWQBSAEkARwBIAFQALAAgAFAAQQBUAEUATgBUACwAIABUAFIAQQBEAEUATQBBAFIASwAsACAATwBSACAATwBUAEgARQBSACAAUgBJAEcASABUAC4AIABJAE4AIABOAE8AIABFAFYARQBOAFQAIABTAEgAQQBMAEwAIABUAEgARQAgAEMATwBQAFkAUgBJAEcASABUACAASABPAEwARABFAFIAIABCAEUAIABMAEkAQQBCAEwARQAgAEYATwBSACAAQQBOAFkAIABDAEwAQQBJAE0ALAAgAEQAQQBNAEEARwBFAFMAIABPAFIAIABPAFQASABFAFIAIABMAEkAQQBCAEkATABJAFQAWQAsACAASQBOAEMATABVAEQASQBOAEcAIABBAE4AWQAgAEcARQBOAEUAUgBBAEwALAAgAFMAUABFAEMASQBBAEwALAAgAEkATgBEAEkAUgBFAEMAVAAsACAASQBOAEMASQBEAEUATgBUAEEATAAsACAATwBSACAAQwBPAE4AUwBFAFEAVQBFAE4AVABJAEEATAAgAEQAQQBNAEEARwBFAFMALAAgAFcASABFAFQASABFAFIAIABJAE4AIABBAE4AIABBAEMAVABJAE8ATgAgAE8ARgAgAEMATwBOAFQAUgBBAEMAVAAsACAAVABPAFIAVAAgAE8AUgAgAE8AVABIAEUAUgBXAEkAUwBFACwAIABBAFIASQBTAEkATgBHACAARgBSAE8ATQAsACAATwBVAFQAIABPAEYAIABUAEgARQAgAFUAUwBFACAATwBSACAASQBOAEEAQgBJAEwASQBUAFkAIABUAE8AIABVAFMARQAgAFQASABFACAARgBPAE4AVAAgAFMATwBGAFQAVwBBAFIARQAgAE8AUgAgAEYAUgBPAE0AIABPAFQASABFAFIAIABEAEUAQQBMAEkATgBHAFMAIABJAE4AIABUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUALgANAAoAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAC8AaABlAGwAcAAvAGQAZQBzAGkAZwBuAGUAcgBzAC8AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAFAAVAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAB5AHAAZQAgAGYAYQBtAGkAbAB5ACAAbwBmACAAdQBuAGkAdgBlAHIAcwBhAGwAIAB1AHMAZQAuACAASQB0ACAAYwBvAG4AcwBpAHMAdABzACAAbwBmACAAOAAgAHMAdAB5AGwAZQBzADoAIAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACAAdwBlAGkAZwBoAHQAcwAgAHcAaQB0AGgAIABjAG8AcgByAGUAcwBwAG8AbgBkAGkAbgBnACAAaQB0AGEAbABpAGMAcwAgAGYAbwByAG0AIABhACAAcwB0AGEAbgBkAGEAcgBkACAAYwBvAG0AcAB1AHQAZQByACAAZgBvAG4AdAAgAGYAYQBtAGkAbAB5ADsAIAB0AHcAbwAgAG4AYQByAHIAbwB3ACAAcwB0AHkAbABlAHMAIAAoAHIAZQBnAHUAbABhAHIAIABhAG4AZAAgAGIAbwBsAGQAKQAgAGEAcgBlACAAaQBuAHQAZQBuAGQAZQBkACAAZgBvAHIAIABkAG8AYwB1AG0AZQBuAHQAcwAgAHQAaABhAHQAIAByAGUAcQB1AGkAcgBlACAAdABpAGcAaAB0ACAAcwBlAHQAOwAgAHQAdwBvACAAYwBhAHAAdABpAG8AbgAgAHMAdAB5AGwAZQBzACAAKAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACkAIABhAHIAZQAgAGYAbwByACAAdABlAHgAdABzACAAbwBmACAAcwBtAGEAbABsACAAcABvAGkAbgB0ACAAcwBpAHoAZQBzAC4AIABUAGgAZQAgAGQAZQBzAGkAZwBuACAAYwBvAG0AYgBpAG4AZQBzACAAdAByAGEAZABpAHQAaQBvAG4AYQBsACAAYwBvAG4AcwBlAHIAdgBhAHQAaQB2AGUAIABhAHAAcABlAGEAcgBhAG4AYwBlACAAdwBpAHQAaAAgAG0AbwBkAGUAcgBuACAAdAByAGUAbgBkAHMAIABvAGYAIABoAHUAbQBhAG4AaQBzAHQAaQBjACAAcwBhAG4AcwAgAHMAZQByAGkAZgAgAGEAbgBkACAAYwBoAGEAcgBhAGMAdABlAHIAaQB6AGUAZAAgAGIAeQAgAGUAbgBoAGEAbgBjAGUAZAAgAGwAZQBnAGkAYgBpAGwAaQB0AHkALgAgAFQAaABlAHMAZQAgAGYAZQBhAHQAdQByAGUAcwAgAGIAZQBzAGkAZABlACAAYwBvAG4AdgBlAG4AdABpAG8AbgBhAGwAIAB1AHMAZQAgAGkAbgAgAGIAdQBzAGkAbgBlAHMAcwAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgBzACAAYQBuAGQAIABwAHIAaQBuAHQAZQBkACAAcwB0AHUAZgBmACAAbQBhAGQAZQAgAHQAaABlACAAZgBvAG4AdABzACAAcQB1AGkAdABlACAAdQBzAGUAYQBiAGwAZQAgAGYAbwByACAAZABpAHIAZQBjAHQAaQBvAG4AIABhAG4AZAAgAGcAdQBpAGQAZQAgAHMAaQBnAG4AcwAsACAAcwBjAGgAZQBtAGUAcwAsACAAcwBjAHIAZQBlAG4AcwAgAG8AZgAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgAgAGsAaQBvAHMAawBzACAAYQBuAGQAIABvAHQAaABlAHIAIABvAGIAagBlAGMAdABzACAAbwBmACAAdQByAGIAYQBuACAAdgBpAHMAdQBhAGwAIABjAG8AbQBtAHUAbgBpAGMAYQB0AGkAbwBuAHMALgANAAoADQAKAFQAaABlACAAZgBvAG4AdABzACAAbgBlAHgAdAAgAHQAbwAgAHMAdABhAG4AZABhAHIAZAAgAEwAYQB0AGkAbgAgAGEAbgBkACAAQwB5AHIAaQBsAGwAaQBjACAAYwBoAGEAcgBhAGMAdABlAHIAIABzAGUAdABzACAAYwBvAG4AdABhAGkAbgAgAHMAaQBnAG4AcwAgAG8AZgAgAHQAaQB0AGwAZQAgAGwAYQBuAGcAdQBhAGcAZQBzACAAbwBmACAAdABoAGUAIABuAGEAdABpAG8AbgBhAGwAIAByAGUAcAB1AGIAbABpAGMAcwAgAG8AZgAgAFIAdQBzAHMAaQBhAG4AIABGAGUAZABlAHIAYQB0AGkAbwBuACAAYQBuAGQAIABzAHUAcABwAG8AcgB0ACAAdABoAGUAIABtAG8AcwB0ACAAbwBmACAAdABoAGUAIABsAGEAbgBnAHUAYQBnAGUAcwAgAG8AZgAgAG4AZQBpAGcAaABiAG8AcgBpAG4AZwAgAGMAbwB1AG4AdAByAGkAZQBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAgAHcAZQByAGUAIABkAGUAdgBlAGwAbwBwAGUAZAAgAGEAbgBkACAAcgBlAGwAZQBhAHMAZQBkACAAYgB5ACAAUABhAHIAYQBUAHkAcABlACAAaQBuACAAMgAwADAAOQAgAHcAaQB0AGgAIABmAGkAbgBhAG4AYwBpAGEAbAAgAHMAdQBwAHAAbwByAHQAIABmAHIAbwBtACAARgBlAGQAZQByAGEAbAAgAEEAZwBlAG4AYwB5ACAAbwBmACAAUAByAGkAbgB0ACAAYQBuAGQAIABNAGEAcwBzACAAQwBvAG0AbQB1AG4AaQBjAGEAdABpAG8AbgBzACAAbwBmACAAUgB1AHMAcwBpAGEAbgAgAEYAZQBkAGUAcgBhAHQAaQBvAG4ALgAgAEQAZQBzAGkAZwBuACAALQAgAEEAbABlAHgAYQBuAGQAcgBhACAASwBvAHIAbwBsAGsAbwB2AGEAIAB3AGkAdABoACAAYQBzAHMAaQBzAHQAYQBuAGMAZQAgAG8AZgAgAE8AbABnAGEAIABVAG0AcABlAGwAZQB2AGEAIABhAG4AZAAgAHMAdQBw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ALEAFACzABQAuwAUALwAFAC9ABQAvgAUAMIANwDDABQAxAA3AMUAFADGADcAxwAUAOUAFAD3ABQA+QAUAPsAFAEDABQBBQAUAQcAFAEJABQBDQAUARUAFAEZABQBGwAUAR0AFAEfACgBIAAUASEAKAEiABQBIwAoASQAFAEqABQBSQA3AU8AFAFeABQBbwAUAX4AFAGpABQBqgAUAcUAFAHGABQB4QA3AeMANwHlAEcB7QAUAe4AFAILABQCDAAUAiH/dAIjACgCJgAoAnsANwABAYj/iAAFATz/ugFF/7oBW/+6Ab//ugHH/7oABQFtAAYBdAAGAZEABgHXAAYCEAAGAAUBQwAeAU0AHgFUAB4B1gAeAg8AHgAFAW0AKAF0ACgBkQAoAdcAKAIQACgABQFDACgBTQAoAVQAKAHWACgCDwAoAAIAcAANAlAADQAqAAP/8wAQ/+oAYv/zAG//6gFu//UBd//1AXr/9QF8//oBff/1AYn/9QGM//UBlf/6AZr/9QGc//oBvP/1Ab7/9QHC//oB0P/tAdL/7QHo//UB+P/1Afr/9QH8//UCAP/6AgL/+gIE//oCEv/6Ah7/6gIf/+oCIP/qAnT/+gJ6//UCfv/1AoD/9QKC//UChv/1Aoj/9QKK//UCjP/1ApT/9QKi//UCrP/1AAMADAAIAEAACABgAAgABQFtAB4BdAAeAZEAHgHXAB4CEAAeAAUBPP+NAUX/jQFb/40Bv/+NAcf/jQAYAW7/+gF3//oBev/6AX3/+gGJ//oBjP/6AZr/+gG8//oBvv/6Aej/+gH4//oB+v/6Afz/+gJ6//oCfv/6AoD/+gKC//oChv/6Aoj/+gKK//oCjP/6ApT/+gKi//oCrP/6AF8AA//zABD/3ABi//MAb//cATz/8gE+//IBRf/yAUf/9QFJ//cBV//yAVr/8gFb//IBXP/1AV3/8gFt//UBbv/qAXT/9QF3/+oBev/qAXv/7wF8/+cBff/qAYP/7wGJ/+oBjP/qAZH/9QGV/+cBmf/yAZr/6gGb//UBnP/nAaD/7wG0/+8Bu//yAbz/6gG9//IBvv/qAb//8gHA/+8Bwf/1AcL/5wHD//UBx//yAcj/7wHP/94B0P/bAdH/3gHS/9sB1//1AeH/9wHj//cB5f/UAej/6gHp/+8B6//vAff/8gH4/+oB+f/yAfr/6gH7//IB/P/qAf//9QIA/+cCAf/1AgL/5wID//UCBP/nAhD/9QIR//UCEv/nAh7/3AIf/9wCIP/cAnP/9QJ0/+cCef/yAnr/6gJ7//cCfv/qAoD/6gKC/+oChf/yAob/6gKH//ICiP/qAon/8gKK/+oCi//yAoz/6gKT//IClP/qAqH/8gKi/+oCq//yAqz/6gAYAW7/3wF3/98Bev/fAX3/3wGJ/98BjP/fAZr/3wG8/98Bvv/fAej/3wH4/98B+v/fAfz/3wJ6/98Cfv/fAoD/3wKC/98Chv/fAoj/3wKK/98CjP/fApT/3wKi/98CrP/fAAUBPP/yAUX/8gFb//IBv//yAcf/8gA8AAX/9gAK//YADP/2ABD/8ABA//YARv/7AEj/+wBK//sAUv/7AFT/+wBX//kAWf/pAFr/7wBb//gAXP/pAGD/9gBv//AAqf/7AKr/+wCr//sArP/7AK3/+wCy//sAtP/7ALX/+wC2//sAt//7ALj/+wC6//sAv//pAMH/6QDJ//sAy//7AM3/+wDP//sA0f/7ANP/+wDV//sA1//7ANn/+wDb//sA3f/7AN//+wD9//sA///7AQH/+wET//kBKP/7ASz/+QIe//ACH//wAiD/8AIh//YCIv/2AiMACgIk//YCJf/2AiYACgKu//sCtv/pAHwAA//YAAUAFAAKABQADAANAA0AEAAP/5EAEP+AABH/kQAk/7IAJv/ZACr/2QAy/9kANP/ZADcAFAA5/98AOv/iADv/0QA8/7oAPf/PAEAADQBE/5cARv+AAEj/gABK/4AAUP+XAFH/lwBS/4AAU/+XAFT/gABV/5cAVv+XAFf/zwBY/5cAWf+AAFr/gABb/4AAXP+AAF3/gABgAA0AYv/YAG//gABwABAAgv+yAIP/sgCE/7IAhf+yAIb/sgCH/7IAiP+JAIn/2QCU/9kAlf/ZAJb/2QCX/9kAmP/ZAJr/2QCf/7oAov++AKT/vgCo/5cAqf+AALL/gACz/74Auv+AALv/vgC8/74Avf++AML/sgDD/74AxP+yAMb/sgDH/5cAyP/ZAMn/gADK/9kAzP/ZAM//gADR/4AA1/+AANr/2QDc/9kA3v/ZAN//gAD3/74A+f+XAPv/vgD8/9kA/v/ZAQD/2QEB/4ABA/++AQX/lwEJ/74BDf+XARIAFAET/88BFf++ARn/vgEb/74BHf+XAR7/ugEf/88BIf/PASP/zwEn/9kBKP+AASr/lwErABQBLP/PAh7/gAIf/4ACIP+AAiEAFAIiABQCI/+NAiQAFAIlABQCJv+NAir/kQJQABACrv+AArMAFAK1/98Ctv+AAAIAcAALAlAACwACAHAAHgJQAB4ABAA3/44BEv+OASv/jgKz/44AIgBG//QASP/0AEr/9ABS//QAVP/0AKn/9ACq//QAq//0AKz/9ACt//QAsv/0ALT/9AC1//QAtv/0ALf/9AC4//QAuv/0AMn/9ADL//QAzf/0AM//9ADR//QA0//0ANX/9ADX//QA2f/0ANv/9ADd//QA3//0AP3/9AD///QBAf/0ASj/9AKu//QACgAF/9cACv/XADf/iAES/4gBK/+IAiH/1wIi/9cCJP/XAiX/1wKz/4gABAA3/+IBEv/iASv/4gKz/+IAAgAN/3wCIf90AAEB9gAEAAAA9greCtAK0ArCCrwKngqMCp4KegpwCmoKYApWCkwKLgpWChwKVgoSCWwI3giQCkwH8gfoCsIH4gfcB74HuAfcB9wHsgeoB6IHnAeiB5YKwgreCowKcApwCnAKcApwCnAKYApWClYKVgpWClYKVgpWB/IKHAfcB9wH3AfcB9wH3AeiB9wHogpwCnAKcApgCmAKYAd8ClYKTAouCi4KLgduCi4KVgpWChIHZAoSB2QKEgdkCWwHqAlsB6gH8gfoB5YH6AeWB+gHlglsB6gG0gbEBsQGQgY4BtIGLgYgBhIGBAViBkIGIAVUBi4GLgbEBsQGIAYgBU4FSAVCBTwFTgU2BTAFTgUwBU4FJgUcBU4FFgUQBRAFTgVOBU4FQgUQBRAGxAUQBiAFTgZCBi4GxAUQBhIFTgbSBUIG0gVCBtIFQgYgBU4GBAUmBG4FQgZCBkIGLgbEBGAFTgRgBU4GLgYuBi4GOAY4BU4GIAVOBiAFTgUWBiAFTgYgBU4GIAVOBiAGQgZCBkIG0gVCBkIGLgpMChwH3AqMCowKjArQBEYEOArQCtAEOAQOB9wGQgYgBU4GOAVOBU4FTgYgBU4GIAVOBiAFTgYgBU4GIAVOBiAFTgVOBiAFTgYgBU4GIAVOBgQFJgpWA/gD5glsCN4HogABAPYAAwAFAAoACwANAA8AEAARABoAJAAlACYAJwAuAC8AMgAzADQANQA3ADkAOgA7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AbcBuQG7Ab0BvwHBAcMBxQHHAckBywHNAc8B0QHTAdQB1gHYAdoB3AHeAeEB4wHlAecB6QHrAe0B7wHxAfMB9QH3AfkB+wH9Af8CAQIDAgUCBwIJAgsCDQIPAhECEwIVAhcCGQIbAh0CXwJrAm0CbwJxAnMCdQJ3AnkCewJ9An8CgQKDAoUChwKJAosCjQKPApECkwKVApcCmQKbAp0CnwKhAqMCpQKnAqkCqwKtAq8CsQKzArUCtwK5AAAAAAAwAAAC1AkLBwACAgMEBQUIBwIDAwMFAgMCBAUFBQUFBQUFBQUCAwUFBQQKBgUFBgUFBgYCAwUFCAYGBQYFBQUGBggGBQUDBAMFBAMEBQQFBQMFBQICBAMIBQUFBQMEAwUEBwUFBQMCAwUCAwUFBQUCBQQIBAUFAwYEBAUEBAMFBQIDBAQFCAgIBAYGBgYGBggFBQUFBQICAgIGBgYGBgYGBQYGBgYGBQUGBAQEBAQEBwQFBQUFAgICAgUFBQUFBQUFBQUFBQUFBQUGBAYEBgQFBAUEBQQGBgYFBQUFBQUFBQUGBQYFBgUGBQYFAgICAgICAwIFBAUDBQMFAwUDBgUGBQYFBgUGBQkIBQMFAwUDBQQFBAUEBQQFAwUDBgUGBQYFBgUGBQUFBQUFBQUCBQYFBQQFAwICBAQEAwMDBAQABQcGBQcEBQUCAgMICQcFBQYGBQUEBgUIBQYGBQYIBgYGBQUFBQgGBgYICAYHBQUIBQQFBQMFBQYEBQUEBQYFBQUFBAQFBgUFBQYHBQYEBAcFBQUDBAQCAgIHBwUEBQUGBQYFBgUGBQYFBQUEAwUEBQUIBwUEBgUGBQYEBgUGBQgGCQcIBgUEBQQFBAUEBgUIBgYFBgUFBQcGBwYCBgUGBQYFBgUGBQgGAgYEBgQIBwUFBgUGBQgGBQQFBQYFBgUGBQYFBgUFBAUFBQUFBQYFBAMHBgYFBQQGBQgHBgUGBQUECAgFBQYDBgcCAgIEBAQFBQQHCwMDAgQEBAQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQkFBQYFBQUFCAMFBQUFBQYFAAUDBAICAwMEAwUFBQMFBQYFBQUFBAUEBQQGBAUFBQUFBQUEBgUGBQYFBgUHBgUEBQQFBAUFBQUIBwgHBgUGBQYFBwYFBAICBQQFBAYFBgUFAwUDBgQFBAUEAgIEBAIEBAIDBAQDBQQFBAUFAgICAAAKDAgAAwMDBAYGCAgDAwMEBQMEAgQGBgYGBgYGBgYGAwMFBQUFCgYGBQYFBQYGAgMGBQgGBwUHBgUGBgYJBgYFAwQDBQQDBQUEBQUDBQUCAwUDCAUFBQUEBAMFBQcGBQUEAgQFAwMGBgYGAgUFCAQFBQQHBAQFBAQDBgYDAwQEBQkJCQUGBgYGBgYJBQUFBQUCAgICBwYHBwcHBwUHBgYGBgYGBwUFBQUFBQgEBQUFBQICAgIFBQUFBQUFBQUFBQUFBQUFBgUGBQYFBQQFBAUEBgYHBQUFBQUFBQUFBgUGBQYFBgUHBQICAgICAgMDBgUFAwUDBQMFAwYFBgUGBQcFBwUJCAYEBgQGBAUEBQQFBAUEBgMGBAYFBgUGBQYFBgUGBQUFBQUFAgYGBQUEBgMDAgQEBQMDBAUFAAYIBwUHBAYFAgIDCQkIBgYGBgUGBAcFCAUGBgYGCAYHBgUFBgYIBgcGCAkHBwUGCAYFBQUEBgUHBAUFBQUGBQUFBQQEBQYGBgUICAUHBAUHBQUFBAUEAgMDBwcFBQUFBgUHBQYFBwYGBQUFBQQFBAYFCQcFBAYFBwYHBQcFBwYJBwoICQcFBAYEBgUGBQYGCAcHBQYFBgUIBggGAgYFBwYGBQcGBgUIBwIGBQYFCQgFBQYFBgUIBwUEBQUGBQYFBwUHBQcFBgUGBQYFBgUGBQUEBwcGBgUEBgUJBwcGBwYGBQgIBQUGBAcIAgICBAQEBQUFCAwDAwIEBAQEBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBQoKBgUHBQUFBQkEBQUFBQUHBgAFAwUDAgMEBQQGBQUDBgUGBQYFBgUFBAUEBgUFBQUFBQUFBAcFBwUHBQcFBwcGBQYFBgUGBQYFCAcIBwcGBgUHBQcHBQQCAgUEBQQGBQYFBQMGAwYFBQQFBAICBAQDBAQDBAUFBAUFBQUGBgICAgAACw4IAAMDAwQGBgkJAwQEBAYDBAMEBgYGBgYGBgYGBgMDBgYGBQwHBwYHBgYHBwMEBwYJBwcGBwcGBwcHCgcHBgQFBAYFAwYGBAYFBAYGAwMGAwgGBgYGBAUDBgUIBgYFBQMEBgMDBgYGBgMGBQkFBgYECAUFBgUFAwYGAwQFBQYKCgoFBwcHBwcHCgYGBgYGAwMDAwcHBwcHBwcGBwcHBwcHBwcGBgYGBgYJBQUFBQUDAwMDBgYGBgYGBgYGBgYGBgYGBgcGBwYHBgYEBgQGBAcHBwYGBQYFBgUGBQcGBwYHBgcGCAYDAwMDAwMEAwcGBgMGAwYDBgQHBgcGBwYHBgcGCgkHBAcEBwQGBQYFBgUGBQYDBwQHBgcGBwYHBgcGBwYFBgUGBQMGBwYGBQcDAwIFBQUDBAQFBQAGCQgGCAUHBgMDBAsLCQcHBwcGBwUIBgoGBwcHBwkHBwcGBgcHCQcIBwkKBwkGBwoGBgYGBQYFCAUGBgYGCAYGBgYEBQYHBgYGCQkGCAUFCAYFBgUFBQMEAwgJBgYGBgcGBwYHBggGBwYGBgUEBgUGBgoIBgUHBggGCAYIBggGCQcLCQoIBgUHBQcGBwYHBgkHBwYHBgcGCQgJCAMHBgcGBwYIBgcGCQgDBwYHBgoJBgUHBgcGCggGBQYGBwYHBgcGBwYHBgcFBwYHBgcGBwYFBAkIBwYGBQcGCggIBgcGBwYJCAYGBwQHCQMCAgUEBQYGBQkOBAQCBQUFBQYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwYLCgcGBwYGBgYJBAYGBgYGCAYABgQFAwIDBAUEBwYGBAcGBwYHBgcFBgUGBQcGBgUGBQYFBgUHBgcGBwYHBgkIBwUHBQcFBgYGBgoICggHBgcGBwYJCAYFAwMGBAYFBwYHBgYDBwMHBQYFBgUDAgQEAwQFAwQFBQQGBQYFBwcCAwIAAAwPCQADAwQFBwcKCgMEBAUGAwQDBQcHBwcHBwcHBwcDAwYGBgUMBwcHCAYGBwcDBAcGCQcIBwgHBgcHBwoIBwYEBQQGBQQGBgUGBgQGBgMDBgQJBgYGBgQFBAYFCQcGBgUDBAYDBAcHBwcDBgYKBQYGBAgFBQYFBQQHBgMEBQUGCwsLBQcHBwcHBwsHBgYGBgMDAwMIBwgICAgIBggHBwcHBwcIBgYGBgYGCQUGBgYGAwMDAwYGBgYGBgYGBgYGBgYGBgYHBgcGBwYHBQcFBwUICAgGBgYGBgYGBgYHBgcGBwYHBggGAwMDAwMDBAMHBgYEBgQGBAYEBwYHBgcGCAYIBgsKBwQHBAcEBgUGBQYFBgUHBAcEBwYHBgcGBwYHBgcGBgYGBgYDBwcGBgUHBAMDBQUGAwQEBQYABwkIBgkGBwYDAwQLDAkHBwcHBwcGCAYKBggIBwgJBwgHBwcHBwoICAcKCwgKBwcKBwYGBgUHBgkFBgYGBggGBgYGBQUGCQcHBgkJBggGBgkGBgcFBQUDBAMJCQcGBgYIBggGCAYJBwgGBwYGBQYFBwYKCQYFCAYJBwgGCQYIBwoIDAoLCQcFBwUHBgcGCAcKCAgHCAYHBgoICggDBwYIBwcGCAcHBgoJAwcGBwYLCQYGCAYIBgoJBgUGBggGCAYIBggGCAYHBgcGBwYHBgcGBgUKCAgHBgUIBgoJCAcIBwcGCQkHBggECAoDAwMFBQUGBgUKDwQEAgUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGDAsHBggGBgYHCgQGBgYGBggHAAYEBgMDBAUGBAcGBgQHBgcGBwYHBgYFBwUHBgYGBgYGBgYFCAYIBggGCAYKCAcGBwYHBQcGBwYKCQoJCAcIBggGCggGBQMDBgUHBQgGBwYGBAcEBwUGBQYFAwMFBQMFBQMFBgYFBgYGBgcHAgMCAAANEAoAAwMEBQcHCwsDBAQFBwMFAwUHBwcHBwcHBwcHBAQHBwcGDggIBwgGBggIBAUIBwoICAcICAcICAgMCAgHBAYEBwYEBgcGBwcFBwcDAwcECwcHBwcFBQUHBgoHBgYFAwUHAwQHBwcHAwcGCwYHBwUJBgYHBQUEBwcDBAUGBwsMDAYICAgICAgLBwYGBgYEBAQECQgICAgICAcICAgICAgHCAYGBgYGBgoGBwcHBwMDAwMHBwcHBwcHBwcHBwcHBgcGCAYIBggGBwYHBgcGCAgJBwYHBgcGBwYHCAcIBwgHCAcJBwQDAwQEAwUDCAcHBAcEBwQHBAgHCAcIBwgHCAcLCwgFCAUIBQcFBwUHBQcFBwUIBQgHCAcIBwgHCAcIBwYHBgcGBAcIBwcFCAUDAwYGBgQEBQYGAAgKCQYKBggHBAMFDA0KCAcICAcIBgkGCwcICAgICggICAcHCAcLCAkICwwJCgcHDAgGBwYFBwcJBgcHBgcJBwcHBwYFBgkHBwYJCgcJBgYKBwcHBQYFAwQDCgoHBgYHCAcIBwgHCQgIBwcHBgUHBQgHCwkHBggHCQcJBwkHCQcLCQ0LDAkHBggFCAcIBwgHCwkIBwgHCAcKCQoJBAgHCAcIBwkHCAYLCQMIBggGCwoGBwgHCAcLCQcGBwcIBwgHCAcIBwgHBwYHBgcGBwYIBgYFCgkIBwcGCAcMCgkHCQgIBwoLBwcIBQkLAwMDBQUGBwcGCxAEBAIFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBw4MCAcJBwcHBwsFBwcHBwcJCAAHBAYDAwQFBgUIBwYFCAcIBwcGBwYHBgcGCAYGBwYHBgcHBggHCAcIBwgHCgkHBgcGCAYIBwgHDAoMCgkHCAcIBwoJBwYEAwYFBwYIBwgHBwQIBQgGBwYHBgMDBQUDBQUDBQYGBQcGBwYHCAIDAgAADhELAAQEBAYICAwLBAUFBQcEBQMGCAgICAgICAgICAQEBwcHBg8ICAgJBwcICQQFCQcLCQkICQgHCAkIDAkICAUGBQcGBAcIBggHBQgIBAQHBAsIBwgIBQYFCAcKBwcHBQMFBwQECAgICAMHBwwGBwcFCgYGBwYGBAgHBAUGBgcMDQ0GCAgICAgIDAgHBwcHBAQEBAkJCQkJCQkHCQkJCQkICAkHBwcHBwcLBgcHBwcEBAQECAgHBwcHBwcICAgICAcIBwgHCAcIBwgGCAYIBgkJCQgHBwcHBwcHBwgICAgICAkICQgEBAQEBAQFBAkHBwQHBAcEBwQJCAkICQgJBwkHDAwIBQgFCAUHBgcGBwYHBggFCAUJCAkICQgJCAkICAgHCAcIBwQICAgHBggFBAMGBgYEBQUGBgAICwoHCgYIBwQEBQ0NCwkICQgICAYJBwwHCQkJCQsJCQkICAgICwkKCAwNCQsICA0IBwgHBQgHCgYICAcHCQgHBwgGBgcKBwgHCgsICgcGCgcHCAUGBgQEBAsLCAcHBwkICQgJBwoICQgICAYFBwYIBwwKBwYJBwoICgcKCAoIDAkNDAwKCAYIBggHCAcJCAwJCQgJCAkICwkLCQQJBwkICQgKCAgHDAoECAcIBwwLBwcJBwkHDAoHBggHCQgJCAkHCQgJCAgGCAcIBwgHCAcGBQsKCQcHBgkHDAoKCAkICQcLCwgICQUJCwMDAwYGBgcHBgsRBAQDBgYGBggICAgICAgICAgICAgICAgICAgICAgICAgICAcODQgICQcHBwgMBQcHBwcHCggABwUHBAMEBQcFCAgHBQkICAcIBwgGBwYIBggHBwcHBwcHBwYJBwkHCQgJBwsKCAYIBggGCAcIBw0KDQoJCAkICQcLCgcGBAQHBggGCQgJCAcECAUIBwcGBwYDAwYGBAYGBAUHBwUHBgcGCAgDBAMAAA8SCwAEBAQGCQkNDAQFBQYIBAUEBgkJCQkJCQkJCQkEBAgICAcQCQkICggICQoEBQkIDAoKCQoJCAgKCQ0JCAgFBgUIBwUHCAYICAUICAQEBwQMCAkICAUGBQgHCwcHBwYDBggEBAkJCQkDCAcNBggIBQoHBwgGBgUJCAQFBgYIDQ4OBwkJCQkJCQ0ICAgICAQEBAQKCgoKCgoKCAoKCgoKCAkJBwcHBwcHDAYICAgIBAQEBAkICQkJCQkICQgICAgHCAcJBwkHCQcIBggGCAYKCgoICAgICAgICAgJCAkICQgKCAoIBAQEBAQEBQQJBwgECAQIBAgFCggKCAoICgkKCQ4NCQUJBQkFCAYIBggGCAYJBQgFCggKCAoICggJCAgIBwgHCAcECQkICAYIBQQDBwcHBAUFBwcACQwKCAsHCQgEBAUODgsJCQoJCQkHCggNCAoKCQkMCgoKCQgICQwJCgkMDQoMCQkNCQcICAYJCAoGCAgHCAoICQgIBgYHCwcICAwMCAsHBwsICAgGBwYEBAQLDAgHBwgKCAoJCQgLCQoICQgHBggGCQgNCwgGCggLCQoICwgKCQ0KDgwNCwgGCAYIBwgHCggNCgoICggJCAwKDAoECQgKCAoICgkJCA0LBAkHCQcNDAgICQgJCA0KCAYIBwoICggKCQoJCgkJBwkHCQcJBwkIBwYMCwkICAYKCA0LCgkKCQkHDAwJCAoFCgwDAwMGBgYICAcMEgUFAwYGBgYJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIDw4JCAoICAgIDQYICAgICAoJAAgFBwQDBAYHBQkICAUJCAkICQcJBwgGCAYJBwgICAgICAgGCgkKCQoJCgkMCwkHCQcJBwkICQgNCw0LCggKCAoJDAsIBgQECAYIBgoICggIBAgFCQcIBggGAwMGBgQGBgQGBwcGCAcIBwgJAwQDAAAQFAwABAQFBgkJDQ0EBQUGCAQGBAcJCQkJCQkJCQkJBAUICAgHEQkJCQoICAoKBAUJCA0KCwkLCQgJCgkOCgkJBQcFCAcFCAkGCQgFCQkEBAgFDAkJCQkFBwUJCAsIBwcGBAYIBAUJCQkJBAgIDQcICAYLBwcIBwcFCQgEBQcHCA4ODgcJCQkJCQkOCQgICAgEBAQECgoLCwsLCwgLCgoKCgkJCggICAgICA0GCAgICAQEBAQJCQkJCQkJCAkJCQkJBwkHCQgJCAkICQYJBgkGCgoKCQgICAgICAgICgkKCQoJCgkKCQQEBAQEBAUECQgIBQgFCAUIBQoJCgkKCQsJCwkPDQkFCQUJBQgHCAcIBwgHCQYJBgoJCgkKCQoJCgkJCQcJBwkHBAkKCQgHCQUEBAcHBwUFBgcHAAkMCwgMBwkIBAQFDw8MCQkKCQkJBwsIDQgKCgkKDQoLCgkJCQkNCgsKDg8LDAkJDgkICQgGCQgLBwkJBwgLCQkJCQYGBwsICQgMDAkLCAcMCAgJBgcHBAUEDA0JBwcJCgkLCQoICwoKCQkJBwYIBwkJDgwIBwoICwkLCAwJCwkNCw8NDgsJBgkGCQgJCAsJDQoKCQoJCgkNCg0KBAoICgkKCQsKCggOCwQJCAkIDg0ICAoICggNCwgHCQgKCQoJCwkLCQsJCQcJBwkHCQcKCAcGDAsKCAgHCggOCwsJCwkJCA0MCQkLBgsNBAQEBgYGCAgHDRQFBQMHBwcHCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCBAPCgkKCAgICA4GCAgICAgLCQAIBQgEBAUGCAYJCQgFCgkKCAkHCQcIBwkGCQgICAgICAgIBwsJCwkLCQsJDAsJBwkHCQcJCAkIDgwODAsJCgkLCQwLCAcEBAgHCQYKCQoJCAUJBQkICAcIBwQEBgYEBgcEBggIBggHCAcJCQMEAwAAERUNAAQEBQcKCg4OBAYGBgkEBgQHCgoKCgoKCgoKCgUFCQkJCBIKCgoLCQkKCwQGCgkOCwsKCwoJCgsKDwsKCgYHBgkIBQgJBwkJBQkJBAQIBQ4JCQkJBggGCQgMCAgIBgQGCQQFCgoKCgQJCA4HCAkGDAgHCQcHBQoJBAYHBwgPDw8ICgoKCgoKDwoJCQkJBAQEBAsLCwsLCwsJCwsLCwsKCgsICAgICAgNBwkJCQkEBAQECgkJCQkJCQkJCQkJCQgJCAoICggKCAoHCgcKBwsLCwkJCQkJCQkJCQoJCgkKCQsJCwkEBAQEBAQGBAoICQUJBQkFCQULCQsJCwkLCQsJEA4KBgoGCgYJCAkICQgJCAoGCgYLCQsJCwkLCQsJCgoICggKCAQKCgkJCAoGBAQHCAgFBgYICAAKDQwJDQgKCQQFBhAQDQoKCwoKCggMCQ4JCwsKCw4LCwsKCgoKDgsMCg4PCw0KCg8KCAkJBgoJDAcJCQgJCwkJCQkHBwgMCAoJDA0JDAgIDAkJCQYICAQFBA0NCQgICQsJCwkLCQwKCwkKCQgGCQcKCQ8MCQcLCQwKDAkMCQwKDgsQDg8MCgcKBwoICggLCQ4LCwkLCQoJDgsOCwQKCQsJCwkMCgoJDgwECggKCA8NCQkLCQsJDgwJBwkICwkLCQsJCwkLCQoICggKCAoICgkIBg0MCwkJBwsJDwwMCgsKCggODgoJCwYLDgQEBAcHBwkJCA4VBQUDBwcHBwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgkREAoJCwkJCQkPBgkJCQkJDAoACQYIBQQFBggGCgkJBQoJCgkKCAoICQcKBwoICQkJCQkJCQcLCQsJCwkLCQ0MCggKCAoICgkKCQ8MDwwLCgsJCwkNDAkHBAQJBwoHCwkLCQkFCgYKCAkHCQcEBAcHBAcHBQcICAcJCAkICQoDBAMAABIWDgAFBQUHCgoPDwUGBgcJBQYEBwoKCgoKCgoKCgoFBQkJCQgTCwoKCwkJCwwFBgsJDgwMCgwLCgoLCxALCwoGCAYJCAYJCQgJCQYJCQQECQUOCQoJCQYIBgkJDAkICAcEBwkFBQoKCgoECgkPCAkJBgwICAkHBwUKCgUGBwgJEBAQCAsLCwsLCxAKCQkJCQUFBQUMDAwMDAwMCQwLCwsLCwoLCQkJCQkJDggJCQkJBAQEBAoJCgoKCgoJCgkJCQkICQgLCQsJCwkKCAoICggLDAwJCQkJCQkJCQkLCQsJCwkMCQwJBQQFBAUEBgQLCQkFCQUJBQkGDAkMCQwJDAoMChAPCwYLBgsGCggKCAoICggKBgoGCwkLCQsJCwkLCQsKCAoICggECgsJCggKBgQECAgIBQYGCAgACw4NCQ0ICgoFBQYREQ4LCgwLCgoIDAkPCQwMCwsODAwMCgoKCg4LDAsPEAwOCgoQCgkKCQcKCQwICQkJCQwJCgkJCAgIDAkKCQ4OCgwJCA0JCQoHCAgEBgQODgoJCAkMCgwKCwkNCwwKCgkIBwkHCgoPDQkICwkNCwwJDQkNCg8LEQ8QDQoICggLCQsJDAoPDAwKDAoLCQ4LDgsFCwkMCgwJDAoLCQ8NBAsJCwkQDgkJCwkLCQ8MCQgKCQwJDAkMCgwKDAoKCAoICggKCAsJCAcODAsJCQgLCRAMDAoMCgsJDg4KCQwGDA8EBAQHBwcJCQgPFgYGAwcHBwcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoJEhELCgwJCQkJDwcJCQkJCQ0KAAkGCQUEBQcJBgoJCQYLCQsJCggKCAkICggLCQkJCQkJCQkIDAoMCgwKDAoODAoICggKCAoJCgkQDRANDAoMCQwKDgwJCAUECQcKCAsJDAkJBQoGCwkJCAkIBAQHBwUHBwUHCQkHCQgJCAoLAwQDAAATFw4ABQUGCAsLEA8FBgYHCgUHBQgLCwsLCwsLCwsLBQYKCgoJFAwLCwwKCgwMBQYMCg8MDQsNCwsLDAsQDAsLBggGCggGCQoICgoGCgoFBQkGDwoLCgoHCAYKCQ4KCQkHBAcKBQYLCwsLBAoJEAgJCgcNCAgKCAgGCwoFBggICREREQkMDAwMDAwRCwoKCgoFBQUFDQwNDQ0NDQoNDAwMDAsLDAkJCQkJCQ8ICgoKCgUFBQULCgsLCwsLCgsKCgoKCQoJDAkMCQwJCwgLCAsIDAwNCgoKCgoKCgoKDAoMCgwKDAoNCgUFBQUFBQYFDAkKBgoGCgYKBgwKDAoMCg0LDQsSEAsHCwcLBwsICwgLCAsICwcLBwwKDAoMCgwKDAoLCwkLCQsJBQsMCgsICwYFBAgJCQUHBwkJAAsPDQoOCQsLBQUGEhIPDAsMDAsLCQ0KEAoMDAwMDwwNDAsLCwsPDA0MERINDwsLEQsJCwoHCwoNCAoKCQoNCgsKCggICQ0KCwoPDwoOCQkOCgoKBwkIBQYFDg8KCQkKDAoNCwwKDgsMCgsKCQcKCAsKEA4KCAwKDgsNCg4KDQsQDRIQEQ4LCAsICwkLCQ0KEAwMCgwKDAoPDA8MBQwKDQoMCg0LDAoQDQUMCQwJEQ8KCgwKDAoQDQoICgkMCgwKDQsNCw0LCwkLCQsJCwkMCgkHDw4MCgoIDAoQDg0LDQsMCQ8PCwoNBw0QBAQECAgICgoJDxcGBgQICAgICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLChQSCwoMCgoKChAHCgoKCgoNCwAKBgkFBAYHCQcLCgoGDAoMCgsJCwkKCAsIDAkKCgoKCgoKCA0LDQsNCw0LDw4LCQsJCwkLCgsKEQ4RDg0LDAoNCw8OCggFBQoICwgMCgwKCgYLBgsJCggKCAQECAgFCAgFBwkJBwoJCgkLCwQFBAAAFBkPAAUFBggLCxEQBQcHCAsFBwUICwsLCwsLCwsLCwUGCwsLCRUMCwsNCgoMDQUHDAoQDQ0LDQwLCwwMEQ0LCwYIBgoJBgoLCQsKBgsLBQUKBhALCwsLBwkGCwoOCgoJBwUHCwUGCwsLCwULChEICgsHDgkJCwgIBgsLBQcICAoSEhIJDAwMDAwMEQsKCgoKBQUFBQ0NDQ0NDQ0LDQwMDAwLCw0KCgoKCgoQCQoKCgoFBQUFCwsLCwsLCwsLCwsLCwoLCgwKDAoMCgsJCwkLCQ0NDQsKCgoKCgoKCgwLDAsMCw0LDgsFBQUFBQUHBQwKCgYKBgoGCwYNCw0LDQsNCw0LEhEMBwwHDAcLCQsJCwkLCQsHCwcMCwwLDAsMCwwLCwsJCwkLCQULDAsLCQsGBQQJCQkGBwcJCQAMEA4KDwkMCwUFBxMTDwwLDAwLCwkOChELDQ0MDBANDQwLCwsLEA0ODBESDRALCxILCgsKBwsKDgkLCwoKDQoLCgsJCQoOCgsKDxALDgoJDwoKCwcJCQUGBQ8PCwoKCw0LDQsNCw4MDQsLCwkHCggMCxEPCwkNCw4MDgoOCw4LEQ0TEBIOCwkLCQsKCwoNCxENDQsNCwwLEA0QDQUMCg0LDQoOCwwKEQ4FDAoMChEQCgoNCg0KEQ4LCQsKDQsNCw0LDQsNCwsJCwoLCgsKDAoJBxAODQsLCQwKEQ4OCw0MDAoQEAsLDQcNEAQEBAgICAoKCRAZBgYECAgICAsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwoVEwwLDQsLCwsRBwsLCwsLDgwACgcKBQQGCAoHCwsKBgwLDAoLCgsJCwkLCQwKCgoKCgoKCwkNCw0LDQsNCxAOCwkLCQwJCwoLChIPEg8NCw0LDQsQDgsJBQUKCAsJDQsNCwoGCwYMCgsJCwkEBAgIBQgIBQgJCggKCQoJCwwEBQQAABUaEAAFBQYIDAwSEQUHBwgLBQgFCQwMDAwMDAwMDAwGBgsLCwoWDQwMDgsLDQ0FBw0LEA0ODA4NCwsNDRINDAwHCQcLCQcKCwkLCwcLCwYGCgYRCwwLCwcJBwsKDwsKCggFCAsFBgwMDAwFCwoSCQoLCA4JCQsJCQYMCwUHCQkKEhMTCg0NDQ0NDRIMCwsLCwUFBQUODQ4ODg4OCw4NDQ0NDAwNCgoKCgoKEAkLCwsLBgYGBgwLDAwMDAwLDAsLCwsKCwoNCg0KDQoMCQwJDAkODQ4MCwsLCwsLCwsNCw0LDQsNCw8LBQYFBQUGBwYNCgsGCwYLBgsHDQsNCw0LDgwODBMSDQcNBw0HCwkLCQsJCwkMBwsIDQsNCw0LDQsNCwwMCgwKDAoFDA0LCwkLBwYFCQkKBgcHCQoADBAPCxAKDAsFBgcUFBANDA0NDAwKDwsSCw0NDQ0QDQ4NDAwLDBENDg0SEw4QDAwTDAoLCggMCw8JCwsKCw4LDAsLCQkKDwsMCw8QCw8KCg8LCwwICgkGBwYQEAwKCgsOCw4MDQsPDA4LDAsKCAsJDAsSDwsJDQsPDA8LDwsPDBIOFBESDwwJDAkMCwwLDgsSDg4LDQsNCxEOEQ4FDQsODA0LDgwNCxIPBQ0KDQoSEAsLDQsNCxIPCwkMCg0LDQsODA4MDgwMCgwKDAoMCg0LCggQDw0LCwkNCxIPDgwODA0KEBEMCw4IDhEFBQUICAgLCwkRGgYGBAkJCQkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLFhQNCw4LCwsLEggLCwsLCw8MAAsHCgYFBggKBwwLCwcNCw0LDAoMCgsJDAkNCgsLCwsLCwsJDgwODA4MDgwQDwwKDAoMCgwLDAsTDxMPDgwOCw4MEA8LCQUGCwkMCQ4LDQsLBgsHDQoLCQsJBQUICAUICQYICgoICwoLCgwNBAUEAAAWGxEABgYGCQwMEhIGBwcIDAYIBQkMDAwMDAwMDAwMBgYMDAwKFw0NDA4LCw4OBgcOCxIODw0PDQwNDQ0TDg0MBwkHCwoHCwwKDAsHDAwFBgsGEQwMDAwHCQgLCg8LCgoIBQgMBgYMDAwMBQwLEgkLDAgPCgoMCQkHDQwGBwkJCxMUFAoNDQ0NDQ0TDAsLCwsGBgYGDw4PDw8PDwwPDQ0NDQ0NDgsLCwsLCxEKCwsLCwUFBQUMDAwMDAwMDAwLCwsLCgwKDQsNCw0LDAoMCgwKDg4PDAsLCwsLCwsLDgwODA4MDgwPDAYFBgUGBQcGDgsLBgsGCwYMBw4MDgwODA8MDwwUEg0HDQcNBwwJDAkMCQwJDQgNCA0LDQsNCw0LDQsNDAoMCgwKBgwODAwJDQgGBQoKCgYICAoKAA0RDwsQCg0MBgcHFRURDg0ODQ0NCg8LEgwPDw4OEg4PDg0MDQ0SDg8NExQPEQ0NFAwLDAsIDQsPCgsLCgsOCwwLDAoJCg8LDAsQEQwPCwoQCwsMCAoJBQcGEREMCgoLDgwPDA4MEA0ODA0MCggLCQ0LExAMCg4MEA0PCxAMDwwTDxUSExAMCQ0JDQsNCw8MEg4ODA4MDQwSDhIOBg0LDgwOCw8NDQsTEAUNCw0LExELCw4LDgsSDwwKDAsPCw8LDwwPDA8MDQoNCg0KDQoNCwoIEQ8ODAwKDgsTDw8NDw0OCxIRDQwPCA8SBQUFCQkJCwsKEhsHBwQJCQkJDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxcVDQwODAwMDBMIDAwMDAwPDQALBwoGBQYICwgNDAsHDQwNCw0KDQoMCgwKDQsLCwsLCwsMCg8MDwwPDA8MEQ8NCg0KDQoMCwwLFBAUEA8MDwsPDBEPDAoGBQsJDAkODA4MCwYNCA0KDAoMCgUFCQkGCQkGCAoLCAsKCwoMDQQFBAAAFxwRAAYGBwkNDRMTBggICQwGCAYJDQ0NDQ0NDQ0NDQYHDAwMChgODg0ODAwODwcIDgwSDw8NDw4MDQ4OFA4ODAcKBwwKBwsMCgwMBwwNBgYLBxMNDAwMCAoIDQsRDAsLCQUJDAYHDQ0NDQUMCxMKCwwIEAoKDAkJBw0MBggJCgsUFRUKDg4ODg4OFA0MDAwMBwcHBw8PDw8PDw8MDw4ODg4ODQ4LCwsLCwsSCgwMDAwGBgYGDA0MDAwMDAwMDQ0NDQsMCw4LDgsOCw0KDQoNCg4PDw0MDAwMDAwMDA4MDgwODA8NEA0HBgcGBwYIBg4LDAcMBwwHDAcPDQ8NDw0PDA8MFRMOCA4IDggMCgwKDAoMCg0IDQgODQ4NDg0ODQ4NDgwLDAsMCwYNDgwMCg0IBgUKCgsHCAgKCwANEhAMEQoNDAcHCBYWEQ4NDw4NDgoPDBMMDw8ODhIPDw8NDQ0NEg4QDhQVDxINDRUNCwwMCQ0MEAoNDQsMDw0MDQwKCgsQDA0MEhIMEQsLEQwMDQkLCgYHBhISDQsLDA8MDwwODBAODwwNDAoJCwoNDBQRDAoPDBAOEAwRDBANFA8WExQQDQoNCg4LDgsPDBMPDw0PDA4NEg8SDwcODA8NDw0QDQ4MExAGDgsOCxQSDAwODA4MExAMCg0LDw0PDQ8MDwwPDA0LDQsNCw0LDgwKCRIRDwwMCg8MFBEQDQ8ODgsSEw0MDwgPEwUFBQkJCQwMChMcBwcECQkJCQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQwYFg4MDwwMDAwUCAwMDAwMEA4ADAgLBgUHCQsIDgwMBw4NDgwNCw0LDAoNCg4LDAwMDAwMDAoPDA8MDwwPDBIRDQsNCw0LDQwNDBURFREPDQ8NDwwSEQwKBwYMCQ0KDgwPDQwHDQgOCwwKDAoFBQkJBgkJBgkLCwkMCwwLDQ4EBgQAABgeEgAGBgcKDg4UFAYICAkNBgkGCg4ODg4ODg4ODg4GBw0NDQsZDw4NEA0MDxAHCA8MExAQDhAODQ0PDhUPDg0ICggMCwgMDQoMDAgMDQYGDAcUDQ0NDAgKCA0LEQ0LCwkFCQ0GBw4ODg4FDQwUCgwNCRELCg0KCgcODQYICgoMFRYWCw8PDw8PDxUNDQ0NDQcHBwcQEBAQEBAQDRAPDw8PDg4PDAwMDAwMEwoMDAwMBgYGBg0NDQ0NDQ0NDQ0NDQ0LDQsPDA8MDwwNCg0KDQoQDxANDQwNDA0MDQwPDA8MDwwQDRANBwYHBgcGCAYPDAwHDAcMBw0IEA0QDRANEA0QDRYUDggOCA4IDQoNCg0KDQoOCA0JDw0PDQ8NDw0PDQ4NCw0LDQsGDg8MDQoNCAYFCwsLBwgICwsADhMRDRILDg0HBwgWFxIPDhAPDg4LEA0UDRAQDw8TEBAQDg0NDhMPEA8VFhATDg4WDgwNDAkODBEKDQ0MDBANDQ0NCgoLEQ0NDBITDREMCxIMDA0JCwoGBwYSEw0MCw0QDRANDw0RDhANDg0LCQwKDg0VEQ0KDw0RDhEMEQ0RDhQQFxQVEQ0KDQoODA4MEA0UEBANDw0ODRMQExAHDwwQDRANEA4PDBQRBg8MDwwVEw0MDwwPDBQRDQoNDBANEA0QDRANEA0OCw4LDgsOCw8MCwkTEQ8NDQoPDBUREA4QDg8MExQODRAJEBQFBQUKCgoMDAsTHgcHBAoKCgoODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4MGRcODRANDQ0NFQkNDQ0NDREOAAwICwYFBwkMCA4NDAgODQ8MDgsOCw0KDQoPDA0MDQwNDA0KEA0QDRANEA0TEQ4LDgsOCw4MDgwWEhYSEA4QDRANExENCgcGDAoNChAMEA0MBw0IDgsNCw0LBQUKCgYKCgYJCwwJDAsMCw0OBQYEAAAZHxMABgYHCg4OFRQGCAgJDQYJBgoODg4ODg4ODg4OBwcNDQ0LGg8PDhANDQ8RBwgQDRQREQ4RDw0OEA8WEA8NCAsIDQsIDA0LDQ0IDQ4HBwwHFQ4NDg0JCwkNDBINDAwJBgkNBgcODg4OBg0MFQsMDQkRCwsNCgoIDg0GCAoKDBYXFwsPDw8PDw8WDg0NDQ0HBwcHEBEREREREQ0REBAQEA8OEAwMDAwMDBQLDQ0NDQcHBwcODg0NDQ0NDQ0NDQ0NDA4MDwwPDA8MDgsOCw4LEBAQDg0NDQ0NDQ0NDw0PDQ8NEQ4RDgcHBwcHBwgHEAwNBw0HDQcNCBEOEQ4RDhENEQ0XFQ8JDwkPCQ0LDQsNCw0LDgkOCRANEA0QDRANEA0PDQwNDA0MBg4PDQ0LDgkHBgsLDAcJCQsLAA8TEQ0TCw4NBwcIFxgTEA4QDw4PCxENFQ0RERAQFBEREA4ODg4UEBEPFhcRFA4OFg8MDQ0JDg0RCw4ODA0RDQ0ODgsKDBENDg0TFA0SDAsSDQ0OCQsLBwgHExQODAwOEA0RDRANEg8QDQ4OCwkNCg8NFRINCxANEg8RDRIOEQ4VERgVFhIOCw4KDwwPDBEOFRAQDhANDw4UEBQQBw8NEA4QDREODw0VEgcPDA8MFhQNDRANEA0VEQ0LDgwRDhEOEQ0RDRENDgsODA4MDgwPDQsJFBIQDQ0LEA0WEhEOEQ8QDBQVDg4RCREVBgYGCgoKDQ0LFB8ICAUKCgoKDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODRoYDw0QDQ0NDRUJDQ0NDQ0RDwANCAwHBgcJDAkPDQ0IDw4PDQ4MDgsNCw4LDwwNDQ0NDQ0NCxENEQ0RDRENFBIOCw4LDgsPDQ8NFhIWEhEOEQ4RDRQSDQsHBw0KDgsQDREODQcOCQ8MDQsNCwYGCgoGCgoHCgwMCg0MDQwODwUHBQAAGiAUAAcHCAoPDxYVBwkJCg4HCQYLDw8PDw8PDw8PDwcIDg4ODBsPDw4QDQ0QEQcJEA0VEREPEQ8NDxAQFhAPDggLCA0MCA0OCw4NCA4OBwcNCBUODg4OCQsJDgwTDQwMCgYKDgcIDw8PDwYODBYLDQ4JEgwLDgsLCA8OBwkLCw0XFxgMDw8PDw8PFg4NDQ0NBwcHBxEREREREREOERAQEBAPDxANDQ0NDQ0UCw0NDQ0HBwcHDg4ODg4ODg4ODg4ODgwODA8NDw0QDQ4LDgsOCxAREQ4NDQ0NDQ0NDRAOEA4QDhEOEQ4HBwcHBwcJBxANDQgNCA0IDggRDhEOEQ4RDhEOGBYPCQ8JDwkNCw0LDQsNCw8JDwkQDhAOEA4QDhAODw4MDgwODAYPEA4NCw8JBwYLDAwHCQkMDAAPFBINEwwPDQcHCRgZFBAPEQ8PDwwSDRUOEREQEBUREREPDg8PFRASEBYYERUPDxcPDQ4NCg4NEQsODg0NEQ4ODg4LCwwSDQ8NExQOEg0MEw0NDgoMCwcIBxQUDg0MDhEOEQ4QDhMPEQ4PDgwKDQsPDhYTDgsRDhMPEg0TDhIPFhEZFRcSDgsPCw8NDw0RDhYREQ4RDhAOFREVEQcPDREOEQ4SDxANFhIHDw0PDRYUDQ0QDRANFREOCw4NEQ4RDhEOEQ4RDg8MDwwPDA8MEA0MChUSEA4OCxANFhMSDxEPEA0VFQ8OEQkRFQYGBgoKCg0NDBUgCAgFCwsLCw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw0bGRAOEQ4ODg4WCg4ODg4OEg8ADQkMBwYICg0JDw4NCBAOEA0PDA8MDgsOCw8NDQ0NDQ0NDgsRDhEOEQ4RDhUSDwwPDA8MDw0PDRcTFxMRDxEOEQ4VEg4LBwcNCw4LEA4RDg0IDwkQDA4LDgsGBgoKBwoLBwoMDQoNDA0MDg8FBwUAABshFAAHBwgLDw8XFgcJCQoOBwoHCw8PDw8PDw8PDw8HCA4ODgwdEBAPEg4OERIICREOFhISDxIQDhAREBcREA8JCwkODAkNDwwPDgkODwcHDQgVDw8PDgkMCQ8NEw4NDAoGCg4HCA8PDw8GDg0WCw0OChMMDA4LCwgPDgcJCwsNGBgYDBAQEBAQEBcPDg4ODggICAgSEhISEhISDhIREREREA8RDQ0NDQ0NFQwODg4OBwcHBw8PDw8PDw8ODw8PDw8NDw0QDRANEA0PDA8MDwwSERIPDg4ODg4ODg4RDhEOEQ4SDxIPCAcIBwgHCQcRDQ4IDggOCA4JEg8SDxIPEg8SDxgXEAkQCRAJDgwODA4MDgwPCRAKEQ8RDxEPEQ8RDxAPDA8MDwwHDxEODgwQCQcGDAwMCAkJDAwAEBUTDhQMEA4ICAkZGhQRDxIQDxAMEw4XDhISEREWEhISDw8QDxYREhAYGRIWDxAYEA0PDgoPDhMMDw8NDhIPDw4PDAsNEw4PDhQVDxMNDBQODg8KDAwHCQcVFQ8NDQ4SDxIPEQ4TEBIPDw8MCg4LEA4XFA4MEQ4TEBMOEw8TDxcSGhYYEw8MEAsQDRANEg8XERIPEQ4QDxUSFRIIEQ4SDxIPEhAQDhcTCBANEA0XFQ4OEQ4RDhcTDgwPDRIPEg8SDxIPEg8QDA8NDw0PDRAODAoWExEODgwRDhcTEhASEBENFhUPDxIKEhYGBgYLCwsODgwWIQgIBQsLCwsPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8OHBoQDxIODg4OFwoODg4ODhMQAA4JDQcGCAoNCRAPDgkQDxAODw0QDA4MDwwQDQ4ODg4ODg4MEg8SDxIPEg8WExAMEAwQDBAOEA4YFBgUEg8SDxIPFhMODAgHDgsPDBIPEg8OCBAJEA0ODA4MBgYLCwcLCwcKDQ0KDg0ODA8QBQgFAAAcIxUABwcICxAQGBcHCQkLDwcKBwsQEBAQEBAQEBAQCAgPDw8NHhEREBIPDhESCAkRDhYSExATEQ8QEhEYEhEPCQwJDgwJDg8MDw4JDxAICA4IFxAPDw8KDAoPDRQPDQ0KBgoPBwgQEBAQBg8NFwwODwoTDAwPDAwJEA8HCQwMDhkZGQ0REREREREYEA8PDw8ICAgIEhITExMTEw8TEhISEhEQEg4ODg4ODhYMDg4ODggICAgQEA8PDw8PDw8PDw8PDQ8NEQ4RDhEOEAwQDBAMEhISDw8ODw4PDg8OEQ8RDxEPEhATEAgICAgICAkIEQ4OCA4IDggPCRIQEhASEBMPEw8aGBEKEQoRCg8MDwwPDA8MEAoQChIPEg8SDxIPEg8RDw0PDQ8NBxARDw8MEAoIBgwNDQgKCg0NABAWEw8VDRAPCAgJGhsVERASERARDRMPFw8TExESFhITEhAQEBAWEhMRGBoTFxAQGRAODw4LEA4TDA8PDg4TDw8PDwwMDRQPEA4VFg8UDg0VDg4PCw0MCAkIFRYPDg0PEg8TDxIPFBESDxAPDQsODBAPGBQPDBIPFBATDhQPExAYExsXGRQQDBAMEQ4RDhMPFxISDxIPERAWEhYSCBEOEg8SDxMQEQ4YFAgRDhEOGBYPDhIOEg4XEw8MDw4TDxMPEw8TDxMPEA0QDRANEA0RDg0LFxQSDw8MEg4YFBMQExERDhYXEA8TChIXBgYGCwsLDg4NFyMJCQUMDAwMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQDh0bEQ8SDw8PDxgKDw8PDw8TEQAOCQ0HBggLDgoRDw4JERARDhANEA0PDBAMEQ4PDg8ODw4PDBMPEw8TDxMPFxQQDRANEA0QDhAOGRUZFRMQEw8TDxcUDwwICA4LEAwSDxIQDggQChENDwwPDAYGCwsHCwwHCw0OCw4NDg0PEQUIBQAAHSQWAAcHCQwQEBgYBwkJCw8HCgcMEBAQEBAQEBAQEAgIDw8PDR8SERATDw8SEwgKEg8XExMRExEPEBMRGRIREAkMCQ8NCQ4QDRAPCRAQCAgOCRcQEBAQCgwKEA4VDw4NCwcLDwcJEBAQEAcPDhgMDg8KFA0NDwwMCREPBwoMDA4aGhoNEhISEhISGRAPDw8PCAgICBMTExMTExMPExMTExMRERIODg4ODg4XDQ8PDw8ICAgIEBAQEBAQEA8QEBAQEA4QDhIOEg4SDhANEA0QDRMTExAPDw8PDw8PDxIQEhASEBMQFBAICAgICAgKCBIODwkPCQ8JDwkTEBMQExATEBMQGxgRChEKEQoPDA8MDwwPDBAKEAoTEBMQExATEBIQERANEA0QDQcQEhAPDBAKCAYNDQ0ICgoNDQARFxQPFQ0RDwgIChscFhIQExIREQ0UDxgPExMSEhcTExMREBAQGBIUEhkbExgRERoRDhAPCxAPFA0QEA4PExAQEBANDA4UDxAPFhcQFA4NFQ8PEAsNDAgJCBYXEA4ODxMQExASDxURExAREA0LDwwRDxkVDw0SDxURFA8VEBQQGRMcGBkVEA0QDBEOEQ4TEBgTExATEBIQFxMXEwgSDxMQExAUERIPGRUIEg4SDhkXDw8SDxIPGBQPDRAOExATEBMQExATEBENEA4QDhAOEg8NCxgUEg8PDRIPGRUUERMREg4XFxEQEwoTGAYGBgsLCw8PDRckCQkFDAwMDBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEA8eGxEQEw8PDw8ZCw8PDw8PFBEADwoOCAYJCw4KERAPCRIQEg8QDhENDw0QDRIODw8PDw8PDw0TEBMQExATEBgUEQ0RDRENEQ8RDxoVGhUTEBMQExAYFA8NCAgPDBANExATEA8JEAoRDg8NDw0GBgsLBwwMCAsODgsPDQ8NEBEFCAUAAB4lFwAICAkMEREZGAgKCgsQCAsHDBEREREREREREREICRAQEA4gEhERExAPEhQIChMPGBQUERQSEBETEhoTEhAKDQoPDQkPEA0QDwkQEQgIDwkYERAQEAsNChEOFhAODgsHCxAICREREREHEA4ZDQ8QCxUNDRAMDAkREAgKDA0PGhsbDhISEhISEhoREBAQEAgICAgUFBQUFBQUEBQTExMTEhETDw8PDw8PGA0PDw8PCAgICBAREBAQEBAQEBEREREOEA4SDxIPEg8RDRENEQ0TExQREA8QDxAPEA8SEBIQEhAUERQRCAgICAgICggTDw8JDwkPCRAKFBEUERQRFBAUEBsZEgsSCxILEA0QDRANEA0RChELExETERMRExETERIQDhAOEA4HERIQEA0RCggHDQ0OCQoLDg4AEhcVEBYOERAICAocHRYTERMSEREOFRAZEBQUExMYFBQTERERERgTFBIaGxQYEREbEQ8QDwsRDxUNEBAPDxQQEBAQDQwOFBARDxYXEBUPDhYPDxELDg0ICggXFxEPDhAUEBQQExAVEhQQERAOCw8MERAaFhANExAVEhUPFhAVERoUHRgaFRENEQwSDxIPFBAZExQQExASERgTGBMIEg8UERQQFBESDxkVCBIPEg8aGBAPEw8TDxkVEA0QDxQQFBAUEBQQFBARDhEOEQ4RDhIPDgsYFRMPEA0TDxoWFREUEhMPGBgREBQLFBkHBwcMDAwPDw4YJQkJBgwMDAwREREREREREREREREREREREREREREREREREREPHxwSEBQQEBAQGgsQEBAQEBUSAA8KDggHCQsPCxEQDwkSERIPEQ4RDhANEQ0SDxAPEA8QDxANFBAUEBQQFBAYFREOEQ4RDhEPEQ8bFhsWFBEUEBQQGBUQDQgIDwwRDRMQFBEPCREKEg4QDRANBwcMDAgMDAgLDg8LEA4PDhESBggGAAAfJhcACAgJDBISGhkICgoMEAgLCA0SEhISEhISEhISCAkQEBAOIRMSERQQEBMUCAoTEBkUFBIUExASExMbFBIRCg0KEA4KDxENERAKEREICA8JGBERERELDQsRDxYQDw4MBwwQCAkSEhISBxAPGg0PEAsVDg4QDQ0JEhAICg0NDxscHA4TExMTExMbERAQEBAICAgIFRQUFBQUFBAUExMTExISFA8PDw8PDxgNEBAQEAgICAgREREREREREBERERERDxEPEw8TDxMPEQ0RDRENFBQVERAQEBAQEBAQExETERMRFBEVEQgICQgICAoIEw8QCRAJEAkQChQRFBEUERQRFBEcGhMLEwsTCxANEA0QDRANEgsSCxMRExETERMRExESEQ4RDhEOCBITERANEgsIBw4ODgkLCw4OABIYFhAXDhIQCAkKHR4YExIUExISDhUQGhAVFRMTGRQUFBIREhIZFBUTGhwVGRISHBIPERAMEhAVDRERDxAVEREREQ0NDxYQERAYGBEWDw4XEBARDA4NCAoIGBgRDw8RFBEUERQQFhIUERIRDgwQDRIRGxcQDRQQFhIVEBYRFhIaFR4aGxYRDRINEg8SDxURGhQUERQRExEYFBgUCBMQFBEUERUSExAaFggTDxMPGxgQEBMQExAaFRANEQ8VERURFBEUERQREg4SDxIPEg8TEA4MGRYUEBANFBAbFhUSFBITDxkYEhEVCxQZBwcHDAwMEBAOGSYKCgYNDQ0NEhISEhISEhISEhISEhISEhISEhISEhISEhISECAdExEUEBAQEBsLEBAQEBAWEgAQCg8IBwkMDwsSERAKExETEBIPEg4QDRENEw8QEBAQEBAQDRQRFBEUERQRGRYSDhIOEg4SEBIQHBccFxURFREUERkWEA0ICBANEQ0UERQREAkSCxMPEA4QDgcHDAwIDA0IDA8PDBAOEA4REgYIBgAAICcYAAgICQ0SEhsaCAoKDBEIDAgNEhISEhISEhISEgkJERERDyITExIUERATFQkLFBAaFRUSFRMREhQTHBQTEQoOChAOChARDhEQChERCAgPCRoRERERCw0LEQ8XEA8ODAcMEQgJEhISEgcRDxsNEBEMFg4OEQ0NChIRCAsNDRAcHR0PExMTExMTHBIRERERCQkJCRUVFRUVFRURFRQUFBQTEhQQEBAQEBAZDhAQEBAICAgIEhEREREREREREREREQ8RDxMQExATEBIOEg4SDhQUFRIREBEQERAREBMRExETERURFhIJCAkICQgLCBQPEAkQCRAJEQoVERURFREVERURHRsTCxMLEwsRDRENEQ0RDRILEgwUERQRFBEUERQRExEOEQ4RDggSExERDRILCAcODg8JCwsODwATGRYRGA8SEQkJCx4fGBQSFBMSEw8WERsRFRUUFBoVFRQSEhISGhQWExwdFRkSEhwTEBEQDBIQFg4RERAQFREREREODQ8WEBIQGBkRFxAOFxAQEgwPDQgKCBgZEhAPERURFREUERcTFRESEQ8MEA0TERsXEQ4UERcTFhAXERYSGxUfGhwXEg4SDRMQExAVERsVFREVERMRGRUZFQkUEBUSFREWEhMQGxcIExATEBwZERAUEBQQGxYRDhEPFREVERURFREVERIOEg8SDxIPExAPDBkXFBERDhQQHBcWEhUTFA8aGhIRFgwVGgcHBw0NDRAQDhonCgoGDQ0NDRISEhISEhISEhISEhISEhISEhISEhISEhISEhAhHhMRFREREREbDBERERERFhMAEAsPCQcJDBALExEQChMSExASDxIOEQ4SDhMQERAREBEQEQ4VERURFREVERkXEg4SDhIPExATEBwXHBcVEhURFREZFxEOCQgQDRIOFBEVERAJEgsTDxEOEQ4HBw0NCA0NCQwPEAwRDxAPEhMGCAYAACEpGQAICAoNExMcGwgLCwwRCAwIDRMTExMTExMTExMJChEREQ8jFBQSFRERFBUJCxQRGhYWExYUERMVFBwVFBILDgsRDwoQEg4SEQsSEgkJEAobEhISEgwODBIQGBEQDwwHDBEIChMTExMHERAbDhARDBcPDhEODgoTEQgLDg4QHR4eDxQUFBQUFBwSEREREQkJCQkWFhYWFhYWERYVFRUVFBMVEBAQEBAQGg4RERERCQkJCRISEhISEhIREhISEhIQEhAUEBQQFBASDhIOEg4VFRYSEREREREREREUEhQSFBIVEhcSCQkJCQkJCwkUEBEKEQoRChELFhIWEhYSFhIWEh4cFAwUDBQMEQ4RDhEOEQ4TDBMMFRIVEhUSFRIVEhQSDxIPEg8IExQSEQ4TDAkHDw8PCQsMDw8AExoXERgPExEJCgsfIBkUExUUExQPFxEcERYWFBUaFRYVExITExoVFxQdHhYaExMeExASEQwTERcOEhIQERYSEhISDg4QFxESERkaEhgQDxgRERIMDw4JCwkZGhIQEBIVEhYSFREYExUSExIPDBEOExIcGBEOFREYExcRGBIXExwWIBsdFxIOEw4UEBQQFhIcFRUSFRIUEhoVGhUJFBEVEhUSFxMUERwXCRQQFBAcGhERFBEUERwXEQ4SEBYSFhIWEhYSFhITDxMQExATEBQRDwwaGBUREQ4VERwYFxMWExQQGhsTEhYMFhsHBwcNDQ0REQ8bKQoKBg4ODg4TExMTExMTExMTExMTExMTExMTExMTExMTExMRIh8UEhYRERERHAwRERERERcTABELEAkHCgwQDBQSEQsUEhQRExATDxEOEg4UEBEREREREREOFhIWEhYSFhIaGBMPEw8TDxMRExEeGB4YFhMWEhYSGhgRDgkJEQ0SDhUSFRIRChMMFBARDhEOBwcNDQgNDgkNEBANEQ8RDxIUBgkGAAAiKhoACQkKDhMTHRwJCwsNEgkMCA4TExMTExMTExMTCQoSEhIPJBUUExYRERQWCQsVERsWFhMWFBITFRQdFhQSCw4LEQ8LERIPEhELEhMJCREKGxMSEhIMDgwSEBkSEA8NCA0SCQoTExMTCBIQHA4REgwXDw8SDg4KExIJCw4OER4fHw8VFRUVFRUdExEREREJCQkJFxYWFhYWFhIWFRUVFRQTFRERERERERsPEREREQkJCQkTExISEhISEhISEhISEBIQFREVERUREw8TDxMPFhYXExERERERERERFBIUEhQSFhMXEwkJCQkJCQsJFRERChEKEQoSCxYTFhMWExYSFhIfHRQMFAwUDBIOEg4SDhIOEwwTDBUSFRIVEhUSFRIUEg8SDxIPCBMUEhIOEwwJCA8PEAoMDA8QABQaGBEZEBMSCQoLICEaFRMWFRMUEBgRHRIXFxUVGxYWFhMTExMbFhcVHR8WGxMUHxQREhENExEYDxMTERIXEhISEg8PEBcSExEZGxIYEQ8ZERETDQ8OCQsJGhoTERASFhIWEhUSGBQWEhMSEA0RDhQSHRkSDxYSGBQYERgSGBMdFyEcHhgTDxMPFBEUERcSHBYWExYSFRMbFhsWCRURFhMWEhcUFREdGAkVERURHRsRERURFREdGBIPExAXExcTFhIWEhYSFA8TEBMQExAVERANGxgWEhIPFRIdGRcUFhQVERsbExIXDBYcCAgIDQ0NEREPHCoKCgYODg4OExMTExMTExMTExMTExMTExMTExMTExMTExMTESMgFBIWEhISEh0NEhISEhIYFAARCxAJCAoNEQwUEhELFRMVERMQFA8SDxMPFRERERERERESDxYSFhIWEhYSGxgUDxQPEw8UERQRHxkfGRcTFxMWEhsYEg8JCREOEw8WEhYTEQoTDBQQEg8SDwgIDQ0JDg4JDRAQDRIQERATFAYJBgAAIysaAAkJCg4UFB0cCQsLDRIJDQkOFBQUFBQUFBQUFAkKEhISECUVFRQWEhIVFwkMFhIcFxcUFxUTExYVHhYVEwsPCxIQCxETDxMSCxMTCQkRCh0TExMTDA8MExEZEhEQDQgNEgkKFBQUFAgTER0PERINGBAPEg4OCxQTCQwODxEfICAQFRUVFRUVHhQSEhISCQkJCRcXFxcXFxcSFxYWFhYVFBYREREREREbDxISEhIJCQkJFBMTExMTExITExMTExETERURFREVERQPFA8UDxYWFxMSEhISEhISEhUTFRMVExcTGBMJCQoJCQkMCRYREgoSChIKEgsXExcTFxMXExcTIB0VDBUMFQwTDxMPEw8TDxQMEw0WExYTFhMWExYTFRMQExATEAkUFRMTDxMMCQgPEBAKDAwQEAAUGxgSGhAUEwkKDCEiGxYUFhUUFRAYEh0SFxcWFhwXFxYUFBMUHBYYFR8gFxwUFB8UERISDRQSGA8TExESFxMTExMPDxEZEhQSGxwTGREQGRISEw0QDwkLCRsbExERExcTFxMWEhkVFxMUExANEg4UEx4ZEg8WEhkVGBIZExgUHhciHR8ZFA8UDxURFREXEx0XFxMXExUTGxcbFwkVEhcTFxMYFBUSHhkJFREVER4bEhIWEhYSHRgSDxMRFxMXExcTFxMXExQQFBEUERQRFRIQDRwZFhISDxYSHhkYFBcVFhEcHRQTGA0XHQgICA4ODhISEBwrCwsGDg4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBIkIRUTFxISEhIeDRISEhISGBUAEgwRCQgKDREMFRMSCxUTFRIUERQQEg8UDxUREhISEhISEg8XExcTFxMXExwZFBAUEBQQFBIUEh8ZHxkXFBcTFxMcGRIPCQkSDhQPFhMXExIKEwwVERIPEg8ICA4OCQ4OCQ0REQ0SEBIQExUHCQYAACQsGwAJCQsOFBQeHQkMDA4TCQ0JDxQUFBQUFBQUFBQKChMTExAmFhUUFxMSFRcKDBYTHRcZFRgWExQXFh8XFRMMDwwSEAsSEw8TEgwTFAkJEgsdFBMTEw0PDRMRGhMREA0IDRMJCxQUFBQIExEeDxITDRkQEBMPDwsUEwkMDw8SICEhEBYWFhYWFh8UExMTEwoKCgoYFxkZGRkZExgXFxcXFRUXEhISEhISHA8SEhISCQkJCRQUExMTExMTExMTExMRExEWEhYSFhIUDxQPFA8XFxgUExITEhMSExIVExUTFRMXFBkUCgkKCgoJDAkWEhMLEwsTCxMLFxQXFBcUGRMZEyEeFg0WDRYNEw8TDxMPEw8UDRQNFxMXExcTFxMXExUTEBMQExAJFBUTEw8UDQkIEBARCgwNEBEAFRwZExsQFBMKCwwiIxsWFBcWFRUQGRMeExgYFhYdFxkXFRQUFB0XGRYfIRgdFBUgFRITEg4UEhkQFBQSEhgTExMTDw8RGRMUEhscExkRERoSEhQOEA8JCwkbHBQSERMXExgTFxMaFRcTFRMQDhIPFRMfGhMQFxMaFRkSGhMZFB8YIx0gGhQPFA8VEhUSGBQeFxcUFxMWFB0XHRcKFhIXFBcTGRUWEh4aCRYSFhIfHBMSFxIXEh4ZExAUERgUGBQZExgTGBMVERQRFBEUERYSEA4dGRcTExAXEh8aGRUYFRYSHR0VExgNGB4ICAgODg4SEhAdLAsLBw8PDw8UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQSJSIWExgTExMTHw0TExMTExkVABIMEQoICw4SDRUTEgwWFBYSFBEVERMQFA8WEhMSExITEhMQGRMZExgTGRMdGRURFREUEBUSFRIgGiAaGBQYFBkTHRkTEAoJEg8UDxcTFxQTCxQNFhETEBMQCAgODgkODwoOEREOExESERQVBwkHAAAlLhwACQkLDxUVHx4JDAwOFAkNCQ8VFRUVFRUVFRUVCgsUFBQRJxYVFRcTEhYYCwwXEx4YGRUZFhQVFxYgFxYUDBAMExAMEhQQFBIMFBQKChILHRQUFBQNDw0UEhsTEhEOCA4UCQsVFRUVCBQSHxASFA0aEBAUDw8LFRQJDA8QEiEhIREWFhYWFhYgFRMTExMLCwsLGBgZGRkZGRQZFxcXFxYVFxISEhISEh0QEhISEgoKCgoVFBQUFBQUFBQUFBQUEhQSFhIWEhYSFRAVEBUQFxgYFBMSExITExMSFhQWFBYUGBQZFQsKCwoLCgwKFxITCxMLEwsTDBgUGBQYFBkUGRQiHxYNFg0WDRQPFA8UDxQPFQ0VDRcUFxQXFBcUFxQWFBEUERQRCRUWFBQPFQ0KCBAREQsNDRERABYdGhMbERUUCwsMIyQcFxUYFhUVERoTHxMYGBcXHhgZFxUVFRUeFxkWHyEZHRUVIRUSExMOFRIaEBQUEhMZFBQUFBAPEhkTFRMbHRQaEhEbExIUDhEPCgwKHB0UEhIUGBQZFBcUGhYYFBUUEQ4TDxYUIBsTEBgUGhYaExsUGhUfGSMeIBoVEBUPFhIWEhkUHxgYFBgUFhQdGB0YCxcTGBQYFBkVFhMfGgkWEhYSIB0TEhcTFxMfGhMQFBIYFBgUGRQZFBkUFREVEhUSFRIWExEOHRoXExMQFxMgGxkVGBYXEh4dFRQZDRgeCAgIDw8PExMRHi4LCwcPDw8PFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVEyYjFhQYFBQUFCAOFBQUFBQaFgATDBIKCAsOEg0VFBIMFhUWExUSFRETEBUQFhITEhMSExITEBkUGRQZFBkUHRoVERURFREVExUTIRshGxkVGBQZFB0aExALChIPFRAXFBgUEwsVDRYSExATEAgIDw8JDw8KDhISDhMRExEUFgcJBwAAJi8dAAoKCw8WFiAfCgwMDhQKDgkQFhYWFhYWFhYWFgoLFBQUESgXFhUZFBMXGQsMGBQeGRkWGRcUFRgXIRgXFAwQDBMRDBMUEBQTDBQVCgoTCx8UFBQUDRANFBIbFBIRDgkOFAoLFhYWFgkUEiAQExQOGhERFBAQDBYUCg0QEBMhIiIRFxcXFxcXIRUUFBQUCwsLCxkZGRkZGRkUGRgYGBgXFhgTExMTExMeEBMTExMKCgoKFRQUFBQUFBQUFBQUFBIUEhcTFxMXExUQFRAVEBkYGRUUExQTFBMUExcUFxQXFBkVGhULCgsKCwoMChgTFAsUCxQLFAwZFBkUGRQZFBkUIyAXDRcNFw0UEBQQFBAUEBYNFQ4YFBgUGBQYFBcUFxQRFBEUEQkWFxQUEBUNCggRERILDQ0REQAWHhoUHBEWFAsLDCQlHRgWGBcWFhEaFCAUGRkYGB4ZGRgWFRUWHhgaFyEjGR4WFiIWExQTDhYTGhAUFBMTGRQUFBQQEBIbFBUTHR4UGhMRHBMTFQ4REAoMCh0eFRMSFBkUGRQYFBsWGRQWFBEOExAWFCEcFBAYFBsWGhMbFRoWIBklHyEbFRAVEBcTFxMZFSAZGRUZFBcVHhkeGQsXExkVGRQaFhcTIBsKFxMXEyEeFBMYExgTIBoUEBUSGRQZFBkUGRQZFBYRFhIWEhYSFxMRDh4aGBQUEBgTIRsaFhkWGBMeHxYUGg4ZHwgICA8PDxMTER8vDAwHEBAQEBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhMnJBcUGRQUFBQhDhQUFBQUGhYAEw0SCggLDhMNFhQTDBcVFxMWEhYRFBAVEBcTFBMUExQTFBAZFBkUGRQZFB4aFhEWERYRFhMWEyIcIhwZFRkUGRQeGhQQCwoTEBUQGRQZFRQLFQ0XEhQRFBEICA8PCg8QCg8SEg8UEhMSFRcHCgcAACcwHQAKCgsQFhYhIAoNDQ8VCg4KEBYWFhYWFhYWFhYKCxUVFRIpGBcWGRQUGBkLDRgUHxoaFhoXFRYYFyIZFxUNEQ0UEQwTFBEVFA0VFQoKEwsgFRUVFA0QDhUTHBQTEg4JDhUKCxYWFhYJFRMgEBMVDhsRERUQEAwWFQoNEBATIiMjEhgYGBgYGCIWFBQUFAsLCwsaGhoaGhoaFRoYGBgYFxYZExMTExMTHxEUFBQUCgoKChYVFRUVFRUVFBUVFRUTFRMYExgTGBMWERYRFhEZGRoVFBQUFBQUFBQYFRgVGBUZFRsWCwoLCwsKDQoYExQLFAsUCxQMGhUaFRoVGhUaFSQhFw0XDRcNFRAVEBUQFRAWDhYOGBUYFRgVGBUYFRcVEhUSFRIKFhgVFRAWDgoJERISCw0OEhIAFx4bFB0SFxULDA0kJh4YFhkYFhcSGxQhFRoaGBgfGRoZFhYWFh8ZGxgiJBofFhYjFhMUFA8WFBsRFRUTFBoVFRQVERATGxQWEx0fFRsTEhwUFBUPEhAKDAoeHxUTExQZFRoVGRUcFxkVFhUSDxQQFxUhHBURGRUcFxsUHBUbFiEaJiAiHBYRFhAXExcTGhUhGRkVGRQYFR8ZHxkLGBQZFRkVGxYYEyEcChgTGBMiHxQUGRQZFCEbFREVExoVGhUaFRoVGhUWEhYTFhMWExgTEg8fGxkUFREZFCIcGxYaFxgTHyAWFRoOGiAJCQkPDw8UFBIgMAwMBxAQEBAWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUKCUXFRoVFRUVIQ4VFRUVFRsXABQNEwoJDA8TDhcUFA0YFhgTFhMWEhURFhEYExQUFBQUFBURGhUaFRoVGhUfGxYSFhIXEhYUFhQjHCMcGhYaFRoVHxsVEQsKFBAWERkVGRUUCxYOFxMVERURCQkPDwoQEAoPEhMPFBIUEhYXBwoHAAAoMR4ACgoMEBcXIiEKDQ0PFQoOChAXFxcXFxcXFxcXCwwVFRUSKhgXFhoVFBgaCw0ZFSAaGxcbGBUWGRgiGRgWDRENFBINFBURFRQNFRULCxQLIBYVFRUOEQ4WEx0VExIPCQ8VCgwXFxcXCRUTIREUFQ4cEhEVEBAMFxUKDRARFCMkJBIYGBgYGBgiFhUVFRULCwsLGxobGxsbGxUbGRkZGRgXGRQUFBQUFB8RFBQUFAsLCwsXFhUVFRUVFRUWFhYWExUTGBQYFBgUFhEWERYRGhobFhUUFRQVFBUUGBUYFRgVGhUbFgsLCwsLCw0LGRQVCxULFQsVDRoWGhYaFhsVGxUlIhgOGA4YDhURFREVERURFw4WDhkWGRYZFhkWGRYYFhIWEhYSChcYFRURFg4LCRISEgsODhISABcfHBUdEhcVCwwNJSYeGRcaGBcXEhwVIhUaGhkZIBobGhcWFhcgGRsYIiQbIBcXJBcUFRQPFxQcERYWExUbFRUVFRERExwVFhQeHxUbExIdFBQWDxIRCw0LHh8WExMVGhUbFRkVHBgaFhcVEg8UERcVIh0VERkVHRccFB0WHBciGyYhIxwWERYRGBQYFBsWIhoaFhoVGBUgGiAaCxgUGhYaFRsXGBQiHAoYFBgUIh8VFBkUGRQiHBURFhMaFhoWGxUbFRsVFxIXExcTFxMYFBIPIBsZFRURGRUiHRsXGhgZFCAgFxUbDhohCQkJEBAQFBQSIDEMDAcQEBAQFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFCkmGBYaFRUVFSIPFRUVFRUcGAAUDRMLCQwPFA4XFRQNGBYYFBcTFxIVERYRGBQVFBUUFRQVERsVGxUbFRsVIBsXEhcSFxIXFBcUJB0kHRsXGxYbFSAbFRELCxQQFhEaFRoVFQsWDhgTFREVEQkJEBAKEBALDxMTDxUTFBIWGAgKBwAAKTMfAAoKDBAXFyIhCg0NEBYKDwoRFxcXFxcXFxcXFwsMFhYWEysZGBcbFRUZGwwOGRUhGxsXGxkWFxoZIxoYFg0RDRUSDRQWERYVDRYWCwsUDCEWFhYWDhEOFhQeFhQTDwkPFgoMFxcXFwkWFCIRFBYPHBISFhERDRcWCg4RERQkJSUTGRkZGRkZIxcVFRUVDAwMDBsbGxsbGxsWGxoaGhoYFxoUFBQUFBQgERUVFRULCwsLFxYWFhYWFhYWFhYWFhQWFBkUGRQZFBcRFxEXERsaGxcVFRUVFRUVFRkWGRYZFhsWHBcMCwwLDAsOCxkUFQwVDBUMFg0bFhsWGxYbFhsWJiIZDhkOGQ4WERYRFhEWERcOFw8aFhoWGhYaFhoWGBYTFhMWEwoXGRYWERcOCwkSEhMMDg4TEwAYIB0VHhMYFgwMDiYnHxkXGhkXGBMcFSIWGxsZGiEbGxoXFxcXIRocGSMlGyEXGCUYFBYVDxcVHBIWFhQVGxYWFhYREhQcFhcUHiAWHRQTHhUVFw8TEQsNCx8gFxQUFhsWGxYaFh0YGxYXFhMPFREYFiMeFhIaFh0YHBUdFh0XIxsnIiQdFxIXEhgUGBQbFiIbGxYaFRkWIRshGwwZFRsXGxYcGBkUIx0LGRQZFCMgFRUaFRoVIhwWEhYUGxYbFhsWGxYbFhgTFxQXFBcUGRQTDyEdGhYWEhoVIx4cGBsYGRQhIRcWHA8bIgkJCRAQEBUVEyEzDQ0IERERERcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxUqJxkWGxYWFhYjDxYWFhYWHRgAFQ4UCwkMDxQOGBYVDRkXGRQXFBgTFhIXERkUFRUVFRUVFhIbFhsWGxYbFiEdGBMYExgTGBUYFSUeJR4bFxsWGxYhHRYSDAsVERcSGxYbFhUMFw4ZFBYSFhIJCRAQChARCxATFBAVExUTFxgICwgAACo0IAALCwwRGBgjIgsODhAWCw8KERgYGBgYGBgYGBgLDBYWFhMsGRkXGxYVGhsMDhoWIhwcGBwZFhgaGSQbGRcOEg4VEw0VFxIXFQ0WFwsLFQwhFxYXFw4SDxYUHhYUExAKEBYLDBgYGBgKFhQjEhUWDx0TEhYREQ0YFgsOERIVJSYmExkZGRkZGSQXFhYWFgwMDAwcHBwcHBwcFhwaGhoaGRgaFRUVFRUVIRIVFRUVCwsLCxgXFhYWFhYWFhYWFhYUFxQZFRkVGRUXEhcSFxIbGxwXFhUWFRYVFhUaFhoWGhYbFxwXDAsMCwwLDgsaFRYMFgwWDBYNHBccFxwXHBYcFiYjGQ4ZDhkOFhIWEhYSFhIYDxgPGhYaFhoWGhYaFhkXExcTFxMKGBoWFhIYDwsJEhMTDA4PExMAGSEdFh8TGBYMDA4nKCAaGBsZGBkTHRYjFhwcGhoiGxwbGBcYGCIbHRkkJhwiGBgmGBUWFRAYFR0SFxcVFRwXFhYXEhIUHRYXFR8hFx4VEx8VFRcQExILDQsgIRcVFBYbFxwWGhYeGRsXGBYTEBURGBYkHxYSGxYeGR0VHhcdGCQcKCMlHhcSGBIZFRkVHBcjGxsXGxYZFyEbIRsMGhUbFxsXHRgZFSQeCxkVGRUkIRYVGhUaFSMdFhIXFBwXHBccFhwWHBYYExgUGBQYFBkVExAiHhsWFhIbFSQeHRgcGRoVIiEYFxwPHCIJCQkREREVFRMiNA0NCBEREREYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgVKygZFxsWFhYWJA8WFhYWFh0ZABUOFAsJDBAVDxkXFQ0ZFxkVGBQYExYSFxIZFRYVFhUWFRYSHBYcFhwWHBYiHhgTGBMYExgVGBUmHyYfHBgcFxwWIh4WEgwLFREXEhsXGxcWDBgPGRQWEhYSCQkREQsREQsQFBQQFhMVExcZCAsIAAArNSAACwsNERgYJCMLDg4QFwsPCxIYGBgYGBgYGBgYDAwXFxcULhoZGBwWFhocDA4bFiIcHRkdGhcYGxolGxkXDhIOFhMOFRcTFxYOFxcMDBUNIxcXFxcPEg8XFR8XFRQQChAXCw0YGBgYChcVJBIVFw8eExMXEhINGBcLDhISFSYnJxQaGhoaGholGBYWFhYMDAwMHRwdHR0dHRcdGxsbGxkZGxUVFRUVFSITFhYWFgwMDAwYFxcXFxcXFxcXFxcXFRcVGhUaFRoVGBMYExgTHBsdGBYWFhYWFhYWGhcaFxoXHBcdGAwMDAwMDA4MGxUWDRYNFg0XDhwXHBccFx0XHRcnJBoPGg8aDxcSFxIXEhcSGA8YDxsXGxcbFxsXGxcZFxQXFBcUCxgaFxcSGA8MChMTFAwPDxMUABkhHhYgFBkXDA0OKCkhGxgbGhkZFB4WJBcdHRsbIhwdGxkYGBgiGx0aJScdIhgZJxkVFxUQGBYeEhcXFRYdFxcWFxMSFR4XGBUgIhceFRQgFhYYEBQSDA4MISIYFRUXHBcdFxsXHxkcFxkXFBAWEhkXJR8XEhsXHxkeFh8XHhglHSkjJh4YExgSGRUZFR0XJBwcFxwXGhciHCIcDBoWHBgcFx0ZGhYkHwsaFRoVJSIWFhsWGxYkHhcSGBUdFx0XHRcdFx0XGRQYFRgVGBUaFRQQIh4bFxcTGxYlHx0ZHBkbFSIjGRcdDxwjCgoKERERFhYTIzUNDQgSEhISGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYFiwpGhccFxcXFyUQFxcXFxceGQAWDhQLCg0QFQ8ZFxYOGhgaFhgVGRQXEhgTGhUWFhYWFhYXEh0XHRcdFx0XIh4ZFBkUGRQZFhkWJyAnIB0YHRcdFyIeFxMMDBYSGBMcFxwXFg0YDxoVFxMXEwoKERELERILEBQVEBYUFhQYGggLCAAALDYhAAsLDRIZGSUkCw4OERcLEAsSGRkZGRkZGRkZGQwNFxcXFC8aGhgcFxYbHQwPGxcjHR4ZHhoXGRwaJhwaGA4TDhYUDhYYExcWDhgYDAwWDSMYGBgXDxMPGBUgFxUUEAoQFwsNGRkZGQoXFSUSFRcQHhMTFxISDRkXCw8SEhUnKCgUGhoaGhobJhgXFxcXDAwMDB0dHh4eHh4XHhwcHBwaGRwWFhYWFhYjExYWFhYMDAwMGRgYGBgYGBcYGBgYGBUYFRoWGhYbFhgTGBMYExwcHRgXFhcWFxYXFhsYGxgbGB0YHhgMDAwMDAwPDBsWFw0XDRcNFw4dGB0YHRgeGB4YKCUaDxoPGg8XExcTFxMXExkPGRAcGBwYHBgcGBsYGhgUGBQYFAsZGxgXExkPDAoTFBQNDw8UFAAaIh8XIRQZFwwNDykqIRsZHBoZGhQeFyUXHR0bGyMdHhwZGBkZIxweGyYoHSMZGScaFhgWERkWHhMYGBYWHRgYFxgTEhUfFxkWISIYHxYUIBYWGBEUEwwODCIjGBYVFx0YHhgcFx8aHRgZGBQRFhIaGCYgFxMcFyAaHhYgGB8ZJR0qJCcfGBMZEhoWGhYdGCUcHRgcGBsYIxwjHAwbFh0YHRgeGRsWJR8MGhYaFiYjFxYcFhwWJR4XExgVHRgdGB4YHhgeGBkUGRUZFRkVGxYUESMfHBcXExwWJiAeGR0aGxYjIxkYHhAdJAoKChERERYWFCQ2Dg4IEhISEhkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYtKhoYHRcXFxcmEBcXFxcXHxoAFg8VDAoNERYPGhgWDhsYGxYZFRkUFxMYExoWFxYXFhcWFxMeGB4YHhgeGCMfGRQZFBkUGhYaFicgJyAdGR0YHhgjHxcTDAwWEhgTHBcdGBcNGQ8aFRcTFxMKChERCxISDBEVFREXFBYUGBoIDAgAAC03IgALCw0SGhomJQsPDxEYCxALEhoaGhoaGhoaGhoMDRgYGBQwGxsZHRcXGx0MDxwXJB4eGh4bGBocGyccGxgPEw8XFA4WGBMYFw4YGQwMFg0kGRgYGBATEBgVIBgWFREKERgLDRoaGhoKGBYlExYYEB8UFBgTEw4aGAsPExMWKCkpFBsbGxsbGycZFxcXFwwMDAweHh4eHh4eGB4cHBwcGxocFhYWFhYWIxMXFxcXDAwMDBkZGBgYGBgYGBgYGBgWGBYbFhsWGxYZExkTGRMdHR4ZFxcXFxcXFxcbGBsYGxgdGR8ZDAwMDAwMDwwcFhcNFw0XDRgOHhkeGR4ZHhgeGCkmGxAbEBsQGBMYExgTGBMaEBoQHBgcGBwYHBgcGBsYFRgVGBULGhsYGBMaEAwKFBQVDQ8QFBUAGiMfFyEVGhgMDQ8qKyIcGh0bGhsVHxcmGB4eHBwkHR4dGhkaGiQcHxsnKR4kGhooGhYYFxEaFx8TGRkWFx4YGBgYExMWIBgZFyEjGCAWFSEWFxkRFRMMDgwiIxkWFhgdGB4YHBggGx0YGhgVERcTGhgnIRgTHRggGh8XIBgfGiYeKyUnIBkTGhMbFhsWHhgmHR0ZHRgbGSQdJB0MHBcdGR0YHxobFyYgDBsWGxYnIxcXHBccFyYfGBMZFh4ZHhkeGB4YHhgaFRoWGhYaFhsXFREkIBwYGBMdFycgHxoeGxwWJCQaGB4QHiUKCgoSEhIXFxQkNw4OCBMTExMaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoXLisbGB0YGBgYJxEYGBgYGB8bABcPFQwKDREWEBsYFw4bGRsXGhYaFRgTGRMbFhcXFxcXFxgTHhgeGB4YHhgkIBoVGhUaFRoWGhYoISghHhkeGR4YJCAYEwwMFxIZEx0YHRkXDRoQGxUYFBgUCgoSEgsSEwwRFRYRFxUXFRkbCAwIAAAuOSMADAwOEhoaJyUMDw8RGAwRCxMaGhoaGhoaGhoaDA0YGBgVMRwbGh4YFxweDQ8dGCUeHxofHBgaHRwoHRsZDxQPFxQPFxkUGRcPGBkMDBcOJRkZGRkQExAZFiEYFhURChEYDA0aGhoaChgWJhMWGBEgFBQYExMOGhgMDxMTFigqKhUcHBwcHBwoGhgYGBgNDQ0NHx4fHx8fHxgfHR0dHRsaHRcXFxcXFyQUFxcXFwwMDAwaGRkZGRkZGBkZGRkZFhkWHBccFxwXGhQaFBoUHh0fGRgXGBcYFxgXHBgcGBwYHhkfGQ0MDQwNDA8MHRcYDhgOGA4YDx4ZHhkeGR8ZHxkqJxwQHBAcEBgTGBMYExgTGhAaER0ZHRkdGR0ZHRkbGRUZFRkVCxocGBgTGhAMChQVFQ0QEBUVABskIBgiFRsYDQ4PKywjHRodHBobFSAYJxgfHx0dJR4fHRoaGholHR8cKCofJRoaKRsXGRcRGhcgFBkZFxgeGBkYGRQTFiAYGhcjJBkgFxUiFxcZERUTDA4MIyQZFxYYHhkfGR0YIRseGRoZFREXExsZJyEYFB0YIRsgFyEZIBonHywmKCEaFBoTGxcbFx8ZJx4eGR4ZHBklHiUeDRwXHhkeGB8bHBcnIQwcFxwXKCQYFx0XHRcnIBgUGRYfGR8ZHxkfGR8ZGhUaFhoWGhYcFxURJSAdGBgUHRgoIR8aHhsdFyUlGhkfER4mCgoKEhISFxcVJTkODggTExMTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFy8sHBkeGBgYGCcRGBgYGBggGwAXDxYMCg4RFxAbGRcPHBkcFxoWGhUYFBoUHBcYFxgXGBcYFB8ZHxkfGR8ZJSAaFRoVGxUbFxsXKSIpIh8aHxkfGSUgGBQNDBcTGhQeGR4ZGA4aEBwWGBQYFAoKEhIMEhMMEhYWEhgVFxUZGwkMCAAALzojAAwMDhMbGycmDA8PEhkMEQwTGxsbGxsbGxsbGw0OGRkZFTIcHBoeGRgdHg0QHRgmHx8bHxwYGx0cKR4cGQ8UDxgVDxcZFBkYDxkaDQwXDiUaGRkZERQQGRYiGRYWEQsRGQwOGxsbGwsZFycUFxkRIBUVGRMTDhsZDBATFBcpKisVHBwcHBwcKRoZGRkZDQ0NDR8fHx8fHx8ZHx0dHR0cGx4XFxcXFxclFBgYGBgNDQ0NGhoZGRkZGRkZGRkZGRYZFhwXHBccFxoUGhQaFB4eHxoZGBkYGRgZGB0ZHRkdGR4aIBoNDQ0NDQ0QDB0XGA4YDhgOGQ8fGh8aHxofGR8ZKygcERwRHBEYFBgUGBQYFBsQGxEdGR0ZHRkdGR0ZHBkWGRYZFgwbHRkYFBsQDAoVFRYNEBAVFgAcJSEZIxYbGA0OECwtJB0bHhwbHBYgGScYHx8dHSYeHx4bGhsbJh4gHCgrHyUbGyobFxkYEhsYIRQaGhcYHxkZGRkUFBYhGRoYIyUZIRcWIxcYGhIVFA0PDCQlGhcWGR8ZHxkeGSEcHxkbGRYSGBMbGSgiGBQeGSIcIRgiGSEbKB8tJykhGhQbFBwXHBcfGSceHxoeGRwaJR4lHg0dGB8aHxkgGxwYKCEMHBccFyklGRgeGB4YJyEYFBoXHxofGh8ZHxkfGRsWGxYbFhsWHBgWEiUhHhkZFB4YKSIgGx8cHRcmJRsZIBEfJwoKChMTExgYFSY6Dg4JExMTExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxgwLRwZHxkZGRkoERkZGRkZIRwAGBAWDQoOEhcQHBkYDxwaHBgbFhsWGBQaFBwXGRgZGBkYGBQfGR8ZHxkfGSUhGxYbFhsVGxcbFyojKiMfGh8aHxklIRkUDQ0YExoUHhkeGhgOGxAcFhgVGBUKChMTDBMTDRIWFxIYFhgWGhwJDAkAADA7JAAMDA4TGxsoJwwQEBIZDBEMFBsbGxsbGxsbGxsNDhkZGRYzHRwbHxkYHR8NEB4ZJiAgGyAdGRseHSkeHBoQFBAYFQ8YGhUaGA8ZGg0MGA4nGhoaGhEUERoXIxkXFhILEhkMDhsbGxsLGRcoFBcZESEVFRkUFA8bGQwQFBQXKisrFh0dHR0dHSkbGRkZGQ0NDQ0gICAgICAgGSAeHh4eHBseGBgYGBgYJhUYGBgYDQ0NDRsaGhoaGhoZGhoaGhoXGhcdGB0YHRgbFRsVGxUfHyAaGRgZGBkYGRgdGR0ZHRkfGiEaDQ0ODQ0NEAweGBkOGQ4ZDhkPIBogGiAaIBogGiwoHREdER0RGRQZFBkUGRQbERsRHhoeGh4aHhoeGhwaFhoWGhYMGx0ZGRQbEQwLFRYWDhARFhYAHCUhGSQWHBkNDhAtLiQeGx8dGxwWIRkoGSAgHh4mHyAfGxsbGyceIR0pLCAmGxwrHBgaGBIbGCEVGhoXGCAZGhkaFRQXIhkbGCQmGSEXFiMYGBoSFhQNDwwkJhoXFxkfGiAaHhkiHB8aGxoWEhgUHBopIxkVHhkiHCEYIxohGykgLicqIhsVGxQcGBwYIBooHx8aHxodGiYfJh8NHRgfGh8ZIRwdGCkiDB0YHRgpJhkYHhgeGCghGRUaFyAaIBogGiAaIBocFhsXGxcbFx0YFhImIR4ZGRUeGCkjIRwgHB4YJicbGiARICcLCwsTExMYGBYnOw8PCRQUFBQbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsYMS4dGh8ZGRkZKRIZGRkZGSEcABgQFw0LDhIYERwaGA8dGh0YGxccFhkVGxUdGBkYGRgZGBkVIBogGiAaIBomIRwWHBYcFhwYHBgrIysjIBsgGiAaJiEZFQ0NGBMbFR8aHxoZDhsRHRcZFRkVCwsTEwwTFA0SFxcSGRYYFhscCQwJAAAxPCUADAwOFBwcKSgMEBATGgwSDBQcHBwcHBwcHBwcDQ4aGhoWNB4dGyAZGR4gDhAeGScgIRwhHhocHx4qHx0aEBUQGRYPGBoVGhkQGhsNDRgOJxsaGhoRFREaFyMaFxYSCxIaDA4cHBwcCxoXKRUYGhIiFhUaFBQPHBoMEBQVGCssLBYeHh4eHh4qGxkZGRkODg4OISAhISEhIRohHx8fHx0cHxgYGBgYGCYVGRkZGQ0NDQ0cGxoaGhoaGhoaGhoaFxoXHhgeGB4YGxUbFRsVIB8hGxkZGRkZGRkZHhoeGh4aIBshGw4NDg0ODRANHhgZDhkOGQ4aECAbIBsgGyEaIRotKR4RHhEeERoVGhUaFRoVHBEcEh8aHxofGh8aHxodGhYaFhoWDBweGhoVHBENCxYWFw4RERYWAB0mIhkkFhwaDg8QLi8lHhwfHhwdFiIZKRohIR4fJyAhHxwbHBwnHyEeKi0hJxwcLBwYGhkSHBkiFRsbGBkhGhoaGhUUFyIaGxklJhoiGBYkGRkbEhYVDRANJSYbGBcaIBohGh8aIx0gGhwaFhIZFB0aKiQaFR8aIx0iGSMaIhwqIS8oKyMbFRwUHRgdGCEbKSAgGyAaHhsnICcgDh4ZIBsgGiEcHhkpIw0eGB4YKiYZGR8ZHxkpIhoVGxghGyEbIRohGiEaHBYcFxwXHBceGRYSJyIfGhoVHxkqIyIcIB0eGCcnHBohEiAoCwsLExMTGRkWKDwPDwkUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGTIuHRogGhoaGioSGhoaGhoiHQAZEBcNCw4SGBEdGhkQHhseGRwXHBYaFRsVHhgZGRkZGRkaFSEaIRohGiEaJyIcFhwWHBYcGRwZLCQsJCEcIRshGiciGhUODRkUGxUgGiAbGQ4cER4XGhUaFQsLExMMFBQNExcYExkXGRcbHQkNCQAAMj4mAA0NDxQcHCopDRAQExoNEgwUHBwcHBwcHBwcHA0PGhoaFzUeHhwgGhkeIQ4RHxooISIdIh4bHB8eKyAeGxAVEBkWEBkbFhsZEBsbDQ0ZDygbGxsbEhURGxgkGhgXEwsTGg0PHBwcHAsbGCoVGBoSIxYWGhUVDxwaDREVFRgsLS0XHh4eHh4eKxwaGhoaDg4ODiEhIiIiIiIaIh8fHx8eHSAZGRkZGRknFhkZGRkNDQ0NHBsbGxsbGxobGxsbGxgbGB4ZHhkeGBwWHBYcFiAgIRwaGRoZGhkaGR4bHhseGyEbIhwODQ4ODg0RDR8ZGg8aDxoPGhAhGyEbIRsiGyIbLioeEh4SHhIbFRsVGxUbFRwRHBIfGx8bHxsfGx8bHhsXGxcbFwwcHhsbFRwRDQsWFhcOERIXFwAdJyMaJRcdGw4PES8wJh8cIB4dHhciGioaISEfHyghIiAdHBwcKCAiHisuISgcHS0dGRsZExwZIxYbGxgaIRsbGxsWFRgjGhwZJicbIxkXJRkZHBMXFQ0QDSYnHBgYGiEbIhsfGiQeIRsdGxcTGRUdGyskGhYgGiQdIxkkGyMcKyEwKSwjHBYcFR4ZHhkhGyogIRsgGx4bKCAoIA4fGSEcIRsiHR4ZKiQNHhkeGSsnGhkgGSAZKiMaFhsYIRshGyIbIhsiGx0XHBgcGBwYHhkXEygjIBoaFiAaKyQiHSEeHxkoKB0bIhIhKQsLCxQUFBkZFyg+Dw8JFRUVFRwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBkzLx4bIRoaGhorEhoaGhoaIx4AGREYDQsPExkSHhsZEB4cHhkcGB0XGhYcFh4ZGhkaGRoZGhYiGyIbIhsiGygjHRcdFx0XHRkdGS0lLSUhHCEbIhsoIxoWDg0ZFBwWIBshGxoPHBEeGBoWGhYLCxQUDRQVDRMYGBMaFxkXHB4JDQkAADM/JgANDQ8VHR0rKg0RERMbDRINFR0dHR0dHR0dHR0ODxsbGxc2Hx4dIRoaHyEPESAaKSIiHSIfGx0gHywgHhsRFhEaFxAZGxYbGhAbHA4OGQ8pHBscGxIWEhsYJRsYFxMMExsNDx0dHR0MGxgqFRkbEiMXFhsVFRAdGw0RFRUZLS4uFx8fHx8fHywdGhoaGg8PDw8iIiIiIiIiGyIgICAgHh0gGRkZGRkZKBYaGhoaDg4ODh0cGxsbGxsbGxsbGxsYHBgfGR8ZHxkdFh0WHRYhISIcGhoaGhoaGhofGx8bHxshHCMcDw4PDg8OEQ4gGRoPGg8aDxsQIhwiHCIcIhsiGy8rHxIfEh8SGxYbFhsWGxYdEh0SIBsgGyAbIBsgGx4bFxsXGxcNHR8bGxYdEg4LFhcYDxESFxcAHigkGiYXHRsPDxEwMScgHSAfHR4XIxorGyIiICApISIgHR0dHSkgIx8rLiIpHR0uHhkbGhMdGiMWHBwZGiIbGxscFhUYJBsdGiYoGyQZFyUaGhwTFxYOEA4nKBwZGBshGyIbIBskHiEbHRwXExoVHhssJRsWIBslHiMaJRwkHSsiMSotJB0WHRUeGR4ZIhwrISEcIRsfHCkhKSEPHxohHCEbIx0fGiskDR8ZHxksKBoaIBogGisjGxYcGSIcIhwiGyIbIhsdFx0YHRgdGB8aFxMpJCAbGxYgGiwlIx0iHiAZKSkdHCISIioLCwsUFBQaGhcpPxAQCRUVFRUdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0aNDAfGyEbGxsbLBMbGxsbGyQeABoRGA4LDxMZEh4bGhAfHB8aHRgdFxsWHRYfGRoaGhoaGhsWIhsiGyIbIhspJB0XHRcdFx4aHhouJS4lIh0iHCIbKSQbFg8OGhUdFiEbIRwaDx0SHxgbFhsWCwsUFA0VFQ4UGBkUGhgaGBweCg0JAAA0QCcADQ0PFR0dLCoNEREUGw0TDRUdHR0dHR0dHR0dDg8bGxsYNx8fHSIbGiAiDxEgGyoiIx4jHxweIR8tIR8cERYRGhcQGhwXHBoRHBwODhoPKhwcHBwSFhIcGSUbGRgTDBMbDQ8dHR0dDBwZKxYZGxMkFxcbFRUQHhwNERUWGS4vLxgfHx8fHx8tHRsbGxsPDw8PIyIjIyMjIxsjISEhIR8eIRoaGhoaGikXGhoaGg4ODg4dHBwcHBwcGxwcHBwcGRwZHxofGh8aHRcdFx0XIiEjHRsaGxobGhsaIBwgHCAcIhwkHQ8ODw4PDhEOIBobDxsPGw8bESIcIhwiHCMcIxwwLB8SHxIfEhwWHBYcFhwWHhIeEyEcIRwhHCEcIRwfHBgcGBwYDR0gHBwWHhIODBcXGA8SEhgYAB4oJBsmGB4cDw8RMTInIB4hHx4fGCQbLBsjIyAgKiIjIR4dHh4qISMgLS8jKh4eLx4aHBoUHhokFhwcGRsjHBwcHBcWGSQbHRonKRwlGRgmGhodFBgWDhEOKCkdGRkbIhwjHCEbJR8iHB4cGBQaFh4cLSYbFiEbJR8kGiUcJB0sIzIrLiUdFx4WHxofGiMcLCIiHCIcIBwpIikiDyAaIh0iHCQeIBosJQ4fGh8aLSkbGiEaIRosJBsWHRkjHCMcIxwjHCMcHhgeGR4ZHhkgGhgUKiUhGxsWIRstJSQeIh8gGioqHhwjEyIrDAwMFRUVGhoYKkAQEAoVFRUVHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dGjUxHxwiGxsbGy0TGxsbGxskHwAaERkODA8UGRIfHBoRIB0gGh4ZHhgbFh0XHxobGhsaGxobFiMcIxwjHCMcKiUeGB4YHhgeGh4aLyYvJiMdIxwjHColGxYPDhoVHRciHCIcGw8eEh8ZGxcbFwwMFRUNFRUOFBkZFBsYGhgdHwoOCgAANUEoAA0NEBUeHi0rDRERFBwNEw0WHh4eHh4eHh4eHg4PHBwcGDggHx4iGxogIg8RIRsqIiQeJCAcHiEgLiIfHREWERsYERocFx0bERwdDg4aECsdHB0cExYTHRkmHBkYFAwUHA0QHh4eHgwcGSwWGhwTJRcXHBYWEB4cDRIWFhovMDAYICAgICAgLh4bGxsbDw8PDyMiJCQkJCQcJCEhISEfHiEaGhoaGhoqFxsbGxsODg4OHh0cHBwcHBwcHR0dHRkdGSAaIBogGh4XHhceFyIiIx0bGxsbGxsbGyAcIBwgHCIdJB0PDg8ODw4RDiEaGxAbEBsQHBEiHSIdIh0kHCQcMS0gEyATIBMcFhwWHBYcFh4THhMhHSEdIR0hHSEdHx0YHRgdGA0eIBwcFh4TDgwXGBgPEhMYGAAfKSUbJxgfHA8PETIzKCEeIiAeHxglGywcIyMhISoiJCIeHh4eKyIkIC0wIyoeHjAfGhwbFB4bJRcdHRobIxwcHB0XFhklHB4bKCodJRoYJxsbHRQYFg4RDigqHRoZHCMdJBwhHCYfIx0eHRgUGxYfHC0nHBciHCYfJRsmHSUeLSMzLC4mHhceFh8aHxojHSwiIx0iHCAdKiIqIg8gGyMdIxwkHyAbLSYOIBogGi4qGxshGyEbLCUcFx0aIx0jHSQcJBwkHB4YHhkeGR4ZIBsYFColIhwcFyIbLiYkHiMfIRoqKx4dJBMjKwwMDBUVFRsbGCtBEBAKFhYWFh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHhs2MiAdIxwcHBwtFBwcHBwcJR8AGxIZDgwQFBoTHxwaESAdIBseGR4YHBceFyAaGxsbGxsbHBckHCQcJBwkHColHhgeGB8YHxsfGzAnMCcjHiMdJBwqJRwXDw4aFh4XIh0iHRsQHhMgGRwXHBcMDBUVDRUWDhQZGhQbGRsYHR8KDgoAADZDKQAODhAWHx8tLA4SEhQcDhMNFh8fHx8fHx8fHx8PEBwcHBk5ISAeIxwbISMPEiEcKyMkHyQhHR8iIS8iIB0SFxIbGBEbHRcdGxEdHQ8OGxArHR0dHRMXEx0aJxwaGRQMFBwOEB8fHx8MHRotFxocEyUYGBwWFhAfHQ4SFhcaMDExGSEhISEhIS8eHBwcHA8PDw8kIyQkJCQkHCQiIiIiIB8iGxsbGxsbKhcbGxsbDw8PDx4dHR0dHR0cHR0dHR0aHRohGyEbIRseFx4XHhcjIyQeHBscGxwbHBshHSEdIR0jHSUeDw8PDw8PEg4hGxwQHBAcEBwRIx0jHSMdJB0kHTEtIRMhEyETHRcdFx0XHRcfEx8TIh0iHSIdIh0iHSAdGR0ZHRkNHyEdHRcfEw4MGBgZDxITGBkAIComHCgZHx0PEBIyNCkhHyIhHyAZJRwtHCQkISIrIyQiHx4fHysiJSEvMSQrHx8wHxsdGxQfGyUXHR0aHCQdHR0dFxcaJhweGykqHSYaGSgbGx4UGRcPEQ4pKh4aGh0jHSQdIhwmICMdHx0ZFBsWHx0uJxwXIhwnICUbJx0mHy4kNCwvJh4XHxcgGyAbJB0tIyMdIx0hHSsjKyMPIRsjHiMdJR8hGy4mDiEbIRsvKhwbIhsiGy0lHBceGiQdJB0kHSQdJB0fGR8aHxofGiEbGRQrJiIcHBciHC8nJR8kICEbKysfHSQTJCwMDAwVFRUbGxgsQxERChYWFhYfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8bNzMgHSMcHBwcLhQcHBwcHCYgABsSGg4MEBQaEyAdGxEhHiEbHxofGRwXHhchGxwbHBscGxwXJB0kHSQdJB0rJh8ZHxkfGR8bHxswKDAoJB4kHSQdKyYcFw8PGxYeFyMdIx0cEB8TIRocGBwYDAwVFQ4WFg4VGhoVHBkbGR4gCg4KAAA3RCkADg4QFh8fLi0OEhIVHQ4UDhYfHx8fHx8fHx8fDxAdHR0ZOiEhHyMdHCIkEBIiHCwkJR8lIR0fIiEvIyEeEhcSHBgRGx0YHhwSHR4PDxsQLB4eHh0TFxMeGigdGhkUDBQdDhAfHx8fDB0aLhcbHRQmGBgdFxcRHx0OEhcXGzAyMhkhISEhISEvHx0dHR0QEBAQJSQlJSUlJR0lIiIiIiEfIxsbGxsbGysYHBwcHA8PDw8fHh4eHh4eHR0eHh4eGh4aIRshGyEbHxgfGB8YIyMlHh0cHRwdHB0cIh0iHSIdJB4mHxAPEA8QDxIPIhscEBwQHBAdEiQeJB4kHiUeJR4yLiETIRMhEx0XHRcdFx0XHxMfFCIeIh4iHiIeIh4hHhkeGR4ZDh8iHR0XHxMPDBgZGRATExkZACArJh0pGSAdEBASMzUqIh8jIR8hGSYdLh0lJSIiLCQlIx8fHx8sIyYhLzIlLB8gMSAbHhwVHxwmGB4eGxwlHh4dHhgXGicdHxwpKx4mGxkoHBweFRkXDxEPKiseGxodJB4lHiMdJyAkHh8eGRUcFyAdLygdGCMdJyAmHCgeJh8vJTUtMCcfGB8XIRshGyUeLiQkHiMdIR4sJCwkECIcJB4kHiYgIRwvJw4hGyEbLysdHCMcIxwuJh0YHhslHiUeJR4lHiUeIBkfGh8aHxohHBkVLCYjHR0YIxwvKCYgJCAiGywsHx4lFCQtDAwMFhYWHBwZLUQREQoXFxcXHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHDg0IR4kHR0dHS8UHR0dHR0mIAAcEhoPDBAVGxMhHRwSIR8hHB8aIBkdGB8YIRsdHB0cHRwdGCUeJR4lHiUeLCYgGSAZIBkgHCAcMSgxKCUfJR4lHiwmHRgQDxwWHxgjHiQeHBAfEyEaHRgdGAwMFhYOFhcPFRobFRwZHBkeIQoOCgAAOEUqAA4OEBcgIC8uDhISFR4OFA4XICAgICAgICAgIA8QHh4eGTsiIR8kHRwiJBATIx0tJSUgJSIeICMiMCMhHhIYEhwZEhweGB4cEh4fDw8cEC0fHh4eFBgUHhsoHRsaFQ0VHg4QICAgIA0eGy8YGx4UJxkYHhcXESAeDhMXFxsxMzMZIiIiIiIiMB8dHR0dEBAQECUlJSUlJSUeJSMjIyMhICMcHBwcHBwsGBwcHBwPDw8PIB8eHh4eHh4eHh4eHhseGyIcIhwiHB8YHxgfGCQkJR8dHB0cHRwdHCIeIh4iHiQfJh8QDxAPEA8TDyMcHRAdEB0QHRIlHyUfJR8lHiUeMy8iFCIUIhQeGB4YHhgeGCAUIBQjHiMeIx4jHiMeIR4aHhoeGg4gIh4eGCAUDwwZGRoQExQZGgAhLCcdKRogHhAREzQ2KiMgIyIgIRonHS8dJSUjIy0kJSQgHyAgLSMmIjAzJS0gIDIgHB4cFSAcJxgfHxsdJR4eHh4YFxsnHR8cKiweJxsaKRwcHxUaGA8SDyssHxsbHiQeJR4jHighJB4gHhoVHBchHjApHRgkHighJxwoHicgMCU1LjEoHxggFyEcIRwlHi8kJB8kHiIfLCQsJBAiHCQfJB4mICIcLygPIhwiHDAsHRwjHCMcLycdGB8bJR8lHyUeJR4lHiAaIBsgGyAbIhwaFS0nIx0dGCQdMCgmICUhIxwtLSAeJhQlLgwMDBYWFh0dGS1FEREKFxcXFyAgICAgICAgICAgICAgICAgICAgICAgICAgIBw6NSIeJR4eHh4wFR4eHh4eJyEAHBMbDwwRFRsUIR4cEiIfIhwgGyAaHRgfGCIcHRwdHB0cHRglHiUeJR4lHi0nIBogGiAaIBwgHDIpMiklICUfJR4tJx0YEA8cFx8YJB4kHx0QIBQiGx0YHRgMDBYWDhcXDxUbGxUdGhwaHyELDwoAAAAaADIAAAK8ArwAAwAPABoAIgAqAEUAXgBoAHgAlACdAKUAtgDBAMkA4gDsAP0BFwEhASkBOgFIAVEBYgFnACewCitYsgIDAytZALAARViwAC8bsQAUPlmwAEVYsAMvG7EDCD5ZMDETIREhAQcnBxcHFzcXNyc3ATM1MzI2NTQmKwEXMhUUBisBNTcjFTMVMzUzFxQjIicHMhYzMjU0JjU0MzIXNyYjIhUUHgI3NjMyHQEiJiMiFRQzMjcXMyY9ATQjIgYHFyI1NDMyFjMVBhc1NCMiBycjFTM1NjMyHQE3FjMyNTQmJyY1NDMyFzcmIyIVFBYXMhUUIyInNxQzMjU0IyIGFzQzMhUUIyI3BiMiNTQ7ATcmIyIVFDMyNxczNTMyNjU0JisBFzIVFAYrATUXNjMyHQEiJiMiFRQzMjcXMyY9ATQjIgYHFyI1NDMyFjMVBjcmIyIHIycjFTM1NDsBMhQ7ATYzMh0BIiYjIhUUMzI3MxczJj0BNCMiBgcXIjU0MzIWMxUGNyMVMxUzNTMXIxcGIycHFjMyPwEjBxUjJxczNRYzMjU0IyIHIycjFzIVFCMiJzU0FwYjIiczNTQmIyIVFDMyNjcnMgcjNDICiv12AgjDwzLFxTLDwzLGxv4VCAQGCgsGCwwIBQQDNB8MBwwhBwcCAwIGBQ4SBgUEAgYFDgYGBg8EBQUBAgIMCAYDAgYBCgQHAgoEBQICAQIrCQcDAgUHAgQFDQQGCwUDBQMEBAIEBgoGAgUDBQQnFBQUCAwGDg4ODhQCAgQEAwIEAwkJBQIiCAQGCgsGCwwIBQQDGQQFBQECAg0JBgMCBgEKBAcCCgQFAgIBAiIBAwQCAQEGCAYBAQEGBgMFAQICDQkHAgEBBgEKBAYCCQQFAgIBAiYfCwgMCAgMAQQBAgIDBQUKCAUBARIIAQQOCwUEAQEFDgUHAgItAgUHARMHBQ4OAwYCCwYBCwK8/UQCbNnZMtzcMtnZMtzc/eEMBQcIBAYFBQELBgYeHhQEAgcCDAkCBQMCBwILBQQDAggCBAIBCggFBAIFCwoCARQEBAEDBAUQDAUEGxEEBg8BAgkFAgICAQICBgIJBQMBAwICCBUVFAsJDw8PCwEFBAQCCgsCBgwFBwgEBgUFAQsKAgQCAQoIBQQCBQsKAgEUBAQBAwQWAQUEGxEEAQIEAgEKCAUEAgULCgIBFAQEAQMEHwYeHgMbBQEGAQ0ZDwUFFwwCDw4EAwUICQIKBQ8CBgYGBQ8OAgEUBgYAAgBW//UA+AK8AAUAEQDksAorWLsAAQAFAAAABCuyIAABXbIAAAFxsmAAAV2yAAEBcbJgAQFdsiABAV2yAwEAERI5sgQAARESObIGAAEREjmwBi9BEQCPAAYAnwAGAK8ABgC/AAYAzwAGAN8ABgDvAAYA/wAGAAhxQQ0ADwAGAB8ABgAvAAYAPwAGAE8ABgBfAAYABnKwDNyykAwBcbIQDAFdtnAMgAyQDANdtjAMQAxQDANxstAMAV1ZALAARViwAC8bsQAUPlmwAEVYsA8vG7EPCD5ZsAncslAJAXGyrwkBcbSACZAJAl2yEAkBXbAE3DAxEzMRByMnAzQ2MzIWFRQGIyImZIYaUhoOLCQmLCwmJCwCvP63o6P+zyMpKSMjKir//wBaAeQBYAK8ACYACgAAAQcACgCUAAAAKLAKK1i0EAAgAAJdtNAA4AACXbZQAGAAcAADXbIPBAFdsiAEAV0wMVkAAAACABMAMwIbAokAGwAfAeWwCitYshsDAyuyuBsBXbIoGwFdslgbAXKy6BsBcbJ4GwFxsggbAXGymBsBcrLYGwFdspAbAV2yQBsBXbAbELAQ0LIAGxAREjmyKAMBXbK4AwFdsggDAXGy6AMBcbI/AwFysngDAXGy2AMBXbKYAwFdspgDAXKyWAMBcrADELAC3LLwAgFdsgACAXGyUAIBXbADELAM0LAN3LLwDQFdsgANAXGyAQINERI5sgQDDBESObAEELAF0LAFL7IHAwwREjmyCAwDERI5sAgQsAnQsAkvsgsMAxESObIODQIREjmyDxAbERI5sBAQsBHcsvARAV2yABEBcbAbELAa3LLwGgFdsgAaAXGyUBoBXbISERoREjmwEhCwE9CwEy+yFREaERI5shYaERESObAWELAX0LAXL7IZGhEREjmyHAINERI5sh0bEBESObIeEBsREjmyHw0CERI5WQCwAi+yDwIBXbAN3LIODQIREjmwDi+ybw4BcrSfDq8OAl2wHNyyHxwBcrJ/HAFxshAcAXG0cByAHAJdsAHcsh8BAXGysAEBcbAE0LAcELAH0LAOELAf3LIfHwFxsrAfAXGwCNCwDhCwC9CwDRCwENCwDhCwEtCwHxCwFdCwHBCwFtCwARCwGdCwAhCwG9AwMSUjByM3IzczNyM3MzczBzM3MwczByMHMwcjByMnMzcjASFZJGskShZLGUgWSSNqIlkjaiJIGUYZRRhEJGseWRlZzZqaYWphkJCQkGFqYZr7agADAEX/nAIEAyAAJQAsADMDCLAKK1iyIA0DK7IADQFdsrANAV2yIA0BXbANELAD0LADL7IgIAFdsmAgAV2ysCABXbIvIAFyshAgAXGygCABXbJAIAFdsgAgAV2y8CABcbIlDSAREjmwJS+wB9CwJRCwENCwJRCwJNyyMCQBcrAT0LAgELAW0LAWL7AkELAb0LAgELEmBPSwBxCwKtywDRCxLQT0sBsQsDDcWQCwAEVYsBMvG7ETFD5ZsABFWLAALxuxAAg+WbEHAvSyKQATERI5smgpAXGwKRCwCNCwExCwENCwExCwEtywExCxGgL0shsTABESObJ1GwFxsoUbAV2y1RsBcbYVGyUbNRsDckEJAFUAGwBlABsAdQAbAIUAGwAEcrL1GwFdtpQbpBu0GwNxtOQb9BsCcbAAELAj0LAAELAl3LAHELAq0LAbELAw0LKGMAFxtNYw5jACXbI2MAFxsBoQsDHQMDEBsAorWLKYBAFdtAgKGAoCcbToCvgKAnG0KAs4CwJdtEgLWAsCcbJ4CwFxsikLAXGyiQ4BXbSpDrkOAnG0KA84DwJytKcXtxcCXbTWHOYcAl201h3mHQJdsjYdAXFBCQAHAB0AFwAdACcAHQA3AB0ABF20Bx0XHQJxtFUeZR4CcrKWHgFytCceNx4CXbJWIQFdsnYhAXGyliEBcrQHIRchAnGyhyEBcbQHIhciAl22ByIXIiciA3GyyCgBcbJpKAFxtNYv5i8CXbIXLwFdWQCylQQBXbZmBHYEhgQDXbQoCjgKAl20CAoYCgJxtOgK+AoCcbTZCukKAl20KAs4CwJdtEgLWAsCcbJ4CwFxsikLAXGyhw4BXbLHDgFxtCYPNg8CcraZF6kXuRcDXbTXHOccAl201h3mHQJdtAYdFh0CcUEJAAcAHQAXAB0AJwAdADcAHQAEXbI3HQFxtFYeZh4CcrKWHgFytCceNx4CXbJYIQFdsnghAXG0CSEZIQJxsokhAXGymiEBcrIoIgFxtAkiGSICXbJpKAFxssooAXGyySkBcbQHLxcvAl201y/nLwJdFy4BJzceARc1LgM1NDY3NTMVHgEXBy4BJxUeAxUUBgcVIxM0JicVPgEDFBYXNQ4B7jlWGCcSQS0fPTAdW05oLEIcJBE0IR8/MR9dUWiUMyQsK7svIy8jDQIUDXELFATNDiIwQy5WXw5bVwMSDG8IEAS7DiMwQS1cZw9dASAgKRGyBS4Bdh4oEaICKv//ADP/8gMoAsoAJgB8EQAAJwB8Aaf+jQEHAs8BTwAAAF+wCitYsB8vsk8fAV2wKdywHxCwM9ywKRCwONyysEEBXVkAsABFWLAFLxuxBRQ+WbAARViwLi8bsS4IPlmwBRCwD9ywFtywBRCwHNywLhCwJNywLhCwNdywJBCwO9wwMQAAAAADAFz/8gLtAsoALwA7AEYCXbAKK1iyEgADK7KPAAFdsAAQsAjQsAgvst8IAV2yTggBXbAl0LL6JQFdsmglAV2yBQglERI5tAkFGQUCXbLAEgFxssASAV2yUBIBcbIQEgFdsAgQsTwE9LAk0LInJAFdskYkAV2yFTwkERI5soUVAV2yGCQ8ERI5siEkPBESObIXIQFdsCEQsBzQsBwvsBvQsiglCBESObIwJQgREjmyaTABXbQIMBgwAl2yMwglERI5sAAQsTYE9LI+PCQREjmwEhCwQdxZALAARViwDS8bsQ0UPlmwAEVYsCsvG7ErCD5ZsABFWLAlLxuxJQg+WbI+DSsREjmyMysNERI5sgU+MxESObIVPjMREjmyGA0rERI5shsNKxESObAbL7IoKw0REjmyIRgoERI5shghAV2wJRCwJNyyMBgoERI5tAcwFzACXbArELE5AfSwDRCwRNyyH0QBcbJgRAFdsrBEAXEwMQGwCitYQQkACAAKABgACgAoAAoAOAAKAARdtAgLGAsCXbSYC6gLAnG0Bg8WDwJdtCcPNw8CXbJXDwFdQQkABwAQABcAEAAnABAANwAQAARdsvcQAV2yBxABcbLXEAFxskcTAV20RxRXFAJdsjcUAXGyhxYBXbTZLukuAl2yei4BcrL4MAFdsmc4AXFZALQHChcKAl20lgumCwJxtAcLFwsCXUEJAAcADwAXAA8AJwAPADcADwAEXUEJAAcAEAAXABAAJwAQADcAEAAEXbL3EAFdsgcQAXGy1xABcbJIEwFdskgUAV2yWRQBXbI5FAFxsnguAXKy9jABXbJmOAFxNzQ+AjcuATU0PgIzMh4CFRQGBx4BFz4BNxcOAwceARcHLgEnDgEjIi4CJS4BJw4BFRQWMzI2AxQXPgE1NCYjIgZcGS0+JBkgEylCLy5BKBI6RiNGKxclDl4GFRkaCyAwGUUcOx0kbE80W0MnAYozVB8wMks9KEaHJCcjGx4bGsImRTw0FCFEJhkzKRkWJC4YKVkpNlosGUsnMhIrLCcOHSEOYA0rHCEzHDZNBDVpLyVFKzM6IQG1KjAZLBQYHBwAAQBaAeQAzAK8AAMAO7AKK1iyAQADK7L/AAFxsgAAAV2yAAEBXVkAsABFWLAALxuxABQ+WbAD3LLgAwFxsgADAXGyIAMBXTAxEzMHI1pyJE4CvNgAAQA8/yQBPALIABUAxbAKK1i7ABAABAAFAAQrtAAFEAUCXbL/BQFdsi8FAXGyjwUBXbJABQFxtDAFQAUCXbAFELAL3LAK3LAA0LAAL7JAEAFxsi8QAXGy/xABXbKPEAFdtAAQEBACXbQwEEAQAl2wCxCwFdCwFS9ZALAAL7AARViwCi8bsQoUPlmyIAABXbKwAAFdsvcFAV2wC9CwABCwFdAwMQGwCitYshgBAV2yBwwBXbIHEwFdsmgUAV1ZALIYAQFdsggMAV2yBxMBXbJoFAFdFy4DNTQ+AjcXDgMVFB4CF+MuQCcSEihBL1QjLx0NDh4wItwwc3l7ODd6e3YzNi9ma2wzMGxrZioAAQAL/yQBCwLIABUAp7AKK1i7AAUABAAQAAQrsqAFAXGybwUBcrJPBQFyshAFAV2yMAUBcbJABQFdsAUQsBXcsADcsvAAAXGwCtCwCi+wFRCwC9CwCy+yQBABXbJPEAFysm8QAXKyEBABXbIwEAFxsqAQAXFZALAKL7AARViwAC8bsQAUPlmyIAoBXbKwCgFdsAoQsAvQsAAQsBXQMDEBsAorWLIXAQFdsggUAV1ZALIIFAFdEx4DFw4DByc+AzcuAydhMEAnEgEBEihBK1kmMBwLAQEPHi8fAsgwc3l7OjV6e3YzODFnaWktNmtrZS4AAQAoAbEBUgLbAB0B7LAKK1iyChgDK7I/GAFxsiAYAV20UBhgGAJdsnAKAXG0PwpPCgJdsiAKAV20EAogCgJxtqAKsArACgNdshYYChESObIMChgREjmyAhYMERI5sgcWDBESObIRDBYREjmyGxYMERI5WQCwAC+wBNCwBC+wABCwE9yyrxMBXbLQEwFdsqATAXGyGwATERI5sBsQsAfQshYAExESObAWELAM0LATELAP0LAPL7IREwAREjkwMQGwCitYtLgAyAACXbKpAAFdtqgBuAHIAQNdsggDAV20CAQYBAJdslkEAXG0twXHBQJdsggFAV2yGQUBXbIIBgFdssUOAV2ytw4BXbSHDpcOAnGyGA4BXbLYDgFxsgkOAV2yqBMBXbLIEwFdtKgUuBQCXbI4FAFxssgUAXG0iRSZFAJxssoUAV20txnHGQJdsqcaAV20uBrIGgJdtLkcyRwCXbapHbkdyR0DXVkAsjcAAXG2qAC4AMgAA12yqAEBXbS4BcgFAl20tgjGCAJdtLUJxQkCXbSIDpgOAnGyphMBXbLIEwFdsqcUAV2yOBQBcbSIFJgUAnGyyBQBcbKmFwFdsqcYAV20thnGGQJdsqcZAV2yVxkBcbS2GsYaAl2ypxoBXbJXGgFxtLgcyBwCXbS4HcgdAl2yqR0BXRMfAT8BFw8BNzMVIycfAQcvAQ8BJz8BByM1MxcvAZAcDw8cQB4wQTk3PTIZQBsUDR1AHS03Ozw7MxwC2y47NzEjNCsQSRAvKiUuQDoxJTElEEoRLDIAAQArAG8B5QIzAAsA87AKK1iyBwoDK7JQCgFdssAKAV2ygAoBcbJvCgFysuAKAV2ykAoBXbIwCgFdsiAKAXGwChCwAdCyUAcBXbLgBwFdsoAHAXGyIAcBcbKQBwFdsjAHAV2ycAcBcrAHELAE0LAHELAG3LLwBgFxslAGAXKycAYBXbIQBgFdsAoQsAvcsn8LAV2yHwsBXVkAsAovsq8KAV2xAQH0tO8B/wECcbAC3LQAAhACAl2ywAIBXbRgAnACAl2yIAIBcbKAAgFxsAEQsATQsAoQsAfQsAoQsAncss8JAV2yjwkBcbIvCQFxsn8JAV20DwkfCQJdsm0JAV0wMRMzNTMVMxUjFSM1IyuidaOjdaIBiqmpcKurAAEAJf9sANIAigARAZmwCitYsgYAAyuy8AABcbSPAJ8AAnGybwABXbQwAEAAAl2ysAABcbJwAAFxtnAGgAaQBgNdsnAGAXGy8AYBcbRABlAGAnKysAYBcbTABtAGAl20MAZABgJdsgAGAV2yDAAGERI5sAwvsAvQspYLAXGyDwAGERI5QQ0ASgAPAFoADwBqAA8AegAPAIoADwCaAA8ABnG0Cw8bDwJxtEoPWg8CcrTpD/kPAl20KQ85DwJxWQCwAEVYsA8vG7EPCD5ZsAPcsnADAXGykAMBXbJQAwFysA8QsAvcsp8LAV2yfwsBcbJACwFytAALEAsCXbAM3LIvDAFxMDEBsAorWLToAfgBAl1BDQAnAAgANwAIAEcACABXAAgAZwAIAHcACAAGcUEJAKcACQC3AAkAxwAJANcACQAEXUENACcACQA3AAkARwAJAFcACQBnAAkAdwAJAAZxWQC05wH3AQJdQQkASAAIAFgACABoAAgAeAAIAARxQQkAqAAJALgACQDIAAkA2AAJAARdQQkASAAJAFgACQBoAAkAeAAJAARxNzQ2MzIWFRQOAgcnPgE3BiYqLSEqMBwpLxMmGygCFylAIig4Li1BKxkGNgsyHAMiAAEANgDmATEBWQADAHCwCitYsgIDAyuykAIBcbLPAgFdsi8CAXGybwIBcrJfAgFxsg8CAXGyAAIBXbKQAgFdsjACAV2yXwMBcbIvAwFxsm8DAXK0MANAAwJdsgADAV1ZALADL7LwAwFdsg8DAXKysAMBXbJwAwFdsQAC9DAxEzMVIzb7+wFZcwABACr/9QDMAI4ACwBosAorWLIGAAMrsp8AAXGyfwABXbIAAAFdskAAAV20gAaQBgJdsi8GAXGy0AYBXbJABgFdtAAGEAYCXVkAsABFWLAJLxuxCQg+WbAD3LYvAz8DTwMDcbKvAwFxtIADkAMCXbIQAwFdMDE3NDYzMhYVFAYjIiYqLCQmLCwmJCxCIykpIyMqKgAB/+j/dAGvAsgAAwBGsAorWLIBAwMrsAEQsADQsjoAAV2yKQABXbADELAC0LImAgFdsjUCAV1ZALACL7AARViwAC8bsQAUPlmwAdCwAhCwA9AwMQEXAScBTWL+m2ICyCz82C4AAgAo//ICEALKAAsAFwHesAorWLIGAAMrsgAAAV2y3wABcbIfAAFdsv8AAXGyPwABXbJAAAFdsiAAAV2yQAYBXbKQBgFdshAGAXGycAYBcbKQBgFxslAGAXGysAYBXbJwBgFdsiAGAV2yAAYBXbAAELEMBPSwBhCxEgT0WQCwAEVYsAMvG7EDFD5ZsABFWLAJLxuxCQg+WbEPAfSwAxCxFQH0MDEBsAorWLIoAQFxskgCAV2yKAIBcbIKAgFyshUEAXK0RwRXBAJdsscEAV20JwQ3BAJxsqcEAXGyhwUBXbLHBQFdsncHAXKyRwgBXbInCAFxtAcKFwoCcbJICgFdsggKAXKyKQoBcbImDQFxttcN5w33DQNdslcRAV2y+BEBXbIoEQFxsvgTAV2yKRMBcbKJEwFxsvcXAV1ZALInAQFxskYCAV2yVwIBXbIHAgFyskYEAV2yJgQBcbJXBAFdsscEAV20BwQXBAJxsjcEAXGypwQBcbIXBAFysocFAV2yeQcBcrRICFgIAl2yKAgBcbRIClgKAl2yKAoBcbIICgFytAkKGQoCcbIZCgFysukKAXK01w3nDQJdsicNAXGy9xEBXbInEQFxsvgTAV2yKBMBcbKIEwFxslcWAV20RxZXFgJxsvgXAV2yKRcBcRM0NjMyFhUUBiMiJjcUFjMyNjU0JiMiBih+dn52f3Z9doI1PTs3ND88NQFfuLOxurm0vbB6hXqFeYR8AAEAPwAAAfQCyAAMAKqwCitYuwAJAAQAAQAEK7TvAf8BAnGyfwEBcrJPAQFyskABAV2yAAEBcbABELAA0LAAL7L/AAFxsAEQsAbcsh8GAXGyTwkBcrTvCf8JAnGyfwkBcrIACQFxskAJAV2wCRCwCtCwCi9ZALAARViwBy8bsQcUPlmwAEVYsAwvG7EMCD5ZsQAB9LAHELAF3LKfBQFdsh8FAXGyAwcFERI5sAAQsAnQMDGyCAQBXTczETcPASc3MxEzFSFliw8wWTfkSYj+cW4Bi0Q7PUu4/aZuAAEARQAAAeoCygAhARawCitYsgAaAyuyzwABXbIvAAFysu8AAXGy7xoBcbIgGgFdsgwaABESObAML7LpDAFdsgYADBESObL1BgFytIYGlgYCXbJKBgFdsssGAV2yXwYBXbRrBnsGAl20BgYWBgJxttUG5Qb1BgNxsgMGAXKyEQYBcrAAELAJ0LAJL7AAELETBPRZALAARViwHS8bsR0UPlmwAEVYsAovG7EKCD5ZsQkB9LIMCQoREjmySQwBXbTJDNkMAl2yWQwBcbAdELEWAvQwMQGwCitYslgPAV2yGBABXbKYEAFdtAgRGBECXbI3HwFxtEUgVSACcbJ1IAFysjYgAXFZALJXDwFdshcQAV2ylxABXbIHEQFdsjcfAXGydyABcgEUDgIPARU3MxUhNT4FNTQmIyIGByc+ATMyHgIB2yU5RSE1SMD+Wxg8PTouGy8zIEMXNCdjQytINB4CETNoZF0nKQUObkMZQ0tQUUwiKTUbFVwgJxguRQABAE7/8gHyArwAIwHxsAorWLIYIAMrsnAYAV2yUBgBcbLvGAFxsgAYAV2yIBgBXbKQGAFdsuAYAV2wGBCxAwT0sm8gAXKyICABXbIAIAFdsBgQsA7QsA4vsgcgDhESObAHL7AgELAM0LAML7IKDA4REjmy+QoBXbLKCgFxQQ0AGgAKACoACgA6AAoASgAKAFoACgBqAAoABnK0CgoaCgJxspkKAXGydQoBXbIRDgcREjmyBhEBXbKmEQFxshcRAV2yZhEBXbK1EQFxsuURAXFZALAARViwDS8bsQ0UPlmwAEVYsB0vG7EdCD5ZsQAB9LITDR0REjmwEy+yYBMBXbAG3LIIEwYREjm2hQiVCKUIA12wDRCxDAH0sg8NDBESObIpDwFxsrkPAV0wMQGwCitYsmgFAXGyFRABXbIHEAFdtCcQNxACXbLFFQFxsnYVAV2ydhUBcrIXFQFdtAcVFxUCcbQHFhcWAnG0xhrWGgJxtFYaZhoCcrbHGtca5xoDXbJnGgFxssYbAV1ZALJmAQFxsggQAV20KBA4EAJdsvgQAV2yGRABXbJ0FQFdtAcVFxUCXbQHFRcVAnG0xxXXFQJxsncVAXK0BhYWFgJxtsga2BroGgNdsmgaAXG0yBrYGgJxssgbAV2yJSEBcbL1IQFytNYh5iECcrSHIZchAl03MjY1NCYrATU/AQcjNSEVDwEVNx4DFRQOAiMiJic3HgHxPkFESUh5OU+oAX6NLCojPy8cJ0VcNSxeHSMaP2BCLzk2RaUtCW5HvRsFBgMaMUgvO1Y6HBAPbA0QAAIAEwAAAikCwQAKABIBxrAKK1iyAQQDK7KvAQFxsj8BAXKy7wEBcbI/AQFdskABAV2wARCwANyycAABcbZQAGAAcAADXbJABAFdtCAEMAQCcbSwBMAEAnGy7wQBcbSABJAEAnG0oASwBAJdsiAEAV2yQAQBcrAEELAG3LQ/Bk8GAl2yrwYBXbRPBl8GAnGyHwYBcrJ/BgFysk8GAXKy3wYBXbRvBn8GAl2y7wYBckEPAH8ABgCPAAYAnwAGAK8ABgC/AAYAzwAGAN8ABgAHcbAEELAS0LAH0LKJBwFdtCoHOgcCXbZaB2oHegcDXUEJAMkABwDZAAcA6QAHAPkABwAEXbQJBxkHAnGySAcBXbABELAJ0LAGELAQ0LIlEAFdsoYQAV2yVhABcbL6EAFxtAsQGxACcrJ3EAFdtJYQphACcbKVEAFdtMQQ1BACcbI0EAFdWQCwAEVYsAcvG7EHFD5ZsABFWLADLxuxAwg+WbISBwMREjmwEi+xBAH0sAHQsBIQsAbQsBIQsAnQsAcQsAzQMDEBsAorWLQGDhYOAnGyFw4BXbK3DgFdsjYPAV2yJw8BXbIXDwFxWQC0CA4YDgJdsrgOAV2yCA4BcbIZDgFxshgPAXElIxUjNSE1ATMRMyc3Iw8CNzMCKW55/tEBPWtu5wkEImgyQHfDw8NKAbT+aplUSIcmCAABAET/8gHmArwAHQFLsAorWLISGgMrsiASAV2ykBIBXbJQEgFxsBIQsQME9LJ/GgFdsu8aAV2ysBoBXbIHGhIREjmwBy+ybwcBcrJgBwFxskAHAV2wEhCwCtCwCi+y7woBXbAHELAM3LRfDG8MAnG0zwzfDAJdti8MPwxPDANdWQCwAEVYsAkvG7EJFD5ZsABFWLAXLxuxFwg+WbEAAvSyDQkXERI5sA0vtAANEA0CXbAG3LJABgFdtMAG0AYCXbAJELEKA/QwMQGwCitYssYPAV2y9g8BcbL3DwFdtAcPFw8CcbIHDwFysnUQAXKyxxABXbL3EAFdslcUAV22xxTXFOcUA120txTHFAJxWQCyxw8BXbL3DwFdtAcPFw8CcbJ4EAFyslgUAV22yBTYFOgUA120uBTIFAJxsiUbAXG2RRtVG2UbA3G0BhsWGwJxsvcbAV2yNxsBcTcyNjU0JiMHESEVIxU3HgMVFA4CIyImJzceAdxCRlJMTwFY6CkxTzgeKEdgOS1RHCMXN2VAODw4AwFueocEAiA5UTI7WjweDw1sCgsAAgA0//ICCALKABwALAIasAorWLIACgMrsoAAAV20UABgAAJxsjAAAXKy4AABXbRAAFAAAl2yAAABXbIfCgFdsj8KAV2yAAoBXbJACgFdsg8KABESObIVCgAREjmy9RUBXbAAELEdBPSwChCxJQT0WQCwAEVYsA8vG7EPFD5ZsABFWLAFLxuxBQg+WbAPELAQ3LI/EAFytEAQUBACXUEJAMAAEADQABAA4AAQAPAAEAAEXbIYDwUREjmwGC+yFRgFERI5sR8B9LAFELEqAfQwMQGwCitYtFUCZQICcrbWAuYC9gIDcbTXAucCAl201wPnAwJdtNgH6AcCXbRIB1gHAnGySAcBcrLIBwFytGgMeAwCXbLIDQFdtGkNeQ0CXbJlEAFxtMYQ1hACcrSHEJcQAl2yVxABcbIHEAFytIcRlxECXbIHEQFxtIcSlxICXbRHElcSAnG0hxOXEwJdtGgWeBYCXbQHGhcaAl20BxoXGgJxtAYbFhsCcbKlJwFxspYnAXFZALTYAugCAl222ALoAvgCA3G02APoAwJdtNgH6AcCXbRIB1gHAnGySAcBcrLJBwFytGcMdwwCXbRmDXYNAl2yxw0BXbSIEJgQAl2yWBABcbIJEAFysskQAXKy2hABcrJrEAFxtIkRmRECXbJIEgFxtIkSmRICXbJZEgFxsogTAV2ymRMBXbRmFnYWAl20BxoXGgJdtAcaFxoCcbQHGxcbAnGypycBcSUUDgIjIi4CNTQ+AjcXDgMHPgEzMh4CBzQjIgYHBhQVFB4CMzI2AgghPFUzNFdAJDlhgUgdMlRBLQkUQDAtTDYefm4oNwsCDhsqHS872TFUPiQhQmRCY6B3SQxnCC5ATyoZIxw3UDtwJBgLEAgYLyUXQAABADwAAAH/ArwACACTsAorWLIGBAMrsm8GAXGyTwYBcbIQBgFxskAGAV2yPwQBcrZPBF8EbwQDcbIfBAFdskAEAV2yAAYEERI5sAAvshgAAV2yAgQGERI5tAkCGQICcbTsAvwCAnGyGgIBXbIJAgFdtIkCmQICXbEIBPRZALAARViwBS8bsQUUPlmwAEVYsAAvG7EACD5ZsAUQsQQD9DAxMxM3ByE1IRUBaOUsPP7/AcP+6AIbMQp6Jv1qAAMAPf/yAfsCygAhAC8APAQCsAorWLIYAAMrsgAAAV2yPwABcrKPAAFdsiAAAXGyQAABXbLvGAFxsq8YAV2yzxgBXbIPGAFyskAYAV2yABgBXbIFABgREjmwABCwCNCwCC9BCQDPAAgA3wAIAO8ACAD/AAgABF1BCQAPAAgAHwAIAC8ACAA/AAgABHGwGBCwEtCwEi+yFRgAERI5sBgQsCLctOAi8CICcUEJAAAAIgAQACIAIAAiADAAIgAEcrQgIjAiAl20ICIwIgJxQQkAgAAiAJAAIgCgACIAsAAiAARxtKAisCICcrSgIrAiAl2yJxUFERI5tCgnOCcCXbRVJ2UnAnGwABCwKty0Lyo/KgJdtq8qvyrPKgNdsl8qAXKy3yoBcbYvKj8qTyoDcbLMKgFxtKoquioCcbAIELAw3LTvMP8wAnFBCQAPADAAHwAwAC8AMAA/ADAABHK0rzC/MAJdtC8wPzACXbSvML8wAnK0rzC/MAJxtC8wPzACcbI1BRUREjm0WDVoNQJxsBIQsDfcslA3AXKywzcBcbSlN7U3AnG0IDcwNwJdtKA3sDcCXbYgNzA3QDcDcVkAsABFWLANLxuxDRQ+WbAARViwHS8bsR0IPlmyNQ0dERI5tFo1ajUCcbJJNQFdstk1AV2yJx0NERI5skYnAV20KCc4JwJdssYnAV20Zid2JwJxslUnAXGyBTUnERI5shU1JxESObEtAfSyyTQBXbANELE6AfQwMQGwCitYsqgDAXGyyAoBcbQJChkKAnG0WAtoCwJytAYPFg8CcbQHDxcPAl20Rw9XDwJxsgQQAXK0BRAVEAJxtjYQRhBWEANxspcQAV2yZxABcbIFFAFyskYUAXK0ZxV3FQJdtGYWdhYCXbTWFuYWAl2yRxYBcbJ3FgFysvgZAV2ylhoBcbIWGgFysqYaAXK0BxoXGgJxsogbAV20CB8YHwJxtgggGCAoIANxsrggAXGy6SABcrJIJQFxspkmAV2ymScBXbL4KAFdspcuAV2yyC4BcbKXLwFdtOcz9zMCXbInMwFxsuY0AV2yhzYBXbKXOQFdtCg5ODkCcrKYPAFdWQCypgMBcbQHChcKAnGyxwoBcbRUC2QLAnK0Rg9WDwJxtAcPFw8CcbRGEFYQAnGylxABXbQHEBcQAnGyNxABcbJnEAFxsgcQAXKySBQBcrIJFAFytGcVdxUCXbJ2FgFytGcWdxYCXbTXFucWAl2yRxYBcbQIGhgaAnGymBoBcbIYGgFysqoaAXKyhxsBXbQIHxgfAnGyKCABcbK4IAFxtAkgGSACcbLpIAFyskklAXGymCYBXbKYJwFdsscuAXGymS4BXbLmMwFdsuc0AV2yiDYBXbKXOQFdtCg5ODkCcrKXPAFdNzQ+AjcuATU0PgIzMh4CFRQGBx4BFRQOAiMiLgIlNC4CJw4BFRQWMzI2AxQeAhc2NTQmIyIGPRIhLRoxOB03TjEtSjUdNTM8PSE8VDIyUTkfAUIWIysWLyM3MS03tRIfJxU8MSMsKasjNy0kDx9RPCdEMhwYLD8mO1IiI1RCLUk0HRswRDcXJh8aDBs/Hyg5LAGDGCQbFwozPSorLgACAC3/8gIFAsoAGgAqAe6wCitYsggAAyuyAAABXbI/AAFdsn8AAV2yXwABcbK/AAFxsj8AAXKyfwABcrLfAAFxsn8AAXGy7wABXbJfAAFdsh8AAV2yQAABXbIgAAFdskAIAV2yAAgBcbKACAFxst8IAXGyvwgBcbKgCAFxsmAIAXG0gAiQCAJdsiAIAV2yAAgBXbIOAAgREjmyEwAIERI5svkTAV2wABCxGwT0sAgQsSEE9FkAsABFWLAFLxuxBRQ+WbAARViwDS8bsQ0IPlmwDtyynw4BcUEJAM8ADgDfAA4A7wAOAP8ADgAEXbRPDl8OAl2yFgUNERI5sBYvshMWBRESObEeAfSwBRCxKAH0MDEBsAorWLTYAugCAl2y+AMBXbTZA+kDAl201gbmBgJdsmcGAXGy1wYBcbTWB+YHAl20Zgp2CgJdtAcKFwoCcbRmC3YLAl2yRwsBXbKXCwFdtNcL5wsCXbRmE3YTAl20ZxR3FAJdsvgYAV2yGBkBcrL5GQFdsgkZAXFZALTXAucCAl221gPmA/YDA1201wbnBgJdsmcGAXG0CAoYCgJxtGkKeQoCXbJICwFdspgLAV202AvoCwJdtGoLegsCXbRpDHkMAl2yhhABXbRpE3kTAl20aBR4FAJdsvkYAV20CBkYGQJxshgZAXKy+RkBXRM0PgIzMhYVFA4CByc+AzcOASMiLgI3FBYzMjY3NjU0LgIjIgYtHztVN3GBO2OCSBw3Vj4nCBg3LiZLOyV+QDApNA4DDh0tHzE2AeEzVj0jh4F0qXE8BmYHKDtLKxoUGjVRPjk6GhMVExw2Khk///8AXf/1AP8B+AAnABEAMwFqAQYAETMAAK6wCitYtFAAYAACcUEJAMAAAADQAAAA4AAAAPAAAAAEcbQAABAAAnKyIAABXbSAAJAAAnK2gACQAKAAA3Gy4AABXbZQAGAAcAADXbLgDAFdtoAMkAygDANxtIAMkAwCckEJAMAADADQAAwA4AAMAPAADAAEcbQADBAMAnK0UAxgDAJxtlAMYAxwDANdsiAMAV1ZALAARViwAy8bsQMQPlmwAEVYsBUvG7EVCD5ZMDH//wBN/2wA+gH4ACYADygAAQcAEQAoAWoAYbAKK1iy0AABcbRQAGAAAl20AAAQAAJysuAAAV20oACwAAJdsh8GAV2y4BIBXbbQEuAS8BIDcbQAEhASAnK0oBKwEgJdtFASYBICXbIfGAFdWQCwAEVYsBUvG7EVED5ZMDEAAAEAKABAAegCSgAIAKKwCitYsgMAAyuycAABXbIQAAFdspAAAV2yUAABXbIwAAFdslADAV2ykAMBXbJwAwFdsjADAV2yEAMBXbIFAAMREjm0JQU1BQJdsAMQsAfQsAcvWQCwCC+wAty0YAJwAgJdst8CAV20IAIwAgJdsqACAV2yAQIIERI5sAEvsADcsAIQsAPcsgUBABESObAIELAH3DAxtCoDOgMCXbQlBzUHAl0TNSUXDwEfAQcoAYI54Fta5jkBHUbnWosjH4la//8AKwC7AeUB6gImAlUAYAEGAlUAoQA9sAorWFkAtnADgAOQAwNdtC8DPwMCXbIPAwFxsl4DAV20cAOAAwJystADAXGyzwcBcbJABwFdsmAHAV0wMQAAAAABACcAQAHnAkoACACxsAorWLIAAwMrtnAAgACQAANdsn8AAXGyEAABXbJQAAFdsjAAAV2yUAMBXbJ/AwFxtnADgAOQAwNdsjADAV2yEAMBXbIFAAMREjmwAxCwB9CwBy9ZALACL7AI3LKgCAFdst8IAV20YAhwCAJdtCAIMAgCXbIACAIREjmwAC+wAdywAhCwA9yyBQABERI5sAgQsAfcMDG0JQM1AwJdtCcENwQCXbQoBjgGAl20Kwc7BwJdARUFJz8BLwE3Aef+fjngW1rmOQFtRudbiiQeilkAAgAX//UBrgLKAB0AKQHFsAorWLIWEAMrspAQAV2yHxABcbLgEAFdsrAQAV2ysBYBXbLgFgFdspAWAV2ycBYBXbIAEBYREjmwAC+wFhCxBwX0sAAQsB3csnAdAXGwABCwHtCwHi9BCwAfAB4ALwAeAD8AHgBPAB4AXwAeAAVxsCTctjAkQCRQJANxshAkAV2ykCQBcbZwJIAkkCQDXbLQJAFdWQCwAEVYsBMvG7ETFD5ZsABFWLAnLxuxJwg+WbAh3LSAIZAhAl2yryEBcbJQIQFxshAhAV2wANyyBRMAERI5tgIFEgUiBQNxsoQFAV2yxQUBXbRlBXUFAl20JQU1BQJystUFAXKy0wUBXbKSBQFdsjEFAXGwExCxCgH0shoAExESObK6GgFxtMsa2xoCcbTtGv0aAnG0bhp+GgJxtE0aXRoCcbLcGgFytOoa+hoCcrLKGgFysqoaAXIwMQGwCitYtAgDGAMCXbQnFDcUAl20RxRXFAJxtKYVthUCXUEJAEYAFQBWABUAZgAVAHYAFQAEcbSnGbcZAl1ZALQHAxcDAl1BCQAHABQAFwAUACcAFAA3ABQABF20RxRXFAJxtKcVtxUCXbRHFVcVAnG0qRm5GQJdNyY+BDU0JiMiDgIHJz4BMzIWFRQOBBUHNDYzMhYVFAYjIiaIBRQjLScaJzIQJCQhDTImY0ZeahsoMCgcgywkJiwsJiQs0DRJNSckJxsjKgcNEQlgGiJbTTNDLyQpNiqOIykpIyMqKgACAEn/OAPaAsgATABdAymwCitYsi8lAyuyEC8BcbLALwFdshAvAV2yMC8BXbICLyUREjmwAi+yDwIBcrAB0LAvELAK3LLQCgFdsCUQsBTcst8UAV2yHSUvERI5sB0vsAIQsF3csjldAhESObJEJS8REjmwRC+ycEQBXbBdELBM0LJNTF0REjmwRBCwVdyyQFUBXbLAVQFdshBfAXGyEF8BXbIwXwFdWQCwAEVYsCovG7EqFD5ZsABFWLAgLxuxIAo+WbJJKiAREjmwSS+wANCwAC+yPyAqERI5sD8vsDTQsDQvsAXcsCoQsA/csCAQsBncsjk/SRESObJMST8REjmwSRCwUNywPxCwWNwwMQGwCitYsmkMAV20KA04DQJdsmgNAV2yhxABXbJ2EQFdsmcRAV20BhIWEgJdtGcSdxICXbKlFQFxslYWAV2y9xYBXbJ2FwFdsmcXAV20KCI4IgJdtCkjOSMCXbJJJwFdspgoAV20SChYKAJxskkoAV2yhi0BXbLWLQFdskctAV20JzI3MgJdsncyAV20CDYYNgJdtqg2uDbINgNdspk2AV20CDgYOAJdtAc7FzsCXbQHPBc8Al1BCQAIAEEAGABBACgAQQA4AEEABF2yyEEBcbLYQQFysklBAV2y+UEBXbQIRxhHAl20eEeIRwJdtEhHWEcCcbJpRwFdtAZbFlsCXVkAsmkMAV20KQ05DQJdsmkNAV2yiBABXbQIERgRAl2yaBEBXbKIEQFdsnoRAV20CRIZEgJdsnkSAV2yahIBXbKmFQFxslcWAV2y9xYBXbJ2FwFdsmcXAV20xhzWHAJdsvYcAV22lxynHLccA120KSI5IgJdssgjAV2ySCMBcbQpIzkjAl2yySMBcbJZIwFyskYnAV2yhycBcbJGKAFdspcoAV20RyhXKAJxstctAV20KTI5MgJdsnkyAV20CDYYNgJdspk2AV2yyTYBXbSqNro2Al20CDgYOAJdtAg7GDsCXbQIPBg8Al22KUE5QUlBA12y+UEBXbQKQRpBAl2yykEBcbTqQfpBAnGy2kEBcrQGRxZHAl22Zkd2R4ZHA120R0dXRwJxtApbGlsCXQEzAwYWMzI+AjU0LgIjIg4CFRQeAjMyNjcXDgEjIi4CNTQ+AjMyHgIVFA4CIyIuAjcjDgMjIi4CNTQ+AjMyFhcHLgEjIg4CFRQWMzI+AjcCp0YwCA8aGjIoGTJXdkROhmM4L1qFVh1KHh8pVTdhpXlEToSuYVyedEItT2k8GSsdDgMEDyMqMh4YLCATKEVbMyMwFCANHBUeMyUUGyEOIB4cCwHk/vEvKhgyTDRLakUgOGKHT058Vy8ODmAUEDhuo2ttsHxDNWOPW0BwUjALGiofFSgfEhUmNiE+dVo3FRFZCwwiNkMgISoRHCQUAAIAAAAAAl0CwQAHAA0CFrAKK1iyBgMDK0EJABAABgAgAAYAMAAGAEAABgAEXbKQBgFdtOAG8AYCXbJwBgFdshAGAXGyMAYBcrAGELEHB/S06Qf5BwJystoHAXKyyQcBcrSoB7gHAnKyDAMGERI5sgAHDBESObKYAAFdsAMQsQIG9LLGAgFytKcCtwICcrTmAvYCAnKy1QIBcrIBAgwREjm0qAG4AQJdsogBAV2yBAMGERI5sgUGAxESObIIDAIREjm0aAh4CAJdtCcINwgCcrQmCDYIAl2yCQwHERI5tCkJOQkCXbQoCTgJAnKyMA8BcrIPDwFdsnAPAV2yEA8BcVkAsABFWLAELxuxBBQ+WbAARViwAi8bsQIIPlmyCAIEERI5sAgvsk8IAV2xAQH0sAIQsAfQsAQQsAzQshgMAXGyRgwBXTAxAbAKK1iyWQABXbQHAhcCAnK0qAS4BAJdtGgEeAQCcbaoBLgEyAQDcbToBPgEAnGySAQBcrL5BAFdstkEAXGy9gUBXbLWBQFxtKcFtwUCXbRnBXcFAnG2pwW3BccFA3G05wX3BQJxskcFAXK0CAcYBwJyslYIAXGyFwgBcrIoCQFxtGgJeAkCcbIYCQFysvgKAV2yGAoBcrJZCgFdsokKAV22OQpJClkKA3G0iQqZCgJxtLkKyQoCcbIqCgFxsoYNAV2yJg0BcbJXDQFdsjcNAXFZALL4CgFdtLgKyAoCcSUjByMTMxMjAzMvASMHAZXXNYn8ZfyQ7JY0FQUVm5sCwf0/AQmcbm8AAwA8//YCKQLGAB8AMABAAqmwCitYsgAVAyuyUAABXbIQAAFxsjAAAXKyHwABcrLfAAFdsr8AAXKycAABcrZAAFAAYAADcbJwAAFdsjAAAV2yAAABXbIvFQFxsv8VAXGyDxUBcbIfFQFyst8VAXG0IBUwFQJdsgAVAV2wFRCxLAX0sEDQsgUAQBESObAAELAL0LALL7ElB/S07CX8JQJxsAAQsTcG9LTsN/w3AnGy8EIBcbJQQgFxssBCAXGykEIBXbKwQgFdWQCwAEVYsBsvG7EbFD5ZsABFWLAQLxuxEAg+WbJAGxAREjmwQC+0b0B/QAJdtA9AH0ACcbR/QI9AAnGyT0ABcrKfQAFysq9AAXGyX0ABcbTfQO9AAl2yT0ABXbS/QM9AAnKxKwH0sgVAKxESObAQELEgAvSwGxCxPAL0MDEBsAorWLJmAwFxtLYDxgMCcba2A8YD1gMDcrSHA5cDAl2y1wMBcbIHAwFytOcD9wMCcrRoBHgEAl20swjDCAJyskQIAXKyNQgBcbLVCAFytEYIVggCcbLXCAFxtEYJVgkCcbLXDQFdsmcNAXG0pR61HgJdsjUeAXG0hh6WHgJdtEYeVh4CcbIHHgFdsnciAXKylyMBcbJ6IwFysog1AXGy2DoBcbS5Osk6AnFZALKIAwFdsngDAXGyCAMBcrKZAwFdsmkDAXGy2QMBcbS6A8oDAnG0ugPKAwJytOoD+gMCcrLbAwFytGcEdwQCXbLWCAFxtjcIRwhXCANxskcIAXKy1wgBcrRGCVYJAnGy2A0BXbJpDQFxsjYeAXGyBx4BXUEJAIcAHgCXAB4ApwAeALcAHgAEXbJ1IgFysmYiAXGyhiIBcbJ0IwFyspUjAXGyZiMBcbKGIwFxspknAXGyiicBcbKqJwFxsoU1AXG0uDrIOgJxsto6AXEBFA4CBxUeAxUUDgIjKgEuAScRPgMzMh4CAzI+AjU0LgIrARUeAwMyNjc+ATU0LgIjIgYHFQITDR4wIh42KBcuTWI0ETU9PxoTMTg7HTFdSSz6GS8kFhoqNBpJBRYZGyMOJQwmNxQhKhcaLAwCGRo0KyEIBgUYKjwpNk8yGAMGBgKyAwYEAg8mRP4aDBkmGiEmFQbBAgIBAQEvAgIMMCcaIhQIAgK7AAEAJv/yAhYCygAfAfGwCitYshAIAyuyQBABXbKQEAFdsvAQAV2y7xABcbKwEAFdsnAQAV22ABAQECAQA12yEBABcbAQELAA0LAAL7JACAFdsu8IAXGyzwgBcbIgCAFdsgAIAV2wCBCxFwf0shAhAV2yECEBcbIwIQFyWQCwAEVYsA0vG7ENFD5ZsABFWLADLxuxAwg+WbANELEUA/SwAxCxHAP0MDEBsAorWLIoBQFdsogFAV2ymAUBcbL4BQFysigGAV202AboBgJdslgGAXKyOgYBcbKICgFdsvgRAV20BxUXFQJdtAcVFxUCcbQFFhUWAnG0pxa3FgJdsicWAXG2BhkWGSYZA3G0pxm3GQJdsvcZAV20BhoWGgJxtAcaFxoCXbInGgFxsvgeAV1ZALIoBQFdsvgFAXKyiQUBXbKZBQFxsogGAV202AboBgJdsjgGAXGyWgYBcrKHCgFdsvkRAV1BCQAJABEAGQARACkAEQA5ABEABHG0ShFaEQJxsoYVAV20CRUZFQJxtKgWuBYCXbYKFhoWKhYDcbSnGbcZAl2y9xkBXbYGGhYaJhoDcbQHGhcaAl2yiBoBXbLFHgFdsvUeAV2y5h4BXbQGHhYeAnG0BB8UHwJxtOUf9R8CXUEJAKYAHwC2AB8AxgAfANYAHwAEXbZ3H4cflx8DXSUOASMiLgI1ND4CMzIWFwcuASMiBhUUHgIzMjY3AhYgYzQ/cVYzOVtwODxTGxsXPy1TZRgxSTAtPhcdFxQnV4tjZ4tVJRALdAsKdnw2WT8jEg4AAgA8//UCYQLGABQAJwHdsAorWLIKFAMrspAKAV2ycAoBcbJgCgFyst8KAXGy/woBcbIPCgFyskAKAXKyEAoBcbJwCgFdQQ0AAAAKABAACgAgAAoAMAAKAEAACgBQAAoABl2y7xQBXbLfFAFxsv8UAXGyDxQBcrIPFAFxsgAUAV22IBQwFEAUA12wFBCxGQb0sAoQsSMH9LLvKAFdshApAXGyoCkBcbIvKQFxsnApAXGywCkBcbKQKQFdsuApAXJZALAARViwBS8bsQUUPlmwAEVYsA8vG7EPCD5ZsAUQsRUD9LAPELEeA/QwMQGwCitYsqUHAXKytgcBXbQmBzYHAnGy9gcBcbKHBwFdtscH1wfnBwNdtLYIxggCXbImCAFxsrcMAV2ydg0BcrK3DQFdtLcNxw0CcbS3DccNAnK0CSAZIAJdtAghGCECcbL5IQFdsvglAV20CCUYJQJxtAgmGCYCXVkAsrYHAV2yhwcBXbbHB9cH5wcDXbInBwFxsvcHAXGyqAcBcrK2CAFdsscIAV2yJwgBcbK5DAFdtLgNyA0CcbK5DQFdsnkNAXK0uQ3JDQJytAYgFiACXbQGIBYgAnGy9yABXbQGIRYhAnGy9yEBXbQIJRglAnGy+SUBXbQIJhgmAl20CSYZJgJxEz4DMzIeAhUUDgIjIi4CJxMiBgcRHgMzMj4CNTQuAjwVNTg1FV2EUiYkVIllEDU5NA3XFi0LBBMWFAU6TS0SECtKArwDBAIBNF6CTkeEZj4CAwMCAk0CAv4rAQEBASlEWS8pU0IqAAEAPAAAAeACvAALAPiwCitYsgELAyuyIAEBcrL/AQFdsg8BAXKy3wEBcbIQAQFdsnABAV2yMAEBXbIQCwFdsh8LAXGy3wsBcbL/CwFxsg8LAXKyPwsBcbL/CwFdsiALAXKyMAsBXbALELEIBvSwBNCwARCwBdCwBS+wARCwCdCwCS+yTwwBXbKgDQFyssANAXKyEA0BcbKQDQFxsoANAXJZALAARViwAS8bsQEUPlmwAEVYsAovG7EKCD5ZsAEQsQID9LIEAQoREjmwBC+yTwQBXbTfBO8EAl20TwRfBAJxsi8EAXG0rwS/BAJdsp8EAXG0vwTPBAJxsQcD9LAKELEJA/QwMRMhFSEVMxUjFSEVITwBn/7q/f0BG/5cArx6o3qregABADwAAAHbArwACQC0sAorWLIBCQMrsnABAV2yDwEBcrIgAQFysjABAV2yEAEBXbIQCQFdsj8JAXGyDwkBcrIfCQFxsiAJAXKyMAkBXbAJELEIBvSwBNCwARCwBdCwBS+yTwoBXbLACwFxssALAXJZALAARViwAS8bsQEUPlmwAEVYsAgvG7EICD5ZsAEQsQID9LIEAQgREjmwBC+yTwQBXbTfBO8EAl20rwS/BAJdsi8EAXG0TwRfBAJxsQcD9DAxEyEVIRUhFSERIzwBn/7qAQD/AIkCvHqtev7lAAEAJv/yAjgCygAlAvuwCitYshIKAyuybwoBXbLPCgFxsi8KAXKyjwoBXbIPCgFysu8KAXGywBIBXbJvEgFdsu8SAXGy4BIBXbIAEgFxsgAKEhESObAAL7ASELAB0LABL7SgAbABAl2wChCxGwf0sAEQsCTcsl8mAV2y3ycBXbIPJwFdsi8nAXG0sCfAJwJxspAnAXFZALAARViwDy8bsQ8UPlmwAEVYsAUvG7EFCD5ZsgAPBRESObAAL7KPAAFxsj8AAXG0DwAfAAJxsA8QsRYD9LAFELEgA/SwABCwJdxBCwBDACUAUwAlAGMAJQBzACUAgwAlAAVdQQkAxQAlANUAJQDlACUA9QAlAARdQQ8ABQAlABUAJQAlACUANQAlAEUAJQBVACUAZQAlAAdxQQ8AcAAlAIAAJQCQACUAoAAlALAAJQDAACUA0AAlAAdyQREAgAAlAJAAJQCgACUAsAAlAMAAJQDQACUA4AAlAPAAJQAIcbQAJRAlAnIwMQGwCitYsogHAV2yiAgBXbI4CAFxsrgIAXK0qAy4DAJdstgMAXGyKQwBcbRmDXYNAl20BxgXGAJdtAcYFxgCcbKIGAFdsvYZAV1BCQAGABkAFgAZACYAGQA2ABkABHG0BxkXGQJdsjYaAXGyNhwBcbQXHCccAnKyFB0BcbIlHQFxsqYdAV2y9h0BXbIGHQFxsjYdAXG0Bx0XHQJdsrcdAV2yJx0BcrKJHQFdtAceFx4CXbQnHjceAnGyiR4BXVkAtNgH6AcCXbKKBwFdsokIAV2yOQgBcbK8CAFytKcMtwwCXbLXDAFxtGgMeAwCXbRoDXgNAl2y+BMBXbIoEwFxtAkTGRMCcbY5E0kTWRMDcbJqEwFxtAgYGBgCXbQIGBgYAnG0KRg5GAJxtAgZGBkCXbL4GQFdsjgZAXG0GRkpGQJxsjoaAXGyNxwBcbQXHCccAnKyph0BXbQHHRcdAl2ytx0BXbL3HQFdthcdJx03HQNxsokdAV2yMx4BcbImHgFxtAceFx4CXbKJHgFdASERDgEjIi4CNTQ+AjMyFhcHLgEjIg4CFRQeAjMyNjc1JwEzAQUqdTlDc1QwOV10PDxbGxwZPjArSDUdHDJDJhoyEZcBbf7IIyAqWYpfY4tXJxIKcwoLGjtcQj9bOxwNDYQQAAEAPAAAAk4CvAALAMywCitYsgoDAyuyHwMBcbL/AwFdst8DAXGyIAMBXbJAAwFdsAMQsQIG9LAG0LIgCgFdspAKAV2y3woBcbL/CgFxsjAKAXGyQAoBXbJACgFysmAKAXKwChCxCwb0sAfQsh8MAV2yPwwBXbLADQFysg8NAXGyYA0BcrLADQFdWQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbIGBQIREjmwBi+03wbvBgJdsl8GAXGyTwYBXbS/Bs8GAnGxAQP0sAUQsAjQsAIQsAvQMDEBIREjETMRIREzESMBxf8AiYkBAImJASX+2wK8/uMBHf1EAAEASgAAANMCvAADAHOwCitYuwACAAYAAwAEK7QgAjACAl2ykAIBXbQgAzADAl2ykAMBXbQPBB8EAl20UAVgBQJxtDAFQAUCcrJwBQFytJAFoAUCcbSwBcAFAl20cAWABQJdWQCwAEVYsAAvG7EAFD5ZsABFWLADLxuxAwg+WTAxEzMRI0qJiQK8/UQAAf/p//QBDAK8ABABW7AKK1i7AAEABgAAAAQrsv8AAV2yDwABcbKvAAFxsm8AAXKy3wABcrL/AAFysp8AAXKyHwABcrJ/AAFxsr8AAV2yjwABXbL/AQFdsg8BAXGyrwEBcbJvAQFyst8BAXKy/wEBcrKfAQFysh8BAXKyfwEBcbK/AQFdso8BAV2wARCwCtyyHwoBcbLvCgFdsn8KAV2yTxIBXbLAEgFystASAXFZALAARViwAC8bsQAUPlmwAEVYsAcvG7EHCD5ZsQ0D9DAxAbAKK1iypwQBcrJVBQFxspYFAXK0BwUXBQJdsmcFAXGypwUBcrKYDgFytLoOyg4CcrKoDwFysmoPAXJZALQIBRgFAl2yaQUBcbKZBQFysloFAXGyqwUBcrTmC/YLAnFBCQAGAAsAFgALACYACwA2AAsABHKytg4BcrLIDgFysqEPAXKyZA8BcrK0DwFyspUPAXK0dg+GDwJyEzMRFA4CIyImJzcWMzI2NYOJEilALh1EGR4aISoXArz+AChINyEMC3ANPjMAAQA8AAACYQK8AA4Bw7AKK1i7AAIABgADAAQrsh8CAXKyLwIBcbIAAgFdtDACQAICXbIfAwFysi8DAXG0MANAAwJdsgADAV2wAhCwBtCwAhCwDty0Wg5qDgJystwOAV2y3w4BcbKfDgFdshwOAXGyIg4BcbQgDjAOAl2wCNC2mQipCLkIA122agh6CIoIA12ySQgBXbJYCAFdsAnctLAJwAkCcbTjCfMJAl20AwkTCQJxtFUJZQkCcrLaCQFdstUJAXGyEAkBXUEJAEAACQBQAAkAYAAJAHAACQAEcbZwCYAJkAkDXbILCQYREjm0ZQt1CwJdsoYLAV205Qv1CwJdtAULFQsCcbLVCwFxsA4QsA3cQQkAYAANAHAADQCAAA0AkAANAARdtiINMg1CDQNxsuMNAV2y1A0BXbL1DQFdsgUNAXGy1Q0BcbRTDWMNAnKyEw0BcbQADRANAl2yQA0BcragDbANwA0DcrIAEAFdtHAQgBACXVkAsABFWLAFLxuxBRQ+WbAARViwAi8bsQIIPlmyAQUCERI5sAEvtC8BPwECXbAG0LAFELAI0LILBgEREjmwAhCwDtAwMQGwCitYskcHAV2yGAcBXVkAskgHAV0TIxEjETMRNxMzAwcXEyPpJImJIMGczDY46akBK/7VArz+yg4BKP7aJif+twABADwAAAH3ArwABQCYsAorWLsAAwAGAAIABCu0AAIQAgJdsv8CAXGyHwIBcrIvAgFxsiACAXK0MAJAAgJdtAADEAMCXbL/AwFxsh8DAXKyLwMBcbIgAwFytDADQAMCXbACELAF3LLwBQFdsmAFAXKyYAUBcbIQBQFxsrAFAV2ygAUBXVkAsABFWLADLxuxAxQ+WbAARViwAC8bsQAIPlmxBQP0MDEpAREzESEB9/5FiQEyArz9vgABADwAAALkArwAFQODsAorWLIUCwMrtEAUUBQCXbIQFAFdsr8UAXGyHxQBcrL/FAFxsv8UAXKyIBQBcrTgFPAUAl2yABQBcbIwFAFxtgALEAsgCwNdsiALAXKy/wsBcrL/CwFxsh8LAXKyHwsBcbJACwFdsjALAXGy8AsBXbIEFAsREjm0ZgR2BAJxstYEAXG0BwQXBAJdssYEAXK0lgSmBAJxshYEAXGy9QQBcrIFCxQREjm2OAVIBVgFA3GyGAUBcrKpBQFxsvkFAV2yeQUBcbTaBeoFAnKy2gUBcbIZBQFxsrkFAXJBCQBoAAUAeAAFAIgABQCYAAUABHKyiAUBcbQIBRgFAl2yOAUBcrALELEKBPSyDQsUERI5soUNAV20Zg12DQJdtNYN5g0CXbQGDRYNAl2ytw0BXbJGDQFdtLYNxg0CcbL1DQFdsgUNAXGykw0BXbITDQFxsg8FBBESObISFAsREjm0CRIZEgJdskkSAV2y+hIBXbIKEgFxshsSAXGynBIBXbKKEgFdtNkS6RICXbJ5EgFdtLkSyRICcbJoEgFdsBQQsRUG9LI/FgFdsg8XAV2ywBcBXVkAsABFWLANLxuxDRQ+WbAARViwCi8bsQoIPlmwDRCwCNCyJggBcbAB0LIFDQoREjmwBS+wD9CwDRCwEtCwChCwFdAwMQGwCitYsoUDAV20BgMWAwJdsnYDAV2yFgMBcbJ2AwFxsvcDAV202AboBgJdsgkGAV2yeQYBXbKZBgFdshkGAXGyGgYBXbKKBgFdsvoGAV2yegYBcbLUDgFxtMQO1A4CcrL0DgFysmUOAXGypQ4BcbTlDvUOAnG0RQ5VDgJytHUOhQ4CcrLlDgFysmYOAV20tg7GDgJdsvYOAV22Bg4WDiYOA3G0tg7GDgJxsmYOAXKypg4BcrQHDhcOAl2yVw4BXbRHDlcOAnGyNw4BcrIkDwFxslQPAXG0tA/EDwJxssYPAV2yZw8BXbJoEAFdsqcRAV2yGBEBXbJoEQFdsmkRAXGy2REBcbIaEQFxWQCyFwMBcbJ4AwFdsokDAV20CAYYBgJdsngGAV2ymAYBXbL4BgFdsokGAV2yVg4BcrIXDgFxsmcOAXG0tw7HDgJxtOcO9w4CcbQ3DkcOAnKyZw4BcrKHDgFytMcO1w4CcrL3DgFystgOAXG0tg/GDwJxstYRAXGyFxEBcbJnEQFxsqkRAV0BNyMHAyMDJyMXESMRMxMXMzcTMxEjAlsPBiuVLJ0sBRSCfbshBB6xfIkBa4tw/vsBBm+K/pQCvP7AUFIBPv1EAAEAPP/7AlUCwQAPA1ewCitYsg0FAyuyIAUBXbIvBQFxsh8FAXKy/wUBcrI/BQFyst8FAXGy/wUBXbIgBQFysuAFAV2wBRCxBAT0sAfQspYHAV20BQcVBwJdsgIEBxESObIgDQFyslANAV2yEA0BcbJgDQFxsh8NAXKy3w0BcbL/DQFysuANAV2ycA0BXbIgDQFdspANAV20MA1ADQJxsA0QsQwE9LAP0LQKDxoPAl2ymQ8BXbIKDA8REjmyHxABXbQ/EE8QAl2ywBEBXbIPEQFxsnARAV2ysBEBcbLAEQFyWQCwAEVYsAwvG7EMFD5ZsABFWLAHLxuxBxQ+WbAARViwBC8bsQQIPlmwAEVYsA8vG7EPCD5ZsAcQsALQsrsCAV22ewKLApsCA11BCQAbAAIAKwACADsAAgBLAAIABHGwDxCwCtCytAoBXbZ0CoQKlAoDXUEJABQACgAkAAoANAAKAEQACgAEcTAxAbAKK1i0WABoAAJdsugAAV2yeQABXbS5AMkAAl22SQBZAGkAA3GySQABcrKpAAFysvkAAXK0CgAaAAJdsvoAAV2yCgABcbaKAJoAqgADcbLKAAFxsgoAAXK0KgA6AAJyspsAAV2yewABcbLbAAFxtFsAawACcrLbAAFyshwAAXGyvAABcbTsAPwAAnGyHAABcrLpAQFdsowBAV20BwcXBwJdslIIAXKy4ggBcrQDCBMIAnGyEwgBcrJjCAFytLMIwwgCcrJUCAFxtMQI1AgCcbYkCDQIRAgDcrZ0CIQIlAgDcrLUCAFysvQIAXKylQgBXbTlCPUIAl2yRQgBcbRlCHUIAnG05Qj1CAJxsgUIAXKy1ggBXbQHCBcIAl2ydwgBXbLHCAFdsoQJAV20BQkVCQJxWQC0CAAYAAJdslgAAV2yyAABXbLoAAFdsggAAXG0SABYAAJxQQkAeAAAAIgAAACYAAAAqAAAAARxstgAAXKymQABXbK5AAFdshkAAXGyOQABcbTJANkAAnG2GQApADkAA3K0WQBpAAJysvkAAXKyagABcbTqAPoAAnGyqgABcrTmCPYIAnGyZggBcrLmCAFytNcI5wgCXbJnCAFxsgcIAXKydwgBcrL3CAFysvgIAV2yyAgBcbYYCCgIOAgDcrJYCAFystgIAXITJyMXESMRMwEXMycRMxEj6jcFEIJkAQk1BRCCZAFtbm7+kwLB/otrawFw/T8AAgAm//ICeALKAA8AHwJusAorWLIIAAMrsgAAAV2yfwABXbL/AAFxsi8AAXK0zwDfAAJxsk8AAV2yUAABXbIwAAFdtFAIYAgCXbKwCAFdskAIAXKycAgBcrLgCAFdtIAIkAgCXbQgCDAIAl2yAAgBXbAAELEQB/SwCBCxGAf0sk8gAV2y8CEBcrI/IQFysr8hAXGyYCEBcbKQIQFxWQCwAEVYsAMvG7EDFD5ZsABFWLALLxuxCwg+WbEVA/SwAxCxHQP0MDEBsAorWLKYAgFdsnkCAXKyqgIBcbKWBQFdsqcFAXGydwUBcrJ0CQFyspcJAV2ypwkBcbKYDQFdsvgNAV2yqA0BcbJUEQFysuQSAXGyNRIBcbLVEgFxskYSAXGyxxIBXbL3EgFxsmcSAXKyFxMBXbRXE2cTAnGy0xQBcbJpFgFxshgXAV2yyBcBXbQ5F0kXAnGyaRcBcrLoGgFxtDkaSRoCcbJpGgFysloaAXKyGBsBXbLIGwFdsmobAXGyFx4BXbRXHmceAnG0Nh9GHwJxsmcfAXJZALKWAgFdsvcCAV2ydwIBcrKYBAFxsqYFAXGydgUBcrKYCQFdsqgJAXGyeQkBcrKXCgFxsqgNAXGymQ0BXbL5DQFdsnoNAXKyNhIBcbJmEgFysscSAV2yRxIBcbTXEucSAnGyZRMBcbJWEwFxshcTAV2y1xQBcbJkFgFxslYWAXG0NRdFFwJxssYXAV2yZhcBcrIXFwFdsmgaAXK0ORpJGgJxsukaAXGyWRoBcrL6GgFxshgbAV2yyhsBXbRaG2obAnGyGB4BXbJoHgFxslkeAXGyyB8BXbJJHwFxsjofAXGyah8BchM0NjMyHgIVFAYjIi4CNxQeAjMyNjU0LgIjIgYmmo9LcEokm45McEkkkBIlOihJUBEkOipJUAFer700YIZSr700YIZSNVlAJHKAM1hCJXUAAgA8AAACIwLGABQAJwFisAorWLIIFAMrsrAIAV2ycAgBcUENAAAACAAQAAgAIAAIADAACABAAAgAUAAIAAZdslAIAXGykAgBXbJwCAFdsh8UAXGy/xQBXbLfFAFxtiAUMBRAFANdsgAUAV2wFBCxEwb0sBnQsAgQsSMH9LIfKAFdWQCwAEVYsAMvG7EDFD5ZsABFWLATLxuxEwg+WbINAxMREjmwDS+wAxCxFQL0sA0QsR4C9DAxAbAKK1iyNQYBcbL2BgFdslYGAXK0ZwZ3BgJdtNcG5wYCXbKlCgFytLYKxgoCcbQmCjYKAnKyxwoBXbKnCgFxsqcLAXG0RyFXIQJxstghAXGyGCEBcrIZJgFyWQCyNQYBcbRnBncGAl221wbnBvcGA12yqAoBcbKoCgFysskKAV20uQrJCgJxtCkKOQoCcrKpCwFxshQgAXK0RiFWIQJxstYhAXGyFiEBcrQHIRchAnGyGSYBcrKKJgFxEz4BMzIeAhUUDgIjKgEuAScVIxMiBgcVHgIyMzI+AjU0LgI8KmUyNGlUNS5MYTQFFhgXBYnMFCQLBBASEQQbNSoZGCcyArUICREzW0lCWzoaAQIB8QJQAwLjAQIBChswJyErGgoAAwAm/ykCvgLKABQAJAA0AkewCitYsh0VAyuyABUBXbJ/FQFdsv8VAXGyLxUBcrTPFd8VAnGyTxUBXbJQFQFdsjAVAV20UB1gHQJdsrAdAV2yQB0BcrJwHQFysuAdAV20gB2QHQJdtCAdMB0CXbIAHQFdsgkVHRESObAJL7AU3LAVELElB/SwHRCxLQf0sk81AV2y8DYBcrI/NgFysmA2AXGykDYBcVkAsABFWLAYLxuxGBQ+WbAARViwIC8bsSAIPlmwDNCwDC+xBwP0sALQsAIvsRED9LAgELEqA/SwGBCxMgP0MDEBsAorWLKYFwFdsqgXAXGyeRcBcrKXGgFdsqcaAXGydxoBcrKXHwFdsqcfAXGy+CIBXbKZIgFdtDYnRicCcbTmJ/YnAnGyxycBXbJWKAFxshcoAV2yZygBcbJYKwFxsmkrAXGyyCwBXbQ4LEgsAnGyyC8BXbQ4L0gvAnG06C/4LwJxslgwAXGyGTABXbJpMAFxsmUzAXGyVzMBcbI2NAFxshc0AV2yxzQBXbJHNAFxWQCypRcBcbKXFwFdsvcXAV2ydxcBcrKXGgFdsqcaAXGydxoBcrKYHwFdsqkfAXGyeR8BcrKYIgFdsvgiAV2yqSIBcbJ6IgFyskYnAXG05if2JwJxsscnAV2yZSgBcbJWKAFxshcoAV2yFysBXbRXK2crAnG0NSxFLAJxshYsAV2yxiwBXbLJLwFdsjkvAXGySi8BcbTqL/ovAnGyaDABcbIZMAFdslkwAXGyGDMBXbJYMwFxshg0AV2yyDQBXbJJNAFxBQYjIi4CIyIHNTYzMh4CMzI2NwE0NjMyHgIVFAYjIi4CNxQeAjMyNjU0LgIjIgYCvjAxM2BaVCUYFhweKlNWWjIWLhj9aJqPS3BKJJuOTHBJJJASJTooSVARJDoqSVDKDRUYFQZ2BhQXFAUGAbGvvTRghlKvvTRghlI1WUAkcoAzWEIldQACADwAAAJKAsYAFAAfAiywCitYsgoUAyuyYAoBcrIfCgFytN8K7woCcUENAAAACgAQAAoAIAAKADAACgBAAAoAUAAKAAZdslAKAXGyEAoBcbIfFAFysi8UAXGyDxQBcbbfFO8U/xQDcbYgFDAUQBQDXbIAFAFdsBQQsRMG9LAZ0LINChkREjmwChCwD9CwDy+wENCyKRABcbLKEAFdsgoQAXKyehABXbSLEJsQAnKySxABcbIbEAFytqwQvBDMEANyshwQAV2ybRABcbKdEAFdsk4QAXK23hDuEP4QA3Ky3hABcbRfEG8QAnKyfhABcbQOEB4QAnG0vRDNEAJxsv0QAV20LRA9EAJysowQAV2yXBABcbTbEOsQAl20mxCrEAJxsgoQAV2yihABcbI6EAFxsmkQAV2yeRABcrL5EAFxsAoQsR0H9LJwIQFdshAhAXFZALAARViwBS8bsQUUPlmwAEVYsBMvG7ETCD5ZshIFExESObASL7AN0LATELAQ0LAFELEVA/SwEhCwGdy0DxkfGQJxtG8ZfxkCXTAxAbAKK1iyJQgBcbKWCAFxtmcIdwiHCANdtAcIFwgCcbK3CAFytNYM5gwCXbL3DAFdsgcMAXK0aRF5EQJdsooRAV20ChEaEQJxspsRAV2y+xEBXbLsEQFdtLgfyB8CcVkAtGYIdggCXbK2CAFysocIAV20BwgXCAJxspcIAXGy+QwBXbTaDOoMAl2yCgwBcrJmGwFxsnkfAXG0uR/JHwJxEz4DMzIeAhUUBgcXEyMDJxEjEyIGBxUzMjY1NCY8FzU1MhUxX0stUEMxoJ6fSInSFSkLOjlEOAK1BAcEAhIsTTpWbBUf/vUBEg3+4QJMAgPLNDwtMwABABv/8gHzAsoALQIysAorWLIdBwMrssAdAV2yEB0BcbLgHQFdQQ0AMAAdAEAAHQBQAB0AYAAdAHAAHQCAAB0ABl2yEB0BXbAdELEABvS2MAdAB1AHA12wHRCwD9CwDy+wBxCxFgb0sAcQsCXQsCUvsq8vAV2yYC8BcrIQLwFxWQCwAEVYsAwvG7EMFD5ZsABFWLAiLxuxIgg+WbIDDCIREjm2KQM5A0kDA3GyGgMBcbS6A8oDAnK02wPrAwJdtFoDagMCcbTpA/kDAnGyyQMBXbKpAwFysAwQsRMD9LIZDCIREjmyBRkBcbKWGQFytpYZphm2GQNdsjYZAXG0RxlXGQJxtGcZdxkCXbQHGRcZAl2y1hkBcrZ2GYYZlhkDcbL2GQFdQQkApQAZALUAGQDFABkA1QAZAARxQQ8ABQAZABUAGQAlABkANQAZAEUAGQBVABkAZQAZAAdysCIQsSsD9DAxAbAKK1iyiAMBXbKIBAFdtCgFOAUCXbIpBQFxsggJAXGyKAkBcbIVGwFxsvYfAV2yBh8BcbR2H4YfAnGyBx8BcrKXHwFyslcmAV2yhyYBXbLILQFxWQCyiAMBXbKIBAFdtCkFOQUCXbIpBQFxshUJAXGytgkBcbIHCQFxsicJAXGyBgoBcbKWDwFdtlgQaBB4EANdsokQAV2yVxsBXbIXGwFxsggfAXGy+R8BXbR6H4ofAnGyCh8BcrKaHwFyspklAV22ZiZ2JoYmA120RyZXJgJdsoYnAV2yxC0BcSU0LgQ1ND4CMzIWFwcuASMiBhUUHgQVFA4CIyImJzceAzMyNgFqL0dTRy8iP1Y1PWwjKxZYMzAzL0dTRy8lQ185S3IbLAsjLDEaPUG8ICghIzNMOzNLMhgVFHMOFyYgHigiJDNLODhRNhocDnUGDgwIKQABAAsAAAItArwABwB+sAorWLsAAgAGAAMABCuywAIBcrACELAA3LLfAAFdssADAXKwAxCwBdyyYAkBXbLwCQFdsk8JAV2yLwkBcbIvCQFdsqAJAXGywAkBXbLQCQFxsvAJAXFZALAARViwBi8bsQYUPlmwAEVYsAMvG7EDCD5ZsAYQsQUD9LAB0DAxASMRIxEjNSECLcyJzQIiAkL9vgJCegABADn/9AI6ArwAFAFasAorWLIBCgMrsuABAV2yYAEBcbKQAQFysr8BAXGy3wEBcbJgAQFyshABAXGyQAEBXbIQAQFdsAEQsQAE9LJgCgFysg8KAXGy/woBcbLfCgFxsj8KAXKyQAoBXbIQCgFdsAoQsQsG9LI/FQFdsk8WAXGybxYBXbLQFgFdsrAWAV1ZALAARViwCy8bsQsUPlmwAEVYsAcvG7EHCD5ZsAsQsADQsAcQsRED9DAxAbAKK1i2xgTWBOYEA12y1gQBcbJoBAFxssYFAV201wXnBQJdtOgI+AgCcbLoCAFytNkI6QgCXbLaCAFxsssIAV2yhA4BcbKVDgFxsmcOAXGyaBMBcbKYEwFxsokTAXFZALJnBAFxtsgE2AToBANdstgEAXG2yAXYBegFA12y6AgBcrbKCNoI6ggDXbTqCPoIAnGy2wgBcbSGDpYOAnG0aBJ4EgJdsoUTAXGylhMBcQEzERQOAiMgNREzERQeAjMyNjUBuIIkQFw3/vaJDyAwID84Arz+PERiQB7zAdX+Rik5Iw9GTgAB//f/+wJjArwACQGNsAorWLIFCAMrsn8IAXKyzwgBcrL/CAFysq8IAXKyXwgBcrLfCAFxtnAFgAWQBQNdsvAFAV2ywAUBcbKQBQFysmAFAXKyUAUBcbLQBQFdtEAFUAUCXbQABRAFAl2yBwgFERI5tAoHGgcCcbTpB/kHAl2yaQcBcbIGBQgREjmyZgYBcbLXBgFxtKcGtwYCXbTmBvYGAl20BQYVBgJxsgEHBhESObAFELEEB/S2VwRnBHcEA12yxwQBXbAIELAJ3LZwCYAJkAkDXbJwCQFyttAJ4AnwCQNdtAAJEAkCcbJYCQFdshAJAV1BCQBAAAkAUAAJAGAACQBwAAkABHG2oAmwCcAJA3G0AAkQCQJysg8LAV2ycAsBXVkAsABFWLAJLxuxCRQ+WbAARViwBy8bsQcIPlmwAdCyKAEBXbKTAgFdsAkQsATQMDEBsAorWLKVAAFdshUAAXGydQABcbIGAAFxsmYAAXGyFwABXbKHAAFdtAQBFAECcbKXAQFdtGcDdwMCXVkAspgAAV2yGAABcQEXMzcTMwEjATMBIhIFFIaQ/vxi/vqfASF3eAGa/T8CwQABAAD/+wNeArwAFQMssAorWLILFAMrsuALAV2yLwsBXbKQCwFdsgALAV2yExQLERI5srkTAV2yWRMBcbKqEwFysvsTAV2yShMBcrLJEwFxtAkTGRMCcbJoEwFdtCYTNhMCXbISFAsREjmyVBIBcrLVEgFxskUSAXGyBRIBXbTVEuUSAl2yxhIBcbRWEmYSAnGyxhIBXbZ3EocSlxIDXbI3EgFxshcSAV2y9hIBXbQGEhYSAnGyhhIBcrKmEgFxtOYS9hICcbKlEgFdQQkAFQASACUAEgA1ABIARQASAARysnUSAXGytRIBcrQkEjQSAl2yYxIBcrIBExIREjmyBBQLERI5spgEAV2yWQQBcbSqBLoEAnG0KgQ6BAJysnoEAXGyagQBcrLaBAFxsokEAXGyiQQBXbJnBAFdskYEAV2yBQsUERI5tMUF1QUCcbYVBSUFNQUDcrKVBQFxskYFAXGyFwUBXbKnBQFdsncFAV2y9wUBXbLGBQFdtOYF9gUCcbJlBQFysnUFAXG0BAUUBQJxsmMFAXGyDAsUERI5srYMAV2yVgwBcbQoDDgMAl2yDgwBXbLGDAFxsvYMAV2yRQwBcrKlDAFysg0LFBESObJKDQFysroNAXGyWw0BcrJsDQFytCsNOw0CXbILDQFdsqoNAV2ySA0BXbJnDQFdsggMDRESObALELEKBvSyEAQFERI5sBQQsRUH9LJPFwFdsi8XAV1ZALAARViwFS8bsRUUPlmwAEVYsBIvG7ESCD5ZsAHQsq8BAV2yhQEBXbKTAQFdsBUQsATQtCsHOwcCXbABELAI0LAEELAK0LASELAN0LAEELAQ0LKKEAFdMDEBsAorWLIEAAFdsnQAAXGyNQABcbIXAAFdsicAAXGyZwABcbJYAAFdsgYBAV2yNAYBXbJ1BgFdsiYGAV2ylgYBXbQGBhYGAnGyBwYBXbL3BgFdtAYHFgcCcbIHBwFdtCcHNwcCXbTXB+cHAl2yCQgBXbJHCQFdsgkJAV2yyQkBcbJHCgFdshgOAXGyNxIBXVkAsgYAAV2yJwABcbJ3AAFxspcGAV2y9wYBXbQoBzgHAl20Kgg6CAJdssQJAXETFzM3EzMTFzM3EzMDIwMnIwcDIwMz8g0EDnpaeA4ED1WLwVx9EQURfGHAlQE1fH4Bhf55fH4Bhf0/AYVrbP58AsEAAQAKAAACbgK8AA8DGbAKK1iyCQ8DK7IfDwFyso8PAV2yPw8BcrJvDwFysv8PAV2yDw8BcbIQCQFxspAJAV2ywAkBcbJwCQFdsuAJAV20QAlQCQJdtAAJEAkCXbIADwkREjmyGgABcbYnADcARwADXbAPELAB0EEJAIYAAQCWAAEApgABALYAAQAEXbJWAQFdtGcBdwECXbLWAQFdtOUB9QECXbQFARUBAnGyxQEBXbAC3LIQAgFdttIC4gLyAgNdtAICEgICcbQDAhMCAnKycwIBcUELACQAAgA0AAIARAACAFQAAgBkAAIABXKyZAIBcbLTAgFxtnICggKSAgNdtjACQAJQAgNxsvACAXFBCQCQAAIAoAACALAAAgDAAAIABHGyCAkPERI5tGcIdwgCXbIEAAgREjmwCRCwB9CymQcBXbQKBxoHAnG06Qf5BwJdQQkAJgAHADYABwBGAAcAVgAHAARxsAbcQQkAOwAGAEsABgBbAAYAawAGAARysnwGAXGyjQYBXbLPBgFxsv8GAV20DwYfBgJxstwGAXGynAYBXbJrBgFxsnYGAV2wCRCwCtyy3AoBcbKcCgFdtt0K7Qr9CgNdsg0KAXGyHwoBcbY/Ck8KXwoDcUEJAJ8ACgCvAAoAvwAKAM8ACgAEcbL/CgFxsh8KAV20fQqNCgJdsnwKAXG0DAocCgJysmsKAXFBCwArAAoAOwAKAEsACgBbAAoAawAKAAVysgwIABESObAPELAO3LKCDgFdstMOAXFBCQA0AA4ARAAOAFQADgBkAA4ABHKyeQ4BXbJkDgFxspMOAV2ycw4BcbLADgFxsvAOAV20AA4QDgJxsmARAV2y4BEBXVkAsABFWLACLxuxAhQ+WbAARViwDi8bsQ4IPlmyBAIOERI5smYEAV2ylgQBXbL1BAFdsgQEAXGyDA4CERI5sgsMAXGymgwBXbIABAwREjmwAhCwBtCyCAQMERI5sA4QsArQMDEBsAorWLLXAgFdtIYDlgMCXbLmAwFdspoFAV20aQt5CwJdspoLAV2ylg0BXVkAspcDAV20aAt4CwJdspgLAV0TAzMfAT8BMwMTIy8BDwEj4cOlbBgXcZXK1KN7Gxp8lQFkAVjKR0fK/q/+ldhKStgAAf/+AAACUgK8AAsBx7AKK1i7AAkABgAAAAQrsp8AAXKyfwABcbIfAAFysjAAAV2wABCwAdC0GAEoAQJdtOgB+AECXbJ5AQFdsgoBAXGyGwEBcbI6AQFdsokBAXGyyAEBcbK4AQFdtEcBVwECcbK3AQFxsALcshACAV220ALgAvACA120AAIQAgJxtFACYAICcrSCApICAl1BCwCQAAIAoAACALAAAgDAAAIA0AACAAVxsnACAV2y8AIBcUEJAAAAAgAQAAIAIAACADAAAgAEckELADAAAgBAAAIAUAACAGAAAgBwAAIABXGyfwkBcbKfCQFysh8JAXKyMAkBXbIEAAkREjmwCRCwCNCyhggBcbIGCAFxsvcIAV2yuAgBcbJICAFxtBcIJwgCXbK3CAFdsnYIAV2yNQgBXbIUCAFxsAfcst8HAXG0bwd/BwJxsv8HAV20DwcfBwJxtI0HnQcCXbKwDQFdsmANAV1ZALAARViwAi8bsQIUPlmwAEVYsAsvG7ELCD5ZsgALAhESObIEAgsREjmyFgQBXbLTBAFxsAIQsAfQsAAQsAnQMDEBsAorWLREA1QDAnGy9QMBXbI1AwFxssYDAV20BgMWAwJxslcGAV1ZEwMzExczNxMzAxEj5OajgA4FD3yT5YkBBAG4/vlKTAEF/kn++wABABsAAAIAArwACwIAsAorWLIFCwMrsnAFAXGyEAUBcbIfBQFyslAFAXGy4AUBXbIQBQFdsjAFAV2wBRCwAtBBCQAqAAIAOgACAEoAAgBaAAIABHGy+gIBcbJrAgFdtNsC6wICXbILAgFyshwCAV2ynAIBXbIcAgFysm0CAXGy/gIBXbQOAh4CAnGy3gIBcbZPAl8CbwIDcrQuAj4CAnKyfgIBcbS9As0CAnK2jAKcAqwCA3K0vALMAgJxsnwCAV223ALsAvwCA3KyqwIBcbKLAgFdsgsCAV2ymgIBcbLKAgFdsnoCAXKyfwsBXbL/CwFdsh8LAXKyzwsBcrK/CwFdsl8LAV2y4AsBXbALELAE0LAEL7ALELAI0LLRCAFxtLIIwggCcrLyCAFdssIIAXGyswgBcbTUCOQIAl20hAiUCAJysqQIAXG05Qj1CAJytGUIdQgCXbSFCJUIAnGyxggBXbJXCAFdsiYIAXGy9QgBcbQ1CEUIAnG0BQgVCAJdsgQIAXKyVAgBcbKECAFdsqMIAXKyEggBcrRiCHIIAnGykggBXbIBCAFxQQsAIAAIADAACABAAAgAUAAIAGAACAAFcrIQCAFxsAUQsArQsAovsq8NAV2yzw0BXbKPDQFdWQCwAEVYsAQvG7EEFD5ZsABFWLAKLxuxCgg+WbEJA/SwANCwBBCxAwP0sAbQMDE3ATchNSEVAQchFSEbASg0/qQB5f7WMwFd/ht6AZ4qenr+XiZ6AAEAPP8aAScCvAAHAI2wCitYsgYHAyuy4AYBXbJABgFxsk8GAXKyjwYBXbLwBgFxshAGAXG0MAZABgJdtAAGEAYCXbAGELAC0LQwB0AHAl2yEAcBcbKPBwFdsk8HAXKyQAcBcbLgBwFdtAAHEAcCXbLwBwFxsAcQsQQE9FkAsAYvsABFWLABLxuxARQ+WbECAfSwBhCxBQH0MDETMxUjETMVIzzrb2/rArxu/TpuAAH/6P90AbYCxwADAFWwCitYsgACAyuwABCwAdC0KgE6AQJdsgkBAV2yPwIBXbACELAD0LIGAwFdsiUDAV2yNAMBXVkAsAEvsABFWLADLxuxAxQ+WbABELAA0LADELAC0DAxBQcBNwG2Y/6VZl8tAygrAAEAHf8aAQgCvAAHAEKwCitYsgABAyuy4AABXbLgAQFdsAAQsQME9LABELAF0FkAsAEvsABFWLAGLxuxBhQ+WbABELECAfSwBhCxBQH0MDEFIzUzESM1MwEI629v6+ZuAsZuAAEAFAGdAdYCwQAIAUywCitYsgIIAyu0jwifCAJdsh8IAXGyvwgBXbI/CAFxsl8IAXGyoAIBXbJgAgFxsqACAXGyvwIBcbIPAgFdsoACAXGywAIBXbIwAgFyshACAXKyAAgCERI5QQkAZwAAAHcAAACHAAAAlwAAAARdsgECCBESObZHAVcBZwEDcUELAKcAAQC3AAEAxwABANcAAQDnAAEABV2wAhCwA9yyvwMBcrS/A88DAl2yrwMBcbQvAz8DAnGynwMBcrI/AwFdsh8DAXKyBQIIERI5sAgQsAfcsr8HAXGywAcBXVkAsABFWLAALxuxABQ+WbAH3LLQBwFdsnAHAXGyPwcBXbIfBwFxsuAHAXGyQAcBcbJgBwFdslAHAXKwA9CyBQAHERI5MDEBsAorWLapBLkEyQQDXbSmBrYGAl2yxwYBXVkAtqgEuATIBANdtKgGuAYCXRMzEyMvAQ8BI9hFuYNHFRlOfALB/tx6Rkd5AAEAAP8gAbz/iwADACSwCitYsAQvsAUvsAQQsADQsAUQsAHQWQCwBC+wANyxAwH0MDEVIRUhAbz+RHVrAAEAPAI2AQAC0AAEAKiwCitYsAAvsAPctE8DXwMCcbKfAwFxsp8DAV2yIAMBclkAsAAvsjAAAXGy8AABcbIwAAFysg8AAV2yTwABXbJPAAFxsk8AAXKybwABXbIvAAFdstAAAXKyEAABcrLQAAFxshAAAXGy8AABXbAE3LKvBAFxsg8EAV2yUAQBcTAxAbAKK1hBCQAFAAQAFQAEACUABAA1AAQABHG0BgQWBAJdtOYE9gQCXVkBIyc1MwEASHyIAjZ8HgACABf/+AHHAf4AIwAvAhuwCitYsggYAyuyXxgBXbKfGAFdsg8YAXGyzxgBXbJ/GAFdsp8YAXKyQBgBXbAYELAA0LAAL7JACAFdtFAIYAgCcbKfCAFyshAIAXGyAAgBXbLACAFxsAgQsA3QsA0vsAgQsR0E9LAo0LAP0LAYELEtBfSyLzEBXVkAsABFWLADLxuxAxA+WbAARViwDi8bsQ4IPlmwAEVYsBMvG7ETCD5Zsh0DExESObAdL7RvHX8dAnG0jx2fHQJdtCAdMB0CXbIPEx0REjmwAxCxIAH0sBMQsSQB9LAdELAo3LRQKGAoAnFBCQBgACgAcAAoAIAAKACQACgABF0wMQGwCitYsvUFAXKyBgUBXbZ2BYYFlgUDcbIXBQFdsnYGAXG0BwYXBgJdspURAXKyphEBcrIYFQFdsgoVAV1BCwAYABYAKAAWADgAFgBIABYAWAAWAAVdsgkWAV20qRa5FgJxtOca9xoCcbIIGgFdtKgauBoCXbZIGlgaaBoDcbQIGhgaAnKyiRoBcrK5GgFyWQCy9QUBcrQHBRcFAl22dwWHBZcFA3G0BwYXBgJdsncGAXGymREBcrKqEQFytBgVKBUCXbIJFQFdtggWGBYoFgNdtEgWWBYCXbSoFrgWAnGyORYBXbLJFgFxtOUa9RoCcbKFGgFytEYaVhoCcbQGGhYaAnKythoBcrIHGgFdtKcatxoCXbJnGgFxspkjAV2y+SsBcRM+ATMyHgIVFA4BFhcjJyMOASMiLgI1ND4CFzYmIyIGBxMyNjc1Jg4CFRQWNihuPDRGKREGAQYMahUFFEc4IzgoFilNa0IHHjQnVxyGJy4LHzksGiEB1xIVGS5AKCxZVlEkRR8tFSc1IS4/Jw8DODEQDf7tIxRBAwQOGhQcHwACADn/9AH3ArwADwAbAU+wCitYsgkAAyuyHwABcbI/AAFysl8AAXKyHwABcrL/AAFdQQsAAAAAABAAAAAgAAAAMAAAAEAAAAAFXbAAELEBBPS0gAmQCQJdtA8JHwkCcrJgCQFdQQsAAAAJABAACQAgAAkAMAAJAEAACQAFXbAT0LAJELEaBfSyLx0BcbKQHQFdsuAdAXFZALAARViwBi8bsQYQPlmwAEVYsAEvG7EBFD5ZsABFWLAMLxuxDAg+WbICBgwREjmwBhCxEAH0sAwQsRcB9DAxAbAKK1iypgcBXbZ3B4cHlwcDXbTHB9cHAnGy5QgBcrJ2CAFdtKQKtAoCcrK1CgFdtEUKVQoCcbTGCtYKAl20qBu4GwJxWQBBCQB2AAcAhgAHAJYABwCmAAcABF20xgfWBwJxtEgKWAoCcba5CskK2QoDXbSpCrkKAnK0hhmWGQJxtKgbuBsCcRMzFTM+ATMyFhUUBiMiJicTIgYHFR4BMzI2NTQ5ggQVQihaX4V0QGob3yQtDBAlFTU3ArzwGBx7foeMFQ0BfCUj2ggGTVSPAAEAIf/yAZsCAgAdAXywCitYsg4IAyuycA4BXbIvDgFysuAOAV22EA4gDjAOA12yEA4BcbAOELAA0LAAL7JPCAFysp8IAV2ynwgBcrIvCAFysm8IAV2y4AgBXbIwCAFdsAgQsRUF9LRgH3AfAl2ysB8BcbIgHwFdsgAfAXJZALAARViwCy8bsQsQPlmwAEVYsAMvG7EDCD5ZsAsQsRIC9LADELEaAvQwMQGwCitYtOgF+AUCXbKIBQFxshgFAXK0CQUZBQJxtKkFuQUCcrTpBvkGAl2yCAkBcrTpCfkJAnG06Ar4CgJdtOcP9w8CXbLYDwFdsoYUAXGy1xwBXbTnHfcdAl2y2B0BXVkAtOgF+AUCXbQIBRgFAnGyiAUBcbIYBQFytKkFuQUCcrToBvgGAl2yBwkBcrTlCvUKAl20Zgp2CgJxtIYKlgoCcrbZD+kP+Q8DXbQJDxkPAnGyiRQBcbLVHAFdshYcAXGy1R0BXbIVHQFxtOYd9h0CXbIGHQFxspcdAV2yxx0BXSUOASMiLgI1NDYzMhYXBy4BIyIGFRQeAjMyNjcBmx5VLTxTNBdybTdDGx8XLR02OA4cLR4hLhIfFhcmRWI7f4kSDmoLDEdOIDYoFxEMAAIAIf/yAewCvAAUACEBurAKK1iyFAwDK7TgFPAUAl2yMBQBXbIvFAFxsh8UAXKykBQBXbIQFAFdshAUAXGyMBQBcbAUELETBPSwGdCwBdCyEAwBXbIfDAFysl8MAXKyjwwBXbIvDAFxsn8MAXKyrwwBXbJvDAFdsj8MAXKyAAwBcrIwDAFdsuAMAV2wDBCxHwX0spAjAV2y8CMBcbLwIwFdsjAjAXJZALAARViwDy8bsQ8QPlmwAEVYsBMvG7ETFD5ZsABFWLAJLxuxCQg+WbAARViwBC8bsQQIPlmyBQkPERI5sAkQsRUB9LAPELEcAfQwMQGwCitYsvgDAXK0xwrXCgJyQQkACAAKABgACgAoAAoAOAAKAARxsngLAV20yQ3ZDQJdtGcOdw4CcbToDvgOAl20yQ7ZDgJdsmoOAV20hh6WHgJxtKcgtyACcbSmIbYhAnFZALJ4CgFdtCgKOAoCcbaJCpkKqQoDXbQJChkKAnG0qQq5CgJxtMkK2QoCcrRMClwKAnKyeAsBXbTGDdYNAl20xQ7VDgJdsmYOAV205g72DgJdtGYOdg4CcbRnDncOAnK0iR6ZHgJxtKcgtyACcbSmIbYhAnElFBYXIycjDgEjIiY1NDYzMhYXNTMDMjY3NS4BIyIGFRQWAeICCF0SBBRLM15odHAfKBSC3SYsCQ4iGzc3LbAqVDNBIyt8hICOBwjL/aQlI9QLC0paQE4AAgAh//IB2QICABgAHwJisAorWLIOBgMrsnAOAV2ysA4BXbLwDgFdsnAOAXKysA4BcrIvDgFysu8OAXGykA4BcrJQDgFystAOAV2ykA4BXbYQDiAOMA4DXbLQDgFysA4QsADQsAAvsn8AAXGybwYBcrTvBv8GAnGyTwYBcrKPBgFysi8GAXKybwYBXbIwBgFdshAGAV2wBhCxHAX0sBLQsBIvsA4QsB3cskAdAXKyMB0BXbSgHbAdAl2ywB0BcrIgIQFdssAhAXFZALAARViwCS8bsQkQPlmwAEVYsAMvG7EDCD5ZshwJAxESObAcL7SPHJ8cAl20bxx/HAJxtC8cPxwCcbAS3EEJAGAAEgBwABIAgAASAJAAEgAEXUENAAAAEgAQABIAIAASADAAEgBAABIAUAASAAZxsiASAXKwAxCwFdxBCQBfABUAbwAVAH8AFQCPABUABHG2zxXfFe8VA120TxVfFQJdsi8VAXKyvxUBcrAJELAZ3LRAGVAZAl22wBnQGeAZA11BCQBQABkAYAAZAHAAGQCAABkABHGyIBkBcrKwGQFyMDEBsAorWLRoBHgEAl206AT4BAJdtIgEmAQCcrbZB+kH+QcDcbLpBwFytGgIeAgCXbToCPgIAl2y2AgBcbRFDFUMAnG0hQyVDAJytCYMNgwCcbRnDHcMAnJZALToBPgEAl20aQR5BAJdtIkEmQQCcrLlBwFytOcH9wcCcbRmCHYIAl205gj2CAJdstYIAXG0Zgx2DAJyQQkAJwAMADcADABHAAwAVwAMAARxtIcMlwwCcrL1GAFxslYYAV20phi2GAJdtGcYdxgCXSUOASMiJjU0NjMyHgIVFAYHIR4BMzI2NwMiBgczNiYByR5nOnlwfnImSDgiBQX+1AM7QilBEY8zMQW6BCkrGCGNe4SEFC5OOhUwGj9AGQ0BGj0zNjoAAQALAAABcQLEABcBBrAKK1i7ABMABAAWAAQrsm8WAXGy4BYBXbKgFgFxsBYQsAHQsBYQsAfcsnAHAV2yEAcBcbJQBwFxsm8TAXGy4BMBXbKgEwFxsBMQsBDQsBMQsBLcsBYQsBfcsk8ZAV2yUBkBcVkAsABFWLAFLxuxBRQ+WbAARViwFC8bsRQIPlmyAQUUERI5sAEvsq8BAXK0IAEwAQJdsAUQsQsB9LABELAQ0LABELEWAfSwE9AwMQGwCitYshgDAV2yiAMBcbKZAwFxsqsDAXG0CAQYBAJdstgEAV2yiAQBcVkAtIYDlgMCcbIXAwFdsqcDAXGyBgQBXbLWBAFdsoYEAXGyFwQBXbTpCPkIAnETMzU0NjMyFwcuASMiDgIVMxUjESMRIwtFUExQNRkXIxMUFwsDbm6CRQH0HF9VE2gIBQwZJRhu/noBhgACACH/LAHgAgAAGgAmAZGwCitYshoUAyuyEBQBXbI/FAFysm8UAV2yXxQBcrKPFAFdsuAUAV2yMBQBXbKQGgFdshAaAXGy7xoBcbIwGgFxtOAa8BoCXbIwGgFdshAaAV2yBhQaERI5sAYvsBoQsR8E9LAO0LAUELEkBfSy8CgBXbJwKAFyspAoAV2yECgBcrJQKAFyWQCwAEVYsBcvG7EXED5ZsABFWLADLxuxAwo+WbAARViwES8bsREIPlmwAxCxCgH0sg4RFxESObARELEbAfSwFxCxIQH0MDEBsAorWLQFARUBAnG0RQFVAQJysvcSAXK0KBI4EgJxtMgS2BICcbRoEngSAnK0KBM4EwJxtMgV2BUCcbTIFtgWAl20ZiV2JQJxtKcltyUCcbTnJfclAnFZALRIAVgBAnK0CQEZAQJxQQkApgAHALYABwDGAAcA1gAHAARdtCkSORICcbTJEtkSAnG0aRJ5EgJysvsSAXK0KBM4EwJxtMcV1xUCcbTFFtUWAl2yZhYBXbRmJXYlAnG0piW2JQJxtOcl9yUCcSEUBiMiJic3HgEzMjY9ASMGIyImNTQ2MzIWFwMyNjc1JiMiBhUUFgHgdmpIUxUbFz0tRDEEI1lhX4B6QGUg3CYpCx8uMjgwbWcUC2cJEjs1IC94gIaKEgz+fiIi4Q1LUklMAAEAOQAAAe0CvAAWAXawCitYshYJAyuyQBYBXbKQFgFdtGAWcBYCcbJPFgFysm8WAXKyLxYBcbIQFgFxsmAWAV20EBYgFgJdstAWAXKwFhCxAAT0sk8JAXKyLwkBcbJvCQFysk8JAXGyDwkBcbJACQFdtBAJIAkCXbAJELEIBPSwDNCyPxcBXbI/GAFxsl8YAXGykBgBXbLwGAFxWQCwAEVYsAsvG7ELFD5ZsABFWLAQLxuxEBA+WbAARViwCC8bsQgIPlmwANCwEBCxBAL0sgwQCBESOTAxAbAKK1hBCQBJAAMAWQADAGkAAwB5AAMABHGy1RIBXbQGEhYSAl20BhIWEgJxQQkAZgASAHYAEgCGABIAlgASAARytCcSNxICXbTnEvcSAl2yxxIBcbK1EwFxQQkABwATABcAEwAnABMANwATAARdWQC0SANYAwJxtGkDeQMCcbTmEvYSAl20hhKWEgJytCcSNxICXbLHEgFxtGcSdxICcrQHExcTAl2ytxMBcSERNCYjIgYHESMRMxEzPgEzMh4CFREBayItITcJgoIEGEY2JjonEwEcPTYtI/7BArz/ACAmFC5POv7J//8AMQAAANcCxwImAOn+AAEGATL1AABRsAorWLTPBN8EAnFBFQBvAAQAfwAEAI8ABACfAAQArwAEAL8ABADPAAQA3wAEAO8ABAD/AAQACnKy/wQBXbIPBAFysgAEAV20IAQwBAJdMDFZAAAA////8P8wANkCxwImAS0AAAEGATL3AAA7sAorWLQgDzAPAnKyAA8BXbIPDwFytM8P3w8CXbL/DwFdtGAPcA8CcrSgD7APAnG2IA8wD0APA10wMVkAAAEAOQAAAe0CvAAOAjSwCitYuwACAAQAAwAEK7I/AgFxsv8CAV2yPwIBcrQAAhACAl2yQAIBXbL/AwFdsj8DAXKyPwMBcbQAAxADAl2yQAMBXbACELAG0LACELAO0LJ3DgFxstcOAV2y+A4BXbLpDgFdtAkOGQ4CcbIaDgFdtIkOmQ4CXbJZDgFxsgcOAV2ytw4BcbQ2DkYOAnGydg4BXbAN0LKCDQFyslMNAXKycw0BcrLkDQFxspQNAV2ytA0BcbZFDVUNZQ0DcbLlDQFdssYNAXGyhg0BXbJmDQFdsqYNAXK0xw3XDQJdsgcNAXKy1w0BcrKmDQFxsgYNAV2y9g0BcbQlDTUNAnKydQ0BXbLVDQFxsnQNAXGytA0BcrJEDQFysvMNAV2yAg0BcbIRDQFxsmANAXKwCdCyCAkBXbLZCQFysmkJAXGyegkBcbRLCVsJAnK06gn6CQJxsokJAXG0yQnZCQJxsigJAV2yhAkBXbAI0La5CMkI2QgDcbTqCPoIAnGyiggBXbRLCFsIAnKymwgBXbKNCAFytA0IHQgCcbRsCHwIAnKy+wgBXbRrCHsIAnGyGggBXbRJCFkIAnGy6QgBXbIICAFdsgsJBhESObIXCwFdsk8QAV2yLxABXbJwEAFxWQCwAEVYsAUvG7EFFD5ZsABFWLAILxuxCBA+WbAARViwAi8bsQIIPlmyAQIFERI5sAEvtC8BPwECXbAG0LILBgEREjmwAhCwDtAwMQGwCitYshYMAXGy5wwBXVk3IxUjETMRPwEzDwEfASPeI4KCHnKPeDM3h5XPzwK8/mMOx74mJ+kAAQA9//IBJwK8AA8A5bAKK1i7AA8ABAAOAAQrtDAOQA4CXbIvDgFxtAAOEA4CXbLwDgFysA4QsAfcsjAHAXGyrwcBXbLwBwFdsgAHAXGyYAcBXbLwDwFysi8PAXG0MA9ADwJdtAAPEA8CXbL/EAFxWQCwAEVYsA8vG7EPFD5ZsABFWLAKLxuxCgg+WbEDAvQwMQGwCitYtngMiAyYDANdsokMAXGyeQwBcrLJDAFyQQkAigAMAJoADACqAAwAugAMAARyWQCyiAwBcbZ5DIkMmQwDXbLJDAFyQQkAigAMAJoADACqAAwAugAMAARysnsMAXI3FBYzMjY3Fw4BIyImNREzvxIUDBcRDhBCIzk8gqgjIAQHZggQNT0CWAABADkAAALzAgIAJQIdsAorWLIlCQMrsnAlAV2yryUBcbLvJQFxsv8lAV2yYCUBcbQQJSAlAl2wJRCxAAT0si8AAV2yHwkBcbL/CQFdshAJAV2yQAkBXbAJELEIBPSwDNCyEwAlERI5sAAQsBzcshAcAXGyrxwBcbJPHAFdsu8cAXGyYBwBcbJwHAFdsiAcAV2xHQT0sj8mAV2yYCcBcbIQJwFysiAnAV2yrycBcbL/JwFdsg8nAXGyDycBXbJPJwFdsu8nAXGywCcBcbJgJwFysnAnAV2y0CcBXbIgJwFxWQCwAEVYsBAvG7EQED5ZsABFWLALLxuxCxA+WbAARViwCC8bsQgIPlmwANCwEBCxBAL0sgwQCBESObAQELAW0LAAELAd0LAWELEhAvQwMQGwCitYtEgDWAMCcbRpA3kDAnGyeA4BXbImEQFdtAcRFxECXbKFEgFytMYS1hICXbKmEgFxtAcSFxICXbQHExcTAl2yiRQBcrKFGAFytAYYFhgCXbSmGLYYAnG0lhimGAJytCcYNxgCXbLHGAFxspYZAXK0BxkXGQJdtEggWCACcbRqIHogAnFZALRIA1gDAnG0aQN5AwJxtgcRFxEnEQNdtAcSFxICXbTHEtcSAl2ypxIBcbKHEgFytAcTFxMCXbKHFAFytKUYtRgCcbLGGAFxsoYYAXKyphgBcrQnGDcYAl20BxkXGQJdspcZAXK0aCB4IAJxtEkgWSACcSERNCYjIgYHESMRMxczPgEzMhYXPgEzMh4CFREjETQmIyIGBxEBVRopIioLgmUPBBdHODA9ERdIMyo7JRKCGSsjKQoBEEU6JR3+swH0QiAwJy4nLhQxUj/+1AEZOzsmIf64AAEAOQAAAe0CAgAWAWqwCitYshYJAyuyQBYBXbKQFgFdtGAWcBYCcbIvFgFxsm8WAXKyTxYBcrLQFgFxshAWAXGyYBYBXbQQFiAWAl2y0BYBcrAWELEABPSybwkBcrIvCQFxsk8JAXKyTwkBcbIPCQFxskAJAV20EAkgCQJdsAkQsQgE9LAM0LYmDDYMRgwDcbI/FwFdsj8YAXGyXxgBcbLQGAFxspAYAV1ZALAARViwCy8bsQsQPlmwAEVYsBAvG7EQED5ZsABFWLAILxuxCAg+WbAA0LAQELEEAvSyDBAIERI5MDEBsAorWLLWAgFdsvYCAV2y5wIBXbQpAjkCAnKySAMBcbSlErUSAnG0ZRJ1EgJyshYSAV2y9hIBXbIHEgFdtCcSNxICXbLXEgFdsgYTAV2yFxMBXVkAtCoCOgICcrZYA2gDeAMDcbK2BgFdtKYSthICcbRmEnYSAnKyBxIBXbQnEjcSAl201xLnEgJdtAcTFxMCXSERNCYjIgYHESMRMxczPgEzMh4CFREBayMqJTMLgmcPBBdMPCU6KBQBHD02KyD+vAH0QiAwFC5POv7JAAIAIf/yAfgCAgAPAB0CO7AKK1iyCAADK7JfAAFdsj8AAXKyfwABcrKfAAFysl8AAXKyfwABXbLgAAFdsgAAAXKygAgBXbIACAFxsu8IAXGyrwgBcbLPCAFxsuAIAV2yMAgBXbIQCAFdsAAQsRAF9LAIELEYBfSyrx8BXbJvHwFdss8fAV2yEB8BcrJQHwFdWQCwAEVYsAMvG7EDED5ZsABFWLALLxuxCwg+WbEVAfSwAxCxGwH0MDEBsAorWLLIAQFdsukBAV2y+AIBXbLoAgFxsvUFAV20ZQV1BQJysucFAV2y5wkBXbLXDQFxstgNAV2y2A4BcbRmEXYRAnK0JhI2EgJytEcSVxICcbK2EwFdsqcTAV2yhxMBcrRoFngWAnKyZBcBcbJ1FwFxspYXAXGyhxcBcbKXFwFysvgXAXGy+BkBcbQpGTkZAnK0mRmpGQJysmQaAXGydRoBcbKXGgFytKgauBoCXbKoGgFytEkaWRoCcbKlHAFdtEYcVhwCcbRmHHYcAnKytxwBXbKIHAFytGkceRwCcVkAtMgB2AECcbL2AgFdtMgC2AICcbTIBNgEAnG0ZgV2BQJytOcF9wUCXbTIBtgGAnGyxwkBcbL5CQFdstcKAXG0xwzXDAJxsscOAXG0ZhF2EQJytEYSVhICcbQnEjcSAnKyhBMBcrKnEwFdtGcWdxYCcrKYFwFytCsZOxkCcrKlGgFyspYaAXKyuBoBXbRJGlkaAnG0aRp5GgJytKgcuBwCXbRIHFgcAnG2aRx5HIkcA3I3NDYzMh4CFRQGIyIuAjcUHgIzMjY1NCYjIgYhfHA8WDode3A8WDsdhgwYJxszMi43MDb6f4kmRWI7f4kmRWI7ITgqF0pQRVVIAAIAOf84AfsCAgATACABn7AKK1iyCRMDK7IAEwFysj8TAXKy/xMBXbI/EwFxsl8TAXGyHxMBcbIfEwFysl8TAXK2IBMwE0ATA12yABMBXbATELESBPSwGNCwAtCyYAkBXbIfCQFyQQsAAAAJABAACQAgAAkAMAAJAEAACQAFXbaACZAJoAkDXbJwCQFysAkQsR4F9LLQIgFxsvAiAXGykCIBXVkAsABFWLAGLxuxBhA+WbAARViwAS8bsQEQPlmwAEVYsBIvG7ESCj5ZsABFWLAOLxuxDgg+WbICBg4REjmyEQ4GERI5sAYQsRQB9LAOELEbAfQwMQGwCitYQQkAdgAHAIYABwCWAAcApgAHAARdtAcHFwcCXbL1CAFysnYIAV20RghWCAJxtMYI1ggCcbTFC9ULAnG0xgvWCwJdtMYM1gwCXbJnDAFdtOcM9wwCXbSoH7gfAnFZALJ2BwFdsgcHAV22hweXB6cHA120RghWCAJxtMYI1ggCcbJ3CAFdtMgL2AsCXbTIC9gLAnGyaAwBXbToDPgMAl20yQzZDAJdtIYdlh0CcbSqH7ofAnETMxczPgEzMhYVFA4CIyImJxUjEyIGBxUeATMyNjU0JjlfDwQaRzNeXh47VTcfKBSC3yYrDA4hGzg4LAH0PCYkd4RAZ0gmCQrNAlwmJtALDU9bQkgAAgAh/zgB4AIAABEAHgFksAorWLIACQMrspAAAV2yEAABcbIfAAFysjAAAXG04ADwAAJdsjAAAV2yEAABXbAAELEBBPSy4AkBXbJfCQFyso8JAV2yHwkBcrI/CQFysq8JAV2ybwkBXbIACQFysjAJAV2yEAkBXbAV0LAJELEcBfSykCABXbLwIAFdsuAgAXGyMCABclkAsABFWLAMLxuxDBA+WbAARViwAS8bsQEKPlmwAEVYsAYvG7EGCD5ZsgIGDBESObESAfSwDBCxGQH0MDEBsAorWLSIB5gHAl20qAe4BwJxsnkHAV2yeAgBXbQICBgIAnGyuQoBXba4C8gL2AsDXbSpC7kLAnK0hhuWGwJxtKUdtR0CcVkAsngHAV2yqAcBXbQIBxgHAnG0iQeZBwJdtCkHOQcCcbSpB7kHAnGyeAgBXbQJCBkIAnG2twrHCtcKA120pQu1CwJytrYLxgvWCwNdtIkbmRsCcbSmHbYdAnEFIzUjDgEjIiY1NDYzMh4CFwMyNjc1LgEjIgYVFBYB4IIEETouXWOHfhs2MSoO3CYpCw8mGDU1MMjzGh9+gIaKBQkLBf5+IiLhCAVQTUlMAAEAOQAAAV4B/wAQALqwCitYuwAGAAQABwAEK7L/BgFdsk8GAXK0LwY/BgJxtAAGEAYCXbJABgFdtC8HPwcCcbL/BwFdsk8HAXK0AAcQBwJdskAHAV2wBhCwCtCwBxCwENyyABABXbJwEAFdsjAQAV2yEBABcbJAEAFxstASAV2yEBIBcrJwEgFdsuASAXFZALAARViwCS8bsQkQPlmwAEVYsA4vG7EOED5ZsABFWLAGLxuxBgg+WbAOELECA/SyCg4GERI5MDEBJiMiBgcRIxEzFzM+ATMyFwFNHxkjLwiCZQ8EETonGiEBegslHf69AfRCJSgLAAEAGf/yAYoCAgAmAsOwCitYshoHAyu2MBpAGlAaA120wBrQGgJdshAaAV2y8BoBXbAaELEABPSyfwcBXbIwBwFdsBoQsA3QsA0vsAcQsRME9LAHELAg0LAgL7KPKAFdsr8oAV2yLygBcbJwKAFxssAoAXFZALAARViwCi8bsQoQPlmwAEVYsB0vG7EdCD5ZsgMdChESObJYAwFdsAoQsBHctEARUBECXUEJAFAAEQBgABEAcAARAIAAEQAEcbbAEdAR4BEDXbIgEQFysrARAXKyFgodERI5suUWAV20JxY3FgJdstkWAV20ZhZ2FgJytMUW1RYCcrITFgFysB0QsCTcsi8kAXK2zyTfJO8kA11BCQBfACQAbwAkAH8AJACPACQABHGyvyQBcrRPJF8kAl0wMQGwCitYtIgDmAMCcbSIBJgEAnGyyQQBcbQIBRgFAl20qAW4BQJdtEgFWAUCcbIoBQFytOkF+QUCcUEJAAgACAAYAAgAKAAIADgACAAEXbJJCAFdtOkI+QgCXUEJAIkACACZAAgAqQAIALkACAAEcbQICRgJAl20JxU3FQJdtCcWNxYCXbSmF7YXAl20BxcXFwJdtKYYthgCXbQHGBcYAl2yxxgBcbSGG5YbAnFBCQAHABsAFwAbACcAGwA3ABsABF20BxwXHAJdsgghAXJZALSJA5kDAnG0iASYBAJxssoEAXG0aAV4BQJdtKgFuAUCXbIpBQFytEoFWgUCcbTsBfwFAnG0hQiVCAJxtKYItggCcUELAAcACAAXAAgAJwAIADcACABHAAgABV205wj3CAJdtAYJFgkCXbKYDgFdtCcVNxUCXbQmFjYWAl20BxcXFwJdtKcXtxcCXbSmGLYYAl2yxhgBcbQHGBcYAl1BCQAIABsAGAAbACgAGwA4ABsABF20iBuYGwJxtAgcGBwCXbIEIQFysvUhAXGyViEBXSU0LgQ1NDYzMhYXBy4BIyIVFB4EFRQGIyImJzceATMyNgEIIjI8MiJYUzlcGh0XRiQ6IjI8MiJhYTVdHSQXTCgdI4oUGBQVJTktSk4YD14JFC0SFhMWIzgsTFcbEmENGRYAAQAF//IBWAJ3ABcA8LAKK1i7AAcABAAWAAQrtgAWEBYgFgNdsmAWAXKy4BYBXbAWELAB0LJgBwFysuAHAV22AAcQByAHA12wBxCwBNCwBxCwBty0QAZQBgJdsBYQsA/ctEAPUA8CXbIQDwFdsnAPAXGysA8BcbAWELAX3LSgGbAZAl2ycBkBXbIgGQFdWQCwAEVYsAEvG7EBED5ZsABFWLASLxuxEgg+WbABELAE0LAD3LABELEWAfSwB9CwEhCxCwL0MDEBsAorWLQIFBgUAnK06hT6FAJxWQBBCQAJABMAGQATACkAEwA5ABMABHK06RT5FAJxtAkUGRQCchMzNTcVMxUjFRQWMzI2NxcOASMiJj0BIwVFgnp6FR0UHRIXG0glRUFFAfReJYNuwDQtCAhkDRJHUfwAAQA0//IB8QH0ABkBRbAKK1iyCRkDK7L/GQFdtg8ZHxkvGQNxsn8ZAXK2PxlPGV8ZA3KyMBkBXbIQGQFdsBkQsQAE9LKQCQFdspAJAXGy/wkBXbIvCQFxsk8JAXKycAkBcbIwCQFdshAJAV2wCRCxCAT0sA/QspAbAV2yXxsBcbLvGwFdstAbAV2yEBsBclkAsABFWLAALxuxABA+WbAARViwDi8bsQ4IPlmwAEVYsBMvG7ETCD5ZsQQC9LAAELAI0LIPEwgREjkwMQGwCitYsrcRAXJBCQAIABUAGAAVACgAFQA4ABUABF20ahV6FQJyQQkACAAWABgAFgAoABYAOAAWAARdtKgWuBYCcVkAsrkRAXJBCQAIABUAGAAVACgAFQA4ABUABF20qRW5FQJxtGsVexUCckEJAAgAFgAYABYAKAAWADgAFgAEXbSoFrgWAnETERQWMzI2NxEzERQWFyMnIw4BIyIuAjURth0qJTEMgggIYhcEF1I4JjwoFQH0/uQ9NiwgAUP+pClPIEomMhQuTjsBNwAB//L/+wHrAfQACQGosAorWLIFCAMrskAIAV2yIAgBXbLPCAFxsg8IAXGyTwgBcbKPCAFysi8IAXGybwgBcbRPCF8IAnKyAAgBXbKwCAFxsvAIAXGyAAUBXbJABQFdsqAFAV2yEAUBcbJwBQFxsi8FAXGysAUBcbJQBQFxtMAF0AUCXbKABQFdsiAFAV2y0AUBcbLwBQFxsgEIBRESObAFELAE3LSnBLcEAl20CwQbBAJxsp8EAV2y3wQBcrZsBHwEjAQDcrRHBFcEAl2yhwQBXbTlBPUEAl2yBgUIERI5QQkABwAGABcABgAnAAYANwAGAARdtKkGuQYCcbTmBvYGAl20hgaWBgJxsgcIBRESObSpB7kHAnGwCBCwCdy0gAmQCQJdtmMJcwmDCQNytMoJ2gkCXbLtCQFdtlQJZAl0CQNxshAJAV20wAnQCQJxQQkAIAAJADAACQBAAAkAUAAJAARysj8KAV2y0AsBXVkAsABFWLAJLxuxCRA+WbAARViwBy8bsQcIPlmwAdC2WwFrAXsBA3G0ygHaAQJdsAkQsATQMDEBsAorWLJ3AAFdWQCydwABXTcXMzcTMwMjAzPmEQUOVYzRT9mX7k1PAQT+BwH5AAH/+P/7AtkB9AAVAh+wCitYsgYPAyuyMAYBXbKwBgFdsjAGAXGyoAYBcbIgBgFysiYGAXGyKAYBXbL0BgFdstAGAXGycAYBcbLQBgFdtnAGgAaQBgNdslAGAXKykAYBcrJvDwFyst8PAXKyAAYPERI5tKYAtgACXbJ3AAFdshcAAXGyRgABcbJmAAFdshYAAV2yJQEBXbIDBg8REjmyJwMBXbK3AwFdsAYQsAXcsiMFAV2y3wUBcUEJACUABQA1AAUARQAFAFUABQAEcbSjBbMFAl2yMAUBXbIHBg8REjmypgcBcbIbBwFdsgwHAV205wf3BwJdsjYHAV2yVgcBcbIIBg8REjm0iwibCAJdtAoIGggCXbInCQFdsgsPBhESObINDwYREjmyVg0BcrJGDQFxsgcNAXGydg0BcbQFDRUNAl20hA2UDQJdsg4PBhESObAPELAQ3LZgEHAQgBADcrQEEBQQAnGy+hABXbLQEAFysnAQAXGykBABXbISDwYREjmyFQ8GERI5sjkVAXGyWRUBcbKQFwFdsg8XAV2yTxcBXbJwFwFdstAXAV1ZALAARViwEC8bsRAQPlmwAEVYsA0vG7ENCD5ZsBLQtlsSaxJ7EgNxssoSAV2wA9CwEBCwFdCwBdCwDRCwCNCwFRCwC9CyZgsBXTAxAbAKK1iydwEBXbQKBBoEAl20AxETEQJdshURAXFZALI2AQFdsicBAV2ydwEBXbQFBBUEAl0BExczPwEzAyMDJyMHAyMDMx8BMz8BAaNbEgQOQHeaYGUNBQxgY6GNSQwFEVMB9P8AU1T//gcBGD9A/ukB+ftZWvoAAQAIAAACBQH0AA8C2bAKK1iyCQ8DK7L/DwFdsk8PAXKybw8BcrJ7DwFdsoAJAV2yAAkBXbJPCQFysv8JAV2ybwkBcrJ0CQFdskAJAV2yIAkBXbJgCQFdsgAPCRESObIaAAFxtCsAOwACcbQKABoAAl2yCQABcbAPELAB0LABL7QHARcBAl2ydgEBXbAC3LIQAgFyQQsAQwACAFMAAgBjAAIAcwACAIMAAgAFcrQkAjQCAnKyFAIBcbIFAgFxQQkASQACAFkAAgBpAAIAeQACAARdtMoC2gICXbKrAgFxtCoCOgICcbLmAgFdspQCAV2yVAIBcbKDAgFdskICAXGyEAIBXbKwAgFysggJDxESObQlCDUIAnGyBAAIERI5sAkQsAfQsAcvsnkHAV2wBtxBCQBWAAYAZgAGAHYABgCGAAYABF2ymwYBXbJ/BgFxtmwGfAaMBgNytAsGGwYCcbQlBjUGAnFBCQDEAAYA1AAGAOQABgD0AAYABF2wCRCwCty2VgpmCnYKA120CwobCgJxQQsATAAKAFwACgBsAAoAfAAKAIwACgAFcrJfCgFxsh8KAV2yjQoBXbQrCjsKAnKymgoBXbQlCjUKAnG2xArUCuQKA12yDAgAERI5sA8QsA7ctmMOcw6DDgNysgUOAXG0Kg46DgJxsqsOAXG0XQ5tDgJxQQkAygAOANoADgDqAA4A+gAOAARdtEkOWQ4CXbIUDgFxspIOAV2yUA4BcrJwEQFxshARAXGyPxEBXbIfEQFdsoARAV2y0BEBXbJgEQFdsrARAV1ZALAARViwAi8bsQIQPlmwAEVYsA4vG7EOCD5ZsgQCDhESObIXBAFdsjkEAV20BgQWBAJxsoYEAV2yDA4CERI5tIkMmQwCXbI2DAFdsgAEDBESObQlADUAAnGwAhCwBtCyCAQMERI5sA4QsArQMDEBsAorWLToAPgAAl205wj3CAJdWQC05wD3AAJdtOcI9wgCXRMnMx8BPwEzBxMjLwEPASOqlptBHB5EjZehl00eIE2OAQD0a0ZGa/D+/HhKSngAAf/3/zMB5gH0ABUCC7AKK1iyBRQDK7JwBQFdstAFAV2yUAUBcbKQBQFxstAFAXGyEAUBcrJDBQFdsvQFAV2yBAUBcbIyBQFxsvAFAXGysAUBcbJwBQFxshAFAXGykAUBXbIwBQFdshAFAV2yUxQBcbImFAFdsn8UAXKyvxQBcrJfFAFyst8UAXKynxQBcrI3FAFdsoUUAXGyQxQBXbKiFAFysgEFFBESObQHARcBAl2wBRCwBNyyZgQBcbKLBAFytpsEqwS7BANxsnYEAV2yhAQBcbIjBAFdsgYUBRESObIsBgFdsjgGAV2yDRQFERI5sA0vshMUBRESObIaEwFdsggTAV20iBOYEwJdsBQQsBXcskIVAXGyshUBcbZzFYMVkxUDXbQEFRQVAnGyihUBcbKbFQFxstoVAV2yKBUBcbZTFWMVcxUDcbTjFfMVAl2yohUBcrIQFQFdsoAVAXKycBcBXbIvFwFdsg8XAV2y0BcBXbKQFwFdWQCwAEVYsBUvG7EVED5ZsABFWLALLxuxCwo+WbIBFQsREjm2WwFrAXsBA3G0ygHaAQJdtCkBOQECXbAVELAE0LALELEQAvSyGhMBXbIJEwFdtIgTmBMCXTAxAbAKK1iyWQABXbSHCZcJAl20Zwl3CQJxtIcJlwkCcrSHCpcKAl2yCBMBXVkAtIgJmAkCXbRoCXgJAnG0iAqYCgJdsgkTAV03FzM3EzMDDgMjIic3FjMyNjcDM+8SBg1MhpgTIyozIzQfGA8PFysL0ZzbTk8BGP49OF1EJRFoBiczAfQAAQAfAAABpwH0AAsCVbAKK1iyBQsDK7KQBQFdstAFAV2y7wUBcUEJAC8ABQA/AAUATwAFAF8ABQAEcrKfBQFysg8FAXKy/wUBXbKwBQFdsnAFAV2ycAUBcUEJAC8ACwA/AAsATwALAF8ACwAEcrKPCwFdsu8LAXGynwsBcrIPCwFysv8LAV2ybwsBXbJ/CwFysu8LAXKyAgULERI5slgCAV20yQLZAgJdtMoC2gICcrJLAgFdtAwCHAICcrQNAh0CAl2yjQIBcrTPAt8CAnG0bQJ9AgJxtGwCfAICcrTsAvwCAl20qgK6AgJxskkCAXG0iQKZAgJdtKYCtgICXbIkAgFdsAsQsAPQsAMvsggLBRESObKCCAFytKIIsggCcbKUCAFytOUI9QgCcbSFCJUIAl20BggWCAJyslgIAV2yVQgBcbRlCHUIAnK0hQiVCAJxQQkAIgAIADIACABCAAgAUgAIAARyQQsAogAIALIACADCAAgA0gAIAOIACAAFcrQBCBEIAnGy8AgBcrAFELAJ0LAJL7IPDQFdsl8NAV2yDw0BcbJwDQFxspANAXFZALAARViwBC8bsQQQPlmwAEVYsAovG7EKCD5ZsQkB9LAA0LRlAHUAAnG0xgDWAAJdtOUA9QACXbJDAAFxsAQQsQMB9LAG0LL9BgFxtAoGGgYCcbJZBgFxMDEBsAorWLJIAQFxtGgBeAECcbSpAbkBAnG0BgcWBwJxtKcHtwcCcbL3BwFxWQC0ZgF2AQJxQQkAhwABAJcAAQCnAAEAtwABAARxtKgHuAcCcbL4BwFxtAkHGQcCcT8CIzUhFQ8BMxUhH8Uz+AGIwzL1/nhu7StubvEnbgABACv/GgFeAr0AIwH6sAorWLIfAAMrtNAA4AACXbKAAAFxsuAAAXGyMAABcbJAAAFdsiAAAV2wABCwA9ywABCwCNC00B/gHwJdsoAfAXGyMB8BcbJAHwFdsuAfAXGwHxCwDdCwABCxGQT0sBHQshYDERESObQvJT8lAl1ZALAfL7AARViwDC8bsQwUPlmyBAwfERI5sAQvsp8EAV2yfwQBXbAD3LAMELENAfSyFgQDERI5sB8QsR4B9DAxAbAKK1iyOAkBXbJ4CQFdtgkJGQkpCQNdskkJAV1BCQAoAAoAOAAKAEgACgBYAAoABF1BCQBIAAoAWAAKAGgACgB4AAoABHG0CQoZCgJdsmkKAV2yiQoBcbJmFwFdsjYXAXG0dxeHFwJdsjghAV2yaCEBcbKIIQFxtAkhGSECXbJZIQFdskohAXGyOCIBXbJYIgFdtgkiGSIpIgNdskkiAV2yaSIBXVkAskYJAV1BCQAHAAkAFwAJACcACQA3AAkABF2ydwkBXbQFChUKAl2yVQoBcUELACYACgA2AAoARgAKAFYACgBmAAoABV2yRgoBcbRmCnYKAnG2dheGF5YXA12yZxcBXbI3FwFxslghAV2ySCEBcbI5IQFdsmkhAXG0CiEaIQJdslohAXGyiiEBcbJ7IQFxtDgiSCICXbYJIhkiKSIDXbRZImkiAl03NCYjNTI2PQE0NjsBFSMiBh0BFAYHFR4BHQEUFjsBFSMiJjV7KiYmKjM4eDIbGSocGysYHTF4NDdgMyZkKSzRNkRuHCDDLC0FCgQ0KsIgHG4/OgABADz/fgCnArwAAwBIsAorWLICAwMrtB8CLwICcrLvAgFxtAACEAICXbJQAgFdsu8DAXG0HwMvAwJytAADEAMCXVkAsAMvsABFWLAALxuxABQ+WTAxEzMRIzxrawK8/MIAAQAj/xoBVQK9ACMB+LAKK1i7AAcABAASAAQrsrAHAXGyAAcBXbIwBwFxtEAHUAcCXbAHELAE3LAHELAM3LIgDAFdsgASAV20QBJQEgJdsrASAXGyMBIBcbASELAa0LIVGgQREjmwDBCwHtCwBxCwI9BZALAML7AARViwHy8bsR8UPlmyAx8MERI5sAMvsn8DAV2ynwMBXbAE3LAMELENAfSyFQMEERI5sB8QsR4B9DAxAbAKK1i0BgkWCQJdtFYJZgkCXbJHCQFdQQkABgAKABYACgAmAAoANgAKAARdsmYKAV2yRgoBcbJXCgFdtGcKdwoCcbJoEwFdsogTAV2yORMBcbJoFAFdskUhAXG0BiEWIQJdtkYhViFmIQNdspYhAV2yViEBcbKGIQFxtCchNyECXbKHIQFdtGchdyECcbQEIhQiAl2yVSIBcbJ1IgFxtiYiNiJGIgNdsnYiAV1ZALRYCWgJAl20CQkZCQJdskkJAV20SApYCgJdsmgKAXG0KQo5CgJdtEkKWQoCcbR5CokKAnG0CgoaCgJdsmcTAV2yNxMBcbJlFAFdspUUAV2ydhQBXbKHFAFdskUhAXG2BiEWISYhA12yViEBcbJ2IQFxQQkANwAhAEcAIQBXACEAZwAhAARdtIchlyECXbJnIQFxsjYiAV22ByIXIiciA12yRyIBXQEUFjMVIgYdARQGKwE1MzI2PQE0Njc1LgE9ATQmKwE1MzIWFQEFKiYmKjU4dTIbGSocGysYHTF3NTYBdzMmZCks0TZEbhshwywtBQoENCrCHx1uPzoAAQAcAQ0B8wG9ABcA0rAKK1iyDAADK7KQAAFdssAAAV2y4AwBXbIvDAFdsm8MAV2yEAwBXbLADAFdspAMAV1ZALAPL7LvDwFxsv8PAV2yEA8BXbEIA/SwA9ywC9CwCy+23wvvC/8LA11BCQAPAAsAHwALAC8ACwA/AAsABHGwAxCxFAP0sA8QsBfQsBcvMDEBsAorWLQIARgBAl20BwwXDAJdtAYNFg0CXbJGDQFdtCcNNw0CXbQGDhYOAl1ZALQGARYBAl20CAwYDAJdtCgNOA0CXbQJDRkNAl2ySQ0BXRM+ATMyHgIzMjY3Fw4BIyIuAiMiBgccL0sgHTIuLRcSJhUvJDwaHDAtLhoYNyEBeiYdERMRDBFnGxYSFhIVHAACACz/OADOAf8ABQARANGwCitYuwAAAAUAAQAEK7L/AAFdtC8APwACcrQvAD8AAnG0LwE/AQJytC8BPwECcbL/AQFdsgMBABESObIEAAEREjmyBgEAERI5sAYvtO8G/wYCcUENAA8ABgAfAAYALwAGAD8ABgBPAAYAXwAGAAZysAzcspAMAXGyEAwBXbZwDIAMkAwDXbYwDEAMUAwDcbLQDAFdWQCwAEVYsAkvG7EJED5ZsABFWLABLxuxAQo+WbAJELAP3LSPD58PAl2yXw8BcbIfDwFdsqAPAXGwA9wwMRcjETczFwM0NjMyFhUUBiMiJr+GGlIakywkJiwsJiQsyAFJoqIBMiMpKSMjKioAAgBU/5wB6QJYABwAIwFisAorWLIUCwMrsjAUAXKyABQBXbAUELAA0LAAL7L/CwFdssALAV2yAAsBXbIFCxQREjmwBS+0PwVPBQJdsATctEAEUAQCXbAFELAO0LAEELAR0LIgBQQREjmwIC+wGdywCxCxHQT0WQCwAEVYsBEvG7ERED5ZsABFWLADLxuxAwg+WbAE3LADELAG0LARELAO0LARELAQ3LARELEYAvSwAxCxGQH0sCDQsBgQsCHQMDEBsAorWLRoCHgIAl2ymAgBXbQpCDkIAnK06Az4DAJdtOgN+A0CXbRoDXgNAnK06Rz5HAJdtAkcGRwCcbTlH/UfAl20BR8VHwJxtIcflx8CXbTmIvYiAl20hyKXIgJdWQC0aAh4CAJdspgIAV20KQg5CAJytOcM9wwCXbRmDXYNAnK05w33DQJdtOgc+BwCXbTlH/UfAl20Bh8WHwJxtIcflx8CXbSIIpgiAl206SL5IgJdJQ4BBxUjNS4DNTQ2NzUzFR4BFwcuAScRPgE3JxQWFxEOAQHpETMdeTNHLRRgW3kcLBIeDyISFyUO9yYtKikfDRMFXlkHK0NaNnCFD1paBA0JagcIAv7dAw4IeTNNDgEeC0UAAQAzAAACCwLKAC4BObAKK1iyDAQDK7LvBAFdtG8EfwQCXbIPBAFxsp8EAV2yAAQBXbJQDAFxsvAMAXGy8AwBcrJvDAFdsmAMAXKywAwBcbIQDAFxsgAMAV2wBBCxEwb0sAQQsC3QspgtAV2yhy0BXbL3LQFxsRkF9LAY0LAYL7AMELAi0LAiL7AEELAl0LAlL7AtELAu0LAuL1kAsABFWLAJLxuxCRQ+WbAARViwIy8bsSMIPlmyAQkjERI5sAEvsi8BAXG0LwE/AQJdsAkQsRAD9LABELAW0LABELEtAfSwGdCwIxCxIgL0sCXQMDEBsAorWLTZAukCAl2yKgYBcbLHFQFdsscWAV2yFR0BcrInHQFysiYeAXJZALTYAugCAl2yJwYBcUEJAGgADQB4AA0AiAANAJgADQAEXbIXHQFysiceAXITMy4BNTQ+AjMyFhcHLgEjIgYVFBYXMxUjFhUUBg8BFTczFSE1Mz4DNTQnIzNEDRMhO1IxPWQkKhRGMTA2GQ+NYgMUFStD5v4oAh8vHxAGeQGKGDwqMUkwGBcRdAsXLS0iMRlrEREeQhUfBQ9zcwEUISwYGxcAAgAFAEYCMwJuACsANwOssAorWLIQJgMrslAQAXGyLxABcrIQEAFdsuAQAV2yMBABXbAmELAs3LLgLAFdslAsAV2yECwBcrAQELAy3LLvMgFdsl8yAV2yHzIBclkAsBsvsk8bAXGy3xsBXbIPGwFdsAXcsjAFAV2y4AUBXbIQBQFdslAFAXGwGxCwL9ywBRCwNdwwMQGwCitYslcAAXG0mACoAAJdsngAAXGy9wcBXbJnCgFxtJgKqAoCXbJYCgFxsgkKAV20ugrKCgJdsnULAXGypgsBXbZGC1YLZgsDcbKXCwFdsvcLAXGyCAsBXbS4C8gLAl20RwxXDAJdsvcMAV2y9g0BXbJ1DgFxsvcOAV2yZw4BcbJ2EgFxsmcSAXGy9hMBXbRHFFcUAl2ydRUBcbKmFQFdtkYVVhVmFQNxsvYVAXG0RxVXFQJdtIcVlxUCXbIYFQFdshgWAV20mBaoFgJdsgkWAV20uRbJFgJdsvcYAV2y+B0BXbJYIAFxsnggAXG0SCFYIQJdspghAV20SCFYIQJxsqkhAV2yaSEBcbJ6IQFxtEgiWCICXbL4IwFdsvgkAV2yaSQBcbL4KQFdslgqAV20SCtYKwJdtEgrWCsCcbSZK6krAl2yaSsBcbJ7KwFxtLctxy0CXbLnLQFdsuUuAV2y1i4BXbS3LscuAl20uDDIMAJdtNow6jACXbTYM+gzAl20uDTINAJdtNk06TQCXbS2NsY2Al2y1jcBXbLnNwFdWQCydQABcbSXAKcAAl20VwBnAAJxsvYDAV2y9wcBXbJ0CgFxtJcKpwoCXbRXCmcKAnGyCAoBXbS4CsgKAl2yCAsBXbRIC1gLAl20mAuoCwJdtkgLWAtoCwNxshkLAV20uQvJCwJdsvkLAXG0SAxYDAJdsvgMAV2y9w4BXbJnDgFxsmgSAXGy+BMBXbL2FAFdtAcVFxUCXbRHFVcVAl2ylxUBXbRIFVgVAnGy+BUBcbIXFgFdtJgWqBYCXbRYFmgWAnGyehYBcbL4GAFdsvgZAV2y+B0BXbSYIKggAl20WSBpIAJxsnogAXG0RyFXIQJdsqghAV20RyJXIgJdsvcjAV2yaCQBcbRIK1grAl1BCQBIACsAWAArAGgAKwB4ACsABHG0uSvJKwJdtLctxy0CXbLnLQFdtLcuxy4CXbLnLgFdQQkAtwAwAMcAMADXADAA5wAwAARdtLcxxzECXbTZM+kzAl1BCQC4ADQAyAA0ANgANADoADQABF20uTbJNgJdtNk36TcCXRMfAT4BMzIWFz8BFw8BHgEVFAYHHwEHLwEOASMiJicPASc/AS4BNTQ2Ny8BFxQWMzI2NTQmIyIGUU4TFDceHTkTFE5NTSUODA0NJU1NThITOx0eNxQTTkxNJAwODw0mTcQuJSUtLSUlLgJuTSUPDw8OJE1QThAVNR0eNRIQTlBNJQ4QDw4kTVBOERUxHh0yFxFOxCYwMCYkMjIAAf/yAAACRgK8ABkCYrAKK1i7ABEABgAUAAQrsi8UAXKyQBQBXbKwFAFdsBQQsBfQsAHQsALQtBgCKAICXbL4AgFdshoCAXKyegIBXbKKAgFxshsCAXGyCgIBcbTKAtoCAnGyOgIBXbRaAmoCAnKyuAIBXbKHAgFdtEYCVgICcbAD3LbAA9AD4AMDcrIQAwFdttAD4APwAwNdtAADEAMCcbLHAwFdQQsAMAADAEAAAwBQAAMAYAADAHAAAwAFcbZwA4ADkAMDXUELAJAAAwCgAAMAsAADAMAAAwDQAAMABXGy8AMBcUEJAAAAAwAQAAMAIAADADAAAwAEcrZQA2ADcAMDcrIvEQFysrARAV2yQBEBXbARELAO0LIFFw4REjm0BwUXBQJdsArQsAnQtFUJZQkCcrI1CQFdsgYJAXGyVwkBXbK3CQFdtEkJWQkCcbL3CQFdsicJAV2y1gkBcbJ2CQFdshUJAXKyhQkBcbIUCQFxsAjcsv8IAV20DwgfCAJxtI8InwgCXbRvCH8IAnGy3wgBcbARELAQ0LAQL7IwEAFdsAzQsAwvsBQQsBXQsBUvsj8VAV2wGdCwGS9ZALAARViwAy8bsQMUPlmwAEVYsBMvG7ETCD5ZsgEDExESObABL7QPAR8BAl2yBQMTERI5tAUFFQUCXbADELAI0LABELAK0LABELAY3LJgGAFxsiAYAXKwDdCwARCwF9yyABcBcbQAFxAXAl2wDtCwFxCwFNyyIBQBcrJgFAFxsBHQMDEBsAorWLKIAQFdsvUEAV2yNQQBcbLGBAFdtAYEFgQCcbZ3BIcElwQDXVkAsvcEAV0TMwMzExczNxMzAzMVIxUzFSMVIzUjNTM1I1VavaOADgUPfJO+W4KCgomDg4MBUQFr/vlKTAEF/pVQOlB3d1A6AAIAPP9+AKcCvAADAAcAUbAKK1iyAgMDK7QAAhACAl20AAMQAwJdsAIQsATQsAQvsAMQsAXQsAUvWQCwAy+wAEVYsAYvG7EGFD5ZsgADBhESObAAL7IFBgMREjmwBS8wMTczESMTIxEzPGtra2tr1f6pAecBVwACADH/8gHhAsoANQBDA0+wCitYshsAAyuyLwABXbJ/AAFxsj8AAXGwABCwB9CwBy+yPxsBcbIvGwFdsn8bAXGycBsBXbLAGwFysBsQsTYE9LIEBzYREjmwGxCwDdCwDS+yfw0BXbAHELEUBPSwGxCwItCwIi+wABCxPgT0sh8iPhESObAAELAo0LAoL7AiELEvBPSyOzYHERI5skE+IhESOVkAsABFWLAKLxuxChQ+WbAARViwJS8bsSUIPlmyFwolERI5sBcQsDvcsn87AXGyrjsBXbIEFzsREjmwChCxEQH0sk8RAV2yMiUKERI5sDIQsEHcsh9BMhESObAlELEsAfSyQCwBXTAxAbAKK1i02ALoAgJdsngCAXG0uALIAgJxQQkACAADABgAAwAoAAMAOAADAARdtGgDeAMCcbL6AwFyskgEAV20KAU4BQJdskkFAV2ymQUBXUEJAAkACAAZAAgAKQAIADkACAAEXbS5CMkIAnGyqQgBcrLaCAFxsrcOAV20BxgXGAJdtLUZxRkCcbImGQFxtCYZNhkCcrQHGRcZAl2yRxkBXbKHGQFdsrcZAV2ytRoBXbL0HQFytLUdxR0CcbKGHQFxsoUeAXG0Bx4XHgJdstceAXKyRyABXbKXIAFdsqUjAXK0JiM2IwJdsvYjAV22tiPGI9YjA3GyliMBcrQHIxcjAl20ByMXIwJxsqcpAV2ySDQBXbRINFg0AnGyODQBcrK5NAFdWQC0tQLFAgJxtNYC5gICXbJ2AgFxsvUDAXK0BgMWAwJdtGYDdgMCcbQnAzcDAl20twPHAwJxskgEAV20KAU4BQJdskkFAV2ymQUBXUEJAAcACAAXAAgAJwAIADcACAAEXbLXCAFxtqkOuQ7JDgNdtAcYFxgCXbS2GcYZAnG0Jhk2GQJytAcZFxkCXbJHGQFdsocZAV2ytxkBXbInGQFxtNgd6B0CXbKJHQFxsvkdAXK0uh3KHQJxtAgeGB4CXbKKHgFxstoeAXKyRiABXbKXIAFdtLgjyCMCcbKoIwFyQQkACQAjABkAIwApACMAOQAjAARdsvkjAV20CSMZIwJxstkjAXGypSkBXbJFKQFytGYpdikCXbS6M8ozAnGySDQBXbK4NAFdtEg0WDQCcbI4NAFyEzQ2PwEuATU0NjMyFhcHLgEjIgYVFB4EFRQGDwEeARUUBiMiJic3HgEzMjY1NC4EJTQuAicOARUUFhc+ATEeGikaIldYO2YbIBdMIyUeJztFOycdGi0bJGJRRFsdIhdCLCUhJztFOycBLhEgLh0UHEA4Fh4BYR87Fw4QMSk4SBQNaQsRFhESFBAUJDwwHzoXDhAyKT9BGxBkCxYTFRMVERQjOicSGBMQCQwnGSMiEAwoAAIAPAJHAaMC0QALABcBFbAKK1iwAC+wBtyyzwYBcrLwBgFxspAGAV2wABCwDNyyLwwBXbJwDAFdslAMAXGwEtyyzxIBcrLwEgFxspASAV1ZALAJL7KwCQFdsvAJAV20AAkQCQJxspAJAXGyMAkBcrIPCQFdsi8JAV2yUAkBcrKwCQFxsnAJAXGy0AkBXbKQCQFdsnAJAXKwA9yyDwMBcbJwAwFysvADAXGwD9CwCRCwFdAwMQGwCitYtKUEtQQCcrSHBJcEAnK0pw63DgJytIgOmA4CckEJAIkAFgCZABYAqQAWALkAFgAEclkAtIUElQQCcrSnBLcEAnK0qAi4CAJytIkImQgCckEJAIUADgCVAA4ApQAOALUADgAEcrSLFpsWAnITNDYzMhYVFAYjIiY3NDYzMhYVFAYjIiY8JyAgJSUgICfbJSAgJycgICUCiyAmJiAeJiYeICYmIB4mJgADADf/uQMJAosAEwAnAEACy7AKK1iyCgADK7QQACAAAl20EAogCgJdsAAQsBTcsAoQsB7csjQKABESObA0L7I/NAFysCjQsCgvsi4AChESObAuL7LvLgFxsDvcsqA7AXGysDsBXVkAsA8vsAXcsA8QsBncsn8ZAV2y0BkBcbAFELAj3LLfIwFxsnAjAV2yKw8FERI5sCsvtDArQCsCcrKAKwFxsmArAV2ywCsBXbIxBQ8REjmwMS+ynzEBcrLvMQFxsDjcss84AXKy/zgBXbArELA93LLwPQFdssA9AXIwMQGwCitYslkCAV2yOAMBcrJXBwFdslcIAV2y1QwBcrJXDAFdsjcMAXKyVw0BXbRYEWgRAl2yCBEBcbIIEgFxslkSAV205Rb1FgJdtDYWRhYCXbSnFrcWAl20NxdHFwJdtKcXtxcCXbToF/gXAl20qBu4GwJdtKgcuBwCXbTpHPkcAl20OSBJIAJdtKkguSACXbTpIPkgAl20NyVHJQJdtOYm9iYCXbQ3JkcmAl20pya3JgJdtAgsGCwCXbSpLLksAl20WSxpLAJxtAgtGC0CXbQILxgvAl22qi+6L8ovA3K0CDAYMAJdtFgwaDACcbIXPAFxWQCyVwIBXbLVAwFyslcDAV2yNwMBcrJXCAFdslgMAV2yOAwBcrLaDAFyslgNAV20WBFoEQJdsggRAXGyWhEBcrJYEgFdtKcWtxYCXbToFvgWAl205Rf1FwJdtKcXtxcCXbTkG/QbAl20phu2GwJdtDcbRxsCXbQ3HEccAl20pxy3HAJdtKgguCACXbQ4IUghAl20qSG5IQJdtOkh+SECXbQ4JUglAl20qCW4JQJdtOkl+SUCXbQ4JkgmAl20qCa4JgJdtAksGSwCXbRZLGksAnG0qiy6LAJdtAgtGC0CXbKlLwFytAcvFy8CXbLHLwFytKYwtjACXbRWMGYwAnG0BzAXMAJdshY8AXETND4CMzIeAhUUDgIjIi4CNxQeAjMyPgI1NC4CIyIOAgUOASMiJjU0NjMyFhcHLgEjIgYVFDMyNjc3OGGETEyDYjg4YoNMU4ZeMmInR2A5OWFHJydHYTk5YEcnAYQWQyZRVVtLJTkaIBIdDh0iRhMeDwEiU4VeMzNehVNThV4zM16FUz5kRSUlRWQ+PmRFJSVFZN0OEWZYW2MRD1cJBiYwVgcIAAIAKgF4AXoCxAAdACcCl7AKK1iyBhIDK7LPEgFysm8SAXKynxIBcrIvEgFdskASAV2yEBIBXbASELAA0LAAL7IQBgFxsvAGAXK0sAbABgJdshAGAV2wBhCwF9yy/xcBcbJAFwFdsCLQsAvQsBIQsCXcsvAlAXGyTykBXVkAsABFWLADLxuxAxQ+WbAP3LJADwFdstAPAV2yYA8BcbKADwFysuAPAXKyUA8BcrIADwFxsqAPAV20AA8QDwJdsrAPAXKwCtCwCi+yFw8DERI5sBcvsgsPFxESObADELAa3LSgGrAaAl2wDxCwHtyyrx4BXbAXELAi3DAxAbAKK1hBCQAFAAQAFQAEACUABAA1AAQABF22VQRlBHUEA3JBCQBGAAQAVgAEAGYABAB2AAQABF20hgSWBAJytlUFZQV1BQNyQREABwAFABcABQAnAAUANwAFAEcABQBXAAUAZwAFAHcABQAIXUERAAkAEAAZABAAKQAQADkAEABJABAAWQAQAGkAEAB5ABAACF20WhBqEAJyQQ0AKAARADgAEQBIABEAWAARAGgAEQB4ABEABl20CREZEQJdtIoRmhECcrLXFAFyQQkACAAUABgAFAAoABQAOAAUAARdWQC0JQQ1BAJdtAYEFgQCXbRWBGYEAnK0hgSWBAJyQQkARwAEAFcABABnAAQAdwAEAARdsncEAXKydgUBckERAAcABQAXAAUAJwAFADcABQBHAAUAVwAFAGcABQB3AAUACF20CBAYEAJdQQkASAAQAFgAEABoABAAeAAQAARdtCkQORACXbRZEGkQAnJBEQAIABEAGAARACgAEQA4ABEASAARAFgAEQBoABEAeAARAAhdsnkRAXKy1RQBckEJAAcAFAAXABQAJwAUADcAFAAEXRM+ATMyFhUUBhcjJyMOASMiJjU0PgIXNiYjIgYHFzI2NzUmBhUUFj0aXztMOAYLZQ0EDTArND4jO08sAhIjKEEUbyAaBys7FQKiDhQ3OTxwLC4RITcsISwaCQIaFxAInBcMIwUOGxASAAIAHQAmAcYB6QAHAA8BgrAKK1iyCggDK7LPCAFytI8InwgCcrKACAFdsAgQsADcsALcsi8CAV2yrwIBXbJvAgFdsAHcshoBAV2ywAEBXbAAELAE3LJvBAFdsAIQsAbQsAYvsAEQsAfQsAcvshoHAV20jwqfCgJysq8KAXGyzwoBcrLvCgFxsoAKAV2wChCwCdy0rwm/CQJdshoJAV2wCBCwDNyyjwwBcbLwDAFdsAoQsA7QsA4vsAkQsA/QsA8vshoPAV2yLxEBXbIPEQFdsm8RAV2yTxEBXVkAsA8vsu8PAXGwB9CwBy+wAdyyrwEBXbIfAQFdsm8BAV2ykAEBXbRAAVABAl2yAAEHERI5GbAALxiyDwABXbABELAC3LAAELAE0BmwBC8YsAcQsAbcsA8QsAnctIAJkAkCXbRACVAJAl2yCAkPERI5GbAILxiyDwgBXbAJELAK3LAIELAM0BmwDC8YsA8QsA7cMDEBsAorWLIGBQFdsgcGAV2yBg0BXbIHDgFdWQCyBgYBXbIGDgFdEzcXDwEfAQclNxcPAR8BB9+aR1EuLldH/p6gT1cwMF1PAQXYOHonI3k40+Y+fikkfD4AAQAtALoB5wGcAAUAILAKK1iyAgUDK7ACELAD3FkAsAUvsQAB9LAFELAD3DAxEyEVIzUhLQG6eP6+AZzicv//ADYA5gExAVkCBgAQAAAABAA+AKkCcwLdABMAJwA4AEIDnbAKK1iyCgADK7L/AAFxsh8AAV2y7wABXbIwAAFdsjAKAXKyfwoBXbJgCgFyslAKAV2yMAoBXbAAELAU3LLQFAFxsAoQsB7cst8eAXGyLgoAERI5sC4vtnAugC6QLgNdsm8uAV2yAC4BcrJQLgFxsjgAChESObA4L7SvOL84AnKwN9y0XzdvNwJyth83Lzc/NwNxsD3QsjEuPRESObAuELAz0LAzL7LzMwFdsgMzAXGy4DMBXbA03LIPNAFxtA80HzQCcrAuELBB3LIgQQFxWQCwBS+wD9yycA8BXbIfDwFdsv8PAXGybw8BcrI/DwFysu8PAV2yYA8BcbJADwFdstAPAXKwGdy0Lxk/GQJxsn8ZAV2y8BkBcbAFELAj3LTvI/8jAnGyICMBcbJwIwFdsisFDxESObArL7I3DwUREjmwNy+yIDcBXbI9KzcREjmwPS+wNtxBDQCgADYAsAA2AMAANgDQADYA4AA2APAANgAGcUETAAAANgAQADYAIAA2ADAANgBAADYAUAA2AGAANgBwADYAgAA2AAlysjE9NhESObA3ELA00LArELA53LKAOQFxMDEBsAorWLRlCHUIAnGyRggBcrRmDHYMAnGyRwwBcrJJEgFytjUWRRZVFgNxsiYWAV2yVRcBcbImFwFdtDYXRhcCcbInGAFdslkcAXGyKCABXbQ6IEogAnGyWyABcbJYIQFxtjclRyVXJQNxtjYmRiZWJgNxsicmAV2yJiwBXbRGLFYsAl2yJC0BXbI1LQFdsmUtAV20pS21LQJxtEYtVi0CXbZ2LYYtli0DXbTmLfYtAnGyBi0BcrSmL7YvAnG05y/3LwJxQQ0ARwAwAFcAMABnADAAdwAwAIcAMACXADAABl20xzLXMgJxWQCyRwMBcrRoDHgMAnGySAwBcrRoEXgRAnGySBEBcrJKEgFyslYWAXGyJxYBXbQ3FkcWAnG2NhdGF1YXA3GyJxcBXbImGAFdslUbAXGyJhsBXbQ2G0YbAnG0NBxEHAJxslYcAXGyKCABXbQ5IEkgAnG0OSFJIQJxslohAXG2OyVLJVslA3GyKCYBXbY5JkkmWSYDcbInLAFdtEcsVywCXbIlLQFdsjYtAV22di2GLZYtA122Ry1XLWctA120py23LQJxtOct9y0CcbIHLQFytKgvuC8CcbToL/gvAnFBDQBJADAAWQAwAGkAMAB5ADAAiQAwAJkAMAAGXbTHMtcyAnETND4CMzIeAhUUDgIjIi4CNxQeAjMyPgI1NC4CIyIOAjc+ATMyFhUUBgcfASMvARUjNyIGBxUzMjY1ND4tTmc5O2dMLC1NZzk7Z00sXh80RCYoRTIdHjNFJipGMhtWEDoaKjwpHhxBPT8wNFkLFAYiHSABw0NpSCYmSGlDRGlIJSVIaUQwSTAYFzBJMTBIMBgaMkdVBQUjKyAiAg5taA934AEDRxIWIwABADwCNgF/ApIAAwBksAorWLADL7AC3LJQAgFdWQCwAy+yDwMBXbJPAwFdsg8DAXGyTwMBcbLvAwFxsk8DAXKyDwMBcrLPAwFxsi8DAXGybwMBXbIvAwFdsi8DAXKy8AMBXbAA3LLPAAFxsi8AAXEwMRMhFSE8AUP+vQKSXAACADwBgAGHAsoAEwAfAgqwCitYsgoAAyuy8AABcbI/AAFysh8AAXG0AAAQAAJdsoAAAV2yMAABXbJQCgFdsrAKAV2yoAoBcbJgCgFyssAKAXKy8AoBcbLgCgFdsoAKAV2yMAoBXbQAChAKAl2wABCwFNyyQBQBcrLgFAFysqAUAXG0ABQQFAJxsAoQsBrcsh8aAXGyYBoBXVkAsABFWLAFLxuxBRQ+WbAP3LK/DwFdsh8PAXGyPw8BcrKvDwFxsu8PAV2yXw8BXbJvDwFysBfcsr8XAXGybxcBXbAFELAd3LKwHQFxsmAdAV0wMQGwCitYtAgCGAICXUEJAJkAAgCpAAIAuQACAMkAAgAEcrQIAxgDAl1BCQAEAAcAFAAHACQABwA0AAcABHK0BwcXBwJdtAcIFwgCXbQHDBcMAl1BCQAHAAwAFwAMACcADAA3AAwABHK0Bw0XDQJdtAgRGBECXUEJAAgAEgAYABIAKAASADgAEgAEclkAQQkAlgACAKYAAgC2AAIAxgACAARytAcCFwICXbQHAxcDAl20BwcXBwJdQQkACAAHABgABwAoAAcAOAAHAARytAcIFwgCXbQIDBgMAl1BCQAJAAwAGQAMACkADAA5AAwABHK0CA0YDQJdQQkACAANABgADQAoAA0AOAANAARytAgRGBECXbQIEhgSAl1BCQAJABIAGQASACkAEgA5ABIABHITND4CMzIeAhUUDgIjIi4CNxQWMzI2NTQmIyIGPBotOyIiPS4aGi49IiI7LRpkJhsbKCgbGyYCJCU9LBgWKz4nJz0qFhYqPScgJSUgICcnAAIAKwCNAeUCqgALAA8A5bAKK1iyBwoDK7LgCgFdslAKAV2ywAoBXbJvCgFyspAKAV2yMAoBXbIgCgFxsoAKAXGwChCwAdCygAcBcbJQBwFdsuAHAV2ycAcBcrKQBwFdsjAHAV2yUAcBcbIgBwFxsAcQsATQsAcQsAbcshAGAV2yUAYBcrJwBgFdsvAGAXGwChCwC9yyHwsBXbJ/CwFdsAzQsAYQsA3QWQCwDy+yQA8BXbIgDwFdsQwB9LAJ3LKACQFxsALcshACAV2y3wIBXbIwAgFdtGACcAICXbIBAgkREjmwAS+wBNCwARCxCgH0sAfQMDETMzUzFTMVIxUjNSMVIRUhK6J1o6N1ogG6/kYCBqSkcGtrmXD//wAyAXwBbAMnAwcCMAAAAeAAC7AKK1hZALAYLzAxAP//ADgBdQFuAyADBwIxAAAB4AALsAorWFkAsA0vMDEAAAEAPAI2APUC0AAEAKawCitYsAQvsAHcsq8BAXGyTwEBXbJQAQFyslABAXFZALAEL7IwBAFxsvAEAXGyMAQBcrIPBAFdsk8EAV2yTwQBcbJPBAFysm8EAV2yLwQBXbLQBAFyshAEAXKy0AQBcbIQBAFxsvAEAV2wANyyDwABXbKvAAFxslAAAXEwMQGwCitYtAkAGQACXUEJAAoAAAAaAAAAKgAAADoAAAAEcbSHA5cDAl1ZEzMVByNxhG9KAtAefAABADT/OAIVAfQAGwD1sAorWLIJGwMrsl8bAV2yHxsBXbIgGwFdsgAbAV2wGxCxAAT0sgAJAV2ycAkBcbAJELEIBPSyEAkbERI5shYbCRESObAAELAZ0FkAsABFWLAALxuxABA+WbAARViwGS8bsRkKPlmwAEVYsA4vG7EOCD5ZsABFWLATLxuxEwg+WbEEAfSwABCwCNCyEAgTERI5shYTABESOTAxAbAKK1iy9gIBcbIGAgFyQREAhgANAJYADQCmAA0AtgANAMYADQDWAA0A5gANAPYADQAIcbTIFdgVAl205hf2FwJdtMcX1xcCXVkAsvYCAXGyBgIBcrTIFdgVAl0TERQWMzI2NxEzERQWFyMnIw4BIyImJyMXFSMRtikzLjgMggUKYCAEEUI1JyoSBRWCAfT+70BBLikBO/6vKVMnSiMzHBZphQK8AAIAGv9+AdUCvAADABEAgLAKK1iyAxEDK7ADELAC3LJQAgFdsl8RAV2wERCwCdywERCwENyyHxMBXVkAsBAvsABFWLAPLxuxDxQ+WbAA0LAQELAD0LAPELAE3DAxAbAKK1iyCAYBXbSIBpgGAl2yCAcBXbIIDAFdWQCyCQYBXbSJBpkGAl2yCAcBXbIHDAFdATMRIwMiLgI1ND4COwERIwFqa2u4ITgpFhowRCpKagK8/MIBqCE5SSkoSTgh/ML//wAtAO8AzwGIAAcAEQADAPoAAAABADz/LgEQAAAAFQB6sAorWLAEL7AU3LQPFB8UAl2wAdCwANCwBBCwC9ywBBCwEtywFBCwFdBZALAARViwFS8bsRUIPlmwAEVYsAkvG7EJCj5ZsgEVCRESObABL0ENAC8AAQA/AAEATwABAF8AAQBvAAEAfwABAAZdsAkQsA/csAEQsBTcMDEzBx4BFRQOAiMiJzcWMjMyNjU0JzfQGCkvFyg2Hx8hCQcMBSYWVjkrBCMkFyIXDAYwARIMHARf//8AKQF8AXQDJwMHAi8AAAHgAAuwCitYWQCwBy8wMQAAAgAiAXQBgQLIABMAHgEysAorWLIKAAMrsj8AAXGyvwABcbJ/AAFdtI8AnwACcbKvAAFdsjAAAV20sArACgJdssAKAXGywAoBcrJACgFyslAKAXGyMAoBXbIQCgFdsAAQsBTcsAoQsBncsm8ZAXKyXxkBcbJPIAFdWQCwAEVYsAUvG7EFFD5ZsA/csqAPAV2yLw8BcrKfDwFxsv8PAXGyzw8BcbI/DwFxstAPAV2yQA8BXbQADxAPAl2wFtyyUBYBcbKQFgFdsAUQsBzcsl8cAXGynxwBXTAxAbAKK1iyGQIBXbIKAgFdtAcHFwcCXbIHDAFdsvcMAXKyFg0BXbIHDQFdsvgSAXKyGRIBXbIKEgFdWQC0BgIWAgJdtAYHFgcCXbIIDAFdsvkMAXKyCQ0BXbIaDQFdsvgSAXK0CRIZEgJdEzQ+AjMyHgIXDgMjIi4CNxQzMjY3LgEjIgYiGi5BJiZALxoBARovQCYmQS4adDsfGwEBGx8fHAIeLUAqExIoQS8vQSgSEihBL1YlMTAmJgACACIAJgHLAekABwAPAZawCitYsggKAyu0bwh/CAJdsp8IAV2yvwgBXbIwCAFdsuAIAV2wCBCwANyy4AABXbAC3LIgAgFdsmACAV2yoAIBXbAB3LIVAQFdsAAQsATcsmAEAV2wAhCwBtCwBi+wARCwB9CwBy+yFQcBXbLgCgFdtG8KfwoCXbK/CgFdsp8KAV2yMAoBXbLgCgFxsAoQsAncshUJAV20oAmwCQJdsAgQsAzcsv8MAV2ygAwBcbAKELAO0LAOL7AJELAP0LAPL7IVDwFdsi8RAV2yDxEBXbJvEQFdsk8RAV1ZALAJL7LvCQFxsAHQsAEvsAfcsm8HAV2yHwcBXbKvBwFdspAHAV20QAdQBwJdsgAHARESORmwAC8YsAEQsALcsAAQsATQGbAELxiwBxCwBtywCRCwD9y0gA+QDwJdtEAPUA8CXbIIDwkREjkZsAgvGLAJELAK3LLoCgFxsAgQsAzQGbAMLxiwDxCwDtwwMQGwCitYsggCAV2yCAMBXbIICgFdsggLAV1ZALIHAgFdsgYDAV2yBwoBXbIGCwFdAQcnPwEvATcFByc/AS8BNwEImUhSLS1XRgFjoE9XMDBdTwEK2Dh6JyN5ONPmPn4pJHw+//8AJf/yA0ECywAnAi4BVwAAACcCMgGvAGQBBgLB/AAAV7AKK1iwCC+yfwMBXbKgAwFdstADAV2yXwgBXbIgCAFdsAXcsA3QsAgQsBbQskAfAV2yEB8BXVkAsABFWLAdLxuxHRQ+WbAARViwBi8bsQYIPlmwFtwwMQAAAP//ACX/8gNZAssAJwIuAVcAAAAnAjAB7QBkAQYCwfwAAFSwCitYspADAXGyfwMBXbKgAwFdsjADAXGy0AMBXbL/BAFxsnAOAV2yTxkBXbIQJwFdskAnAV1ZALAARViwJS8bsSUUPlmwAEVYsAwvG7EMCD5ZMDEAAP//ADD/8gNaAssAJwIuAXAAAAAnAjIByABkAQcCMf/4AXwASrAKK1iwCC+0TwhfCAJdsu8IAV2wBdywDdCwCBCwFtCyTy0BXbJwLQFdWQCwAEVYsCQvG7EkFD5ZsABFWLAGLxuxBgg+WbAW3DAxAAAAAgAX/ywBrgH/AB0AKQGzsAorWLIQFgMrtM8W3xYCXbIfFgFxsv8WAV2yrxYBXbZvFn8WjxYDXbKQEAFxsq8QAV2ybxABXbTPEN8QAl2yjxABXbJQEAFysrAQAXGyABYQERI5sAAvsBYQsQcF9LAAELAd3LJ/HQFxsAAQsCTQsCQvttAk4CTwJANdsB7cst8eAV2yHx4BXbZ/Ho8enx4DXbKfHgFxtj8eTx5fHgNxWQCwAEVYsCEvG7EhED5ZsABFWLATLxuxEwo+WbAhELAn3LSPJ58nAl2yHycBXbJfJwFxsqAnAXGwHdyyBRMdERI5tGoFegUCXbRNBV0FAnG0LgU+BQJxtG4FfgUCcbQNBR0FAnG0jQWdBQJdtCoFOgUCcrLaBQFysBMQsQoB9LIZHRMREjm0wxnTGQJdtOIZ8hkCcTAxAbAKK1i0BwMXAwJdsjgPAV22WQ9pD3kPA120CBUYFQJdtAgVGBUCcrSpFbkVAnK0ShVaFQJxtKgZuBkCXbSoGrgaAl1ZALQIAhgCAl20CAMYAwJdtAgVGBUCXbSoFbgVAnK0SRVZFQJxtAkVGRUCcrSnGbcZAl20pxq3GgJdARYOBBUUFjMyPgI3Fw4BIyImNTQ+BDUnNDYzMhYVFAYjIiYBPQUTJCwnGygyECQkIQ0xJmJGXmsbKS8pGxwsJCYsLCYkLAElNEk1JiQnGyMrBw0RCmAaIlpOM0IvJCk2Ko4jKSkjIyoq//8AAAAAAl0DZgImACQAAAEGAsZMAAB0sAorWLTADtAOAl1BCQCAAA4AkAAOAKAADgCwAA4ABHG0EA4gDgJysnAOAXKyTw4BcbLfDgFyslAOAXK04A7wDgJxsvAOAV2ykA4BXUERAAAADgAQAA4AIAAOADAADgBAAA4AUAAOAGAADgBwAA4ACF0wMVn//wAAAAACXQNmAiYAJAAAAQcCwwCRAAAASrAKK1iykBIBcrKPEgFxtt8S7xL/EgNdQQsArwASAL8AEgDPABIA3wASAO8AEgAFcbQgEjASAl20MBJAEgJytgASEBIgEgNxMDFZ//8AAAAAAl0DZgImACQAAAEGAmRAAABXsAorWEELAAAAFwAQABcAIAAXADAAFwBAABcABV20zxffFwJyQQ8AjwAXAJ8AFwCvABcAvwAXAM8AFwDfABcA7wAXAAddst8XAXGyEBcBcrIgFwFxMDFZAP//AAAAAAJdA10CJgAkAAABBgJpNQAAK7AKK1iyDyUBcrIPJQFdsu8lAXFBCQAQACUAIAAlADAAJQBAACUABF0wMVkA//8AAAAAAl0DWAImACQAAAEGAsVAAABvsAorWLAOL7QwDkAOAnJBCwCvAA4AvwAOAM8ADgDfAA4A7wAOAAVdst8OAXGy3w4BcrSfDq8OAnFBCwAAAA4AEAAOACAADgAwAA4AQAAOAAVdshAOAXK2AA4QDiAOA3GwGtyy8BoBcbIQGgFxMDFZAAADAAAAAAJdA10AFAAaACQFH7AKK1iyDBEDK0EJABAADAAgAAwAMAAMAEAADAAEXbIwDAFytOAM8AwCXbLADAFyshAMAXGykAwBXbJwDAFdshIRDBESObASELAA0LAAL7QPAB8AAnGyvwABXbILDBEREjmwCxCwCNCwCC+yrwgBXbJvCAFdtC8IPwgCXbAMELENB/SyGREMERI5sg4NGRESObTZDukOAl2yWA4BXbKYDgFdsBEQsRAG9LIPEBgREjmylw8BXbJXDwFdstYPAV2y5Q8BXbIVGRAREjmyJxUBcbRoFXgVAl22NhVGFVYVA3G0JhU2FQJdshYZDRESObQpFjkWAl1BCQApABYAOQAWAEkAFgBZABYABHGwABCwG9yy0BsBcrJQGwFxspAbAV2wCBCwINyynyABXbIPJgFdsnAmAV2yECYBcVkAsABFWLASLxuxEhQ+WbAARViwEC8bsRAIPlmwEhCwBdxBDQAPAAUAHwAFAC8ABQA/AAUATwAFAF8ABQAGXbASELAL0LAQELAN0LIVEhAREjmwFS+y8BUBXbJPFQFdshAVAXKy0BUBcrEPAfSwEhCwGdC0BxkXGQJdsBIQsB3csk8dAXGwBRCwI9wwMQGwCitYQQkACAACABgAAgAoAAIAOAACAARdslgCAV2yeAIBcbS4AsgCAnGySQIBXbKZAgFxQQsACAADABgAAwAoAAMAOAADAEgAAwAFXUENAGgAAwB4AAMAiAADAJgAAwCoAAMAuAADAAZdsugDAXKyRgYBXbKWBgFdQQkABwAGABcABgAnAAYANwAGAARdtGcGdwYCXbLzBwFysuQHAXKydQcBcbKVBwFxQQ0ABgAHABYABwAmAAcANgAHAEYABwBWAAcABl2yhgcBXbSmB7YHAl22pge2B8YHA3G05gn2CQJxskUKAV2yhQoBXbQGChYKAl22VgpmCnYKA122lgqmCrYKA1201grmCgJdtCcKNwoCXbLHCgFdtAkNGQ0CcrQGEBYQAnK0aBF4EQJdQQkACAASABgAEgAoABIAOAASAARdtAgTGBMCXbJYEwFdQQsAiAATAJgAEwCoABMAuAATAMgAEwAFXbQIExgTAnG0aRN5EwJdtioTOhNKEwNdtAgUGBQCXbYpFDkUSRQDXbRpFHkUAl22mRSpFLkUA120FhUmFQJytBkWKRYCcrJYFwFdsogXAV2yiBcBcbKHGgFdWQC0lgKmAgJxQQ0ABwACABcAAgAnAAIANwACAEcAAgBXAAIABl20twLHAgJxtCYDNgMCXbSmA7YDAl205gP2AwJytAcDFwMCXbJHAwFdQQkAZwADAHcAAwCHAAMAlwADAARdtCYGNgYCXbRmBnYGAl2ylgYBXbQHBhcGAl2yRwYBXbKWBwFxQQkAJwAHADcABwBHAAcAVwAHAARdsocHAV20pwe3BwJdsncHAXG2pwe3B8cHA3Gy9wcBcrToCfgJAnFBEQAJAAoAGQAKACkACgA5AAoASQAKAFkACgBpAAoAeQAKAAhdQQ0AmQAKAKkACgC5AAoAyQAKANkACgDpAAoABl2yigoBXbKYEwFdtOgT+BMCcUETAAkAEwAZABMAKQATADkAEwBJABMAWQATAGkAEwB5ABMAiQATAAldQQsAqQATALkAEwDJABMA2QATAOkAEwAFXbQJExkTAnFBCwAIABQAGAAUACgAFAA4ABQASAAUAAVdtKgUuBQCXbRpFHkUAl2yiBcBXbL4FwFdsogXAXGyiBoBXRM0PgIzMhYVFAYHEyMnIwcjEy4BEzMvASMHAxQzMjY1NCYjIq8MHTEmRjogKfeQONc1ifYnIDKWNBUFFREsGRQVGCwDAxIhGQ4wKh0rCv1Pm5sCsQks/iOcbm8BXx8QDxEQAAL/4wAAAzMCvAAEABQBm7AKK1iyChQDK7IPFAFyss8UAXKyfxQBXbQPFB8UAnGynxQBXbJfFAFdsm8UAXGyXxQBcrKvFAFysBQQsATQsBQQsAjcsu8IAV2yTwgBXbEHB/S0BgcWBwJxspcHAV2ydgcBcbL1BwFdsgIEBxESObKWAgFdtAYCFgICcbJ1AgFdsgYHBBESObKWBgFdtAYGFgYCcbInBgFdtGYGdgYCcbI2BgFdsuUGAV2ydQYBXbLPCgFysm8KAXGynwoBXbIPCgFxsl8KAV2yDwoBcrKvCgFysl8KAXKwFBCxEQb0sA3QsAoQsA7QsA4vsAoQsBLQsBIvsq8WAV20LxY/FgJdWQCwAEVYsAovG7EKFD5ZsABFWLATLxuxEwg+WbICEwoREjmwAi+wChCwBNCwAhCxBgH0sBMQsAfQsAoQsQsD9LINChMREjmwDS+0rw2/DQJdsp8NAXGyLw0BcbRPDV8NAnGyTw0BXbTfDe8NAl20vw3PDQJxsRAD9LATELESA/QwMQGwCitYsnYBAV2ylgEBXVkAsngBAV2ymQEBXQEPATM1ESMHIwEhFSEVMxUjFSEVIQGKJFR+umOQAagBo/7r/PwBGv5dAhRnlPv+lqoCvHqjeqt6AAEAJv8uAhYCygA0BB2wCitYsiUdAyuyQCUBXbKQJQFdsvAlAV2y7yUBcbKwJQFdsnAlAV22ACUQJSAlA12yECUBcbAlELAA0LAAL7JAHQFdsu8dAXGyzx0BcbIgHQFdsgAdAV2yAyUdERI5sgcdJRESObAHL7AO3LIADgFxssAOAV2yIA4BXbAHELAV3LQgFTAVAl2yQBUBcbIYHSUREjmwHRCxLAf0shA2AXGyMDYBcrIQNgFdWQCwAEVYsCIvG7EiFD5ZsABFWLADLxuxAwg+WbAM3LKADAFdsiAMAXFBCQAAAAwAEAAMACAADAAwAAwABF2yIAwBcrIEAwwREjmwBC+wDBCwEty0LxI/EgJxsAQQsBfcsAMQsBjQsCIQsSkD9LADELExA/QwMQGwCitYslYFAV201gXmBQJdtAYFFgUCcUEJAGcABQB3AAUAhwAFAJcABQAEXbL3BQFdsgUGAXK0ZgZ2BgJdtqYGtgbGBgNdshYGAXKyVwYBXbSHBpcGAl201wbnBgJdstcGAXG2NglGCVYJA3GydgkBcUEJAFYACQBmAAkAdgAJAIYACQAEcrQHCRcJAl2yJwkBcbJnCQFxskcJAXK0BwoXCgJdspgXAV2yiRcBXbLJFwFdsgkXAXG0uRfJFwJxtOkX+RcCcbLZFwFyshoXAXGyOhcBcbKqFwFxtCoXOhcCcrLKFwFysmsXAXKyKBoBXbTYGugaAl2yOBoBcbJYGgFysokaAV2ymRoBcbInJgFxsvgmAV20CCYYJgJxtAcqFyoCXbImKwFxtAcrFysCcbYGLhYuJi4DcbSnLrcuAl2y9y4BXbQHLxcvAl22By8XLycvA3GyiC8BXbQHNBc0AnFZAEELAFYABQBmAAUAdgAFAIYABQCWAAUABV201gXmBQJdsvcFAV20BwUXBQJxstUGAXGyFgYBckEVAFcABgBnAAYAdwAGAIcABgCXAAYApwAGALcABgDHAAYA1wAGAOcABgAKXbQICRgJAl2yKAkBcbJoCQFxsngJAXKyOQkBcbJ5CQFxtEoJWgkCcbZKCVoJagkDcrQIChgKAl2ymBcBXbLIFwFdsqgXAXGyiRcBXbQJFxkXAnG0uRfJFwJxtCkXORcCcrJpFwFystkXAXK06hf6FwJxssoXAXKyPBcBcbIoGgFdsogaAV202BroGgJdspgaAXGyWBoBcrK4GgFysjkaAXGyhx8BXbY5JkkmWSYDcbL6JgFdtgomGiYqJgNxsocqAV20CCoYKgJdtKgruCsCXbYKKxorKisDcbL2LgFdtgcuFy4nLgNxtgYvFi8mLwNxtAcvFy8CXbKILwFdtAQzFDMCcbbWM+Yz9jMDXbQENBQ0AnG21TTlNPU0A12yxjQBXUELAHcANACHADQAlwA0AKcANAC3ADQABV0lDgEPAR4BFRQOAiMiJzcWMjMyNjU0JzcuAzU0PgIzMhYXBy4BIyIGFRQeAjMyNjcCFhpPLBApLxcoNh8fIQkHDAUmFlYyN2BIKTlbcDg8UxsbFz8tU2UYMUkwLT4XHRMUAx4EIyQXIhcMBjABEgwcBFQHL1iCWWeLVSUQC3QLCnZ8Nlk/IxIO//8APAAAAeADZgImACgAAAEGAsYdAAA1sAorWLSwDMAMAnGyIAwBcrSfDK8MAnKyTwwBXbKQDAFdsuAMAXGyUAwBcbTADNAMAl0wMVkAAAD//wA8AAAB4ANmAiYAKAAAAQcCwwCBAAAALrAKK1iynxABcbL/EAFxsg8QAXK2jxCfEK8QA12y3xABcbL/EAFdsjAQAV0wMVn//wA8AAAB4ANmAiYAKAAAAQYCZBoAAECwCitYsv8VAV2y/xUBcbIPFQFyQQsAXwAVAG8AFQB/ABUAjwAVAJ8AFQAFXbLfFQFxtCAVMBUCXbIgFQFyMDFZ//8APAAAAeADWAImACgAAAEGAsUYAABMsAorWLAML7ZfDG8MfwwDXbL/DAFdsv8MAXGyDwwBcrL/DAFyst8MAXG0rwy/DAJdtCAMMAwCXbIQDAFxsBjcsvAYAXGywBgBXTAxWf///+oAAADxA2YCJgAsAAABBgLGrgAARLAKK1iykAQBXbJQBAFxshAEAXK0cASABAJysu8EAV2yfwQBcbJABAFysuAEAXGywAQBXbRQBGAEAl20IAQwBAJdMDFZ//8AMQAAATgDZgImACwAAAEGAsP1AABDsAorWLK/CAFxtt8I7wj/CANdtt8I7wj/CANxsg8IAXK0IAgwCAJdQQsAIAAIADAACABAAAgAUAAIAGAACAAFcTAxWQD////cAAABQANmAiYALAAAAQYCZKAAAESwCitYtt8N7w3/DQNdQQkAzwANAN8ADQDvAA0A/wANAARxsg8NAXK2fw2PDZ8NA12yfw0BcbQgDTANAl2yQA0BcjAxWf///9oAAAFHA1gCJgAsAAABBgLFngAAPbAKK1iwBC+2IAQwBEAEA3KyfwQBXbLvBAFxtN8E7wQCXbQgBDAEAl2yYAQBcbIABAFxsBDcshAQAXEwMVkAAAAAAv/6//UCdwLGABgALwH7sAorWLIMFgMrtCAWMBYCXbIfFgFysp8WAV2yHxYBcbJ/FgFxsrAWAV2yABYBXbKAFgFdsBYQsAHQsADcQQkAAAAMABAADAAgAAwAMAAMAARdtHAMgAwCXbLgDAFdsh8MAXKyAAwBcbKwDAFdslAMAV2yQAwBcrJgDAFysBYQsSEG9LAd0LAe3LIgHgFdsAwQsSsH9LIAMQFxssAxAXGyMDEBcbJwMQFdWQCwAEVYsAcvG7EHFD5ZsABFWLARLxuxEQg+WbIBBxEREjmwAS+yYAEBcbAX3LIgFwFysAcQsRkD9LABELAd0LAXELAg0LARELEmA/QwMQGwCitYsoYJAV2ytgkBXbTWCeYJAl20Jgk2CQJxsvYJAXGypgkBcrLHCQFdsrUKAV2yxgoBXbK2DgFdsnYPAXKytw8BXbS3D8cPAnG0tw/HDwJytAgpGCkCXbL4KQFdtAgpGCkCcbL4LQFdtAgtGC0CcbQILhguAl1ZALK2CQFdtNYJ5gkCXbImCQFxsqYJAXKyhwkBXbLHCQFdsvcJAXG0twrHCgJdsrgOAV20uA/IDwJxtLgPyA8CcrK5DwFdsnoPAXK0BCgUKAJdtAUoFSgCcbL2KAFdtAYpFikCXbQGKRYpAnGy9ykBXbL4LQFdtAgtGC0CcbQILhguAl20CC4YLgJxAzMRPgMzMh4CFRQOAiMiLgInESMBIgYHFTMVIxUeAjIzMj4CNTQuAgZYFTU4NRVdhFImJFSJZRA1OTQNWAEvFi0LjIwEExYUBTpNLRIQK0oBkQErAwQCATRegk5HhGY+AgMDAgFCAQsCArdQzwEBASlEWS8pU0Iq//8APP/7AlUDXQImADEAAAEGAmlOAAAssAorWLL/JwFdsv8nAXGyjycBXbTvJ/8nAnKy3ycBcbKvJwFdsiAnAV0wMVn//wAm//ICeANmAiYAMgAAAQYCxlkAAEiwCitYslAgAV2ywCABXbaAIJAgoCADcbQQICAgAnKyfyABXbJAIAFysvAgAXG0UCBgIAJxspAgAV20ICAwIAJdsgAgAV0wMVn//wAm//ICeANmAiYAMgAAAQcCwwDMAAAAPLAKK1iyICQBcbSvJL8kAnGy/yQBcrTPJN8kAl223yTvJP8kA3GyDyQBcrIAJAFdslAkAV2yICQBXTAxWQAA//8AJv/yAngDZgImADIAAAEGAmReAABMsAorWLIAKQFdQQkAzwApAN8AKQDvACkA/wApAARdtA8pHykCcbIPKQFysm8pAV22rym/Kc8pA3GynykBXbIgKQFxtCApMCkCXTAxWf//ACb/8gJ4A10CJgAyAAABBgJpVAAAPbAKK1iycDcBcbQQNyA3AnK07zf/NwJxsg83AXKy3zcBXbK/NwFyskA3AXKykDcBcbKQNwFdsiA3AV0wMVkAAAD//wAm//ICeANYAiYAMgAAAQYCxVoAAEywCitYsCAvsmAgAXG0byB/IAJdst8gAXGyjyABcrbfIO8g/yADXbIAIAFdsoAgAV20ICAwIAJdsCzcskAsAXKy8CwBcbIQLAFxMDFZAAEANgB/AdoCIwALANiwCitYsgUJAyu0DwkfCQJxskAJAXGyEAkBXbJQBQFdtK8FvwUCXbIPBQFdsu8FAXGybwUBXbTABdAFAnGykAUBXbIKCQUREjmyBAUJERI5sgEKBBESObAFELAD0LIHBAoREjmwCRCwC9CwCy9ZALAIL7KvCAFdsADctMAA0AACcbQPAB8AAl20rwC/AAJdsu8AAXGyTwABcbJvAAFdslAAAV20AAAQAAJxspAAAV2yAQAIERI5sALQsgcIABESObIEAQcREjmwCBCwBtCwBi+yCgEHERI5MDETFzcXBxcHJwcnNyeGg4JPgoJPgoRPg4ECI4KCUX+BUoOEUYN/AAMAJv/yAngCywAXACAAKQNGsAorWLIPAwMrsgADAV2yfwMBXbL/AwFxsi8DAXK0zwPfAwJxsk8DAV2yUAMBXbIwAwFdtFAPYA8CXbKwDwFdskAPAXKycA8BcrLgDwFdtIAPkA8CXbQgDzAPAl2yAA8BXbIAAw8REjmyiQABcbIYAAFdsgkDDxESObJaCQFdsmsJAV20OAlICQJdsoYJAV2wCRCwC9CwCy+yjwsBXbIMDwMREjmyFwwBXbIVDwMREjm0thXGFQJdsncVAV20NhVGFQJdtFQVZBUCXbAVELAX0LAXL7ADELEYB/SwDxCxIQf0shsYIRESObIIGwFdspgbAV2yGRsBXbJ5GwFxskgbAV20CBsYGwJxsmgbAXGyHBghERI5smocAXGyJCEYERI5snckAXG0uCTIJAJyspckAV2yFyQBXbQGJBYkAnGyJSEYERI5sk8qAV2y8CsBcrI/KwFyspArAXGyYCsBcVkAsABFWLAGLxuxBhQ+WbAARViwEi8bsRIIPlmyABIGERI5shkAAV2yhAABcbIJBhIREjmydgkBXbLHCQFdsocJAV1BCQAWAAkAJgAJADYACQBGAAkABF20VQllCQJdsAYQsArQsAovsgwGEhESObIXDAFdshUSBhESObS5FckVAl2yOhUBXbIaFQFdtFoVahUCXbR5FYkVAl2yKRUBXbJJFQFdsBIQsBbQsBYvsBIQsScD9LAGELEeA/SyGyceERI5shUbAV2yZRsBcbIGGwFdtAYbFhsCcbJGGwFdspUbAV20tBvEGwJysnMbAXGyHB4nERI5smgcAXGyJB4nERI5spkkAV20uyTLJAJytAokGiQCcbJ4JAFxshgkAV2yJSceERI5MDEBsAorWLL5BAFdspgFAV2yqAUBcbJ4BQFysigMAV2yphABcbKXEAFdsncQAXKyZh8BcbIXHwFdslcfAXGyFyABXbLHIAFdskcgAXGyGCgBXbJYKAFxsmooAXGyyCkBXbJJKQFxWQCy9wQBXbKnBQFxsncFAXKymBABXbKpEAFxsnkQAXKyGB8BXbJYHwFxsmkfAXGyGSABXbLJIAFdtDkgSSACcbJlKAFxslYoAXGyxSkBXbI2KQFxshcpAV2yRykBcTcuATU0NjMyFhc3FwceARUUBiMiJicHJxMUFhcTJiMiBgU0JicDFjMyNm8lJJqPLUwfGVUjIyObjixIHxVWZQgI2yMvSVABMgYI1yErSVBWMIVTr70UEicyODCDUK+9ERAhNQE3JEAbAVYbdX0hPRr+rBZy//8AOf/0AjoDZgImADgAAAEGAsZIAABJsAorWLIgFQFxsuAVAXGygBUBcrJPFQFxso8VAV20rxW/FQJdtBAVIBUCcragFbAVwBUDcbbAFdAV4BUDXbYAFRAVIBUDXTAxWQAAAP//ADn/9AI6A2YCJgA4AAABBwLDAMkAAABBsAorWLLgGQFdsiAZAXK0vxnPGQJxso8ZAV2y/xkBcbIPGQFysv8ZAV20IBkwGQJxskAZAV22ABkQGSAZA10wMVkA//8AOf/0AjoDZgImADgAAAEGAmRQAABasAorWLRQHmAeAnJBCQBvAB4AfwAeAI8AHgCfAB4ABF20Tx5fHgJxsv8eAXGyDx4BcrbfHu8e/x4DcrLfHgFxsv8eAV22AB4QHiAeA12yIB4BcbJAHgFdMDFZAAD//wA5//QCOgNYAiYAOAAAAQYCxUkAAGGwCitYsBUvsiAVAXK2ABUQFSAVA120rxW/FQJdtE8VXxUCcbLfFQFxsv8VAXKy/xUBcbaPFZ8VrxUDcbL/FQFdtG8VfxUCXbKQFQFysiAVAXGyQBUBXbAh3LIQIQFxMDFZAAAA/////gAAAlIDZgImADwAAAEHAsMAogAAADewCitYsv8QAV223xDvEP8QA3Gy/xABcrLPEAFdsl8QAXKyfxABcbYQECAQMBADXbIwEAFxMDFZAAAAAAIAPAAAAiMCvAAWACkAwLAKK1iyChYDK7IfFgFxsv8WAV2y3xYBcUELAAAAFgAQABYAIAAWADAAFgBAABYABV2wFhCxFQb0sBvQsALQsjAKAXG0MApACgJdspAKAV2yAAoBcbJwCgFdtAAKEAoCXbJQCgFxsnAKAXGwChCxJQf0si8rAV1ZALAARViwAS8bsQEUPlmwAEVYsBUvG7EVCD5ZsgUBFRESObAFL7SABZAFAnKwD9yynw8BcrI/DwFdsAUQsRcC9LAPELEgAvQwMRMzFT4BMzIeAhUUDgIjKgEuAScVIxMiBgcVHgIyMzI+AjU0LgI8iQ4cDjRpVDUuTGE0BRYYFwWJzBQkCwQQEhEEGzUqGRgnMgK8SAEBETNbSUJbOhoBAgGhAgADAuMBAgEKGzAnISsaCgABAAz/8gJaAsQAPgExsAorWLIZPgMrsl8+AXGyjz4BXbL/PgFdsiA+AV2yAD4BXbA+ELAB3LA+ELAD0LIAGQFdskAZAV2ykBkBXbIgGQFdsuAZAV2yEBkBcbINGT4REjmwDS+wGRCxKAT0sD4QsT0E9LIvKD0REjmwLy+xEgT0siE9KBESObAhL7ANELE0BPSyH0ABXVkAsABFWLAILxuxCBQ+WbAARViwAi8bsQIQPlmwAEVYsD0vG7E9CD5ZsABFWLAeLxuxHgg+WbACELEBAfSyEB4IERI5shUIHhESObAeELElAfSyKx4IERI5sjIIHhESObAIELE5AfQwMQGwCitYsgYKAV2yFQsBXbIXEAFdshUXAV2yBhwBXbIXHAFdWQCyBgoBXbIWCwFdshgQAV2yFhcBXbQJHBkcAl0TIzUzND4CMzIeAhUUDgIVFB4EFRQOAiMiJic3HgEzMjY1NC4ENTQ+AjU0LgIjIgYVESNRRUUgOU8vM1E5HyMrIx0tMy0dFi9HMC9PHCMXLiceJx0tMy0dIysjDhgeDzAtgQGGbjpPMRYXKjskJzAiHhYSFhMVIjUpI0EzHhcRYQ0UKR0VGhUUHy4kKzAhHBgNFxAKL0D+GP//ABf/+AHHAtACJgBEAAABBgBDNwAAXrAKK1i0UDBgMAJxslAwAXKywDABcrLPMAFxtC8wPzACcrS/MM8wAl2y/zABcbL/MAFdsg8wAXGygDABcrKQMAFxsmAwAV1BCQAAADAAEAAwACAAMAAwADAABF0wMVkAAP//ABf/+AHHAtACJgBEAAABBgB2fAAAPbAKK1iyADQBXbK/NAFdsj80AXG0nzSvNAJysv80AXK0rzS/NAJxsv80AV2ynzQBXbJgNAFdskA0AV0wMVkAAAD//wAX//gBxwLcAiYARAAAAQYBLyEAAFywCitYsoA4AV20YDhwOAJxtKA4sDgCcrK/OAFdsv84AV1BCQBQADgAYAA4AHAAOACAADgABHK2ADgQOCA4A3GyYDgBXUEJABAAOAAgADgAMAA4AEAAOAAEXTAxWf//ABf/+AHHAtMCJgBEAAABBgE1GgAAJ7AKK1i0AEcQRwJxsp9HAV2yf0cBXbIQRwFdsqBHAV2yQEcBXTAxWQD//wAX//gBxwLRAiYARAAAAQYAag8AAG2wCitYsDAvQQsAAAAwABAAMAAgADAAMAAwAEAAMAAFXbKfMAFdsv8wAV22vzDPMN8wA12yfzABXUELABAAMAAgADAAMAAwAEAAMABQADAABXK0gDCQMAJxsDzcsnA8AXKyEDwBcbLAPAFdMDFZAAAA//8AF//4AccC5wImAEQAAAEGATNUAAB5sAorWLAwL7ZQMGAwcDADcUELAAAAMAAQADAAIAAwADAAMABAADAABV2y3zABXbL/MAFxsg8wAXKy/zABXbJ/MAFdQQsAEAAwACAAMAAwADAAQAAwAFAAMAAFcrQAMBAwAnGyoDABXbA23LAwELA83LA2ELBC3DAxWQAAAAADABf/8gLuAgIACwA/AEYCvrAKK1iyLhQDK7LvFAFdtl8UbxR/FANdtp8UrxS/FANdskAUAV2y0C4BXbJfLgFdshAuAXG0MC5ALgJdsgAuAV2yBBQuERI5sAQvsBQQsQkF9LAEELAZ0LAUELAg0LAgL7JwIAFdsAQQsTIE9LImBDIREjmwLhCwOdCwOS+yPzIEERI5sDIQsEPQsC4QsETctCBEMEQCXbSgRLBEAl2yQEQBcVkAsABFWLAjLxuxIxA+WbAARViwDy8bsQ8IPlmxAAH0shkjDxESObAZL7SPGZ8ZAl20bxl/GQJxtC8ZPxkCcbQgGTAZAl2wBNxBCQBgAAQAcAAEAIAABACQAAQABF1BDwAAAAQAEAAEACAABAAwAAQAQAAEAFAABABgAAQAB3GwIxCxHAH0siYjDxESObAjELAp0LAEELAy0LQvMj8yAl20IDIwMgJysA8QsDzQsDwvsDXcQQkAXwA1AG8ANQB/ADUAjwA1AARxsr81AXKyLzUBcrRPNV81Al22zzXfNe81A12yPw8jERI5sCkQsEDctEBAUEACXbIgQAFysrBAAXJBCQBQAEAAYABAAHAAQACAAEAABHG2wEDQQOBAA12wGRCwQ9C0L0M/QwJdMDEBsAorWLQJERkRAl20KBI4EgJdtAkSGRICXUEJAIkAEgCZABIAqQASALkAEgAEcbSmFrYWAnKyCBYBXbKoFgFdskgWAXG0CBYYFgJytAcrFysCXbSnK7crAl2yhSwBcrKWLAFytEcsVywCcbSnOLc4Al1ZALQIERgRAl1BCQAIABIAGAASACgAEgA4ABIABF20iBKYEgJxtKkSuRICcbTmFvYWAnG0BhYWFgJysgcWAV2ypxYBXbJHFgFxslkfAV2yGh8BcrQHKxcrAl20pyu3KwJdtEcsVywCcbKXLAFytKU4tTgCXbZXOGc4dzgDXTcyNjc1Jg4CFRQWFw4BIyIuAjU0PgIXNiYjIgYHJz4BMzIWFz4BMzIeAhUUBgchHgEzMjY3Fw4BIyImJxMiBgczNibbJy4LHzksGiGgG09EIzgoFilMa0IHHTQnUR8iJnA8ND4UGVAvJkg4IgUF/tMEO0IpQRErHmc6QGEbwTMxBbsDKGMjFEEDBA4aFBwfFyIyFSc1IS4/Jw8DODEVD14UHRsbHB4ULk46FS8bP0AZDVUYIS8rAU49MzY6AAEAIf8uAZsCAgAyA1WwCitYsiMdAyuycCMBXbIQIwFdsi8jAXKyMCMBXbIQIwFxsuAjAV2wIxCwANCwAC+ybx0BXbIvHQFysp8dAXKyTx0BcrKfHQFdsuAdAV2yMB0BXbIDIx0REjmyBx0jERI5sAcvsA7csoAOAXKyHw4BcbKgDgFxsiAOAV2ywA4BXbAHELAV3LLAFQFxtCAVMBUCXbIYHSMREjmwHRCxKgX0sgA0AXKysDQBcbRgNHA0Al1ZALAARViwIC8bsSAQPlmwAEVYsAMvG7EDCD5ZsAzcsiAMAXGyYAwBcrLADAFxsoAMAV1BCQAAAAwAEAAMACAADAAwAAwABF2yBAMMERI5sAQvsAwQsBLcsm8SAXK0LxI/EgJxsAQQsBfcsAMQsBjQsCAQsScC9LADELEvAfQwMQGwCitYtMYF1gUCXUEJAAcABQAXAAUAJwAFADcABQAEXbQmBjYGAl20xgbWBgJdtAcGFwYCXbTHBtcGAnGyFwYBckENACUACQA1AAkARQAJAFUACQBlAAkAdQAJAAZxtGUJdQkCcrRGCVYJAnK0BwkXCQJdtAcKFwoCXbKoFwFdtKgXuBcCcbYoFzgXSBcDcrQpFzkXAl2yuRcBXbQpFzkXAnG06hf6FwJxsroXAXKy+xcBcrToGvgaAl2ymBoBcbQJGhkaAnG0KRo5GgJysooaAXG06B74HgJxtGgfeB8CcbKGKQFxsrYxAXK0xzLXMgJdsgcyAXGyGDIBcVkAQQkABgAFABYABQAmAAUANgAFAARdQQkABwAGABcABgAnAAYANwAGAARdtMcG1wYCcbIXBgFytAgJGAkCXbRICVgJAnJBDQApAAkAOQAJAEkACQBZAAkAaQAJAHkACQAGcbRqCXoJAnK0CAoYCgJdtKgXuBcCcbQoFzgXAnK0KRc5FwJdtKkXuRcCXbQpFzkXAnG06Rf5FwJxsrkXAXKy+RcBcrSIGpgaAnG06Rr5GgJdtAkaGRoCcbQqGjoaAnK05h72HgJxtIUflR8CcrTnH/cfAl20Zx93HwJxstgkAV206ST5JAJdtAkkGSQCcbKIKQFxsrMxAXKyFTEBcbIUMgFxsrQyAXJBCQDGADIA1gAyAOYAMgD2ADIABF2yBjIBcbKXMgFdJQ4BDwEeARUUDgIjIic3FjIzMjY1NCc3LgM1NDYzMhYXBy4BIyIGFRQeAjMyNjcBmxc7IRIpLxcoNh8fIQkHDAUmFlYyMUQqE3JtN0MbHxctHTY4DhwtHiEuEh8RFAUgBCMkFyIXDAYwARIMHARUBitDWzZ/iRIOagsMR04gNigXEQz//wAh//IB2QLQAiYASAAAAQYAQ0kAAEGwCitYshAgAXGyoCABcbLAIAFysh8gAXKyjyABXbKPIAFxtnAggCCQIANyslAgAXGy0CABXbYQICAgMCADXTAxWQAAAP//ACH/8gHZAtACJgBIAAABBwB2AKEAAABFsAorWLLPJAFdtO8k/yQCcbL/JAFysm8kAV20ryS/JAJytI8knyQCcUEJABAAJAAgACQAMAAkAEAAJAAEXbIwJAFxMDFZAP//ACH/8gHZAtwCJgBIAAABBgEvJgAAK7AKK1iyvygBcbL/KAFysg8oAV223yjvKP8oA3G07yj/KAJdskAoAV0wMVkA//8AIf/yAdkC0QImAEgAAAEGAGoWAABasAorWLAgL7TvIP8gAnG07yD/IAJyQRMAXwAgAG8AIAB/ACAAjwAgAJ8AIACvACAAvwAgAM8AIADfACAACV20ICAwIAJdsCzcsnAsAXKyoCwBcbIQLAFxMDFZAAD////+AAAAyALQAiYA6QAAAQYAQ8IAADqwCitYslAEAXGy0AQBcbLABAFysk8EAV2yDwQBcbKABAFytpAEoASwBANxtNAE4AQCXbKQBAFdMDFZAAD//wBGAAABAALQAiYA6QAAAQYAdgsAADKwCitYQQkAzwAIAN8ACADvAAgA/wAIAARxsg8IAXKy/wgBXbSPCJ8IAnGyAAgBXTAxWQAA////4gAAASIC3AImAOkAAAEGAS+mAAAysAorWLY/DE8MXwwDcbK/DAFytK8MvwwCXbLfDAFysg8MAXKy/wwBXbQgDDAMAl0wMVkAAP///9MAAAE6AtECJgDpAAABBgBqlwAAbbAKK1iwBC+yAAQBXbTPBN8EAnGy/wQBcrIPBAFysv8EAV2ygAQBcUEJACAABAAwAAQAQAAEAFAABAAEXbAQ3EEJAE8AEABfABAAbwAQAH8AEAAEXbJvEAFysi8QAXK0YBBwEAJxshAQAXEwMVkAAAAAAgAl//ICDgLLAA4ANwEmsAorWLIgKgMrskAqAV2yXyoBXbIfKgFysj8qAXKy/yoBcbJfKgFysiAqAV2yACoBXbAqELEABPSycCABXbKwIAFdsvAgAV2yUCABcbIQIAFxstAgAV2ykCABXUELAAAAIAAQACAAIAAgADAAIABAACAABV2y0CABcbAgELEGBPSyEiogERI5sBIvsAYQsDLQshASMhESObIaEiAREjmyFxAaERI5sjYQGhESObLvOAFdsvA5AV2yUDkBcbJvOQFdshA5AXGygDkBcbIQOQFdsjA5AV1ZALAARViwLy8bsS8QPlmwAEVYsCUvG7ElCD5ZsQMB9LAvELEMAfSwLxCwE9yyFxMvERI5sjYvExESObIQFzYREjmyGjYXERI5sjIvJRESOTAxNxQWMzI2NTQmJy4BIyIGEzcmJzcWFxYXNxcHFhceAhUUDgIjIi4CNTQ+AjMyFhcmJyYnB6NCNzRCAwQQQB48PiIsIiM0GSAXGDUqIQwLIDIfJUJcNztaPB4iPVYzJkEUDBYWHETzSEpZXg0qDBcTUwEWHg8GUAcNCQ0kNxcJCx5XdExRd04mJkVfOTZcRScVFCQeHRYu//8AOQAAAe0C0wImAFEAAAEGATUvAAAisAorWLJvLgFxsv8uAV2yvy4BcrQQLiAuAl2yQC4BXTAxWQAA//8AIf/yAfgC0AImAFIAAAEGAENLAAA5sAorWLKQHgFxtIAekB4CcrKPHgFxtK8evx4CXbYQHiAeMB4DXbLQHgFxslAeAXG00B7gHgJdMDFZAAAA//8AIf/yAfgC0AImAFIAAAEHAHYAogAAAEqwCitYQQkAEAAiACAAIgAwACIAQAAiAARdtq8ivyLPIgNdtO8i/yICcbL/IgFysq8iAXKy/yIBXbJvIgFdshAiAXKyMCIBcTAxWf//ACH/8gH4AtwCJgBSAAABBgEvMAAARbAKK1hBCQCvACYAvwAmAM8AJgDfACYABF20TyZfJgJxss8mAXKyDyYBXbIPJgFysv8mAV22ICYwJkAmA12ycCYBcTAxWQAAAP//ACH/8gH4AtMCJgBSAAABBgE1LAAAK7AKK1iyEDUBXbTvNf81AnK0zzXfNQJdsv81AV2yEDUBcrQwNUA1Al0wMVkA//8AIf/yAfgC0QImAFIAAAEGAGocAABUsAorWLAeL7KvHgFyQQkAzwAeAN8AHgDvAB4A/wAeAARxsg8eAXJBCQBfAB4AbwAeAH8AHgCPAB4ABF2y/x4BXbQgHjAeAl20AB4QHgJxsCrcMDFZAAMAKwBEAeUCYAADAA8AGwCasAorWLIWEAMrsnAWAV2y7xYBcbIQFgFdsjAWAXGwFhCwAtyybxABcrLvEAFxsBAQsAPcsn8DAXGwEBCwBNCwFhCwCtBZALADL7KvAwFdsnADAV2xAAH0sAfcsi8HAV2yTwcBcbAN3LIfDQFdstANAV2yQA0BcbADELAZ3LJAGQFxsiAZAV2wE9yy3xMBXbJPEwFxshATAV0wMRMhFSE3NDYzMhYVFAYjIiYRNDYzMhYVFAYjIiYrAbr+Ro0sJCYsLCYkLCwkJiwsJiQsAYpw+iMpKSMjKir+oCMpKSMjKioAAwAh/+gB9wIOABcAHwAnA5GwCitYsgwAAyuyfwABXbJfAAFysp8AAXKyfwABcrI/AAFysl8AAV2y4AABXbKADAFdsgAMAXGyDwwBcrKvDAFxss8MAXGy4AwBXbIwDAFdshAMAV2yBgAMERI5sAYQsAjQsAgvsu8IAV2yCQwAERI5tGUJdQkCXbISDAAREjmwEhCwFNCwFC+yFQAMERI5sAwQsRgF9LAAELEgBfSyGhggERI5shsYIBESObQHGxcbAl20RxtXGwJdsiIgGBESObSnIrciAl2yIyAYERI5sokjAV2yLykBcbLPKQFdsm8pAV2yrykBXbIQKQFysuApAXFZALAARViwAy8bsQMQPlmwAEVYsA8vG7EPCD5ZsgYDDxESObADELAH0LAHL7IJAw8REjm0Zwl3CQJdshIPAxESObAPELAT0LATL7IVDwMREjmwAxCxJQH0sA8QsR0B9LIaJR0REjmyGx0lERI5tAgbGBsCXbRIG1gbAl2yIh0lERI5tKkiuSICXbIjJR0REjkwMQGwCitYtMoB2gECXUEJAMgAAgDYAAIA6AACAPgAAgAEXbbJAtkC6QIDcUEJAKYABQC2AAUAxgAFANYABQAEXbRnBXcFAnG0pga2BgJdtMgG2AYCXbTqBvoGAl20CgYaBgJxQQkAiAAIAJgACACoAAgAuAAIAARdtEYJVgkCcbSmCbYJAnG0Zwp3CgJdtMUN1Q0CcbTGDdYNAl2y5g0BcbTGDtYOAl20CBEYEQJxtOgS+BICXUEJAIkAFQCZABUAqQAVALkAFQAEcbQpFTkVAnK0KBY4FgJytGgeeB4CcrRqH3ofAnK0ZiZ2JgJysocmAV20ZCd0JwJyWQC0xgHWAQJxtMcB1wECXUEJAMYAAgDWAAIA5gACAPYAAgAEXbLnAgFxtEUFVQUCcUEJAKYABQC2AAUAxgAFANYABQAEXbIWBQFxtGcFdwUCcbSkBrQGAl20xQbVBgJdtOYG9gYCXbQGBhYGAnG0aAh4CAJdtIkImQgCXbKqCAFdsrsIAV20SAlYCQJxtKkJuQkCcbRnCncKAl206A34DQJdsugNAXG0yQ3ZDQJdtMkN2Q0CcbTJDtkOAl20CREZEQJxtOoR+hECXbRqEXoRAnG0yBLYEgJdtKoSuhICXbTqEvoSAl20pRW1FQJxtIYVlhUCcbQnFTcVAnK0ZR51HgJytGYfdh8CcrRqJnomAnK0aCd4JwJyNzQ2MzIWFzcXBx4BFRQGIyImJwcnNy4BJTQnBxYzMjYnFBc3JiMiBiF7cCA2FxhQGxkYe3AiORgZUx8WFQFQCJUWIjMyygaTFR8wNfp/iQsLIjsmIls2f4kNCyI8KyFXMyUizxJKUCMezA9I//8ANP/yAfEC0AImAFgAAAEGAEM+AABGsAorWLIQGgFdtL8azxoCXbKPGgFxtO8a/xoCcbbfGu8a/xoDcrI/GgFyss8aAXGy/xoBXbJ/GgFdshAaAXGykBoBXTAxWQAA//8ANP/yAfEC0AImAFgAAAEHAHYAlAAAADWwCitYsl8eAXGyDx4BcrL/HgFytO8e/x4CXbKPHgFyss8eAXG2IB4wHkAeA12yMB4BcTAxWQD//wA0//IB8QLcAiYAWAAAAQYBLzEAAD6wCitYtKAisCICcrIPIgFdsv8iAV2ynyIBcrRPIl8iAnGyvyIBXbYgIjAiQCIDXbIgIgFytGAicCICcTAxWQAA//8ANP/yAfEC0QImAFgAAAEGAGocAABbsAorWLAaL7QgGjAaAl2y/xoBXbavGr8azxoDckEJAM8AGgDfABoA7wAaAP8AGgAEcbIPGgFyQQkAXwAaAG8AGgB/ABoAjwAaAARdsjAaAXGyEBoBcbAm3DAxWQD////3/zMB5gLQAiYAXAAAAQcAdgCNAAAAO7AKK1iyEBoBcrTvGv8aAl2yzxoBcrKPGgFdtM8a3xoCcbYgGjAaQBoDXbJwGgFxtgAaEBogGgNxMDFZAAAAAAIAOf84AfsCvAATACABhbAKK1iyCRMDK7IAEwFysj8TAXKy/xMBXbI/EwFxsl8TAXGyHxMBcbIfEwFysl8TAXK2IBMwE0ATA12yABMBXbATELESBPSwGNCwAtCyYAkBXbIfCQFyQQsAAAAJABAACQAgAAkAMAAJAEAACQAFXbaACZAJoAkDXbJwCQFysAkQsR4F9LLQIgFxsvAiAXGykCIBXVkAsABFWLABLxuxARQ+WbAARViwBi8bsQYQPlmwAEVYsBIvG7ESCj5ZsABFWLAOLxuxDgg+WbICBg4REjmyEQ4GERI5sAYQsRQB9LAOELEbAfQwMQGwCitYtnYHhgeWBwNdtEYHVgcCcbQHBxcHAl2ypwcBXbL1CAFysnYIAV20xgjWCAJxtMUL1QsCcbTGC9YLAl20xgzWDAJdsmcMAV205wz3DAJdtIgdmB0CcVkAtnYHhgeWBwNdsqcHAV20xwjXCAJxsvcIAXK0yQvZCwJdtMkL2QsCcbJoDAFdtMkM2QwCXbSHHZcdAnG0qh+6HwJxEzMVMz4BMzIWFRQOAiMiJicVIxMiBgcVHgEzMjY1NCY5ggQVOzBeXh47VTcfKBSC3yQtDA4hGzg4LAK88xofd4RAZ0gmCQrNAlwmJtALDU9bQkj////3/zMB5gLRAiYAXAAAAQYAagYAAEiwCitYsBYvtK8WvxYCcrTvFv8WAl207xb/FgJyQQkAzwAWAN8AFgDvABYA/wAWAARxsg8WAXK0IBYwFgJdsCLcshAiAXEwMVn//wAAAAACXQNYAiYAJAAAAQYCyEUAAD6wCitYtp8RrxG/EQNxtq8RvxHPEQNdtn8RjxGfEQNyQQkAAAARABAAEQAgABEAMAARAARdtAAREBECcTAxWQAA//8AF//4AccCkgImAEQAAAEGAHEfAABDsAorWLAzL7YAMxAzIDMDcbKAMwFyQQsAAAAzABAAMwAgADMAMAAzAEAAMwAFXbJgMwFxsqAzAV2ygDMBXbAy3DAxWQD//wAAAAACXQNrAiYAJAAAAQYCYjQAADKwCitYtO8f/x8CcbIPHwFyss8fAV2y/x8BXUEJABAAHwAgAB8AMAAfAEAAHwAEXTAxWQAA//8AF//4AccC0AImAEQAAAEGATEUAABxsAorWEENAEAAPwBQAD8AYAA/AHAAPwCAAD8AkAA/AAZxsgA/AV1BCwC/AD8AzwA/AN8APwDvAD8A/wA/AAVdsn8/AV2ynz8BXUEJACAAPwAwAD8AQAA/AFAAPwAEcrQAPxA/AnG2ID8wP0A/A10wMVkAAAAAAgAA/zcCdQLBABcAHQDdsAorWLIGAwMrspAGAV2yEAYBcbTgBvAGAl2ycAYBXUEJABAABgAgAAYAMAAGAEAABgAEXbAGELEXB/SyHAMGERI5sgAXHBESObADELECBvSyAQIcERI5sgQDBhESObIFBgMREjmwFxCwE9CwEy+wCdywExCwDdyyGBwCERI5shkcFxESObIPHwFdsnAfAV1ZALAARViwBS8bsQUUPlmwAEVYsBAvG7EQCj5ZsABFWLAXLxuxFwg+WbAC0LIYBQIREjmwGC+xAQH0sBcQsAbQsBAQsAzcsAUQsBzQMDElIwcjEzMTIwYVFBY3Fw4BIyImNTQ2NyMDMy8BIwcBldc1ifxl/BU6LCgTD0EjODsuKRnsljQVBRWbmwLB/T8WMxoZFD4MFzIpJjcRAQmcbm8AAgAX/zcB3wH+ADIAPgFKsAorWLIIJwMrss8nAV2yfycBXbJfJwFdsp8nAV2yDycBcbJAJwFdsCcQsADQsAAvshAIAXGyAAgBXbJACAFdtFAIYAgCcbLACAFxsAgQsA3QsA0vsAgQsSwE9LAe0LAa0LAaL7AQ3LAaELAU3LAsELA30LAnELE8BfSyL0ABXbKQQAFyWQCwAEVYsAMvG7EDED5ZsABFWLAiLxuxIgg+WbAARViwFy8bsRcKPlmwIhCwHdCwDtCwFxCwE9yyLAMiERI5sCwvtI8snywCXbRvLH8sAnG0ICwwLAJdsh4sIhESObADELEvAfSwIhCxMwH0sCwQsDfcQQkAYAA3AHAANwCAADcAkAA3AARdtFA3YDcCcTAxAbAKK1iyBQUBXbIWBQFdsholAV2yDCUBXbIJKQFdWQC0BgUWBQJdshglAV2yCSUBXbIGKQFdEz4BMzIeAhUUDgEWFyMGFRQWNxcOASMiJjU0NjcnIw4BIyIuAjU0PgIXNiYjIgYHEzI2NzUmDgIVFBY2JmdFNEYpEQYBBgwXOCwoEw9BIzg7NS0TBRRHOCM4KBYpTGtCBx00J1EfgycuCx85LBohAdIVFxkuQCgsWVZRJBgwGhkUPgwXMikoORFAHy0VJzUhLj8nDwM4MREO/u8jFEEDBA4aFBwf//8AJv/yAhcDZgImACYAAAEHAsMA1AAAAGmwCitYQQ0ArwAkAL8AJADPACQA3wAkAO8AJAD/ACQABl2yDyQBcbKPJAFytG8kfyQCXUEPAJ8AJACvACQAvwAkAM8AJADfACQA7wAkAP8AJAAHcbIPJAFytAAkECQCXbQwJEAkAl0wMVkA//8AIf/yAZsC0AImAEYAAAEHAHYAiQAAADuwCitYtiAiMCJAIgNdtO8i/yICcbL/IgFytI8inyICXbJvIgFysv8iAV2yECIBcrYQIiAiMCIDcTAxWQAAAP//ACb/8gIWA2YCJgAmAAABBgJkXwAALLAKK1iybykBXbTfKe8pAl1BCwAAACkAEAApACAAKQAwACkAQAApAAVdMDFZ//8AIf/yAZsC3AImAEYAAAEGAS8VAABIsAorWLYQJiAmMCYDXbJfJgFdQQsArwAmAL8AJgDPACYA3wAmAO8AJgAFXbJgJgFxQQkAAAAmABAAJgAgACYAMAAmAARxMDFZ//8AJv/yAhYDZgImACYAAAEGAsRpAAA6sAorWLbPIt8i7yIDXbSvIr8iAnK0jyKfIgJdtt8i7yL/IgNxsg8iAXK2ACIQIiAiA12yICIBcTAxWQAA//8AIf/yAZsC3AImAEYAAAEGATAUAABbsAorWLL/IAFdsv8gAXJBEwBfACAAbwAgAH8AIACPACAAnwAgAK8AIAC/ACAAzwAgAN8AIAAJXbIPIAFytAAgECACXUEJAAAAIAAQACAAIAAgADAAIAAEcTAxWQD//wA8//UCYQNmAiYAJwAAAQYCxC8AADKwCitYst8qAXGyjyoBcrTvKv8qAl20ryq/KgJysg8qAXK2ICowKkAqA12ygCoBcTAxWQAA//8AIf/yAo8CvAAmAEcAAAEHAs0BLgAAADewCitYsjAiAV22vyLPIt8iA122jyKfIq8iA3KyXyIBXbIPIgFysn8iAV2ycCIBcbLgIgFdMDFZAAAA////+v/1AncCxgIGAJIAAAACACH/8gIuArwAHAApAdawCitYshwQAyuyEBwBcbIvHAFxsh8cAXKy8BwBXbIwHAFxspAcAV2wHBCwA9CwAtywHBCxGwT0sBfQsCHQsAnQsh8QAXKyrxABXbJ/EAFyso8QAV2ybxABXbJfEAFysi8QAXGyPxABcrIAEAFysBcQsBjcsBAQsScF9LIfKgFdsj8qAV2ykCsBXVkAsABFWLAbLxuxGxQ+WbAARViwEy8bsRMQPlmwAEVYsAgvG7EICD5ZsABFWLANLxuxDQg+WbIaGxMREjmwGi9BCwAPABoAHwAaAC8AGgA/ABoATwAaAAVdsADQsBoQsBfcsmAXAXGyIBcBcrAD0LIJDRMREjmyFhMNERI5sA0QsR0B9LATELEkAfQwMQGwCitYsvgHAXK0Rw5XDgJyQQkAeAAOAIgADgCYAA4AqAAOAARdtMgR2BECXbToEvgSAl20yRLZEgJdtIcmlyYCcbSnKLcoAnFZALaIDpgOqA4DXbQoDjgOAnG0qA64DgJxtEgOWA4CcrJ5DgFdtAkOGQ4CcbTJDtkOAnK0CA8YDwJxtEkPWQ8CcrTGEdYRAl20xRLVEgJdtGUSdRICcrJmEgFdtOYS9hICXbRmEnYSAnG0iSaZJgJxtKYotigCcQEzFSMRFBYXIycjDgEjIiY1NDYzMhYXNSM1MzUzAzI2NzUuASMiBhUUFgHiTEwCCF0SBBRLM15odHAfKBSUlILdJiwJDiIbNzctAoFQ/n8qVDNBIyt8hICOBwhAUDv9pCUj1AsLSlpATv//ADwAAAHgA1gCJgAoAAABBgLIIwAALrAKK1iyvw8BcbL/DwFxsg8PAXK0Tw9fDwJdst8PAXGy/w8BXbQgDzAPAnIwMVkAAP//ACH/8gHZApICJgBIAAABBgBxJQAAM7AKK1iwIy+07yP/IwJysu8jAV1BCQDPACMA3wAjAO8AIwD/ACMABHGycCMBcrAi3DAxWQD//wA8AAAB4ANcAiYAKAAAAQcCZwCDAAAAOrAKK1iykAwBcrL/DAFdsv8MAXGyDwwBcrKvDAFdst8MAXGyMAwBXbYQDCAMMAwDcrQgDDAMAnEwMVn//wAh//IB2QLHAiYASAAAAQYBMn4AAD+wCitYtO8g/yACXbKvIAFyto8gnyCvIANdtO8g/yACcrTvIP8gAnG2DyAfIC8gA3K0MCBAIAJdsjAgAXEwMVkAAAEAPP83AfICvAAdAemwCitYsgEdAyuyIAEBcrLfAQFxsv8BAV2yDwEBcrIQAQFdsnABAV2yMAEBXbIQHQFdst8dAXGyHx0BcbL/HQFdsv8dAXGyDx0BcrI/HQFxsiAdAXKyMB0BXbAdELEIBvSwBNCwARCwBdCwBS+wARCwCdCwCS+yCwkdERI5shkdARESObAZL7AN3LKvDQFxsi8NAV2yrw0BXbAZELAT3LKvEwFdsm8TAV2ywBMBcbIcHQkREjmyTx4BXbKQHwFxshAfAXGygB8BcrKgHwFyssAfAXJZALAARViwAS8bsQEUPlmwAEVYsAovG7EKCD5ZsAEQsQID9LIEAQoREjmwBC+yTwQBXbTfBO8EAl2yLwQBcbSvBL8EAl20TwRfBAJxtL8EzwQCcbEHA/SwChCxCQP0sAoQsBbcstAWAV2ygBYBXbQgFjAWAl2wENyyTxABcbKPEAFdsAoQsBzQMDEBsAorWLJIFwFdtCkXORcCXbJZFwFdsskXAXK0aBh4GAJdskkYAV20iRiZGAJxtqoYuhjKGANxstoYAXKyKBsBcrJIGwFyslkbAXJZALYpFzkXSRcDXbLJFwFysloXAV20aBh4GAJdtqgYuBjIGANxstgYAXKySRgBXbKJGAFxslUbAXK2Jhs2G0YbA3ITIRUhFTMVIxUhFSMGFRQWMzI3Fw4BIyImNTQ2NyE8AZ/+6v39ARsbOhYUEhgTD0EjODsuKf7ZArx6o3qrehYzEhkMPgwXMikmNxEAAgAh/zcB2QICACkAMAHVsAorWLIfFwMrsm8XAV2yLxcBcrJvFwFyso8XAXKyTxcBcrTvF/8XAnGyEBcBXbIwFwFdspAfAV2y0B8BXbJQHwFyspAfAXKy0B8BcrIvHwFysu8fAXGysB8BcrJwHwFysvAfAV2ysB8BXbJwHwFdthAfIB8wHwNdsgAXHxESObAAL7ICABcREjmyEBcfERI5sBAvsATcsBAQsArcshMXABESObAXELEjBPSwLdCwHxCwLtyyMC4BXbSgLrAuAl2yIDIBXVkAsABFWLAaLxuxGhA+WbAARViwEy8bsRMIPlmwAEVYsA0vG7ENCj5ZsBMQsCncsADQsgITKRESObANELAJ3LIjGhMREjmwIy+yICMBcrRgI3AjAl2yUCMBcrQAIxAjAnG0QCNQIwJxsBMQsCbcQQkAXwAmAG8AJgB/ACYAjwAmAARxtE8mXyYCXbbPJt8m7yYDXbIvJgFysr8mAXKwGhCwKtxBCQBQACoAYAAqAHAAKgCAACoABHG0QCpQKgJdsiAqAXKysCoBcrbAKtAq4CoDXbAjELAt3EENAA8ALQAfAC0ALwAtAD8ALQBPAC0AXwAtAAZxsi8tAXJBCQBvAC0AfwAtAI8ALQCfAC0ABF0wMSUGBwYVFB4BNjcXDgEjIiY1NDY3JicmNTQ2MzIeAhUUBgchHgEzMjY3AyIGBzM2JgHJGSkwDBUfFBMPQCM5OxgWdjc4fnImSDgiBQX+1AM7QilBEY8zMQW6BCkrFA8fLQ0VDAEKPgwYNykcLhEBRUd7hIQULk46FTAaP0AZDQEaPTM2Ov//ADwAAAHgA2YCJgAoAAABBgLEGwAAVrAKK1iyIA4BckELAF8ADgBvAA4AfwAOAI8ADgCfAA4ABV2y3w4BcbK/DgFysu8OAXKy/w4BcbIPDgFysv8OAV20IA4wDgJdsiAOAXG0oA6wDgJdMDFZAAD//wAh//IB2QLcAiYASAAAAQYBMCYAACawCitYtN8i7yICcbTvIv8iAl207yL/IgJysr8iAXGyQCIBXTAxWQAA//8AJv/yAjgDZgImACoAAAEGAmRuAAATsAorWLSPL58vAl2yIC8BXTAxWQD//wAh/ywB4ALcAiYASgAAAQYBLzcAACawCitYst8vAV2yvy8BXbIPLwFythAvIC8wLwNdtGAvcC8CcTAxWQAA//8AJv/yAjgDawImACoAAAEGAmJUAABUsAorWLJPNwFxtq83vzfPNwNyQQsAXwA3AG8ANwB/ADcAjwA3AJ8ANwAFXUEJAM8ANwDfADcA7wA3AP8ANwAEcbIPNwFysv83AV20ADcQNwJdMDFZ//8AIf8sAeAC0AImAEoAAAEGATEjAAA1sAorWLL/NgFdsl82AV1BCQDPADYA3wA2AO8ANgD/ADYABHGyDzYBcrLfNgFdsr82AV0wMVkAAAD//wAm/u8COALKAiYAKgAAAQcCwgDaAAAANLAKK1i0ACYQJgJdtt8m7yb/JgNdtG8mfyYCXbLfJgFxsr8mAV2yUCYBcbQwJkAmAl0wMVkAAP//ACH/LAHgAw0CJgBKAAABDwLCAaMB/cABAB+wCitYsvAtAXGykC0BXbSgLbAtAnG04C3wLQJdMDFZAP//ADwAAAJOA2YCJgArAAABBgJkVQAALrAKK1iyIBUBcrL/FQFdtm8VfxWPFQNdst8VAXGyABUBXbJAFQFdsiAVAV0wMVkAAP///9MAAAHtA2YCJgBLAAABBgJklwAADLAKK1iyQCABXTAxWQACAAIAAAKpArwAEwAXAQmwCitYsgwRAyuyYBEBcbKQEQFxsgARAV2wERCwAdCwANyybwABcrK/AAFdsBEQsRAG9LAX0LAE0LKQDAFxshAMAXGykAwBXbLwDAFdstAMAV2yAAwBXbJgDAFxsmAMAXKywAwBcbAMELENBvSwFNCwBdCwDBCwCNCwCdyyUBkBXbLPGQFdshAZAXK0cBmAGQJdshAZAXFZALAARViwAy8bsQMUPlmwAEVYsBAvG7EQCD5ZshcDEBESObAXL7KvFwFdtN8X7xcCXbJPFwFdss8XAXGyBAMXERI5sAQvsAHQsAMQsAbQsAQQsAjQsAQQsBbcsAvQsBAQsA3QsBcQsQ8D9LAWELAS0DAxEzM1MxUhNTMVMxUjESMRIREjESMFNSEVAkuJAQCJSkqJ/wCJSwHU/wACVmZmZmZS/fwBJf7bAgRlZWUAAf/6AAAB+AK8AB4B1rAKK1iyEhwDK7LgHAFdsqAcAXGyvxwBcrLfHAFyskAcAV2yABwBXbIgHAFdsBwQsAHQsADcsBwQsRsE9LAI0LAE0LAF3LJAEgFxsuASAV2yABIBXbJAEgFdsm8SAXKyvxIBcrJgEgFdsiASAV2ykBIBXbQAEhASAnGyYBIBcbKgEgFxsBIQsRME9LIfHwFdsj8fAV2ywCABXbSQIKAgAl2ycCABcrJQIAFyWQCwAEVYsAwvG7EMED5ZsABFWLADLxuxAxQ+WbAARViwGy8bsRsIPlmyBAMMERI5sAQvQQsADwAEAB8ABAAvAAQAPwAEAE8ABAAFXbAB0LAEELAH3LJgBwFxsiAHAXKyCAwbERI5sBsQsBPQsAwQsRcC9LAHELAd0DAxAbAKK1i0Jg42DgJdtOYO9g4CXbQGDhYOAnG0Bw4XDgJdstcOAV2yxw4BcbRnDncOAnKytQ8BcbQHDxcPAl20ahV6FQJxtGgWeBYCcbRJFlkWAnFZALLWDgFdQQkABwAOABcADgAnAA4ANwAOAARdtOcO9w4CXbQHDhcOAnGyxw4BcbRnDncOAnKytg8BcbQHDxcPAl20aRV5FQJxQQkASAAWAFgAFgBoABYAeAAWAARxAzM1MxUzFSMVMz4BMzIeAhURIxE0JiMiBgcRIxEjBkqCoaEEGEY2JjonE4IiLSE3CYJKAoE7O1B1ICYULk86/skBHD02LSP+wQIx////5wAAAT4DWAImACwAAAEGAsirAAA2sAorWLQwB0AHAnG0IAcwBwJdtt8H7wf/BwNdtO8H/wcCcrKABwFytAAHEAcCcbKABwFdMDFZAAD////lAAABKAKSAiYA6QAAAQYAcakAAESwCitYsAcvtK8HvwcCXbIPBwFysv8HAXK2vwfPB98HA3Ky/wcBXbIABwFdtCAHMAcCXbAG3LRgBnAGAl2y8AYBXTAxWQABABb/NgD8ArwAFgGlsAorWLsAAgAGABYABCuybwIBcbQgAjACAl2ykAIBXbJvFgFxspAWAV20IBYwFgJdshIWAhESObASL7IvEgFxtAASEBICXbAG3LIvBgFdsq8GAV2wEhCwDNyyrwwBXbJvDAFdssAMAXGyTxcBXbQPFx8XAl20cBiAGAJdspAYAXG0sBjAGAJdtDAYQBgCcrJQGAFxWQCwAEVYsAAvG7EAFD5ZsABFWLAVLxuxFQg+WbAD0LAVELAP3LQgDzAPAl2ybw8BcrLQDwFdsoAPAV2wCdyyjwkBXbIACQFyMDEBsAorWLQoEDgQAl22uBDIENgQA3K0CRAZEAJdslkQAV22WRFpEXkRA12yiREBcbapEbkRyREDcbYqEToRShEDXbQLERsRAl2ymxEBcbJHFAFytCgUOBQCcrRYFGgUAnJZALQoEDgQAl2yWBABXbQJEBkQAl22uRDJENkQA3JBDQAoABEAOAARAEgAEQBYABEAaAARAHgAEQAGXbS4EcgRAnG0CREZEQJdtJkRqRECcbKKEQFxskMUAXK0JRQ1FAJytFUUZRQCchMzESMOARcUFjMyNxcOASMiJjU0NjcjSokOFxoBFhQRGBQPQSM5Oi4pIwK8/UQMJBkSGQw+DBgzKSY3EQACAA3/NgDzAscAFgAiAl2wCitYuwACAAQAFgAEK7SfAq8CAnK0bwJ/AgJysgACAV2yMAIBXbSfFq8WAnK0bxZ/FgJysjAWAV2yABYBXbISFgIREjmwEi+07xL/EgJxsAbcsi8GAV2yrwYBXbIvBgFxsq8GAXGwEhCwDNyy7wwBXbKvDAFdsk8MAXKyEAwBcrJwDAFdsBYQsBfQsBcvQR0ALwAXAD8AFwBPABcAXwAXAG8AFwB/ABcAjwAXAJ8AFwCvABcAvwAXAM8AFwDfABcA7wAXAP8AFwAOcUENAA8AFwAfABcALwAXAD8AFwBPABcAXwAXAAZysB3csvAdAXG0AB0QHQJyslAdAXK20B3gHfAdA120AB0QHQJdspAdAXG2cB2AHZAdA122MB1AHVAdA3GyHyMBXbSAJJAkAl20wCTQJAJdsnAkAXFZALAARViwAC8bsQAQPlmwAEVYsBUvG7EVCD5ZsAPQsBUQsA/csoAPAV2ywA8BcbQgDzAPAl2yIA8BcbAJ3LKPCQFdsAAQsCDcQQkAwAAgANAAIADgACAA8AAgAARdtAAgECACcbSgILAgAnG2cCCAIJAgA3KwGtyybxoBcrIPGgFxsvAaAXEwMQGwCitYtEgQWBACXbK4EAFytCkQORACXbRIEVgRAl20aRF5EQJdtIkRmRECcbSrEbsRAnG0Kxs7GwJyWQCyFgsBckENACkAEAA5ABAASQAQAFkAEABpABAAeQAQAAZdtroQyhDaEANyQQkASAARAFgAEQBoABEAeAARAARdtKgRuBECcbSJEZkRAnG0Jxs3GwJytEkcWRwCchMzESMOARUeATMyNxcOASMiJjU0NjcjAzQ2MzIWFRQGIyImRoINFxgBFhQRGBMPQCM5Oy4pHhMrJiYvLyYmKwH0/gwOJBcSGQw+DBgzKSY3EQKBHSkpHR0nJ///ADkAAADoA1wCJgAsAAABBgJn/QAAOLAKK1i0IAQwBAJdtO8E/wQCcbIPBAFytt8E7wT/BANdtL8EzwQCcbKABAFytiAEMARABANyMDFZAAEARgAAAMgB9AADAHiwCitYuwACAAQAAwAEK7IAAgFdtG8CfwICcrLgAgFdsjACAV2yAAMBXbRvA38DAnKy4AMBXbIwAwFdsh8EAV2yTwQBXbKwBQFxtIAFkAUCXbJwBQFxstAFAV1ZALAARViwAC8bsQAQPlmwAEVYsAMvG7EDCD5ZMDETMxEjRoKCAfT+DP///+n/9AF5A2YCJgAtAAABBgJk2QAANLAKK1i0vxrPGgJdtI8anxoCXbIPGgFyQQkAAAAaABAAGgAgABoAMAAaAARdsiAaAXEwMVn////m/zABJgLcAiYBLQAAAQYBL6oAAAywCitYsgAXAV0wMVn//wA8/u8CYQK8AiYALgAAAQcCwgChAAAAK7AKK1iy/w8BXbTvD/8PAnGybw8BXbKfDwFxss8PAV22IA8wD0APA10wMVkAAAD//wA5/u8B7QK8AiYATgAAAQYCwncAAD+wCitYsgAPAV2y/w8BXbavD78Pzw8DcbJfDwFyst8PAXKyPw8BcrJPDwFxtK8Pvw8CXbJADwFdsiAPAV0wMVkA//8APAAAAfcDZgImAC8AAAEGAsMsAAAnsAorWLKPCgFxsv8KAXKy/woBXbL/CgFxtDAKQAoCXbIgCgFyMDFZAP//AD3/8gFNA2YCJgBPAAABBgLDCgAAP7AKK1iy/xQBXUERAI8AFACfABQArwAUAL8AFADPABQA3wAUAO8AFAD/ABQACHGyDxQBcrYgFDAUQBQDXTAxWQD//wA8/u8B9wK8AiYALwAAAQYCwnkAACmwCitYtq8GvwbPBgNxsk8GAXKynwYBXbL/BgFxsv8GAV2yQAYBXTAxWQAAAP//AD3+7wEnArwCJgBPAAABBgLCIwAAOLAKK1hBDQCvABAAvwAQAM8AEADfABAA7wAQAP8AEAAGcbIPEAFysl8QAV2y/xABXbIgEAFyMDFZ//8APAAAAfcCvAImAC8AAAEGAs1uAAAqsAorWLLgDAFdso8MAXKybwwBcbL/DAFysv8MAXGywAwBcbJwDAFxMDFZAAD//wA9//IBbgK8AiYATwAAAQYCzQ0AAGWwCitYstAQAXFBCQCvABAAvwAQAM8AEADfABAABF22PxBPEF8QA3GynxABckEJAI8AEACfABAArwAQAL8AEAAEcbL/EAFdtA8QHxACcbZfEG8QfxADXbJgEAFytBAQIBACcjAxWQAAAAABAAMAAAICArwADQD7sAorWLsAAwAGAAIABCtBCwAAAAIAEAACACAAAgAwAAIAQAACAAVdspACAV1BCwAAAAMAEAADACAAAwAwAAMAQAADAAVdspADAV2wAxCwB9CwBtywAhCwCdyyEAkBcbLwCQFdsoAJAV2yYAkBcrJgCQFxsAIQsAzQsA3cWQCwAEVYsAMvG7EDFD5ZsABFWLAKLxuxCgg+WbIFAwoREjmwBS+y6AUBXbLZBQFxsokFAXGyqgUBXbI5BQFxsigFAXKymAUBXbJIBQFdsADQsgEFABESObIEBQAREjmwBRCxBgP0sA3QsgcGDRESObAKELEJA/SyDAYNERI5MDETNxEzFTcVBxUhFSE1BwNEiWRkATL+RUQBPi0BUfVDfULRevEsAAEABv/yAT8CvAAXAXOwCitYuwADAAQAAgAEK7LwAgFyQQsAAAACABAAAgAgAAIAMAACAEAAAgAFXbKwAgFdtIACkAICXbKwAwFdsvADAXK0gAOQAwJdQQsAAAADABAAAwAgAAMAMAADAEAAAwAFXbADELAH0LAG3LACELAP3LIwDwFxsq8PAV2y8A8BXbIADwFxsmAPAV2wAhCwFtCwF9yyYBcBcVkAsABFWLADLxuxAxQ+WbAARViwEi8bsRIIPlmyBQMSERI5sgcFAV2yeAUBcbL3BQFdtIUFlQUCXbAFELAA0LIBAAUREjmyBAUAERI5sAUQsAbQsqcGAV2wF9CymRcBXbIHBhcREjmwEhCxCwL0shYXBhESOTAxAbAKK1iyeBQBXbSJFJkUAl2yiRQBcbJZFAFytnoUihSaFANyssoUAXK0rBS8FAJyWQC2eBSIFJgUA12yiBQBcbJ5FAFyQQkAigAUAJoAFACqABQAugAUAARysssUAXKyXBQBchM3ETMVNxUHFRQWMzI2NxcOASMiJj0BBwZPgmBgEhQMFxEOEEIjOTxPATM1AVT9QH0/myMgBAdmCBA1PYo0//8APP/7AlUDZgImADEAAAEHAsMAygAAAEmwCitYsjAUAXGyjxQBXbJ/FAFxsv8UAXGy/xQBckEJAK8AFAC/ABQAzwAUAN8AFAAEcbL/FAFdsgAUAV2y4BQBXbIgFAFdMDFZAP//ADkAAAHtAtACJgBRAAABBwB2AKQAAAA4sAorWLQQGyAbAl2y/xsBXbJPGwFysv8bAXKyrxsBcrLvGwFxtL8bzxsCXbIwGwFxskAbAV0wMVkAAP//ADz+7wJVAsECJgAxAAABBwLCAMIAAAArsAorWLbfEO8Q/xADXbLfEAFxsp8QAV20fxCPEAJxsgAQAV2yIBABXTAxWQAAAP//ADn+7wHtAgICJgBRAAABBwLCAIoAAABDsAorWLJ/FwFxtk8XXxdvFwNytn8XjxefFwNdst8XAXK2zxffF+8XA3G23xfvF/8XA12yDxcBcbYgFzAXQBcDXTAxWQAAAP//ADz/+wJVA2YCJgAxAAABBgLEYAAAQrAKK1iyYBIBcrJvEgFdsq8SAXGy/xIBcbTvEv8SAnKy3xIBcbL/EgFdsg8SAXGyABIBXbQgEjASAnGyIBIBXTAxWQAA//8AOQAAAe0C3AImAFEAAAEGATA0AAA4sAorWLQQGSAZAl2yvxkBXbL/GQFdsm8ZAXKyDxkBcrLfGQFdsn8ZAV20YBlwGQJxskAZAV0wMVn//wAm//ICeANYAiYAMgAAAQYCyGsAAFOwCitYsCMvslAjAV2yMCMBcbIgIwFysr8jAXGyTyMBXbbfI+8j/yMDcbIPIwFyts8j3yPvIwNdspAjAXG0ACMQIwJxsiAjAV2yACMBXbAi3DAxWQD//wAh//IB+AKSAiYAUgAAAQYAcS8AAFKwCitYsCEvQQkArwAhAL8AIQDPACEA3wAhAARdsk8hAXGyDyEBcrTPId8hAnKyryEBcrRvIX8hAnGy/yEBXbYgITAhQCEDXbIQIQFysCDcMDFZAAD//wAm//ICeANSAiYAMgAAAQcCxwCDAAAAZbAKK1iwJC+yACQBXbL/JAFdtt8k7yT/JANxsg8kAXKyjyQBcrbfJO8k/yQDcrK/JAFysl8kAXK0jySfJAJxtJ8kryQCXbIgJAFxQQkAIAAkADAAJABAACQAUAAkAARdsCncMDFZAP//ACH/8gH4ArwCJgBSAAABBgE2VQAAUbAKK1iwIi+0byJ/IgJdsk8iAXG2ryK/Is8iA3K07yL/IgJxsg8iAXKy/yIBXUELAAAAIgAQACIAIAAiADAAIgBAACIABV2yECIBcrAn3DAxWQAAAAACACb/8gNpAsoADgAnAZmwCitYsh4PAyuyPw8BcbJ/DwFdtBAPIA8CXbJQDwFxsA8QsBfcss8XAV2y3xcBcbJPFwFysm8XAXKy/xcBcbLvFwFdsi8XAV2yvxcBcrEGB/SwDxCwDtCwHdCyUB4BcbQQHiAeAl2wDxCxJQb0sCHQsB4QsCLQsCIvsB4QsCbQsCYvsk8oAV2yDykBXbKvKQFdslApAV2yICkBcVkAsABFWLAeLxuxHhQ+WbAARViwGi8bsRoUPlmwAEVYsCcvG7EnCD5ZsABFWLASLxuxEgg+WbAaELEDA/SwEhCxCwP0sB4QsR8D9LIhHicREjmwIS+0TyFfIQJxtK8hvyECXbIvIQFxtN8h7yECXbJPIQFdsp8hAXG0vyHPIQJxsSQD9LAnELEmA/QwMQGwCitYtAcEFwQCXbKXCAFdsscIAV20BwkXCQJdtEgUWBQCcbKoFAFxtEgZWBkCcbIYGQFyWQC0CAQYBAJdspcIAV2yxwgBXbQHCRcJAl2yqBQBcbRJFFkUAnGyGRQBcrRGGVYZAnGyFhkBcrKnGQFxAS4BIyIGFRQeAjMyNjcVDgEjIi4CNTQ2MzIWFyEVIRUzFSMVIRUBxRU8JUlQEic8Kx01HRNDIExwSSSajyc5FgGf/ur9/QEbAjcLDnV9NVlAJAcMfwcHNGCGUq+9CQV6o3qregADACH/8gMmAgIADQAzAD0CIbAKK1iyJBYDK7RPFl8WAnK0XxZvFgJdsq8WAV2yMBYBXbAWELEABfSycCQBXbLQJAFdsk8kAXKykCQBXbYQJCAkMCQDXbLwJAFdsggWJBESObAIL7EoBPSyDigIERI5shwIKBESObAkELAv0LAvL7AoELA30LAkELA63LSgOrA6Al20IDowOgJdskA6AXGy0D8BXVkAsABFWLAZLxuxGRA+WbAARViwES8bsREIPlmxBQH0sBkQsQsB9LIOERkREjmyHBkRERI5sBkQsB/QsBEQsDLQsjcfMhESObA3L7QvNz83AnG0jzefNwJdsi83AXK0bzd/NwJxsCjcQQkAYAAoAHAAKACAACgAkAAoAARdQQ0AAAAoABAAKAAgACgAMAAoAEAAKABQACgABnGyICgBcrAyELAr3EEJAF8AKwBvACsAfwArAI8AKwAEcbRPK18rAl22zyvfK+8rA12yvysBcrIvKwFysB8QsDTcsrA0AXK0QDRQNAJdsiA0AXK2wDTQNOA0A11BCQBQADQAYAA0AHAANACAADQABHEwMQGwCitYsmgTAXG0yBPYEwJxsmgYAXG0yBjYGAJxsoUiAXJBCQAmACIANgAiAEYAIgBWACIABHGydiIBcrKnLgFdWQCyaBMBcbTJE9kTAnGyZxgBcbTHGNcYAnFBCQAnACIANwAiAEcAIgBXACIABHGytS4BXbKmLgFdtlcuZy53LgNdNxQeAjMyNjU0JiMiBgEOASMiLgI1NDYzMhYXPgEzMh4CFRQGByEeATMyNjcXDgEjIhMiBgczNDY1NCanDBgnGzMyLjcwNgEIGU86PFg7HXxwQlAXF1FAJkg4IgUF/tMDPEIpQRErHmc6b3QzMQW6ASn6ITgqF0pQRVVI/vAhKSZFYjt/iS0bHSsULk46FTAaP0AZDVUYIQGoPTMECAQuMv//ADwAAAJKA2YCJgA1AAABBwLDAIAAAAA9sAorWEEPAJ8AJACvACQAvwAkAM8AJADfACQA7wAkAP8AJAAHcbaPJJ8kryQDXbL/JAFdtDAkQCQCXTAxWQD//wA5AAABXgLQAiYAVQAAAQYAdjsAAHCwCitYQQkAzwAVAN8AFQDvABUA/wAVAARxsg8VAXK07xX/FQJyQREAjwAVAJ8AFQCvABUAvwAVAM8AFQDfABUA7wAVAP8AFQAIXbKvFQFyQQsAAAAVABAAFQAgABUAMAAVAEAAFQAFXbIQFQFxMDFZ//8APP7vAkoCxgImADUAAAEHAsIAqAAAAD6wCitYsv8gAV20zyDfIAJxsl8gAV207yD/IAJysn8gAXFBCQAAACAAEAAgACAAIAAwACAABF2ygCABcTAxWf//ADn+7wFeAf8CJgBVAAABBgLCGQAAL7AKK1iy/xEBcrKvEQFdsv8RAV1BCwAAABEAEAARACAAEQAwABEAQAARAAVdMDFZAP//ADwAAAJKA2YCJgA1AAABBgLEFgAAV7AKK1i0zyLfIgJdst8iAXGy7yIBckEJAG8AIgB/ACIAjwAiAJ8AIgAEXbK/IgFysv8iAV1BCwAAACIAEAAiACAAIgAwACIAQAAiAAVdtCAiMCICcTAxWQD//wAhAAABagLcAiYAVQAAAQYBMOUAAESwCitYsv8TAV2yDxMBcrSvE78TAl2y/xMBcrSvE78TAnFBCwAAABMAEAATACAAEwAwABMAQAATAAVdtIATkBMCXTAxWf//ABv/8gHzA2YCJgA2AAABBwLDAIoAAAA4sAorWEEJAL8AMgDPADIA3wAyAO8AMgAEcbSPMp8yAl223zLvMv8yA12yDzIBcbQgMjAyAl0wMVkAAP//ABn/8gGKAtACJgBWAAABBgB2XwAANLAKK1i0ACsQKwJdtK8rvysCcbRfK28rAl2y/ysBcrTvK/8rAl2ycCsBcrQgKzArAnEwMVn//wAb//IB8wNmAiYANgAAAQYCZCUAAB2wCitYsu83AXGynzcBXbQgNzA3Al2yUDcBXTAxWQAAAP//ABn/8gGKAtwCJgBWAAABBgEv+gAAKLAKK1hBCQAQAC8AIAAvADAALwBAAC8ABF20YC9wLwJxsiAvAXEwMVkAAQAb/y4B8wLKAEAEabAKK1iyHQcDK0ENADAAHQBAAB0AUAAdAGAAHQBwAB0AgAAdAAZdsuAdAV2ywB0BXbIQHQFdshAdAXGwHRCxAAb0tjAHQAdQBwNdsB0QsA/QsA8vsAcQsRYG9LAHELA40LA4L7IgHTgREjmyJAcdERI5sCQvsCvcssArAV2yACsBcbIgKwFdsCQQsDLcskAyAXG0IDIwMgJdsjU4HRESObKvQgFdshBCAXGyYEIBclkAsABFWLAMLxuxDBQ+WbAARViwNS8bsTUIPlmyAzUMERI5tikDOQNJAwNxshoDAXG0ugPKAwJytNsD6wMCXbRaA2oDAnG06QP5AwJxsskDAV2yqQMBcrAMELETA/SyGQw1ERI5sgUZAXG2dhmGGZYZA3G2lhmmGbYZA12y1hkBcrRHGVcZAnG0BxkXGQJdtGcZdxkCXbL2GQFdsjYZAXGylhkBckEJAKUAGQC1ABkAxQAZANUAGQAEcUEPAAUAGQAVABkAJQAZADUAGQBFABkAVQAZAGUAGQAHcrA1ELAg0LA1ELAp3LKAKQFdtCApMCkCcbIgKQFyQQkAAAApABAAKQAgACkAMAApAARdsC/ctC8vPy8CcbA1ELE+A/QwMQGwCitYsogEAV20KAU4BQJdsigFAXGyCQkBcbIpCQFxshoJAXGyCAoBcbKWDwFdtGgQeBACXbIWGwFxtFYbZhsCcrJXGwFdspQeAXKyBR4BcrR2HoYeAnGy9x8BXbIHHwFxtsUi1SLlIgNdsgUiAXGyhiIBXbSmIrYiAl2y9iIBXbTjI/MjAnG0hCOUIwJdssQjAV20pSO1IwJdtNUj5SMCXbIVIwFxsvYjAV20piO2IwJxtHUmhSYCcbImJgFxtkYmViZmJgNxtAcmFyYCXUEJAEcAJgBXACYAZwAmAHcAJgAEXbI3JgFxQREABwAnABcAJwAnACcANwAnAEcAJwBXACcAZwAnAHcAJwAIXbI4NAFdspg0AV2y+TQBXbaaNKo0ujQDcbSaNKo0AnK0fTSNNAJxsg00AXK0Zzl3OQJdWQCyiAMBXbKIBAFdtCgFOAUCXbIpBQFxshUJAXGyBgkBcbInCQFxsgcKAXG2WBBoEHgQA12yiRABXbKIEQFdslcbAV2yFxsBcbRXG2cbAnK0eB6IHgJxsggeAXKymB4BcrIIHwFxsvkfAV200yLjIgJdsoUiAV2yBSIBcbamIrYixiIDXbL2IgFdtpYjpiO2IwNdtNYj5iMCXbIWIwFxtKYjtiMCcbKHIwFdsscjAV205yP3IwJxtAgmGCYCXUEJAEgAJgBYACYAaAAmAHgAJgAEXbIoJgFxtEgmWCYCcbI5JgFxsmkmAXG0eiaKJgJxtAgnGCcCXUEJAEgAJwBYACcAaAAnAHgAJwAEXbQpJzknAl2yODQBXbL4NAFdtKg0uDQCcbZ5NIk0mTQDcbKZNAFysgo0AXKyqjQBcrKYOAFdtHY5hjkCXbZHOVc5ZzkDXbKFOgFdssRAAXElNC4ENTQ+AjMyFhcHLgEjIgYVFB4EFRQGDwEeARUUDgIjIic3FjIzMjY1NCc3LgEnNx4DMzI2AWovR1NHLyI/VjU9bCMrFlgzMDMvR1NHL2dYEikvFyg2Hx8hCQcMBSYWVjBEZRksCyMsMRo9QbwgKCEjM0w7M0syGBUUcw4XJiAeKCIkM0s4X2gNIgQjJBciFwwGMAESDBwEUQIaDnUGDgwIKQABABn/LgGKAgIAOwUnsAorWLIaBwMrtjAaQBpQGgNdtMAa0BoCXbIQGgFdsvAaAV2wGhCxAAT0sn8HAV2yMAcBXbAaELAN0LANL7AHELETBPSyHRoHERI5siEHGhESObAhL0ENAA8AIQAfACEALwAhAD8AIQBPACEAXwAhAAZdsCjcsiAoAV2yHygBcbKgKAFxssAoAV2wIRCwL9yywC8BcbQgLzAvAl2yMgcaERI5sAcQsDXQsDUvsi89AXGyvz0BXbKPPQFdsnA9AXGywD0BcVkAsABFWLAKLxuxChA+WbAARViwMi8bsTIIPlmyAzIKERI5tGoDegMCXbRJA1kDAl20iQOZAwJxsAoQsBHctsAR0BHgEQNdsrARAXK0QBFQEQJdQQkAUAARAGAAEQBwABEAgAARAARxshYKMhESOUEJACYAFgA2ABYARgAWAFYAFgAEXbRmFnYWAnK0xRbVFgJyshMWAXKwMhCwHdCwMhCwJtyywCYBcbJgJgFyQQkAAAAmABAAJgAgACYAMAAmAARdsiAmAXGygCYBXbIeMiYREjmwHi+wJhCwLNyybywBcrQvLD8sAnGwHhCwMdywMhCwOdy0TzlfOQJdQQsAXwA5AG8AOQB/ADkAjwA5AJ8AOQAFcUEJAM8AOQDfADkA7wA5AP8AOQAEXbS/Oc85AnIwMQGwCitYtEgEWAQCcbSJBJkEAnGyygQBcbQIBRgFAl20aAV4BQJdtKgFuAUCXbLoBQFxtEkFWQUCcUENAAgACAAYAAgAKAAIADgACABIAAgAWAAIAAZdQQkAiAAIAJgACACoAAgAuAAIAARxtOkI+QgCXbQICRgJAl20iQmZCQJxspcOAV20JhU2FQJdtAcXFxcCXbSnF7cXAl20phi2GAJdssYYAXG0BxgXGAJdtOcY9xgCXbQHGxcbAl1BCQAHABwAFwAcACcAHAA3ABwABF20hxyXHAJxtEYfVh8CXbQGHxYfAnK0Bx8XHwJdtGcfdx8CXbSlILUgAl22pSC1IMUgA3G0JiA2IAJdtGYgdiACXbTGINYgAl20ByAXIAJdtEUjVSMCcbQmIzYjAnG0ZiN2IwJxtmYjdiOGIwNytAcjFyMCXbRHI1cjAnK0ByQXJAJdsogxAV2ymTEBXbQpMTkxAnGy2TEBcbIqMQFytMox2jECcrRLMVsxAnG06zH7MQJxsowxAXKy+DYBcVkAtIgEmAQCcbRKBFoEAnGyygQBcbQIBRgFAl20aAV4BQJdtEgFWAUCcbSpBbkFAl2y6QUBcbSFCJUIAnG0BggWCAJdQQkAJwAIADcACABHAAgAVwAIAARdtOcI9wgCXbSnCLcIAnG0BwkXCQJdspgOAV20JxU3FQJdtAcXFxcCXbSnF7cXAl205hj2GAJdssYYAXG0BxgXGAJdtKcYtxgCXbQIGxgbAl1BCQAIABwAGAAcACgAHAA4ABwABF20iByYHAJxtAUfFR8CcrRmH3YfAl205h/2HwJdtAcfFx8CXbRHH1cfAl20pSC1IAJxQQkABwAgABcAIAAnACAANwAgAARdtGcgdyACXbTHINcgAl2yxyABcbSoILggAl20aCN4IwJxtAkjGSMCXUEJACkAIwA5ACMASQAjAFkAIwAEcbRJI1kjAnKyiSMBcrRqI3ojAnK0CCQYJAJdsogxAV2yKDEBcrKZMQFdQQkAKQAxADkAMQBJADEAWQAxAARxtMkx2TECcrbaMeox+jEDcbRpNHk0Al2y9DYBcbIFNgFyslc2AV0lNC4ENTQ2MzIWFwcuASMiFRQeBBUUBg8BHgEVFA4CIyInNxYyMzI2NTQnNy4BJzceATMyNgEIIjI8MiJYUzlcGh0XRiQ6IjI8MiJGRRIpLxcoNh8fIQkHDAUmFlYxLEwYJBdMKB0jihQYFBUlOS1KThgPXgkULRIWExYjOCxAUwsiBCMkFyIXDAYwARIMHARTBBcQYQ0ZFv//ABv/8gHzA2YCJgA2AAABBgLELwAAQLAKK1iy/zABXbKfMAFdsg8wAXJBCQAgADAAMAAwAEAAMABQADAABF1BCQBwADAAgAAwAJAAMACgADAABHEwMVn//wAZ//IBigLcAiYAVgAAAQYBMPMAAFKwCitYQQsAAAApABAAKQAgACkAMAApAEAAKQAFXbRvKX8pAnKy/ykBcrTvKf8pAl20vynPKQJysv8pAXG0DykfKQJytGApcCkCcbJAKQFxMDFZAAAAAQAL/y4CLQK8AB0A27AKK1i7AAcABgAAAAQrsAAQsALcsAcQsAXcsggHABESObAHELAM0LAML7Ac3LJPHAFdsAnQsAwQsBPcsAwQsBrcsh0ABxESOVkAsABFWLADLxuxAxQ+WbAARViwES8bsREKPlmwAEVYsB0vG7EdCD5ZsAMQsQID9LAG0LAdELAI0LIJHREREjmwCS9BDQAvAAkAPwAJAE8ACQBfAAkAbwAJAH8ACQAGXbARELAX3LAJELAc3DAxAbAKK1iyNgkBXbImCgFdsjcKAV1ZALI2CQFdsjAKAV2yJAoBXTMRIzUhFSMRIwceARUUDgIjIic3FjIzMjY1NCc32M0CIswbGCkvFyg2Hx8hCQcMBSYWVjkCQnp6/b4rBCMkFyIXDAYwARIMHARfAAEABf8uAVgCdwAsAQiwCitYuwAIAAQAKgAEK7QAKhAqAl2wKhCwAdCwANy0AAgQCAJdsAgQsATQsAXctEAFUAUCXbAqELAP3LIQDwFdskAPAV2wFtCwFi+wJty0DyYfJgJdsk8mAV2wE9CwEtCwFhCwHdywFhCwJNywJhCwJ9CyLy0BXVkAsABFWLAELxuxBBA+WbAARViwJy8bsScIPlmwAEVYsBsvG7EbCj5ZsAQQsAHQsAQQsAPcsAQQsQcB9LAnELELAfSwJxCwEtCyEycbERI5sBMvsBsQsCHcsBMQsCbcsAcQsCvQMDEBsAorWLJXFAFdsncUAV2yWCgBXVkAsnMUAV2yZBQBXbJVFAFdslkoAV0TMzU3FTMVIxUUFjMyNjcXDgEPAR4BFRQOAiMiJzcWMjMyNjU0JzcuAT0BIwVFgnp6FR0UHRIXEywaEikvFyg2Hx8hCQcMBSYWVjIxL0UB9F4lg27ANC4ICGMJDAUiBCMkFyIXDAYwARIMHARUCUdF/P//AAsAAAItA2YCJgA3AAABBgLELgAAQbAKK1i2XwpvCn8KA3G0rwq/CgJytn8KjwqfCgNdst8KAXKyDwoBcrbfCu8K/woDXbQPCh8KAnG0IAowCgJdMDFZAAAA//8ABf/yAXcC0wAmAFcAAAEGAs0WFwA9sAorWEEPAC8AGAA/ABgATwAYAF8AGABvABgAfwAYAI8AGAAHXUEJAK8AGAC/ABgAzwAYAN8AGAAEXTAxWQAAAP//ADn/9AI6A1gCJgA4AAABBgLIVQAAUbAKK1iyUBgBcrZvGH8YjxgDXbJPGAFxtt8Y7xj/GANxsg8YAXKyvxgBcrJ/GAFysr8YAXGy/xgBXbYAGBAYIBgDXbQQGCAYAnKyYBgBcTAxWQAAAP//ADT/8gHxApICJgBYAAABBgBxLgAAVLAKK1iwHS+yvx0BXbIvHQFxtG8dfx0CcUEJAK8AHQC/AB0AzwAdAN8AHQAEcrIPHQFysk8dAXG07x3/HQJdtiAdMB1AHQNdtBAdIB0CcrAc3DAxWf//ADn/9AI6A2sCJgA4AAAABgJiPQAAAP//ADT/8gHxAtACJgBYAAAABgExJAAAAP//ADn/9AI6A14CJgA4AAABBwJoAIQAAABtsAorWLAVL7KQFQFytI8VnxUCXbSPFZ8VAnGy/xUBcbIPFQFytO8V/xUCcrJ/FQFyst8VAXGy/xUBXUEJABAAFQAgABUAMAAVAEAAFQAEXbQQFSAVAnKyIBUBcbAd3LAVELAl3LAdELAq3DAxWQD//wA0//IB8QLnAiYAWAAAAQYBM18AAGCwCitYsBovthAaIBowGgNdtO8a/xoCXbIPGgFytO8a/xoCcrJvGgFyQQkAjwAaAJ8AGgCvABoAvwAaAARxtF8abxoCXbIgGgFysjAaAXGwINywGhCwJtywIBCwLNwwMVn//wA5//QCOgNSAiYAOAAAAQYCx2oAAF2wCitYsBkvQQkAzwAZAN8AGQDvABkA/wAZAARdQQsAvwAZAM8AGQDfABkA7wAZAP8AGQAFcbIPGQFysv8ZAXKyrxkBcrJ/GQFxtgAZEBkgGQNdskAZAV2wHtwwMVkAAAD//wA0//IB8QK8AiYAWAAAAQYBNkcAAFSwCitYsB4vtq8evx7PHgNdtG8efx4CcbIPHgFysu8eAXKyjx4BcrKvHgFxsv8eAV2yfx4BXUELAAAAHgAQAB4AIAAeADAAHgBAAB4ABV2wI9wwMVkAAQA5/zcCOgK8ACQAzbAKK1iyARoDK7IQAQFxsmABAXKyEAEBXbJgAQFxsuABAV2yQAEBXbABELEABPSyQBoBXbL/GgFxsg8aAXGyEBoBXbJgGgFysgcBGhESObIVGgEREjmwFS+wCdywFRCwD9yyFxoBERI5sBoQsRsG9LI/JQFdsrAmAV2y0CYBXbLQJgFxsjAmAXJZALAARViwGy8bsRsUPlmwAEVYsBcvG7EXCD5ZsABFWLASLxuxEgo+WbAbELAA0LIHABcREjmwEhCwDtywFxCxIQP0MDEBMxEUBgcGBwYVFB4BNjcXDgEjIiY1NDcmNREzERQeAjMyNjUBuIIkIB4rLQsWHxQTD0EjODs1/YkPIDAgPzgCvP48RGIgHg8fKg0VDAEKPgwYNyk3JgbtAdX+Rik5Iw9GTgABADT/NwIOAfQAKQEAsAorWLIJKQMrsv8pAV22DykfKS8pA3G0TylfKQJysn8pAXKyMCkBXbIQKQFdsCkQsQAE9LJwCQFxsjAJAV2yLwkBcbL/CQFdsk8JAXKykAkBcbKQCQFdshAJAV2wCRCxCAT0sAkQsA3QsA0vsAgQsB/QsBvQsBsvsBHcsBsQsBXcspArAV2yXysBcbLvKwFdstArAV2yECsBclkAsABFWLAALxuxABA+WbAARViwIy8bsSMIPlmwAEVYsBgvG7EYCj5ZsCMQsQQC9LAAELAI0LAjELAe0LAO0LAYELAU3LIfCCMREjkwMQGwCitYshkmAV2yCiYBXVkAtAgmGCYCXRMRFBYzMjY3ETMRFBYXIw4BFR4BNxcOASMiJjU0NjcnIw4BIyIuAjURth0qJTEMgggIEh0bASsoEw9AIzk7Ni8VBBdSOCY8KBUB9P7kPTYsIAFD/qQpTyAKJRkaGRQ+DBgzKSk6EEQmMhQuTjsBN/////4AAAJSA1gCJgA8AAABBgLFOAAAdLAKK1iwDC+yQAwBcrJ/DAFdsq8MAXGy3wwBcrL/DAFytt8M7wz/DANxsg8MAXJBCQDPAAwA3wAMAO8ADAD/AAwABF1BCQAAAAwAEAAMACAADAAwAAwABF2yYAwBcbQgDDAMAnGwGNyyEBgBcbLAGAFdMDFZ//8AGwAAAgADZgImAD0AAAEHAsMAhgAAAD+wCitYsv8QAV1BCwC/ABAAzwAQAN8AEADvABAA/wAQAAVxtm8QfxCPEANdso8QAXG0MBBAEAJdsiAQAXEwMVkAAAD//wAfAAABpwLQAiYAXQAAAQYAdm0AADqwCitYslAQAV2y/xABXbIPEAFysv8QAXK0jxCfEAJysu8QAXG0zxDfEAJdshAQAXK0ABAQEAJxMDFZAAD//wAbAAACAANcAiYAPQAAAQYCZ34AADywCitYsv8MAV2yDwwBcrKvDAFdsv8MAXKyrwwBcbQwDEAMAl1BCQAwAAwAQAAMAFAADABgAAwABHIwMVn//wAfAAABpwLHAiYAXQAAAQYBMlsAAEOwCitYQQkAzwAMAN8ADADvAAwA/wAMAARdsg8MAXKy/wwBcrRvDH8MAl2yjwwBcrTPDN8MAnGyIAwBXbIwDAFxMDFZAP//ABsAAAIAA2YCJgA9AAABBgLEHAAANLAKK1iyDw4BckEJAF8ADgBvAA4AfwAOAI8ADgAEXbS/Ds8OAnKy/w4BXbQgDjAOAl0wMVn//wAfAAABpwLcAiYAXQAAAQYBMAMAAE2wCitYsg8OAXJBCQDPAA4A3wAOAO8ADgD/AA4ABHJBDQCvAA4AvwAOAM8ADgDfAA4A7wAOAP8ADgAGXbKfDgFysu8OAXGyIA4BXTAxWQAAAAABAAwAAAFzAsQAFQEysAorWLsAEgAEABMABCuykBMBXUEJAAAAEwAQABMAIAATADAAEwAEXbKgEwFxssATAV2wExCwAdCwANywExCwCNyyEAgBcbJwCAFdsuAIAV2yoBIBcUEJAAAAEgAQABIAIAASADAAEgAEXbLAEgFdspASAV20TxdfFwJdst8XAV1ZALAARViwAS8bsQEQPlmwAEVYsAUvG7EFFD5ZsABFWLASLxuxEgg+WbAFELEMAfSwARCxFAH0MDEBsAorWLYoAzgDSAMDXbSYA6gDAnG0CQMZAwJdtCgEOAQCXbLYBAFdspgEAXFZAEEJAAcAAwAXAAMAJwADADcAAwAEXbSXA6cDAnGy1gQBXbKmBAFxssYEAXFBCQAHAAQAFwAEACcABAA3AAQABF2ylwQBcbKJCQFxEzM1NDYzMhYXBy4BIyIOAhURIxEjDEVQTC0+GxoXIhQUFwsDgkUB9BxfVQ0LZQgHDBklGP4MAYYAAf/M/zACLALKACoBfbAKK1i7AAAABQATAAQrskAAAV2wABCwAdCyJgEBXbAL0LALL7JAEwFdsBMQsBLQsBMQsBTQsBQvsBMQsBbQsucWAV2wIdCwIS+ycCEBXbAWELEoBfSwABCwKtCwKi9ZALAARViwHC8bsRwUPlmwAEVYsAYvG7EGCj5ZshYcBhESObAWL7ETAfSwANCwBhCxDwH0sBwQsSQB9LAWELAo0DAxAbAKK1i0BwMXAwJdsucDAV20BgQWBAJdsoYEAV2yRgQBcbQHBRcFAl2yFwwBcbTnDPcMAnGyiBkBXbSZGakZAnG0ShlaGQJdslgaAV2ySRoBXbRpGnkaAl1ZALQIAxgDAl2y6AMBXbQIBBgEAl2yiQQBXbJJBAFxtAgFGAUCXbQEDBQMAnK21QzlDPUMA3GyFgwBcbJ2DAFxssYMAXGypBkBcUEJAEYAGQBWABkAZgAZAHYAGQAEXbKWGQFxsocZAV1BCQBFABoAVQAaAGUAGgB1ABoABF2yGCIBcQEDDgMjIi4CJzceATMyNjcTIzUzNz4DMzIeAhcHJiMiBg8BMxUBVkcGFyk9LA4pKicMFRcqHCQoCT1OYAsGFSU6KxApKigPIDEuIBkGBXcBhv5YJT8vGwQGCQVpCgkxOQF+bkMlNyUSBQkLB2ETHyghbv//ACb/8gI4A2YCJgAqAAABBwLDAOMAAABcsAorWLbfKu8q/yoDXUENAK8AKgC/ACoAzwAqAN8AKgDvACoA/wAqAAZxsg8qAXKybyoBXbKPKgFxtJ8qryoCXUELAAAAKgAQACoAIAAqADAAKgBAACoABV0wMVkAAP//ACH/LAHgAtACJgBKAAABBwB2AKUAAABSsAorWEEJABAAKwAgACsAMAArAEAAKwAEXba/K88r3ysDXbKPKwFxsk8rAXKy/ysBcrKvKwFysu8rAXGy/ysBXbJvKwFdshArAXKyMCsBcTAxWf//ABv+7wHzAsoCJgA2AAABBgLCfQAAN7AKK1iygC4BcbKwLgFysv8uAV20ny6vLgJdtAAuEC4CXbIwLgFysjAuAXG2MC5ALlAuA10wMVkA//8AGf7vAYoCAgImAFYAAAEGAsJRAAA2sAorWLLvJwFytI8nnycCXbL/JwFxsg8nAXJBCwAAACcAEAAnACAAJwAwACcAQAAnAAVdMDFZAAD//wAL/u8CLQK8AiYANwAAAQcCwgCRAAAAPrAKK1i23wjvCP8IA120vwjPCAJxsj8IAXKy/wgBcrKfCAFysg8IAXKyXwgBcbR/CI8IAl20IAgwCAJdMDFZ//8ABf7vAVgCdwImAFcAAAEGAsIxAAAwsAorWLIPGAFyst8YAV2yjxgBcrL/GAFdQQkAIAAYADAAGABAABgAUAAYAARdMDFZAAH/8P8wAMcB9AAOATuwCitYuwABAAQAAAAEK7IAAAFdsg8AAXK0zwDfAAJdtp8ArwC/AANyss8AAXGy4AABXbQwAEAAAl2y4AEBXbIPAQFytM8B3wECXbafAa8BvwEDcrLPAQFxtDABQAECXbIAAQFdsAAQsAfQsAcvsnAQAXGysBABcbSAEJAQAl20YBBwEAJyWQCwAEVYsAEvG7EBED5ZsABFWLAFLxuxBQo+WbEKAvQwMQGwCitYtKYDtgMCcbQHAxcDAl22ZgR2BIYEA3K0BwQXBAJdtMcE1wQCXbSHBJcEAnG0awx7DAJysogNAXJZALQIAxgDAl20qQO5AwJxtAgEGAQCXbSIBJgEAnG0yQTZBAJdtmkEeQSJBANytGYMdgwCcrKFDQFyQQ0AJgANADYADQBGAA0AVgANAGYADQB2AA0ABnITMxEUBiMiJzUyFjMyNjVFgkhPHiIEBgMtGwH0/fdbYAdtAToz//8AJgHPALkCxQIGAiIAAAABADwCJgF8AtwACAFksAorWLAIL7IACAFdsALcsvACAV2yrwIBcrRvAn8CAnGyjwIBXbLvAgFxslACAXKyUAIBcbKwAgFxsgAIAhESObTpAPkAAnGyAQIIERI5QQkAhwABAJcAAQCnAAEAtwABAARxtAcBFwECcUEJAMUAAQDVAAEA5QABAPUAAQAEcbQFARUBAnKwA9yyPwMBcrKfAwFxsgUIAhESObAIELAH3LKvBwFxsk8HAXKyDwcBcVkAsAcvspAHAXKyLwcBXbJvBwFdsq8HAV2ybwcBcbKvBwFxsu8HAXGyzwcBcbKPBwFxsk8HAXGyjwcBXbJPBwFdsg8HAV2y0AcBcrKwBwFysADctAAAEAACcbIQAAFysrAAAXGysAABXbJQAAFdsAcQsAPQsgUABxESOTAxAbAKK1i0ZgF2AQJxtAkEGQQCcbRJBFkEAnK0BAYUBgJxtEcGVwYCclkAtEgEWAQCcrRJBlkGAnITMxcjLwEPASO3Vm9nJxERLWMC3LZCMTFCAAEAPAImAYUC3AAIAUywCitYsAIvsAjcsnAIAXKyUAgBXbTgCPAIAl2yEAgBcrJvCAFxshAIAXGysAgBXbSgCLAIAnGy0AgBcbRACFAIAnGyAAgCERI5tOYA9gACcbIBAggREjm0SgFaAQJyQQkAygABANoAAQDqAAEA+gABAARxtAoBGgECcrQIARgBAnGwAhCwA9xBCQAAAAMAEAADACAAAwAwAAMABHKyUAMBXbZwA4ADkAMDcbTgA/ADAl2yBQIIERI5sAgQsAfcWQCwAS+ykAEBcrIvAQFdsm8BAV2yrwEBXbJvAQFxsq8BAXGy7wEBcbLPAQFxso8BAXGyTwEBcbKPAQFdsk8BAV2yDwEBXbLQAQFysrABAXKwA9y0AAMQAwJxshADAXKysAMBcbKwAwFdslADAV2yBQMBERI5sAfQMDEBsAorWLQFBBUEAnG0CQYZBgJxWQEjJzMfAT8BMwEKW3NuJxASLWUCJrZCMTFCAAEAPAI0AZEC0AAPAUiwCitYsA8vsADQtIYAlgACXbAPELAH3LKwBwFdslAHAXKyjwcBcbbQB+AH8AcDXbJQBwFdsjAHAXGwBtCymQYBXVkAsAwvsvAMAV2yMAwBcbJPDAFxsg8MAV2yTwwBXbJPDAFysm8MAV2yLwwBXbJvDAFxsvAMAXGyEAwBcbIwDAFyshAMAXKwANyyDwABXbJvAAFdsrAAAXGyEAABcrAMELAD3LJvAwFdshADAXGwABCwBtAwMQGwCitYtGcBdwECcUEJAEYACQBWAAkAZgAJAHYACQAEcbQHChcKAl2yGA0BXbRpDnkOAnG0Sg5aDgJxWQC0ZgF2AQJxQQkASAAJAFgACQBoAAkAeAAJAARxsggKAV20CA0YDQJdQQkASQAOAFkADgBpAA4AeQAOAARxsugPAV20CA8YDwJxsvkPAV20KQ85DwJxEx4BMzI2NxcOAyMiJid7ET0iIjkPPAMbLDsiQl4OAtAeHR4dGxgvJBZDOQABADwCPQDiAscACwC1sAorWLAAL7AG3LZwBoAGkAYDXbYwBkAGUAYDcbLwBgFxtAAGEAYCcrJQBgFyspAGAXG20AbgBvAGA120AAYQBgJdsrAGAXJZALAJL7IQCQFxsnAJAXKyDwkBXbJPCQFdss8JAXGyzwkBcrLvCQFxsi8JAXGyLwkBXbKQCQFysrAJAXGy8AkBXbLQCQFdsAPcsg8DAXGybwMBcrLwAwFxMDEBsAorWLRJBFkEAnK0KwQ7BAJyWRM0NjMyFhUUBiMiJjwrJiYvLyYmKwKBHSkpHR0nJwACADwCKQEaAucACwAXAtOwCitYsAAvsgAAAV2wBtyykAYBcbKwBgFytg8GHwYvBgNdtK8GvwYCXbJwBgFyslAGAXGycAYBXbAAELAM3LSvDL8MAl2wBhCwEty0oBKwEgJdWQCwCS+ysAkBcrIPCQFdsk8JAV2y7wkBcrJvCQFxsq8JAXGyzwkBcrLPCQFxso8JAXGyTwkBcbJvCQFdsi8JAV2yjwkBXbKQCQFysnAJAXKwA9yyjwMBckELAA8AAwAfAAMALwADAD8AAwBPAAMABV2y8AMBcbLwAwFdsAkQsA/csAMQsBXcMDEBsAorWLRoAXgBAl22CQEZASkBA12yWQEBXUELADgAAgBIAAIAWAACAGgAAgB4AAIABV1BFQAHAAQAFwAEACcABAA3AAQARwAEAFcABABnAAQAdwAEAIcABACXAAQACl1BEQAGAAUAFgAFACYABQA2AAUARgAFAFYABQBmAAUAdgAFAAhdtgYHFgcmBwNdQQsAVgAHAGYABwB2AAcAhgAHAJYABwAFXbbHB9cH5wcDckELAAcACAAXAAgAJwAIADcACABHAAgABV20aAp4CgJdslgLAV1BCwAJAAsAGQALACkACwA5AAsASQALAAVdtIkLmQsCXVkAslYBAV22BwEXAScBA120ZwF3AQJdtDYCRgICXUEJAGYAAgB2AAIAhgACAJYAAgAEXbYHAhcCJwIDXbJXAgFdtGYEdgQCXUENAAcABAAXAAQAJwAEADcABABHAAQAVwAEAAZdtIcElwQCXUERAAcABQAXAAUAJwAFADcABQBHAAUAVwAFAGcABQB3AAUACF22xgfWB+YHA3K2CAcYBygHA122WAdoB3gHA122CAgYCCgIA120OQhJCAJdQQsACAAKABgACgAoAAoAOAAKAEgACgAFXbZZCmkKeQoDXUELAAgACwAYAAsAKAALADgACwBIAAsABV20iAuYCwJdslkLAV0TNDYzMhYVFAYjIiY3FBYzMjY1NCYjIgY8OTYzPDs0NTpIGA8RFhcQDxgChyo2MS8nNzMrEBEQEREREAABADz/OwEiAAoAEQHOsAorWLAOL7AA3LJwAAFxsi8AAXGyDwABcrKQAAFdtAAAEAACXbAOELAC3LIvAgFxsi8CAV2yrwIBcbAOELAI3LKvCAFdsu8IAV2ycAgBXbAAELAR3FkAsABFWLAALxuxAAg+WbLvAAFysAvcsn8LAXGyXwsBcrLfCwFdtK8LvwsCcrIfCwFytCALMAsCXbLgCwFysAXcsg8FAXKyTwUBcbKPBQFdMDEBsAorWEEJAGgADAB4AAwAiAAMAJgADAAEXUEJACkADAA5AAwASQAMAFkADAAEXbTJDNkMAnJBDQAoAA0AOAANAEgADQBYAA0AaAANAHgADQAGXbSoDbgNAnG0yA/YDwJxsrgPAXK06Q/5DwJdtCgQOBACXbSIEJgQAl206BD4EAJxsrgQAXK0aRB5EAJdtMkQ2RACcVkAtEgMWAwCXbTIDNgMAnJBCQBpAAwAeQAMAIkADACZAAwABF20Kgw6DAJdQQ0AKAANADgADQBIAA0AWAANAGgADQB4AA0ABl20qA24DQJxtIkNmQ0CcbTnD/cPAl2ytw8BcrQmEDYQAl20xhDWEAJxQQkAZwAQAHcAEACHABAAlwAQAARdtOcQ9xACcbK3EAFyJQYVFBYzMjcXDgEjIiY1NDY3AQdMFhQSGBMPQSM4OzcwChY5EhkMPgwXMikpOhEAAQA8AkQBiALTABcBWbAKK1iwAC+yAAABXbAM3LJPDAFdsq8MAV20DwwfDAJdsnAMAXFZALAPL7JwDwFystAPAV2ycA8BcbKwDwFxsi8PAV2yzw8BcbIPDwFdso8PAXKykA8BcbLwDwFdtAAPEA8CcbKwDwFdslAPAXKyMA8BcrAI3LIPCAFxsk8IAXKybwgBXbKvCAFxsAPQsAMvtg8DHwMvAwNdspADAXGwC9CwCy9BCwBfAAsAbwALAH8ACwCPAAsAnwALAAVxsAMQsBTcsA8QsBfQsBcvsuAXAXIwMQGwCitYQQsACAABABgAAQAoAAEAOAABAEgAAQAFXbYFDRUNJQ0DXbQ2DUYNAl2yVw0BXbRoEXgRAl22GRYpFjkWA11ZAEENAAcAAQAXAAEAJwABADcAAQBHAAEAVwABAAZdtDgNSA0CXbYJDRkNKQ0DXbJZDQFdtGkReRECXbYWFiYWNhYDXRM+ATMyHgIzMjY3Fw4BIyIuAiMiBgc8HzUYFCUkIhIOHRAUHTEXFCYkJBIPIBECkiUcDhAODA9GIBgNEA0NEAACADwCOwGPArwABAAJAMiwCitYsAQvsAHcsg8BAV2ysAEBcbJQAQFxsAQQsAnctA8JHwkCXbLvCQFxso8JAV2wBtyyMAYBcbKQBgFdWQCwBC+yEAQBcbKwBAFxsvAEAXGykAQBcrIvBAFdsu8EAXKyDwQBXbJPBAFdsrAEAXKyEAQBcrLQBAFxsjAEAXGy8AQBXbLQBAFdsADctg8AHwAvAANdsi8AAXG2jwCfAK8AA12wBdCwBBCwCdAwMQGwCitYtAkAGQACXbSFA5UDAl20igWaBQJxWRMzFQcjNzMVByNfd0xO1X52UQK8EHGBEHH///7PAjb/iALQAAcAdv6TAAAAAAACAAwAAAI/AsEABQALATiwCitYsgQBAyuyXwEBcbL/AQFxss8BAXGyEAQBXbIQBAFxsgIBBBESObKIAgFdssgCAV2yWAIBXbL4AgFdsgMEARESObJXAwFdsscDAV2y9wMBXbABELAG0LJFBgFxtMYG1gYCcbLHBgFdtEkGWQYCXbIWBgFdQQkABgAGABYABgAmAAYANgAGAARxspUGAV2yVAYBcbAEELAH0LKIBwFdtMkH2QcCcUEJAAkABwAZAAcAKQAHADkABwAEcbKaBwFdslsHAXGySgcBcbTJB9kHAl2yGQcBXbK4BwFdtEYHVgcCXbIKBAEREjlZALAARViwAi8bsQIUPlmwAEVYsAAvG7EACD5ZsAbcsAIQsArQsnoKAXEwMQGwCitYsugIAV20CAgYCAJxsngIAXGyeQkBcVkAsncIAXEzNRMzExUlIQMnIwcM8U/z/l8BDnAXBRhHAnr9hkd0ASpkZQABADoAAALQAsoAMwJpsAorWLITCQMrsh8JAV2y/wkBXbIACQFdsAkQsADQsAAvtDATQBMCXbJwEwFdsgATAV2yUBMBcbATELAc0LAcL7ATELEkB/SwCRCxLAf0sh8kLBESObAfL7JPHwFdtA8fHx8CXbIxLCQREjmwMS+yQDEBXbQAMRAxAl1ZALAARViwDi8bsQ4UPlmwAEVYsDMvG7EzCD5ZsQAB9LIxDjMREjmwMS+0LzE/MQJdsi8xAXGyzzEBXbAD3LK/AwFdsBnQsAAQsBzQsDMQsB3QsDEQsB/QsA4QsSkD9DAxAbAKK1iySAIBcrSoBLgEAl20CAQYBAJxslgFAV2yyAUBXbSpBbkFAl22yAbYBugGA120SQZZBgJxsrcHAV202QvpCwJdsogMAV205hD2EAJxsoYRAV201hHmEQJdtsYW1hbmFgNdslcXAV22pxe3F8cXA120RxdXFwJxtKYYthgCXbQHGBcYAnGyiCEBXbKIIgFdsogmAV20qCa4JgJdtAomGiYCcbQIJxgnAl20CCcYJwJxtAkoGSgCcbQFKhUqAnG0ByoXKgJdsocvAV1ZALJGAgFytKkEuQQCXbQJBBkEAnGyWAUBXbapBbkFyQUDXbRJBVkFAnG2yAbYBugGA12ytwcBXbTXC+cLAl2yhwwBXbTnEPcQAnGyhxEBXbK3FQFdssgWAV202RbpFgJdslgXAV20qBe4FwJdsskXAV20SRdZFwJxtKkYuRgCXbQJGBkYAnGyhiIBXbKIJgFdtKgmuCYCXbQIJhgmAnG0CCcYJwJdtAgnGCcCcbQIKhgqAl20CCoYKgJxsocvAV03Mxc1Jy4DNTQ+AjMyHgIVFA4CDwEVNzMVITU+AzU0LgIjIgYVFB4CFxUhOmlVLh40JxYvV3pKTntULRgnMxsxVWr+1Bo3LR0ULEc0WWAcLDcb/tVuDRwJDi5CVTRJdVItL1R2SDRTQC0OChwNbssEGi1DLyVIOSJmZS1DLRkEywABABP/+gKWAfQAHQDZsAorWLIdEQMrsk8dAV2yLx0BcrIPHQFysi8dAV2y8B0BXbIQHQFxsB0QsAfcsnAHAV2wHRCxDgT0sn8RAXGywBEBXbIQEQFxsBEQsRAE9LARELAX3LIQFwFdsBbQsB0QsBzcWQCwAEVYsBsvG7EbED5ZsABFWLAQLxuxEAg+WbAARViwCi8bsQoIPlmxAwH0sBsQsRwB9LAO0LAS0LAbELAW3DAxAbAKK1i0qAu4CwJdtIkLmQsCXbIYGAFdWQBBCQCIAAsAmAALAKgACwC4AAsABF2yFxgBXSUUFjMyNjcXDgEjIiY1ESMRIxEjIgYHJz4BMyEVIwI2Eg4KGQkUFD8tOCqMgg4SGwxME0s1AeNTnBwWBAJaCRM8NAEc/noBhhQYMDM3bv//ADwAAAHgA1gCJgAoAAABBgLFFgAAWrAKK1iwDC+2XwxvDH8MA12y/wwBXbL/DAFxsg8MAXKy/wwBcrLfDAFxQQkArwAMAL8ADADPAAwA3wAMAARdtCAMMAwCXbIQDAFxsBjcsvAYAXGywBgBXTAxWQAAAAEAC//5Ar4CvAAlAVKwCitYuwAAAAYAAQAEK7ABELAD3LAAELAG3LAAELAI0LABELAQ3LKQEAFdshAQAV2ycBABXbIQEAFxslAQAXGyFgEQERI5sBYvsBAQsR0H9LLwJwFxWQCwAEVYsAQvG7EEFD5ZsABFWLAALxuxAAg+WbAARViwEy8bsRMIPlmwBBCxAwP0sAfQsgsEExESObALL7KQCwFdslALAV2wExCxGgL0sAsQsSID9DAxAbAKK1i01g3mDQJdtNUO5Q4CXbIlDgFxsvYOAV20Bg4WDgJxtNYR5hECXbIGEQFysvcRAV20BxEXEQJxsgYSAXG01xLnEgJdsnccAXGyeCABcVkAtNcN5w0CXbTWDuYOAl2y9w4BXbTYEegRAl20CBEYEQJxsggRAXKy+REBXbQIEhgSAl2y+BIBXbIIEgFxtNkS6RICXbIZEgFxsnUcAXGyeSABcSEjESM1IRUjFT4BMzIeAhUUBiMiJic1HgEzMjY1NC4CIyIGBwFhic0CIswQRDYnSzwlcn8cGwgHIREyNRIgLBoXMwsCQnp6jwYQFDNXQ3R7AgJ1AgE6OSIrGAgMBv//ADwAAAHTA2YCJgFMAAABBwLDAIAAAAAzsAorWLafCq8KvwoDcbIfCgFdtt8K7wr/CgNxsg8KAXK2jwqfCq8KA120MApACgJdMDFZAAAAAAEAJv/yAiUCygAkAjawCitYshIKAyu0QBJQEgJdssASAV2yDxIBcrTfEu8SAnGycBIBXbIAEgFdsuASAV2wEhCwANCwAC+ybwoBXbTfCu8KAnGyTwoBcrIPCgFyso8KAV2yLwoBcrJQCgFdsAoQsRsH9LASELAc0LAcL7AbELAe0LAeL7IvJgFdspAmAXGysCYBcVkAsABFWLAPLxuxDxQ+WbAARViwBS8bsQUIPlmwDxCxFgP0shwPBRESObAcL7JPHAFdtN8c7xwCXbKvHAFdsi8cAXGyXxwBcbEdAfSwBRCxIQP0MDEBsAorWLKICAFdsjgIAXGyiAwBXbIoDAFxstgMAXGyiAwBcrKZDAFytAgTGBMCcbRmGHYYAnGyFxgBXbQHGBcYAnG2NxhHGFcYA3GyFhkBXbQGGRYZAnGyZRoBcrKHGgFdtjcaRxpXGgNxslcaAXK2VR9lH3UfA3KyFh8BXbIHHwFdtKcftx8CXbSmILYgAl1BCQAmACAANgAgAEYAIABWACAABHFZALKICAFdsjkIAXGyhgwBcrKHDAFdsicMAXGy1wwBcbKXDAFyssgTAV2y2RMBXbQJExkTAnG06hP6EwJdshgYAV20CBgYGAJxsmgYAXG2ORhJGFkYA3GyehgBcbQIGRgZAl20CBkYGQJxsogaAV2yWRoBcrY6GkoaWhoDcbJqGgFyshYfAV2ydh8BcrSnH7cfAl1BCQAnACAANwAgAEcAIABXACAABHGytiQBXbaHJJckpyQDXSUOAyMiLgI1ND4CMzIWFwcuASMiDgIHIRUhHgEzMjY3AiUPLTM2GkF0VzQ6XXM6PFobGhdHLSM/MSMHARP+6gtnWC1GFh0LEQoFJ1eLY2eLVSUQC3cLDRUsQi1wWWsSDf//ABv/8gHzAsoCBgA2AAD//wBKAAAA0wK8AgYALAAAAAMAEwAAARYDWAALABcAGwE9sAorWLsAGgAGABsABCuyjxsBcbKQGwFdsiAbAV2wGxCwANCwAC+2HwAvAD8AA3JBCQAvAAAAPwAAAE8AAABfAAAABHG20ADgAPAAA12yAAABcbAG3LLABgFdslAGAXGy0AYBcbJgBgFysAAQsAzcQRMADwAMAB8ADAAvAAwAPwAMAE8ADABfAAwAbwAMAH8ADACPAAwACV20bwx/DAJxtt8M7wz/DANdsu8MAXGwEtyy0BIBcbLAEgFdslASAXGyYBIBcrKPGgFxsiAaAV2ykBoBXbQ/HE8cAl20DxwfHAJdshAdAXG0QB1QHQJxsnAdAV20oB2wHQJdssAdAXJZALAARViwGC8bsRgUPlmwAEVYsBsvG7EbCD5ZsBgQsAncsAPcsq8DAV2yLwMBXbIwAwFysA/QsAkQsBXQMDETNDYzMhYVFAYjIiY3NDYzMhYVFAYjIiYHMxEjEx8dHB8fHB0fjB8cHR8fHRwfUImJAxgfISEfHiAgHh8hIR8eICA+/UT////p//QBDAK8AgYALQAAAAL/8//2A5ACvAAvAEIB0LAKK1iyJi8DK7KfLwFxst8vAXGy/y8BXbK/LwFdso8vAV2yny8BcrJ/LwFxskAvAV2yAC8BXbAvELAa3LJPGgFdsQEE9LAaELAO3LIfDgFdsn8OAV2wLxCxQAb0sBzQspAmAV2yMCYBcbIQJgFxst8mAXGyjyYBXbKfJgFytAAmECYCXbJQJgFxsnAmAV22MCZAJlAmA12wJhCxNQf0si9EAV1ZALAARViwGi8bsRoUPlmwAEVYsAsvG7ELCD5ZsABFWLApLxuxKQg+WbAaELEBA/SwCxCxEgP0siEaKRESObAhL7KQIQFdslAhAV20ACEQIQJdtNAh4CECXbQAIRAhAnGwKRCxMAP0sCEQsToD9DAxAbAKK1i0Jgc2BwJdsnYHAXG0KRY5FgJdtCgXOBcCXbKYFwFdtGYjdiMCXbL1JAFdsgUkAXK0ZiR2JAJdtAYkFiQCcbIXJAFyssUnAV201ifmJwJdssYnAXG0RydXJwJxsmczAXGyeTgBcVkAtCgHOAcCXbJ4BwFxtCYWNhYCXbQnFzcXAl2ylxcBXbRmI3YjAl20ZyR3JAJdsvckAV20ByQXJAJxshckAXKyyCcBcbbJJ9kn6ScDXbJlMwFxASMOAwcOAyMiJic3HgEzMjY3PgM3IRU+AzMyHgIVFAYjIi4CJyM3Mj4CNTQuAiMiDgIHFR4BAaqVBAoRHBYOIyYlEBcfDw8GDAYQHwsPFhEKAgGdBRcbHAwxXEcqlYsMJCswFiXNHDImFRclMhsHFBQRBAslAkJfnH1gIxceEgcHB3YCAhATFlWEt3r7AQMCAhQzV0N4egECBANwCxssICIrGAgCAgMB0QMDAAIAPP/2A6sCvAAcAC8BUbAKK1iyCQQDK7LfCQFxspAJAV2yQAkBcrAJELEIBvSwANCy/wQBXbIfBAFxst8EAXGwBBCxBQb0sAHQsAkQsBTctKAUsBQCXbRAFFAUAl2yIBQBXbJwFAFdsjAUAXGyEBQBcrEiB/SwCRCwLNCyHzABXVkAsABFWLAFLxuxBRQ+WbAARViwAi8bsQIIPlmwAEVYsBcvG7EXCD5ZsgYFAhESObAGL7JPBgFdsgAGAXKxAQP0sAUQsAjQsg8FFxESObAPL7AXELEdA/SwDxCxJwP0MDEBsAorWLRnEXcRAl2y9RIBXbKlEgFytGYSdhICXbQHEhcSAl20BxIXEgJxtFUVZRUCcrbGFdYV5hUDXbLHFgFdsnglAXFZALRnEXcRAl20ZxJ3EgJdtAcSFxICcbKnEgFytsgV2BXoFQNdsmkVAXKyyBYBXbJmIAFxsnklAXEBIREjETMRIREzET4DMzIeAhUUBiMiLgInNzI+AjU0LgIjIg4CBxUeAQHF/wCJiQEAiQUXGxwMMVxHKpSMDjA3OhfNHzMkExQkMx4HFBQRBAslATH+zwK8/u8BEf72AQMCAhIwVEN4cwIDBQNtChkpHyAnFggCAgQBwQMDAAEACwAAAswCvAAZATOwCitYshEBAyuyMAEBXbJPAQFyso8BAV2yzwEBcrJvAQFxsjABAXKy8AEBcbABELEABvSwARCwA9ywABCwBtywABCwCNCywBEBcbIAEQFdsmARAV20MBFAEQJdsuARAV2y8BEBcbIwEQFysBEQsRIG9LIvGwFdsq8bAV2yUBsBcVkAsABFWLAELxuxBBQ+WbAARViwAC8bsQAIPlmwBBCxAwP0sAfQsgsEABESObALL7AAELAS0LALELEWAvQwMQGwCitYtCYNNg0CcbQHDRcNAl2ylw0BXbImDgFxtIYOlg4CcrQHDhcOAl2ylw4BXbRHDlcOAnGyeBQBcVkAsjYNAXG0Bw0XDQJdspcNAV2yJw0BcbKWDgFyspcOAV2yJw4BcbRHDlcOAnGyhw4BcrJ5FAFxISMRIzUhFSMVPgEzMh4CHQEjNTQmIyIGBwFhic0CIswZVzwqRjMciTA2JkIUAkJ6erEPGhYuSjT4zjw7ERH//wA8AAACYQNmAiYALgAAAQcCwwCaAAAAN7AKK1iyrxMBcbZfE28TfxMDXbJPEwFxQQ0ArwATAL8AEwDPABMA3wATAO8AEwD/ABMABl0wMVkAAAD////3//kCRgNqAiYBXAAAAQYCySwAACWwCitYtO8l/yUCcrbfJe8l/yUDXbS/Jc8lAnK0MCVAJQJdMDFZAAAAAAEAPP9RAkMCvAALAUewCitYsgYBAyuyIAEBcrI/AQFxsh8BAXKy/wEBcbQQASABAl2y0AEBXbJAAQFdsAEQsQIG9LJQBgFxtCAGMAYCcrTvBv8GAnGyHwYBcrJwBgFxskAGAV20EAYgBgJdsAYQsQUG9LILAQYREjmwCy+ynwsBXbAI3LQvCD8IAl2ywAgBcbIJCAsREjlBGQBHAAkAVwAJAGcACQB3AAkAhwAJAJcACQCnAAkAtwAJAMcACQDXAAkA5wAJAPcACQAMcbQHCRcJAnKyCgsIERI5ttcK5wr3CgNxQQkABwAKABcACgAnAAoANwAKAARysj8MAV2y0A0BcrL/DQFdsi8NAXGy8A0BcrKwDQFdsqANAXJZALAARViwAi8bsQIUPlmwAEVYsAsvG7ELCD5ZsQMD9LACELAF0LALELAI0LALELAK3LIfCgFxMDEzETMRMxEzESMHIyc8ifWJyA9YFAK8/b4CQv1Er6///wAAAAACXQLBAgYAJAAAAAIAPP/2Ah4CvAAWACcBYrAKK1iyDBYDK7KwDAFdsr8MAXGy3wwBcUENAAAADAAQAAwAIAAMADAADABAAAwAUAAMAAZdspAMAV2ycAwBXbAMELAB0LABL7LfFgFxsh8WAXGy/xYBXbYgFjAWQBYDXbIAFgFdsBYQsSUG9LAE0LAMELEcB/SyHygBXVkAsABFWLABLxuxARQ+WbAARViwES8bsREIPlmwARCxAgP0sgcBERESObAHL7ARELEXAvSwBxCxIQL0MDEBsAorWLL2CQFdtGcJdwkCXbRnCncKAl2y9woBXbQHChcKAnGyFwoBcrRFDlUOAnG0tQ7FDgJxtsYO1g7mDgNdstYOAXGypw4BcbK3DgFysqYPAXFZALL3CQFdtAYKFgoCcbIWCgFytGcKdwoCXbL3CgFdtsgO2A7oDgNdtEgOWA4Ccba4DsgO2A4DcbJIDgFysqkOAXGyuQ4BcrKpDwFxsmUaAXGyah4BcRMhFSEVPgEzMh4CFRQOAiMiLgInNzI+AjU0LgIjIgYHFR4BPAGv/toRMRg4XkMmJ0lnQBEzOTgW1RotIhQWJjEcDioICy0CvHqSAwYWM1M8O1g6HgIEBgVgDRsqHiQsGQgFAtUDAv//ADz/9gIpAsYCBgAlAAAAAQA8AAAB0wK8AAUAlrAKK1i7AAIABgADAAQrsvACAV2yAAIBcbQgAjACAnK0MAJAAgJdsgACAV20IAMwAwJysgADAV2y8AMBXbIAAwFxtDADQAMCXbADELAF3LJwBQFdsmAFAXGyEAUBcbJQBQFdssAFAXKyHwYBXbLgBwFdWQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbAFELEAA/QwMQEhESMRIQHT/vKJAZcCQv2+ArwAAgAA/4MCogK8AA8AFQGusAorWLIODAMrspAOAV2yUA4BcbKPDgFxst8OAXGyDw4BcbLPDgFdsuAOAV2ycA4BXbKgDgFysA4QsA/QsA8vsAHcsh8BAXFBCwAgAAEAMAABAEAAAQBQAAEAYAABAAVdsrABAXGyjwwBcbLPDAFdst8MAXGyoAwBcrAMELAG0LAGL7JgBgFdsATcsr8EAXFBCwAvAAQAPwAEAE8ABABfAAQAbwAEAAVdshAEAXGwDhCxEAb0sAwQsBLcsi8SAXKyLxIBXbKvEgFdslAXAV204BfwFwJdspAXAXJZALAARViwDC8bsQwUPlmwAEVYsAMvG7EDCD5ZsATcsiAEAV2yoAQBXbAB0LADELEVA/SwB9CwFRCwDtCwDBCxEgP0MDEBsAorWLJ1EwFxtLUTxRMCcbRGE1YTAnGy1hMBcbJHEwFdtGcTdxMCXbLUFAFxsvUUAV20RRRVFAJxtGYUdhQCXbTWFOYUAl20BhQWFAJxsmYUAXG0thTGFAJxskcUAV2ylxQBXbL2FQFdtAYVFhUCcVkAtLgTyBMCcbJIFAFdtGgUeBQCXbZIFFgUaBQDcQUjJyEHIzUzPgMnIREzIxEjDgEHAqJhD/4+D2FKByAgFgEBo1nimwYtF319ffcLTIvRj/2+Aciy4zP//wA8AAAB4AK8AgYAKAAAAAH/+QAAA00CvAAZAgWwCitYuwANAAQADgAEK7JgDQFysh8NAXKycA0BXbIQDQFdsA0QsALQsA0QsArcskAKAV2wBNC0egSKBAJdQQ0AqgAEALoABADKAAQA2gAEAOoABAD6AAQABl20CgQaBAJxtFkEaQQCXbKZBAFdsAXctIAFkAUCXbRjBXMFAnG04AXwBQJdtAAFEAUCcbJQBQFxshAFAV2yBwUCERI5spYHAV2wChCwCdy2cAmACZAJA12yEAkBXbbQCeAJ8AkDXbQACRAJAnGycA4BXbIfDgFysmAOAXKyEA4BXbAOELAR3LJPEQFdsBLctt8S7xL/EgNdtA8SHxICcbZ/Eo8SnxIDXbIfEgFdsBEQsBfQtCoXOhcCcUELALUAFwDFABcA1QAXAOUAFwD1ABcABV20BRcVFwJxsBbcsh8WAV223xbvFv8WA120DxYfFgJxtn8WjxafFgNdtE8WXxYCcbRsFnwWAnGwDhCwGdCyFBYZERI5si8bAV2yEBsBcVkAsABFWLABLxuxARQ+WbAARViwDS8bsQ0IPlmyDAENERI5sAwvspAMAV2wAtC0SgJaAgJdsAEQsATQsgcCDBESObANELAK0LIZAQ0REjmwGS+yTxkBXbAP0LRFD1UPAl2wDRCwEdCyFBkPERI5sAEQsBfQMDEBsAorWLJZCwFdWQCyaAMBXbJnEAFdATMRNxMzAwcXEyMDIxEjEQcDIxM3JwMzEzMBXoIjkZqjLzm4paEngiShoLc2NKufkScCvP7JDgEp/s0iKv7DATD+0AE8Dv7SATMnJQE9/tUAAQAS//IB6wLIADkCbbAKK1iyGyoDK7KgKgFxso8qAV2y3yoBXbIfKgFxsg8qAXKyXyoBcbL/KgFdsr8qAV2yACoBcbJAKgFxsiAqAXGyABsBcbJAGwFxsoAbAXGywBsBcbKQGwFysr8bAV2y3xsBXbIwGwFysqAbAXGyYBsBcbIgGwFxsuAbAV2yEBsBXbIAKhsREjmwAC+wGxCxCgf0sCoQsBHQsBEvsh4bABESObKWHgFdsBsQsCLQsCIvsTMH9LJgOwFyWQCwAEVYsBYvG7EWFD5ZsABFWLAnLxuxJwg+WbIBFicREjmwAS+yLwEBcbJPAQFdsl8BAXGxAAH0sBYQsQ0D9LIeAAEREjmwJxCxLgP0MDEBsAorWLKWCwFdtAcYFxgCXbTkGfQZAnG2RRlVGWUZA3GylhkBXbQmGTYZAnGylh0BcrLnHQFdtjcdRx1XHQNxsuceAV2yliABcbanILcgxyADcbYXICcgNyADcrKVIQFxttYk5iT2JANdsmckAXG2Zyt3K4crA12ymCsBXbKHMAFxspk1AXG0uTXJNQJxWQC2RwhXCGcIA3GylwsBXbKWDAFdQQkAWAAQAGgAEAB4ABAAiAAQAARdspkQAV2yKRABcrQHGBcYAl2ylhkBXbImGQFxQQkANwAZAEcAGQBXABkAZwAZAARxtOcZ9xkCcbKZHQFdsukdAV2ymR0BcrY6HUodWh0DcbLpHgFdtjYgRiBWIANxspYgAXG0tiDGIAJxthYgJiA2IANysqcgAXGy+CQBXbTZJOkkAl2yaiQBcbSGK5YrAl20Zyt3KwJdsocwAXGyZTEBcbS6Nco1AnGynDUBcRM1MzoBPgE3PgE1NCYjIgYHJz4DMzIeAhUUBgcVHgEVFA4CIyImJzceATMyPgI1NCYnJiIjeBgJGhsaCCMyPTItThQjCyk1PiAsVEIoNz1BSS5LYjNCbB0jF1Y7Fi0kFkZaDAwPATZrAQMCCCkjMCMYC3QGDg0IEChDNDRYFAUNVkg5UTQZFg93CxcLGSgcLzACAQABADwAAAJdArwADwIKsAorWLIOBgMrsk8GAXKy3wYBcbL/BgFdsg8GAXGyHwYBcrIABgFysiAGAV2wBhCxBwb0sATQstQEAXG2RARUBGQEA3G0tQTFBAJxsoYEAV2yNwQBXbI2BAFxtAUEFQQCcbJEBAFytFMEYwQCcrJzBAFxsiAOAV2ycA4BXbLgDgFdsgAOAXKy7w4BcbIQDgFxsmAOAXKyUA4BXbKQDgFdssAOAXKwDhCxDwb0sAzQsokMAV22ugzKDNoMA3GySwwBcrRcDGwMAnKyfAwBcbZLDFsMawwDcbQJDBkMAl2yOQwBXbK4DAFdsk8QAV2yHxABXbLAEQFxsnARAV2ywBEBXbLwEQFxsqARAV1ZALAARViwBy8bsQcUPlmwAEVYsA8vG7EPCD5ZsAcQsAzQsgEMDxESObAPELAE0LIJBAcREjm0BAkUCQJdsoQJAV2ykwkBXTAxAbAKK1iyZQMBcbQGAxYDAnGy9wMBXbKnAwFytAgLGAsCXbKYCwFdsvgLAV2yqAsBcbTZC+kLAl2yGQsBcbJ5CwFxtrkLyQvZCwNxtFkLaQsCcrIKCwFxtLsLywsCclkAsvgDAV20CAMYAwJxsqgDAXKyagMBcbQFCxULAl2ydQsBcbS1C8ULAnKy9gsBXbS2C8YLAnGylwsBXbTXC+cLAl2yFwsBcbKnCwFxstcLAXG0VwtnCwJyATcjBwEjETMRBzM3ATMRIwHUCAUv/vtniQoGMQEFZokBhFte/n8CvP6DXmEBev1E//8APAAAAl0DagImAVEAAAEGAslZAAApsAorWLIAHgFyst8eAXGy/x4BXbIAHgFdtIAekB4CXbQgHjAeAl0wMVkAAAD//wA8AAACYQK8AgYALgAAAAH/8//5AjMCvAAdAQmwCitYshwaAyuyHxoBcrKvGgFxshAaAV2wGhCxAQT0sBoQsA7csh8OAV2yfw4BXbIQHAFdshAcAXGyHxwBcrKvHAFxsuAcAV2yQBwBcrJgHAFxsBwQsR0G9LI/HwFdsj8fAXFZALAARViwGi8bsRoUPlmwAEVYsB0vG7EdCD5ZsABFWLALLxuxCwg+WbAaELEBA/SwCxCxEgP0MDEBsAorWLJHBAFdsnYHAXG0Jgg2CAJdtCgVOBUCXbQoFjgWAl20iBeYFwJdtNgX6BcCXbQpFzkXAl1ZALJIBAFdsngHAXG0KQg5CAJdtCYVNhUCXbQnFjcWAl20JRc1FwJdspYXAV201xfnFwJdASMOAwcOAyMiJic3HgEzMjY3PgM3IREjAaqVBAoRHBYOIyYlEBcfDw8GDAYQHwsPFhEKAgGdiQJCX5x9YCMXHhIHBwd2AgIQExZVhLd6/UT//wA8AAAC5AK8AgYAMAAA//8APAAAAk4CvAIGACsAAP//ACb/8gJ4AsoCBgAyAAAAAQA8AAACQwK8AAcAs7AKK1iyBgMDK7IgAwFysj8DAXGyHwMBcrL/AwFxtBADIAMCXbLQAwFdskADAV2wAxCxAgb0slAGAXG0IAYwBgJytO8G/wYCcbIfBgFysnAGAXGyQAYBXbQQBiAGAl2wBhCxBwb0sj8IAV2ywAkBcbL/CQFdsi8JAXGy0AkBcrKwCQFdsqAJAXJZALAARViwBC8bsQQUPlmwAEVYsAIvG7ECCD5ZsAQQsQED9LACELAH0DAxASMRIxEhESMBuvWJAgeJAkL9vgK8/UT//wA8AAACIwLGAgYAMwAA//8AJv/yAhYCygIGACYAAP//AAsAAAItArwCBgA3AAAAAf/3//kCRgK8ABYCNbAKK1iyBRUDK7JPFQFysp8VAXKy3xUBcrK/FQFysm8VAXKy/xUBcbKPFQFxsrAFAV20AAUQBQJxsnAFAXGyMAUBcrIGBQFdsr8FAXK0KQU5BQJdskEFAV2ywAUBcbJQBQFxsuAFAV20gAWQBQJdshAFAV2yARUFERI5shcBAV2wBRCxBAf0slcEAV2yDhUFERI5sA4vsBUQsBbctGAWcBYCcrIQFgFdttAW4BbwFgNdtAAWEBYCcbSDFpMWAl20hBaUFgJyskQWAXJBCwAwABYAQAAWAFAAFgBgABYAcAAWAAVxsnAWAV1BCQAAABYAEAAWACAAFgAwABYABHKywBYBckEJAKAAFgCwABYAwAAWANAAFgAEcbIvGAFdWQCwAEVYsBYvG7EWFD5ZsABFWLALLxuxCwg+WbIBCxYREjmwFhCwBNCwCxCxEgP0MDEBsAorWLIFAAFxshcAAV2y9wABXbIJAwFxshcGAV22VghmCHYIA12yFwgBXbL3CAFdshYJAV20Zgl2CQJdsgcJAV20Jwk3CQJdslcJAV20hwmXCQJytOcJ9wkCcrJXCgFdspcTAV2ylxQBXbIoFAFdsjkUAXFZALL3AAFdtGgAeAACXbIYCAFdsvgIAV20aQh5CAJdsloIAV2yCAkBXbJICQFdthkJKQk5CQNdtlkJaQl5CQNdtOoJ+gkCcrSLCZsJAnKyWQoBXbbVD+UP9Q8DcrTnD/cPAnGyBw8BcrKZEwFdsigUAV0BFzM3EzMDDgMjIiYnNx4BMzI3ATMBJhQGEGmNuhYpLzonISkYIxEcEC8T/vqhAYdbXgEy/hw5VDcbCQ9vCQRKAf8AAwAa/+wDCQLQACUANABBArewCitYshsIAyuyAAgBcbI/CAFdss8IAV2yrwgBcbLvCAFxss8IAXKyzwgBcbIfCAFxtI8InwgCXbJgCAFdsuAIAV20oAiwCAJdspAbAV204BvwGwJdsgAbAXG0UBtgGwJxsgAbAXKykBsBcrKQGwFxsjAbAXGysBsBXbJQGwFdshAbAV2yJQgbERI5sCUvsuAlAXGwENCwJRCxJAX0sBPQsCQQsCrQsBsQsTIG9LAlELA40LAIELE/BvSyD0MBXbJPQwFdsk9DAXFZALAlL7AARViwES8bsREUPlmyAyURERI5sAMvsi8DAXGyDRElERI5sA0vsBbQsBYvsAMQsCDQsCAvsBYQsSYB9LAgELEtAfSwAxCxNQH0sA0QsTwB9DAxAbAKK1iySAUBXbRIBVgFAnG0OAVIBQJyslkFAV2yyQUBXbJIBgFdtskG2QbpBgNdskgKAV2yOAsBcbJJCwFdsskLAV2yxRgBXbRGGFYYAl201hjmGAJdtEYYVhgCcbLEGQFdskYZAV2yRhkBcrJGHQFdsscdAV2yRh4BXbI2HgFxslceAV2yxx4BXbIILwFyssovAXGyOy8BcbI4MAFxsikwAXGyKTMBcbI7MwFxsvo0AXGy9j0BcbIGPQFysuc9AXGyNj4BcbInPgFxtCZANkACcVkAslgFAV2ySQUBXbRJBVkFAnG0OQVJBQJyssoFAV2ySAYBXbTYBugGAl2yyQYBXbJHCgFdsncKAXKyNgsBcbJHCwFdsscLAV20RxhXGAJdsscYAV20RxhXGAJxskcZAV2yxxkBXbJHGQFyskkdAV2yyR0BXbLIHgFdtEkeWR4CXbI5HgFxsjUvAXGyBi8BcrQnMDcwAnG0KTM5MwJxsvk0AXG06T35PQJxsgs9AXKyKT4BcbI6PgFxsiZAAXGyN0ABcSUOASMiLgI1ND4CMzIWFzUzFT4BMzIeAgcWDgIjIiYnFSMTDgEHERYyFz4DJzYmATI2NxEuASMiBhUUFgFOEygXMFI9IyNBWjcNJgyGEzEPMVI9IgEBJkJXMhAlD4a5CiIMCRkLHDAkFAEBQP7fCCELChoLN0pETAMCIUVpSERrSygCA1VYBQMjR2lFR2xJJQMEYgImAQID/qwCAQEULEIvUFr+pQEEAVMCAVVdUVj//wAKAAACbgK8AgYAOwAAAAEAPP+DApkCvAALALewCitYsgkEAyuyEAkBXbIfCQFyst8JAV20MAlACQJdsiAJAXKwCRCwC9CwCy+wAdyyHwEBcUELACAAAQAwAAEAQAABAFAAAQBgAAEABV2ysAEBcbIgBAFysj8EAXKyHwQBcrIQBAFdtDAEQAQCXbAEELEFBvSwCRCxCAb0WQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbAB3LKgAQFdsiABAV2wAhCxCgP0sAfQsAUQsAjQMDEFIychETMRMxEzETMCmWEP/hOJ8YlafX0CvP2+AkL9vgABAC4AAAIiArwAFQC0sAorWLIJFQMrss8VAXGyUBUBXbIwFQFdsBUQsQAG9LJQCQFdsuAJAV2yAAkBcbSACZAJAl2yMAkBXbJgCQFysAkQsQgG9LAM0LIPFwFdWQCwAEVYsAAvG7EAFD5ZsABFWLALLxuxCwg+WbIPAAsREjmwDy+xBAL0sAAQsAjQMDEBsAorWLI5EQFxtIgSmBICcrY5EkkSWRIDcVkAsjkRAXGyOBIBcbRJElkSAnG0ihKaEgJyExUUFjMyNjcRMxEjEQ4BIyIuAjURty82JkMUiYkaVzwqRTMcArzePDsREQEz/UQBGg8ZFS9JNAEJAAEAPAAAAyECvAALAQ2wCitYsgYBAyuyEAEBcbIAAQFdsiABAXKyQAEBXbIgAQFdsAEQsQIG9LIgBgFdsmAGAV2yEAYBcbIgBgFyso8GAXGy7wYBcbKvBgFxsq8GAV2yYAYBcbKQBgFdskAGAV2yAAYBXbJgBgFysAYQsQUG9LAK3LKQCgFdsu8KAXGyrwoBXbKPCgFxsq8KAXGyYAoBXbJgCgFxsmAKAXKxCQb0sh8MAV2ywA0BcbJgDQFdso8NAXGyLw0BcbKvDQFxsq8NAV20gA2QDQJdsqANAXKyYA0BcbLADQFyWQCwAEVYsAIvG7ECFD5ZsABFWLAALxuxAAg+WbEDA/SwAhCwBdCwAxCwB9CwBRCwCdAwMTMRMxEzETMRMxEzETyJpYmliQK8/b4CQv2+AkL9RAABADz/gwN9ArwADwEYsAorWLIGAQMrtgABEAEgAQNdsiABAXKyQAEBXbABELECBvSyQAYBXbKQBgFdsiAGAXKyjwYBcbLvBgFxsq8GAXGyrwYBXbJgBgFxsmAGAV22AAYQBiAGA12yYAYBcrAGELEFBvSwCtyykAoBXbKvCgFxsu8KAXGyrwoBXbKPCgFxsmAKAV2yYAoBcbJgCgFysQkG9LAKELAM0LAML7AO3LIfDgFxQQsAIAAOADAADgBAAA4AUAAOAGAADgAFXbKwDgFxsk8RAXGyrxEBXbJgEQFdssARAXFZALAARViwAi8bsQIUPlmwAEVYsA8vG7EPCD5ZsQsD9LAI0LAE0LACELAF0LAJ0LAPELAO3LKgDgFdsiAOAV0wMTMRMxEzETMRMxEzETMVIyc8iaWJpYlcYA8CvP2+AkL9vgJC/b73fQAC//z/9gKBArwAFgApAWOwCitYsg4WAyuyfxYBXbI/FgFxsl8WAXGyHxYBXbIAFgFdsBYQsAHQsAEvsBYQsScG9LAE0LIQDgFxsrAOAV2yUA4BXbIADgFdspAOAV2y8A4BXbJwDgFxspAOAXGwDhCxHAf0spArAXFZALAARViwAi8bsQIUPlmwAEVYsBEvG7ERCD5ZsAIQsQED9LIJAhEREjmwCS+0AAkQCQJdspAJAV200AngCQJdslAJAV20AAkQCQJxspAJAXGwERCxFwP0sAkQsSED9DAxAbAKK1i0Zwt3CwJdsgQMAXKy9gwBXbIWDAFytGcMdwwCXbQHDBcMAnGyxg8BXbTXD+cPAl20Rw9XDwJxtLcPxw8CcbKnGgFxsmgaAXGyeB8BcVkAtGcLdwsCXbRnDHcMAl2y9wwBXbQHDBcMAnGyFwwBcrbID9gP6A8DXbRID1gPAnG0uA/IDwJxsmUaAXGypRoBcbJ6HwFxEyM1IRU+AzMyHgIVFAYjIi4CJzcyPgI1NC4CIyIOAgcVHgGbnwEoBRcbHQwxW0cqlIwOMDc5GM0cMiYVFyUyGwcUFBEECyUCQnr7AQMCAhQzV0N4egEEBgZpCxssICIrGAgCAgMB0QMDAAMAPP/2AuECvAADABYAJQHLsAorWLIOBAMrsiAEAXKyHwQBcrYgBDAEQAQDXbIABAFdsAQQsAPQsAMvspADAV2yvwMBcbI/AwFdsvADAV2ycAMBXbJQAwFdsQIG9LAEELEFBvRBDQAAAA4AEAAOACAADgAwAA4AQAAOAFAADgAGXbIfDgFysnAOAV2yIA4BcrAOELEaB/SwBRCwItC0wCfQJwJdsmAnAXK0PydPJwJxssAnAXGyECcBXbJwJwFxtHAngCcCXVkAsABFWLAFLxuxBRQ+WbAARViwAy8bsQMIPlmwAEVYsBEvG7ERCD5ZsAUQsADQsgkFERESObAJL7QACRAJAl2ykAkBXbTQCeAJAl2yUAkBXbQACRAJAnGykAkBcbARELEXA/SwCRCxHwP0MDEBsAorWLRnC3cLAl2yJQwBcrRmDHYMAl2y9gwBXbQGDBYMAnGyFgwBcrLUDwFytsYP1g/mDwNdtEcPVw8CcbRoHHgcAnG0uBzIHAJxWQC0Zwt3CwJdtGcMdwwCXbL3DAFdtAcMFwwCcbInDAFyshgMAXKyyA8BXbRID1gPAnG02Q/pDwJdstoPAXK2RRlVGWUZA3GypRkBcbJpHAFxsnocAXG0uhzKHAJxATMRIwEzFT4BMzIeAhUUBiMiLgInNzI2NTQuAiMiBgcVHgECWImJ/eSJCzAXMltEKI6MDiwzNhfEOUcUIi4bDiYICx8CvP1EArz7AgYUM1dCenkBBAYGaTU+ISoYCQUD0QMDAAIAPP/2AiICvAAUACcBebAKK1iyDBQDK7IgFAFysh8UAXGy/xQBXbI/FAFxsgAUAV22IBQwFEAUA12wFBCxJQb0sALQQQ0AAAAMABAADAAgAAwAMAAMAEAADABQAAwABl2ykAwBXbJQDAFxsnAMAXGysAwBXbJwDAFdspAMAXGyIAwBcrAMELEaB/SyHygBXVkAsABFWLABLxuxARQ+WbAARViwDy8bsQ8IPlmyBwEPERI5sAcvslAHAV200AfgBwJdtAAHEAcCcbKQBwFdtAAHEAcCXbKQBwFxsA8QsRUD9LAHELEfA/QwMQGwCitYtGcJdwkCXbIVCgFysvYKAV20BgoWCgJxsgYKAXK0Zwp3CgJdssYNAV20tg3GDQJxtNcN5w0CXbRHDVcNAnGypxgBcbJoGAFxsngcAXFZALRnCXcJAl2yFgoBcrRnCncKAl2y9woBXbQHChcKAnGyBwoBcrbIDdgN6A0DXbRIDVgNAnG0uA3IDQJxsqUYAXGyZhgBcbJ6HAFxEzMVPgMzMh4CFRQGIyIuAic3Mj4CNTQuAiMiDgIHFR4BPIkFFxscDDFcRyqViw4vODkYzRwyJhUXJTIbBxQUEQQLJQK8+wEDAgIUM1dDeHoBBAYGaQsbLCAiKxgIAgIDAdEDAwABABT/8gIYAsoAJAHQsAorWLISGgMrsrASAV2y8BIBcbJQEgFysu8SAXKynxIBcbIPEgFysjASAXKysBIBcbJAEgFdsgASAV2wEhCxAQb0tm8afxqPGgNdsu8aAV20DxofGgJysp8aAXGyzxoBXbLvGgFysrAaAV2wGhCwCtCwCi+wARCwI9CyJBoSERI5sCQvsi8mAV1ZALAARViwDS8bsQ0UPlmwAEVYsBcvG7EXCD5ZsgANFxESObAAL7RvAH8AAl22DwAfAC8AA3G03wDvAAJdsk8AAV2yXwABcbANELEGA/SwFxCxHgP0sAAQsSQB9DAxAbAKK1iyGAMBXbIWCQFysogJAV20KAk4CQJytEYPVg8CcbKHDwFdsqcPAXGyhxABXbKHFAFdsjcUAXG05xT3FAJxstYbAXKyhxsBXbL3GwFysrgbAXKy6BsBcrIYIQFdWQCyGAMBXbIYBAFdtAkIGQgCcbL4CQFdtlkJaQl5CQNdtAkJGQkCcbIJCQFytIoJmgkCXbYaCSoJOgkDcrRGD1YPAnGypg8BcbKHDwFdsocQAV2yiBQBXbI4FAFxtOgU+BQCcbLFGwFytOUb9RsCcrKWGwFdstYbAXKyhxsBXbK3GwFyshchAV0TIS4DIyIGByc+ATMyHgIVFA4CIyImJzceATMyPgI3IYIBDQMbLkQrNlAZHSNqNEV1VTA4XnpCOV0cJBdOMydCMyAE/vIBmihDMBsXDnQSGSZXi2RojFQkFA13CxMWL0gzAAIAPP/yA1sCygAWACYCZ7AKK1iyCREDK7IfEQFxso8RAXGyABEBXbLQEQFysBEQsBTQsBQvsv8UAV2ysBQBcbETBvSwANCwERCwAdCyMAkBXbQACRAJAl2yjwkBcbJgCQFystAJAXK2YAlwCYAJA120MAlACQJysBEQsRcG9LAJELEfB/SyHycBXbJwKAFxsjAoAV1ZALAARViwFi8bsRYUPlmwAEVYsAQvG7EEFD5ZsABFWLATLxuxEwg+WbAARViwDC8bsQwIPlmyABYTERI5sAAvsl8AAXG0vwDPAAJxsi8AAXGyTwABXbESA/SwDBCxHAP0sAQQsSQD9DAxAbAKK1iySAIBXbKYAgFdsvgCAV20CAIYAgJxskgDAV20qAO4AwJdsvgDAV2ymQMBXbKVBgFyspYGAV2y9gYBXbKGBgFysscGAXGylQsBcrKXCwFdsvcLAV2yxwsBcbLFGQFdsjYZAXGylhkBcbS3GccZAnGyxBoBcbJ1GgFxspUaAXGyZhoBcbSmGrYaAnG0uB3IHQJxtGkdeR0CcbKXHgFdsskhAV2yaCIBcbJ5IgFxsqkiAXGydSUBcbJmJQFxsqYlAXGylyUBcbLHJgFdWQC0BwIXAgJxtKYDtgMCXbJHAwFdspcDAV2yxgYBcbL3BgFdspcGAXKymAsBXbL4CwFdsskLAXGymQsBcrKKCwFysvkOAV2ylxkBcbS3GccZAnGyxBoBcbJmGgFxtpYaphq2GgNxsncaAXGydh0BcbKmHQFxtLcdxx0CcbKYHgFdsskhAV2yeSIBcbJqIgFxsqoiAXGyeCUBcbKpJQFxspolAXGyyCYBXRMzPgEzMh4CFRQGIyIuAicjESMRMxMUHgIzMjY1NC4CIyIGxV0NjoBMbEUhkI5CZUYoBl2JiekPITcoSUUNIDcqSEcBn4+cNGCGUq+9LFByRf7bArz+ojVZQCRygDNYQiV1AAIABQAAAgcCxgAWACUCDLAKK1iyAAwDK7IwAAFxsgAAAV2yUAABcbJQAAFdsiAAAV2wABCxAQb0sgAMAV2ybwwBcrQPDB8MAnGyMAwBcbIgDAFdsAwQsAXQsAUvsh8FAV20RwVXBQJdsncFAV2wBNC20QThBPEEA3KyAQQBcbJBBAFysmIEAXGykgQBXbTjBPMEAl2ygwQBXbSUBKQEAnG0hASUBAJysgUEAXKyBQQBXbLVBAFdsiYEAXGyxgQBXbJ2BAFysmYEAV2y9gQBcbJ1BAFdsjUEAXGyhQQBcbIUBAFdshQEAXK2owSzBMMEA3K0QwRTBAJxtLIEwgQCcbQiBDIEAnKycQQBcbLRBAFxshAEAXG0UARgBAJysAEQsCLQsgcMIhESObIZBwFdsAwQsRwH9LLgJwFxsrAnAV2y0CcBXVkAsABFWLARLxuxERQ+WbAARViwAS8bsQEIPlmyAhEBERI5sAIvsAEQsATQsAIQsAfQsBEQsRcD9LACELAi3EEJAA8AIgAfACIALwAiAD8AIgAEcbRvIn8iAl0wMQGwCitYspQDAV2y9AMBXbIUAwFxsoUDAV2yBQMBcbLmAwFdsggIAXGyGQkBcbKICgFdttgO6A74DgNdtCcZNxkCcrKnGgFxsmYfAXFZALIKCAFxtAoJGgkCcbKICgFdstcOAV2y9w4BXbQqGToZAnKyqRoBcbJmHwFxISMRBwMjPwEuAzU0PgIzMh4CFwciDgIVFB4COwE1LgECB4lIkp+QPCA4KhgsTmw/ESwvLRK8GzAkFRQkMBwzCxcBFRP+/ukrCCE0Ry0/VjUXAgQGBWkKGCohHysbDNkCA///ABf/+AHHAf4CBgBEAAAAAgAh//IB+ALXAB8AKwLHsAorWLIGDAMrsn8MAXKyfwwBXbJfDAFysl8MAV2ynwwBcrLgDAFdsAwQsSAF9LIADCAREjmyEAYBXbJgBgFdssAGAV2ygAYBXbIwBgFdsuAGAV2yAAYBcbIWDAYREjmwFi+wBhCxJgX0suAtAXGyry0BXbIQLQFysqAtAXGywC0BcVkAsBYvsABFWLAJLxuxCQg+WbJfFgFdsq8WAV2yAxYJERI5sAMvsBYQsBPQsBMvsBYQsRcC9LATELEaAvSyHwMJERI5sAkQsSMB9LADELEpAfQwMQGwCitYtCQENAQCcbTlBPUEAl2yhgQBXbQGBBYEAnGydwQBXbJ2BQFdtOYF9gUCXbQGBRYFAnGyhwUBXbLXBwFdtNcH5wcCcbLZCgFdsmcLAV2yyAsBcbJJCwFxspcOAV20aA94DwJxskgQAV20qBC4EAJdshgQAXGyZhgBXbJXGAFdtncYhxiXGANdsscYAV2yhCEBcrJVIQFxsoUhAXGyRiEBcbSXIachAnGypSIBcbSmIrYiAl2yViIBcbKXIgFxsrkkAV2yqCUBXbJYJQFxspglAXGyqSUBcbLIJwFxsrknAXGyVisBcbSXK6crAnFZALTlBPUEAl2ydgQBXbQGBBYEAnGyhwQBXbQnBDcEAnGyhgUBXbJ3BQFdtOcF9wUCXbIHBQFxtNgH6AcCcbLZCAFdstgKAV2yOAoBcrRXC2cLAl2yyQsBcbKZDgFdsscPAV20NxBHEAJdtqcQtxDHEANdshcQAXG0ZxB3EAJxtGgYeBgCXUEJAJgAGACoABgAuAAYAMgAGAAEXbJZGAFdsokYAV2yViEBcbSGIZYhAnGyhiEBcrKnIQFxsqYiAV2ypiIBcbK3IgFdslciAXGylyIBcbK3JAFdsqYlAV20liWmJQJxslclAXG0uCfIJwJxslkrAXGyqSsBcbKaKwFxEz4BMzIWFRQGIyImNTQ+BDc+ATcXDgEHDgMHFxQWMzI2NTQmIyIGjh1POFtrem90ehQlMz9IKDRKEgUUSj8mOioZBhwyNDYvLDM3NQGWLCdvdYeMmqNWelQyHQwEBQ8RdBENBQIOJEE1okBUTEhBRkgAAwA5//gB1gH8ABMAHgApAs2wCitYsgYTAyuyUAYBcbIQBgFdsg8GAXGy7wYBcbJvBgFysk8GAXKyLwYBcbKvBgFdsnAGAXGyUAYBXbIwBgFdsk8TAXKyLxMBcbIPEwFxsm8TAXKyHxMBcrYQEyATMBMDXbATELEUBPSwKdCyCQYpERI5sAYQsA3QsA0vthANIA0wDQNxsRoE9LAGELEiBPSyTyoBXbIgKwFyssArAV1ZALAARViwAy8bsQMQPlmwAEVYsBAvG7EQCD5ZsikDEBESObApL7RvKX8pAnG0zynfKQJdtI8pnykCXbAe3LIgHgFyQQkAYAAeAHAAHgCAAB4AkAAeAARdtkAeUB5gHgNxsgkpHhESObAQELAX3LRPF18XAl2yLxcBcrbPF98X7xcDXUEJAF8AFwBvABcAfwAXAI8AFwAEcbADELAl3LbAJdAl4CUDXbRAJVAlAl2yICUBckEJAFAAJQBgACUAcAAlAIAAJQAEcTAxAbAKK1i0BgQWBAJdssYEAV20JwQ3BAJdtKcEtwQCXbLEBQFdtKUFtQUCXbLVBQFdtAUFFQUCcbLlBQFxQQ0ApQAFALUABQDFAAUA1QAFAOUABQD1AAUABnK0BgUWBQJdtOYF9gUCXbTGBdYFAnGy9gUBcbQnBTcFAl20BgcWBwJxtOYH9gcCcrRGC1YLAnG0BgsWCwJytGYLdgsCcraWC6YLtgsDcrLnCwFxsocLAXK0ZQ51DgJxssYOAV20Bw4XDgJdtKcOtw4CXbQnDjcOAnJZALQGBBYEAl22pgS2BMYEA120JwQ3BAJdtKYFtgUCXbLWBQFdtMYF1gUCcbQnBTcFAl2yxwUBXbTnBfcFAl20BwUXBQJxtAgHGAcCcbQFCxULAnK0pQu1CwJytEYLVgsCcbLmCwFxtIYLlgsCcrRnC3cLAnK0KA44DgJytAkOGQ4CXbapDrkOyQ4DXbRpDnkOAnETPgEzMhYVFAYHFR4BFRQGIyImJzceATMyNjU0JisBNzI2NTQmIyIGBxU5I2M5bl0oKzYwc38qXiN/DhgSNi4nMkNFICkjLhcbCwHzAwY/PyNCDwQMPTBLSgUEYwICHh8aIVAfGBobAgFpAAEAOQAAAXwB9AAFAI2wCitYuwACAAUAAwAEK7I/AgFxsv8CAV2yPwIBcrQAAhACAl2yQAIBXbL/AwFdsj8DAXKyPwMBcbQAAxADAl2yQAMBXbADELAF3LJQBQFxsnAFAXKy8AUBXbJQBQFdsi8HAV2ysAcBXVkAsABFWLAFLxuxBRA+WbAARViwAi8bsQIIPlmwBRCxAAL0MDEBIxEjESEBfL2GAUMBgf5/AfQAAv/+/44CKgH0AA8AFwGPsAorWLIODAMrsh8OAXKyjw4BXbJvDgFysm8OAV2y/w4BXbJ3DgFyshAOAV2wDhCwD9CwDy+wAdyyYAEBckELACAAAQAwAAEAQAABAFAAAQBgAAEABV20bwx/DAJytm8MfwyPDANdsh8MAXKyTwwBXbL/DAFdshAMAV2wDBCwB9C0aAd4BwJdsokHAV206gf6BwJxsqoHAV20CQcZBwJxspkHAXG06Af4BwJdshgHAV2wBtCwBi+wBNyybwQBckELAC8ABAA/AAQATwAEAF8ABABvAAQABV2wDhCxEAT0sAwQsBLcsu8SAXGwF9CyphcBcbIQGQFxWQCwAEVYsAwvG7EMED5ZsABFWLADLxuxAwg+WbAE3LLABAFdskAEAV2y4AQBcbAB0LADELEOAvSwB9CwDhCwENCwEC+wDBCxEgH0MDEBsAorWLKICQFdtGgJeAkCcbLpCQFdsugKAV20CAoYCgJxtGgKeAoCcbSJCpkKAnFZALRmCXYJAnGyhwkBXbQHChcKAnG0hwqXCgJxBSMnIQcjNTM+AzUhETMHESMOAwcCKl8P/rAPXzsIGRkSAVxJy2kCCg8UDHJycuULNVyIXf5/BgEZJFFMQhb//wAh//IB2QICAgYASAAAAAH/+gAAAroB9AAZBAywCitYuwAXAAQAGAAEK7IfGAFysk8YAXKyfxgBXbIvGAFxsv8YAXG0ABgQGAJdsBgQsAHQtAQBFAECcbKmAQFysucBAV2y+AEBXbJ6AQFdsscBAXGyBwEBcrRkAXQBAnG0hAGUAQJdshQBAV2wAtCyRwIBXbLYAgFdtOkC+QICXbJpAgFytMoC2gICcbbbAusC+wIDcrJ7AgFytAwCHAICcbSLApsCAl2yWgIBcbJ6AgFxsmkCAXGyOQIBcrIIAgFdsrYCAV2y4wIBcbAG0LInBgFdsokGAV2ymwYBXbTpBvkGAl20ZwZ3BgJxsucGAXGwGBCwCdCyBAYJERI5shgEAV2yRwQBXbK2BAFdsAYQsAfQttQH5Af0BwNyssUHAXKyBwcBcrKHBwFdsvcHAV2ylgcBXbRlB3UHAnGyhAcBcrQDBxMHAnG0ABcQFwJdsi8XAXGyfxcBXbJPFwFysgAXAXKy4BcBcbKQFwFysBcQsAzQsBcQsBTQsvYUAV2yVxQBcbKnFAFdtAoUGhQCcbIbFAFdtGsUexQCcbSKFJoUAl2yhxQBcbLXFAFdskYUAXGydRQBXbAT0LLSEwFxsgMTAXG21BPkE/QTA3K0hBOUEwJdtOUT9RMCXbQlEzUTAnKydRMBcrIVEwFdsgYTAV2yZxMBXbIXEwFysjcTAV2ySRMBXbKHEwFxstcTAV2yRhMBcbJ2EwFdssUTAXKyVRMBcrK1EwFxssQTAXGyVBMBcbJjEwFxsoMTAXKychMBcbIQEwFxsA/QtDgPSA8CXbJYDwFxstgPAXG06Q/5DwJdsgkPAXGymQ8BcbIpDwFdsrkPAV2yug8BcbKqDwFdshoPAXGyeQ8BXbI5DwFysskPAXGySQ8BcbQIDxgPAl2y+A8BcbKoDwFxsncPAXGylQ8BXbAO0LLYDgFdsggOAV2yiQ4BXbI5DgFysloOAXGy2g4BcbKbDgFdsgwOAXGyHQ4BcbbbDusO+w4DcrR7DosOAnKyGg4BXbLKDgFyskkOAXGyyQ4BcbI4DgFxsqcOAV2ylw4BcbIRDA8REjmySBEBXbJZEQFdshcRAV20hxGXEQJdsj8bAV2yEBsBcVkAsABFWLAKLxuxChA+WbAARViwGC8bsRgIPlmwAdCyFgoYERI5sBYvtC8WPxYCXbLpFgFdtMIW0hYCXbAM0LZbDGsMewwDcbbMDNwM7AwDXbL7DAFdtAsMGwwCcbRKDFoMAl20aQx5DAJdshEMFhESObKXEQFdsBEQsATQsAoQsAfQsAwQsAnQsAoQsA7QsBgQsBTQsBYQsBnQMDEBsAorWLImAgFxsicDAXGyGAMBcbJ4EAFdstgQAV2yaRABXbInEgFxWQCyFwMBcbJnEAFdNwcjPwEvATMXMzUzFT8BMw8BHwEjJyMVIzXyZpKDIjNni10rfCZeim0nM3mVZit8y8vlHibLy8vVDsfLICjhz8/ZAAEAFv/1AY8B/QAsAtywCitYshIjAyu0UBJgEgJxsqASAXGyLxIBcbLfEgFdsq8SAXKy0BIBcbKAEgFxsmASAV2yEBIBXbJgIwFxsi8jAXGyfyMBXbLfIwFdsv8jAV2yryMBcrJgIwFdsoAjAXGyoCMBcbIAEiMREjmwAC+wEhCxBQT0sCMQsAzQsAwvshcSABESObQHFxcXAl2wEhCwG9CwGy+2EBsgGzAbA3GxKQT0siAuAXJZALAARViwDy8bsQ8QPlmwAEVYsCAvG7EgCD5ZsgEPIBESObABL7QvAT8BAnG0DwEfAQJytI8BnwECXbSvAb8BAnKwANy0EAAgAAJxtGAAcAACXbAPELEIAfSyFwEAERI5sCAQsScB9DAxAbAKK1iyeAsBcrSYC6gLAnK0BhAWEAJdtKYQthACXbQnEDcQAl1BCQDHABAA1wAQAOcAEAD3ABAABF20pBG0EQJdQQkAxQARANUAEQDlABEA9QARAARdtAURFRECcrLlEQFytAYRFhECXUEJAAYAEQAWABEAJgARADYAEQAEcbTmEfYRAnG0xhHWEQJytCcRNxECXbQGFBYUAnFBCQBGABUAVgAVAGYAFQB2ABUABHG0JRk1GQJxspYZAXK0BxkXGQJdtgYdFh0mHQNytAcdFx0CXbSnHbcdAl1ZALJ4CwFdsnkLAXK0mQupCwJytKUQtRACXbTlEPUQAl20xhDWEAJdQQkABwAQABcAEAAnABAANwAQAARdQQkApgARALYAEQDGABEA1gARAARdQQkABgARABYAEQAmABEANgARAARxQQkABwARABcAEQAnABEANwARAARdtOcR9xECcbQHERcRAnK0CRQZFAJxtEgVWBUCcbRpFXkVAnG0JRk1GQJxtAcZFxkCXbKXGQFytAgdGB0CXbSoHbgdAl20CB0YHQJysikdAXK0CB4YHgJdtKgiuCICXbSoI7gjAl2ytSQBcrKXJAFdsoUoAXI3NTMyNjU0JiMiBgcnPgEzMhYVFA4CBxUeARUUDgIjIiYnNx4BMzI1NCYjbT0jLSgpJzwSHB5jOFZVCRQdFDUsGjVQNzdRGxwXQShbL0DPWxwXGxcUC2MRGUA9ESMgGQcEDD0zIDcoGBcPZQ0QOhoYAAEAOQAAAegB9AAPAV2wCitYsg4GAyuyPwYBcrIPBgFxsk8GAXGyLwYBcbIfBgFyskAGAV20EAYgBgJdsAYQsQcE9LAE0LRmBHYEAnGydwQBXbQGBBYEAnGyVQQBcbKQDgFdtBAOIA4CXbQ/Dk8OAnKyLw4BcbIfDgFyskAOAV2yEA4BcbJwDgFxsnAOAXKwDhCxDwT0sAzQtAkMGQwCXbQJDBkMAnG0yQzZDAJdtGkMeQwCcbI/EAFdspARAV2y0BEBXbLQEQFxWQCwAEVYsAcvG7EHED5ZsABFWLAPLxuxDwg+WbAHELAM0LIBDwwREjmwDxCwBNCyCQcEERI5tlsJawl7CQNxtMoJ2gkCXbQBCREJAl0wMQGwCitYtEQDVAMCcrK2AwFxtCYDNgMCcrKGAwFytIcDlwMCXbToC/gLAl1ZALK4AwFxtCkDOQMCcrTqA/oDAl20SgNaAwJysooDAXK05Qv1CwJdJTcjDwEjETMVBzM/ATMRIwFmBQMrslKCBgQptFKC5EdJ4gH07kRH6/4M//8AOQAAAegCwAImAXEAAAEGAsoxAAAnsAorWLQvHz8fAnGyDx8BcrL/HwFdsl8fAXGyIB8BXbJAHwFdMDFZAAABADkAAAHtAfQADgJTsAorWLsAAgAEAAMABCuyPwIBcbL/AgFdsj8CAXK0AAIQAgJdskACAV2y/wMBXbI/AwFysj8DAXG0AAMQAwJdskADAV2wAhCwBtCwAhCwDtCy9w4BcbLXDgFdslgOAXGyiQ4BXbKaDgFdshoOAV206Q75DgJdtAkOGQ4CcbI3DgFxtKcOtw4CcbJ2DgFdskYOAXGwDdCy8g0BcbJyDQFytNMN4w0CcbJjDQFytLQNxA0CcUEJACUADQA1AA0ARQANAFUADQAEcrIFDQFdQQsAtQANAMUADQDVAA0A5QANAPUADQAFcrJmDQFdsjcNAXGy1w0BXbKGDQFdtJYNpg0CcbJ1DQFdtEUNVQ0CcbTlDfUNAl2ykw0BXbJjDQFxsgINAXGycg0BcbKBDQFyshANAXGwCdCydwkBcbIoCQFdsgoJAXGySgkBcrJqCQFyshkJAXGyCAkBXbL1CQFdsoQJAV2wCNCySAgBcbK4CAFxtkoIWghqCANysvoIAV2yiggBXbQMCBwIAnG0fQiNCAJysv0IAXGy7AgBcbKbCAFdshoIAV1BCQDKAAgA2gAIAOoACAD6AAgABHKy6QgBXbIICAFdsqcIAV20Jwg3CAJdsgsJBhESObIXCwFdsnAQAV2yLxABXbLQEAFdsvAQAXFZALAARViwBS8bsQUQPlmwAEVYsAIvG7ECCD5ZsgEFAhESObABL7QvAT8BAl2ywAEBXbAG0LTMBtwGAl22WwZrBnsGA3GwBRCwCNCyCwYBERI5sAIQsA7QMDEBsAorWLL2DAFdWTcjFSMRMxU/ATMPAR8BI94jgoIfdYt5MziHlc/PAfTVDse+JifpAAH/7//6AcsB9AATATCwCitYshASAyuy3xABXbJvEAFxsi8QAXG0TxBfEAJyskAQAV2wEBCwAdyyTwEBXbLQAQFdsBAQsAjQsAgvsj8IAV20rwi/CAJdsi8SAXGybxIBcbJPEgFysBIQsRME9LIQFQFystAVAXGysBUBcbJwFQFysjAVAXJZALAARViwES8bsREQPlmwAEVYsBMvG7ETCD5ZsABFWLAGLxuxBgg+WbARELEAAvSwBhCxCwL0MDEBsAorWLIGBAFytEcEVwQCXbTmBfYFAl1BCQBHAAUAVwAFAGcABQB3AAUABF2y9wUBcUEJAEgADQBYAA0AaAANAHgADQAEXVkAtEgEWAQCXUEJAEgABQBYAAUAaAAFAHgABQAEXbToBfgFAl2y+QUBcbRmDXYNAl20Rw1XDQJdASMOAyMiJzcWMzI+AjchESMBSWMGECM8MDoYEBAOFB4VDQMBV4IBgUeMb0UPbAYiWJd0/gwAAQA5AAACYgH0ABUCBLAKK1iyFAsDK7JwFAFxtAAUEBQCXbLPFAFxsjAUAV2yUBQBXbJQFAFxshAUAXG0IAswCwJdshALAXGyAAsBXbIEFAsREjmyBQsUERI5tEoFWgUCcbQJBRkFAnGwCxCwCtyybwoBcrQvCj8KAl2yzwoBXbINCxQREjmytQ0BcrRlDXUNAnGyZQ0BXbIWDQFdtCYNNg0CcbKGDQFdtMUN1Q0CcbTlDfUNAl20BA0UDQJxspQNAV2yDwsUERI5shIUCxESObJpEgFdspsSAV206hL6EgJdtAoSGhICcbRpEnkSAnGyiRIBXbAUELEVBPSyEBcBXbIvFwFdslAXAXKy0BcBXVkAsABFWLANLxuxDRA+WbAARViwCi8bsQoIPlmwDRCwB9CwAtCyBQ0KERI5sAUvsA/QshUPAV2wDRCwEtCwChCwFdAwMQGwCitYsnYCAV2ydgMBXbQHAxcDAnGyOAYBXbKYBgFdsrgGAV20CAYYBgJxsrgGAXGy+AYBcbJYBgFysnkGAV206Qb5BgJdsnkHAV2yGQcBcbLJBwFxstoHAXGy1Q4BcbKWDgFdssYOAXGyhw4BXbKYEQFdWQCyCAMBcbIZAwFxsjgGAV2ymAYBXbJYBgFytAkGGQYCcbK5BgFxsnoGAV20ygbaBgJxsscHAXGylw4BXbTHDtcOAnGylxEBXSU3Iw8BIy8BIxcVIxEzHwEzPwEzESMB5QgFKF4vZyYGDXSHcxwEHWqIfeVoVpubVmfmAfS8P0G6/gwAAQA5AAAB4AH0AAsA7rAKK1iyCgMDK7IgAwFysh8DAXKy/wMBXbQPAx8DAnGyPwMBcrIQAwFdsgADAXKyMAMBXbADELECBPSwBtCyEAoBXbKQCgFdsj8KAXKy/woBXbIvCgFxsh8KAXKyUAoBcbIwCgFdsnAKAXGygAoBcrAKELELBPSwB9Cy0A0BXbKwDQFdsu8NAV2ykA0BXbJQDQFysnANAXJZALAARViwBS8bsQUQPlmwAEVYsAIvG7ECCD5ZsgYFAhESObAGL7JfBgFxtO8G/wYCXbRPBl8GAl20YAZwBgJyshAGAXKxAQL0sAUQsAjQsAIQsAvQMDElIxUjETMVMzUzESMBXqOCgqOCgsXFAfS8vP4M//8AIf/yAfgCAgIGAFIAAAABADkAAAHbAfQABwC3sAorWLIGAwMrsv8DAV2yXwMBcbJPAwFysh8DAXGyEAMBXbQwA0ADAl2wAxCxAgT0spAGAV2y/wYBXbIPBgFyss8GAXGyTwYBcrIwBgFdshAGAV2wBhCxBwT0srAJAV2y4AkBcbJvCQFxsu8JAV2yDwkBcbJPCQFxsiAJAXKy0AkBXbKQCQFdsnAJAXJZALAARViwBC8bsQQQPlmwAEVYsAIvG7ECCD5ZsAQQsQEC9LACELAH0DAxASMRIxEhESMBWZ6CAaKCAYH+fwH0/gz//wA5/zgB+wICAgYAUwAA//8AIf/yAZsCAgIGAEYAAAABAAEAAAGhAfQABwC7sAorWLsAAgAFAAMABCu0MAJAAgJdsr8CAXKyTwIBcrIQAgFdsoACAV2wAhCwANy04ADwAAJxsnAAAXG2IAAwAEAAA12ygAMBXbJPAwFysr8DAXK0MANAAwJdshADAV2wAxCwBdy07wX/BQJxti8FPwVPBQNdsn8FAXGyvwkBXbKfCQFxsg8JAXKyUAkBcbJwCQFdWQCwAEVYsAYvG7EGED5ZsABFWLADLxuxAwg+WbAGELEFAvSwAdAwMQEjESMRIzUhAaGNho0BoAGB/n8BgXP////3/zMB5gH0AgYAXAAAAAMAHP84AqACvAAeACsANwTQsAorWLIUBgMrsuAGAV2yLwYBXbSPBp8GAl2yHwYBcrJvBgFysk8GAXKyzwYBXbJfBgFdskAGAV2yoAYBXbJwBgFdsnAUAV200BTgFAJdtEAUUBQCcbKQFAFxtN8U7xQCcbKfFAFysi8UAXGyzxQBcrJvFAFyssAUAXGycBQBcbIAFAFxspAUAV2yQBQBXbQAFBAUAl2yHgYUERI5sB4vsAvQsB4QsR0E9LAO0LAdELAj0LToI/gjAl20CCMYIwJxsBQQsSkE9LIsKQFdsB4QsC/QtOcv9y8CXbQHLxcvAnGwBhCxNQT0siM1AV2yLzgBXbIQOQFdspA5AXGyUDkBcbI/OQFdssA5AXGyADkBcrKQOQFdsgA5AXFZALAARViwDC8bsQwUPlmwAEVYsAkvG7EJED5ZsABFWLAeLxuxHgo+WbAARViwAy8bsQMIPlmwCRCwEdCwAxCwGdCwERCwH9xBCQDAAB8A0AAfAOAAHwDwAB8ABF20QB9QHwJdQQkAUAAfAGAAHwBwAB8AgAAfAARxsiAfAXKwGRCwJty0TyZfJgJdsi8mAXJBCQDPACYA3wAmAO8AJgD/ACYABF1BCQBfACYAbwAmAH8AJgCPACYABHGwAxCwLNyyLywBckEJAF8ALABvACwAfwAsAI8ALAAEcUEJAM8ALADfACwA7wAsAP8ALAAEXbRPLF8sAl2wCRCwMty0QDJQMgJdQQkAUAAyAGAAMgBwADIAgAAyAARxQQkAwAAyANAAMgDgADIA8AAyAARdsiAyAXIwMQGwCitYtAgEGAQCXbSIBJgEAl2yCAQBcbLIBAFxtGkEeQQCXbTpBPkEAl20qQS5BAJxstkEAXKyCAUBcbTpBfkFAl2yGQUBcbToB/gHAl1BCQBoAAgAeAAIAIgACACYAAgABF2yCAgBcbSoCLgIAnK06Qj5CAJdtOUS9RICXbSlErUSAnFBCQBmABIAdgASAIYAEgCWABIABF1BCQAGABIAFgASACYAEgA2ABIABHGyxhIBcbQHEhcSAl205RP1EwJdtGYTdhMCXbQGExYTAnG0VhNmEwJyspUXAXGyhhcBcbRnF3cXAl2yBxcBcbSoKLgoAnGyySgBcbRqKHooAnFBCQCnACsAtwArAMcAKwDXACsABF2yyisBcbLENAFxtGc0dzQCcbSnNLc0AnGyxTYBcbKGNgFxtKY2tjYCcbRnNnc2AnFZALQIBBgEAl1BCQBpAAQAeQAEAIkABACZAAQABF206QT5BAJdsgkEAXG2qQS5BMkEA3Gy2QQBcrLKBAFytOgF+AUCXbQJBRkFAnG05wf3BwJdtGUIdQgCXbIFCAFxtIYIlggCXbTmCPYIAl20pgi2CAJytIUSlRICXbTlEvUSAl1BCQAGABIAFgASACYAEgA2ABIABHG0BxIXEgJdtGcSdxICXbanErcSxxIDcbTmE/YTAl20ZxN3EwJdsgcTAXGyVxMBcrKIFwFxtGkXeRcCXbTpF/kXAl2yCRcBcbJ5FwFyspoXAXG0qCe4JwJdtGUodSgCcbamKLYoxigDcbTGK9YrAl20pyu3KwJdssorAXG0aTR5NAJxtKk0uTQCcbLMNAFxtKQ2tDYCcbZlNnU2hTYDcbLGNgFxsic2AV0FDgEjIiY1NDYzMhc1MxU+ATMyFhUUDgIjIiYnFSMTIgYHER4BMzI2NTQmAzI2NxEmIyIGFRQWAR4RJQ9bYmxmHBSAEhwNY2QbNEsxCSMLgJ4KDwsIFQwwLSz3CxMLExQuMS0GBgKChoCEBMLDAwJ1hT9lSCYDBMECXwMC/soCAU9cTkX+wgMCATUER1ZOU///AAgAAAIFAfQCBgBbAAAAAQA5/44CIQH0AAsAnLAKK1iyCQQDK7JgAQFysk8JAXKyzwkBcbJvCQFysv8JAV2yEAkBXbIwCQFdsAkQsAvQsAsvsALcskACAV2yTwQBcrIfBAFxsm8EAXKy/wQBXbQwBEAEAl2yEAQBXbAEELEFBPSwCRCxCAT0WQCwAEVYsAUvG7EFED5ZsABFWLACLxuxAgg+WbAB3LACELEKAvSwB9CwBRCwCNAwMQUjJyERMxEzETMRMwIhXw/+hoKbgklycgH0/n8Bgf5/AAEAIQAAAcAB9AAXAW+wCitYsgsXAyuyLxcBcbJPFwFysn8XAV2ybxcBcrAXELEABPSyEAsBcbLPCwFxsm8LAXKyTwsBcrIvCwFxsuALAV2yMAsBcbALELEKBPSwDtCyTxgBXbIgGQFysuAZAXGyABkBclkAsABFWLAALxuxABA+WbAARViwDS8bsQ0IPlmyEQANERI5sBEvsQYB9LAAELAK0LIOEQoREjkwMQGwCitYsqQDAXK0ZQN1AwJysrUDAXKyhgMBcrTGA9YDAnJBCQAIABMAGAATACgAEwA4ABMABF2yqBMBcrSKE5oTAnG0CBQYFAJdtikUORRJFANdtIkUmRQCcbTJFNkUAnG0qhS6FAJxWQC0ZQN1AwJytMUD1QMCcrKGAwFytKYDtgMCcrQoEzgTAl2yqBMBcrQJExkTAl2y+hMBXbSKE5oTAnFBCwAIABQAGAAUACgAFAA4ABQASAAUAAVdtIgUmBQCcbTIFNgUAnG0qRS5FAJxExUUHgIzMjY3NTMRIzUOASMiLgI9AaMFDxsWHSsOgoIPPjQlOigVAfRyHy0dDg4K0f4MxAsbEChCMqoAAQA5AAACuQH0AAsBJ7AKK1iyBgEDK7JfAQFxsj8BAXKyXwEBcrIfAQFysv8BAV20DwEfAQJxsiABAV2wARCxAgT0sq8GAV2yrwYBcbI/BgFysp8GAXKyXwYBcrIfBgFysv8GAV2yzwYBcrKABgFdsAYQsQUE9LAK3LJQCgFxsp8KAXKyLwoBXbKvCgFdss8KAXKyrwoBcbKACgFdtAAKEAoCcbEJBPSyTwwBXbIPDAFdskANAXKyUA0BXbTADdANAl2yUA0BcbLvDQFdsm8NAV2ybw0BcbIvDQFdsq8NAV2yrw0BcbIQDQFxsoANAV20AA0QDQJyssANAXGykA0BcVkAsABFWLACLxuxAhA+WbAARViwAC8bsQAIPlmxAwL0sAIQsAXQsAMQsAfQsAUQsAnQMDEzETMRMxEzETMRMxE5gn2CfYIB9P5/AYH+fwGB/gwAAQA5/44DAQH0AA8BBbAKK1iyCQQDK7JgAQFysoAJAV2yrwkBXbKvCQFxsj8JAXKyzwkBcrIfCQFysl8JAXKy/wkBXbKfCQFyskAJAV2yAAkBXbAJELEIBPSwDdyyUA0BcbLPDQFysq8NAXGyrw0BXbKfDQFysi8NAV20AA0QDQJxsoANAV2wD9CwDy+wAtyyQAIBXbJABAFdsj8EAXKyXwQBcbJfBAFysv8EAV20DwQfBAJxsh8EAXKyAAQBXbIgBAFdsAQQsQUE9LANELEMBPSyrxEBcbJwEQFdWQCwAEVYsAUvG7EFED5ZsABFWLACLxuxAgg+WbAB3LACELEOAvSwC9CwB9CwBRCwCNCwDNAwMQUjJyERMxEzETMRMxEzETMDAV4P/aWCfYJ9gkhycgH0/n8Bgf5/AYH+fwAC//v/+QIGAfQACQAcAf6wCitYshIYAyuyXxgBXbL/GAFdsn8YAV2yjxgBcbJAGAFdsBgQsQAE9LJAEgFdsrASAXGy8BIBcbJAEgFystASAXGyEBIBcbQAEhASAl2ycBIBcrASELEFBfSwABCwCtCwGBCwGtyy8B4BcbJwHgFyWQCwAEVYsBsvG7EbED5ZsABFWLAVLxuxFQg+WbECAfSyDRsVERI5sA0vsAfcQQkAQAAHAFAABwBgAAcAcAAHAARdQQkAwAAHANAABwDgAAcA8AAHAARdtAAHEAcCcUERAFAABwBgAAcAcAAHAIAABwCQAAcAoAAHALAABwDAAAcACHGwGxCxGgL0MDEBsAorWLRpA3kDAnK0pQ+1DwJdtGUPdQ8CcbQGDxYPAl20hg+WDwJxtCcPNw8CXbSnD7cPAnFBCQCmABAAtgAQAMYAEADWABAABF2yVhABckEJAAcAEAAXABAAJwAQADcAEAAEXbI2EwFxsoYTAXK0BxMXEwJdtEcTVxMCcbQHFBcUAl1ZALRpBnkGAnK0pg+2DwJdQQkAZgAPAHYADwCGAA8AlgAPAARxQQkABwAPABcADwAnAA8ANwAPAARdtKcPtw8CcbSmELYQAl1BCQAHABAAFwAQACcAEAA3ABAABF2yVxABcrQIExgTAl22ORNJE1kTA3GyiRMBcrQIFBgUAl03FjMyNjU0IyIHNT4BMzIeAhUUBiMiJicRIzUz6xwdMCxZIxkYMhQ0SC0UbYA5VCNu8G0GISNBB10EAxcqOSFbWgQDAYFzAAMAOf/5AoYB9AAKAB0AIQJfsAorWLITHAMrsiATAXK0ABMQEwJdsg8TAXGyTxMBcbI/EwFysr8TAXKyHxMBcrIvEwFxss8TAV2y0BMBcrKQEwFxtjATQBNQEwNdsBMQsQUF9LIgHAFysv8cAV2yDxwBcbJPHAFxsj8cAXKyHxwBcrIvHAFxsr8cAXKyABwBcrYgHDAcQBwDXbAcELEdBPSwCtCwHBCwIdyyUCEBcbIwIQFdshAhAXGyMCEBcbKwIQFxspAhAXGxIAT0sh8iAV2y4CMBcrKQIwFdsu8jAV2yHyMBXbKPIwFxsq8jAV2y0CMBcbLwIwFxsnAjAXJZALAARViwHS8bsR0QPlmwAEVYsCEvG7EhCD5ZsABFWLAYLxuxGAg+WbECAfSyDh0YERI5sA4vsAjcQQkAQAAIAFAACABgAAgAcAAIAARdQQkAwAAIANAACADgAAgA8AAIAARdtAAIEAgCcUERAFAACABgAAgAcAAIAIAACACQAAgAoAAIALAACADAAAgACHGwHRCwHtAwMQGwCitYtKUQtRACXUEJAAYAEAAWABAAJgAQADYAEAAEXbJ2EAFxtKYQthACcbTHENcQAl20xRHVEQJdtGURdRECcrSmEbYRAl20BxEXEQJdsncRAXG0RRVVFQJxsmYVAXG0BxUXFQJdtKcVtxUCcrQHFhcWAl1ZALQGEBYQAl20xhDWEAJdtKYQthACcbQnEDcQAl20pxC3EAJdsncQAXG0BxEXEQJdtMcR1xECXbJ3EQFxtGcRdxECcrQIFRgVAl2yaBUBcbRJFVkVAnG0qhW6FQJytAgWGBYCXTcWMzI2NTQmIyIHNT4BMzIeAhUUDgIjIiYnETMhMxEjux4bLSQkKiEbGDEUM0QqEhg2Vj85UyOCAUmCgm0GISMgIQddBAMXKjkhLUQtFwQDAfT+DAACADn/+QHVAfQACQAaAhuwCitYshIZAyuycBIBXbKAEgFxsnASAXKyPxIBcbKwEgFxsuASAV22MBJAElASA120ABIQEgJdsBIQsQUF9LL/GQFdsj8ZAXGyTxkBcrIfGQFxtDAZQBkCXbLgGQFdsBkQsRoE9LAJ0LIfGwFdsv8bAXGycBwBcrKwHAFxWQCwAEVYsBovG7EaED5ZsABFWLAVLxuxFQg+WbECAfSyDRoVERI5sA0vsAfcQQkAQAAHAFAABwBgAAcAcAAHAARdQQkAwAAHANAABwDgAAcA8AAHAARdtAAHEAcCcUERAFAABwBgAAcAcAAHAIAABwCQAAcAoAAHALAABwDAAAcACHEwMQGwCitYsokDAXK0ZwR3BAJysokGAXJBCQBlAA8AdQAPAIUADwCVAA8ABHG05Q/1DwJytAYPFg8CXbSmD7YPAnG0Jw83DwJdtKcPtw8CXbTGENYQAl2yVhABcrQHEBcQAl20pxC3EAJdspQTAXKyNRMBcbSlE7UTAnK0BxMXEwJdsocTAXK0BxQXFAJdWQCyhwMBcrRjBHMEAnK0aAZ4BgJytOUP9Q8CckENAGYADwB2AA8AhgAPAJYADwCmAA8AtgAPAAZxQQkABwAPABcADwAnAA8ANwAPAARdtKcPtw8CXbSmELYQAl20BxAXEAJdtMcQ1xACXbJXEAFytAgTGBMCXbKIEwFytKgTuBMCcrI8EwFxtAgUGBQCXTcWMzI2NTQjIgc1PgEzMh4CFRQGIyImJxEzux4bMCtYIRsYMRQ0SC0UbIE5UyOCbQYhI0EHXQQDFyo5IVtaBAMB9AABABf/8gGqAgIAGwHdsAorWLINEwMrsnANAV2yAA0BcbJADQFxspANAXGyUA0BcrJPDQFyss8NAXKybw0BcrIvDQFysjANAXKycA0BcbIgDQFxspANAV2yUA0BXbIADQFdsA0QsQEE9LKPEwFdst8TAV2ybxMBcrTPE98TAnKyTxMBcrL/EwFdtK8TvxMCXbJvEwFdsi8TAXKwExCwCNCwCC+wARCwGtCyGxMNERI5sBsvspAdAXGycB0BcVkAsABFWLAKLxuxChA+WbAARViwEC8bsRAIPlmyABAKERI5sAAvtC8APwACcbQPAB8AAnK0jwCfAAJdtK8AvwACcrAKELEEAfSwEBCxFwH0sAAQsBvcst8bAXG0YBtwGwJdshAbAXEwMQGwCitYsqgDAXG06Af4BwJytOYL9gsCXbIGCwFxtIcLlwsCXbIXCwFxtIcLlwsCcbQHCxcLAnK05wz3DAJdsgYOAXG05g72DgJxtOcO9w4CXVkAsqgDAXG0iAeYBwJdsukHAXKy/AcBcrQFCxULAnK05gv2CwJdtIcLlwsCXbQHCxcLAnG0hwuXCwJxtOcM9wwCXbTpDvkOAl2yCQ4BcbTpDvkOAnG0qBK4EgJdtKgTuBMCXbL1FAFyspcUAV20Zhl2GQJxEzMuASMiBgcnNjMyFhUUBiMiJic3HgEzMjY3I226BTg3JjoWI0JwcG58bC9gHCAXPyBANgW7ASwyNhIMXi6Fg4SEExFmDQ82OQACADn/8gK8AgIAFgAiAzWwCitYshQFAyuy8AUBcbQ/BU8FAnGybwUBcrIQBQFdssAFAV2ygAUBXbAFELAI0LAIL7J/CAFxsqAIAXK0IAgwCAJdsQcE9LAL0LAFELAM0LSAFJAUAl20EBQgFAJdsj8UAXGybxQBcrIfFAFysmAUAV20wBTQFAJdsgAUAXGwBRCwF9y07xf/FwJxtA8XHxcCcrI/FwFdtC8XPxcCcbSvF78XAl2wFBCxHQX0suAkAXGyoCQBcVkAsABFWLAPLxuxDxA+WbAARViwCi8bsQoQPlmwAEVYsAAvG7EACD5ZsABFWLAHLxuxBwg+WbILCgcREjmwCy+0TwtfCwJxtO8L/wsCXbRPC18LAl2xBgH0sAAQsRoB9LAPELEgAfQwMQGwCitYsngCAV20CAIYAgJxtCgCOAICcrTpAvkCAl206AP4AwJdQQkACAADABgAAwAoAAMAOAADAARxsigDAXKyeQMBXbIIDQFxsqgNAXG0iQ2ZDQJdshkNAXGyeg0BXbTrDfsNAl206Q75DgJdsgoOAXGyBhEBcbQGERYRAnK05xH3EQJdsocRAXGylhUBcrTnFfcVAl2yhxUBcbQHFRcVAnKydxYBXbIHFgFxsocWAXGylhgBcbLGGAFxstYYAXK0Zxh3GAJxsqcYAXGytxkBXbLYGwFxtLgcyBwCcbQIHBgcAnK0qB64HgJxsskeAXGy+R4BcrRpH3kfAnG0ZiJ2IgJxsvYiAXKypyIBcbLHIgFxWQCyeAIBXbToAvgCAl2yGAIBcbI4AgFysgkCAXGyKgIBcrQoAzgDAnGyOAMBcrTpA/kDAl20CQMZAwJxsnYNAV205g32DQJdsqYNAXG0hw2XDQJdtAcNFw0CcbTmDvYOAl205hH2EQJdsgcRAXGyhxEBcbToFfgVAl2yCBUBcbKIFQFxtAkVGRUCcrKZFQFysggWAXGyeRYBXbTpFvkWAl2yiRYBcbRmGHYYAnGyphgBcbLGGAFxspcYAXGy1xgBcrK3GQFdstgbAXG0AxwTHAJytLYcxhwCcbLIHgFxsrkeAXGyqh4BcbL7HgFytGgieCICcbKpIgFxsskiAXGy+SIBcgUiLgInIxUjETMVMz4BMzIeAhUUBgMUFjMyNjU0JiMiBgHgOE8zGwRMgoJNCmdpOVI2GWzNKTQuKCYzLiwOHjhQMsoB9LxhaSZFYjt/iQEISVFEVk1NRgACAAoAAAHDAgIAEAAbAt2wCitYsg8IAyuyfwgBcrJfCAFysn8IAV2yvwgBcbL/CAFdsl8IAV2yLwgBcbLfCAFxsoAIAXGyLw8BcbIQDwFxsA8QsRAE9LIBCBAREjm0BQEVAQJxtEYBVgECcbSFAZUBAl20ZQF1AQJxsAgQsAPQsAMvtkADUANgAwNdsALQsnECAXGyYgIBcbICAgFxskICAXKygwIBcrKDAgFdsuQCAV1BCQDFAAIA1QACAOUAAgD1AAIABHK0BQIVAgJyshUCAV2yRQIBcbLWAgFdsmYCAV2yNwIBcbLHAgFdsgYCAV2ylQIBcrJ1AgFdtpUCpQK1AgNxtGUCdQICcrJUAgFxssMCAXGy8wIBXbQjAjMCAnKykgIBXbLSAgFxshECAXGyUQIBcrThAvECAnGyBQgQERI5tEgFWAUCcbSoBbgFAl20SAVYBQJdsBAQsBHQsAgQsRgF9LJAHQFysmAdAXJZALAARViwCy8bsQsQPlmwAEVYsBAvG7EQCD5ZsgALEBESObAAL7SjALMAAl2yUAABcbAQELAC0LAAELAR3EEPAF8AEQBvABEAfwARAI8AEQCfABEArwARAL8AEQAHcbaPEZ8RrxEDckELAI8AEQCfABEArwARAL8AEQDPABEABV2yBREAERI5tKcFtwUCXbJHBQFdslYFAV2wCxCxFQH0MDEBsAorWLJYBAFytOkE+QQCcbQIBhgGAl20qAa4BgJxspgGAXKymQYBcbQIBxgHAl20CAkYCQJdQQkAiAAJAJgACQCoAAkAuAAJAARdQQkAKAAJADgACQBIAAkAWAAJAARxsokJAXKymgkBcrRIClgKAnG0KQo5CgJxtAcXFxcCcbK0GQFyWQC0CAYYBgJdspkGAXK2mgaqBroGA3G0CAcYBwJdtAcJFwkCXbSnCbcJAl20Jwk3CQJxsogJAXK0RgpWCgJxtCcKNwoCcbQJFxkXAnGyuxcBcrK2GQFyJQ8BIz8BLgE1NDYzMhYXESMRNS4BIyIGFRQWNwFBPGCbYTExQHl9MFMfggsaDC0yNzW9DLGdJQhNOltWCgb+DgEBigUEJiYmJAH//wAh//IB2QK+AiYASAAAAQYAahntAH6wCitYsCAvsq8gAXJBDQBfACAAbwAgAH8AIACPACAAnwAgAK8AIAAGXbbfIO8g/yADcbQgIDAgAl2wLNyycCwBcrIQLAFxWQCwKS+yPykBcrJ/KQFyQQkAjwApAJ8AKQCvACkAvwApAARxsl8pAXKyHykBcrKAKQFysDXQMDEAAAAB//T/MAHyArwAKQFYsAorWLISJwMrskAnAV2yICcBXbIAJwFdsCcQsAHQsADQsAAvsCcQsSYE9LAI0LAE0LAF0LAFL7IgEgFdsgASAV2yQBIBXbJgEgFdsBIQsR4E9LAY0LAYL7IfKgFdWQCwAEVYsAMvG7EDFD5ZsABFWLAmLxuxJgg+WbAARViwFS8bsRUKPlmyDAMmERI5sAwvspAMAV2y0AwBXbJQDAFdtAAMEAwCXbIEAwwREjmwBC+wAdCwBBCwB9yyCQwmERI5sBUQsRsC9LAMELEiAvSwBxCwKNAwMQGwCitYtgYOFg4mDgNdstYOAV2yNw4BXbTnDvcOAl20Bg8WDwJdstYPAV2yNw8BXbQGExYTAl20BxQXFAJdWQCy5A4BXbLVDgFdsvUOAV22Fg4mDjYOA12yBw4BXbIFDwFdshYPAV2yNg8BXbLXDwFdtAgTGBMCXbIIFAFdshkUAV0DMzUzFTMVIxUzPgEzMh4CFREUBiMiJzUyFjMyNj0BNCYjIgYHESMRIwxKgqGhBBdINiY6JhNITx4iBAcEKxshLSE5CIJKAlhkZFCCICYULk86/upbYAdtATEs5j02LCP+9gII//8AOQAAAXwC0AImAWwAAAEGAHZoAABIsAorWLQAChAKAl207wr/CgJxsg8KAXKy/woBckEJAM8ACgDfAAoA7wAKAP8ACgAEXbKvCgFyso8KAXGyIAoBcbJACgFdMDFZAAEAJf/yAbMCAgAgAfKwCitYshAIAyu2IBAwEEAQA12ykBABXbLQEAFdsk8QAXKyABABcbKwEAFdsnAQAV2yABABXbJwEAFysBAQsADQsAAvssAIAXGyjwgBXbJPCAFysm8IAV2yQAgBXbIgCAFdsAgQsRoE9LAX0LAXL7IYCBAREjmwGC+ykCIBcVkAsABFWLANLxuxDRA+WbAARViwAy8bsQMIPlmwDRCxFAL0shgDDRESObAYL7SPGJ8YAl20Lxg/GAJxtG8YfxgCcbTPGN8YAl20DxgfGAJytK8YvxgCcrAZ3LKgGQFythAZIBkwGQNxtGAZcBkCXbADELEdAvQwMQGwCitYsvgFAV2y6QUBcrLpBgFdtGcKdwoCXbLICgFdtMgK2AoCcbLZCgFdtMgL2AsCXbQnFjcWAnG0Zht2GwJxtMYb1hsCcbRnG3cbAl2ylxsBXbIXGwFxspYcAV2ydhwBcbJnHAFxssggAV2y2SABXVkAtOgF+AUCXbLpBQFysugGAV2y1woBXbTHCtcKAnG0aAp4CgJdssYLAV2y1wsBXbLYEQFdsvgRAV2y6REBXbQpFjkWAnGydRsBcbIWGwFxsmYbAXGydxsBXbKXGwFdtMcb1xsCcbJ2HAFxspccAV2yZxwBcbLmHwFdsvcfAV205iD2IAJdspcgAV0lDgEjIi4CNTQ+AjMyFhcHLgEjIgYHMxUjHgEzMjY3AbMeWi08WDkcIj5YNjZIGx4XMx0vQwrExQlBOiIyEx8WFyZFYjs/YkQjEg5qCwwwNlgwPBEM//8AGf/yAYoCAgIGAFYAAP//ADQAAADaAscCJgDp/gABBgEy+AAAUbAKK1i0zwTfBAJxQRUAbwAEAH8ABACPAAQAnwAEAK8ABAC/AAQAzwAEAN8ABADvAAQA/wAEAApysv8EAV2yDwQBcrIABAFdtCAEMAQCXTAxWQAAAAADABUAAAEqAsgACwAXABsBR7AKK1i7ABoABAAbAAQrss8bAXG0Lxs/GwJxsp8bAXKyDxsBcbJvGwFysg8bAXKwGxCwANCwAC+0rwC/AAJxsAbcsjAGAV2ysAYBcrKwBgFdsrAGAXGyMAYBcrAAELAM3LbPDN8M7wwDXUENAC8ADAA/AAwATwAMAF8ADABvAAwAfwAMAAZdsg8MAV22Lww/DE8MA3G07wz/DAJxtA8MHwwCcrAS3LIwEgFdsrASAXKysBIBXbKwEgFxsjASAXKyDxoBcrQvGj8aAnGyzxoBcbIPGgFxsm8aAXKynxoBcrIPHAFdsmAdAV2yUB0BcrLwHQFdWQCwAEVYsBgvG7EYED5ZsABFWLADLxuxAxQ+WbAARViwGy8bsRsIPlmwAxCwCdy2Lwk/CU8JA12yHwkBcbJwCQFxsuAJAXGwAxCwD9CwCRCwFdAwMRM0NjMyFhUUBiMiJjc0NjMyFhUUBiMiJgczESMVHyAgHx8gIB+XHyAgHx8gIB9PgoICgh8nJx8eJyceHycnHx4nJ3D+DP////D/MADZAscCJgEtAAABBgEy9wAAO7AKK1i0IA8wDwJysgAPAV2yDw8BcrTPD98PAl2y/w8BXbRgD3APAnK0oA+wDwJxtiAPMA9ADwNdMDFZAAAC/+//+QLlAfQAIAArAq+wCitYsiAfAyuyryABXbKfIAFxsu8gAXGy/yABXbJ/IAFdsm8gAXKwIBCwCNCwCC+0QAhQCAJdsrAIAV2yIAgBcbJwCAFytJAIoAgCcbLwCAFdsnAIAV20AAgQCAJdsrAIAXKwIBCxDwT0sp8fAXGybx8BcrL/HwFdsq8fAV2wHxCwENyy7xABcbAfELAX0LAXL7I/FwFdsCAQsCTQsAgQsSoF9LIQLQFdsnAtAXJZALAARViwHy8bsR8QPlmwAEVYsBUvG7EVCD5ZsABFWLALLxuxCwg+WbIDHwsREjmwAy+wHxCxEAL0sBUQsRoC9LADELAh3EERAFAAIQBgACEAcAAhAIAAIQCQACEAoAAhALAAIQDAACEACHFBCQBAACEAUAAhAGAAIQBwACEABF1BCQDAACEA0AAhAOAAIQDwACEABF20ACEQIQJxsAsQsScB9DAxAbAKK1i05AX0BQJytIUFlQUCcbQGBRYFAl20ZgV2BQJxtCcFNwUCXbSnBbcFAl20hQaVBgJxtKYGtgYCXbLWBgFdtGYGdgYCcbQHBhcGAl2yxwYBXbJXBgFysoUJAXKyNgkBcbSmCbYJAnK0BwkXCQJdtEcJVwkCcbKXCQFytAcKFwoCXbJWEwFdtGcTdxMCXbLXEwFdttcU5xT3FANdtAgdGB0CcbKJKwFyWQC0pgW2BQJdtAcFFwUCXbRnBXcFAnG05wX3BQJytGYGdgYCcbJGBgFytAcGFwYCXUEJAKcABgC3AAYAxwAGANcABgAEXbSHBpcGAnGyVwYBcrQICRgJAl20iAmYCQJytjkJSQlZCQNxtKoJugkCcrQIChgKAl22WBNoE3gTA12y2RMBXbLYFAFdtOkU+RQCXbQHHRcdAnGygikBcrRjKXMpAnKyiSsBcrRqK3orAnIBPgEzMh4CFRQGIyImJxEjDgMjIic3FjMyPgI3IRMiBxUeATMyNjU0AcsYMRQ0SC0UbIE5UyNjBhAjPDA6GBAQDhQeFQ0DAVc8IxkOHQ4wKwFCBAMXKjkhW1oEAwGBR4xvRQ9sBiJYl3T++Ad5AwIhI0EAAgA5//kC+wH0ABgAIgKesAorWLIYEwMrshAYAV2yMBgBXbIfGAFysj8YAXKy/xgBXbIvGAFxspAYAV2ygBgBcrJwGAFxslAYAXGwGBCwCNCwCC+0QAhQCAJdsrAIAV2yIAgBcbKwCAFytJAIoAgCcbTgCPAIAl2ycAgBXbQACBAIAl2ycAgBcrAYELEXBPSwD9CyMBMBXbIfEwFysj8TAXKy/xMBXbQPEx8TAnGyEBMBXbIAEwFysiATAXKwExCxFAT0sBDQsAgQsR4F9LAYELAi0LJQJAFxspAkAXGysCQBXbIQJAFdWQCwAEVYsBQvG7EUED5ZsABFWLARLxuxEQg+WbAARViwCy8bsQsIPlmyAxQLERI5sAMvshADAXKyFRQRERI5sBUvtOAV8BUCcbRPFV8VAl2yXxUBcbIQFQFytGAVcBUCcrTgFfAVAnKxEAL0sBQQsBfQsAsQsRsB9LADELAg3EEJAEAAIABQACAAYAAgAHAAIAAEXUERAFAAIABgACAAcAAgAIAAIACQACAAoAAgALAAIADAACAACHFBCQDAACAA0AAgAOAAIADwACAABF20ACAQIAJxMDEBsAorWLQGBRYFAl20pgW2BQJdtGYFdgUCcbQnBTcFAl20RQZVBgJyQQkApgAGALYABgDGAAYA1gAGAARdtIYGlgYCcbQHBhcGAl1BCQAmAAkANgAJAEYACQBWAAkABHG0BgoWCgJdsokcAXK0Zx13HQJyWQC0ZQV1BQJxtAYFFgUCXbSmBbYFAl20hgWWBQJxtAcGFwYCXUEJAKcABgC3AAYAxwAGANcABgAEXbSHBpcGAnG0RwZXBgJyQQkAKQAJADkACQBJAAkAWQAJAARxtAkKGQoCXbKFHAFytGQddB0CcrRqH3ofAnKyix8BcgE+ATMyHgIVFAYjIiYnNSMVIxEzFTM1MxEWMzI2NTQjIgcB4BgyFDRILRRtgDlUI6OCgqOCHB0wLFkjGQFBBAMXKjghW1oEA8fHAfS6uv55BiEjQAcAAf/0AAAB8gK8AB4BErAKK1iyEhwDK7JAHAFdsiAcAV2yABwBXbAcELAB0LAA0LAAL7AcELEbBPSwCNCwBNCwBdCwBS+yIBIBXbIAEgFdskASAV2yYBIBXbASELETBPSyHx8BXVkAsABFWLACLxuxAhQ+WbAARViwGy8bsRsIPlmyDAIbERI5sAwvslAMAV2ykAwBXbQADBAMAl2y0AwBXbIEAgwREjmwBC+wAdCwBBCwB9yyCQwbERI5sBsQsBPQsAwQsRcC9LAHELAd0DAxAbAKK1i0Bg4WDgJdsjYOAV2yJw4BXbTnDvcOAl2yFg8BXbIHDwFdWQCy1A4BXbIlDgFdsvUOAV20Bg4WDgJdsuYOAV2yNw4BXbQGDxYPAl0DMzUzFTMVIxUzPgEzMh4CFREjNTQmIyIGBxEjESMMSoKhoQQXSDYmOiYTgiEtITkIgkoCWGRkUIIgJhQuTzr+/+Y9Niwj/vYCCP//ADkAAAHtAtACJgFzAAABBwB2AIMAAABHsAorWLQQEyATAnK2jxOfE68TA120jxOfEwJxsv8TAXK07xP/EwJxsg8TAXKy/xMBXbIAEwFdtCATMBMCcbQwE0ATAl0wMVkAAAD////3/zMB5gLAAiYAXAAAAQYCyg8AAECwCitYQQsAvwAlAM8AJQDfACUA7wAlAP8AJQAFXbSAJZAlAnFBCwAQACUAIAAlADAAJQBAACUAUAAlAAVyMDFZAAEAOf9RAdsB9AALAVmwCitYsgYBAyuyHwEBcbJPAQFysv8BAV2yXwEBcbIQAQFdtDABQAECXbABELECBPSyMAYBXbLPBgFxsk8GAXKyDwYBcrL/BgFdshAGAV2ykAYBXbAGELEFBPSyCwEGERI5sAsvtn8LjwufCwNdtA8LHwsCXbAI3LQvCD8IAl2yCQsIERI5tOcJ9wkCcUEJAAcACQAXAAkAJwAJADcACQAEckERAEcACQBXAAkAZwAJAHcACQCHAAkAlwAJAKcACQC3AAkACHGyCgsIERI5QQkAxwAKANcACgDnAAoA9wAKAARxtAcKFwoCcrLgDQFxsrANAXKybw0BcbIPDQFxspANAXKycA0BcrKQDQFdstANAV1ZALAARViwAi8bsQIQPlmwAEVYsAsvG7ELCD5ZsQMC9LACELAF0LALELAI0LALELAK3LIfCgFxsr8KAV2y3woBcbJ/CgFxMDEzETMRMxEzESMHIyc5gp6ClA9YFAH0/n8Bgf4Mr68AAgAA//YCdALVABwALwGUsAorWLISGgMrsp8aAV2yfxoBcbL/GgFdsl8aAXGyIBoBXbKAGgFdsBoQsAHQsADcsBoQsS0G9LAI0LAE0LAF3LIQEgFxtHASgBICXbQQEiASAl2yUBIBXbKwEgFdsjASAXGykBIBcbASELEiB/SyEDEBXVkAsAMvsABFWLAVLxuxFQg+WbINAxUREjmwDS+ycA0BXbIQDQFxspANAXGywA0BcbJQDQFxsuANAV2yMA0BXbIwDQFysgQDDRESObAEL7JPBAFdsi8EAV2wAdCwBBCxBwL0sBvQsBUQsR0D9LANELEnAvQwMQGwCitYtGcPdw8CXbIVEAFysqUQAXK0BhAWEAJxtCYQNhACcrRnEHcQAl2y9xABXbRGE1YTAnGythMBcrbHE9cT5xMDXbLGFAFdtGcgdyACcbKpJQFxWQC0Zw93DwJdsvYQAV20JhA2EAJytGcQdxACXbQHEBcQAnGyFxABcrbIE9gT6BMDXbRIE1gTAnGyuRMBcrLJFAFdsncfAXGyZSABcbJ2IAFxsqklAXERMzUzFTMVIxU+AzMyHgIVFAYjIi4CJxEjATI+AjU0LgIjIg4CBxUeAY6JyMgFFxscDDFcRyqViw4vODkYjgFbHDImFRclMhsHFBQRBAslAohNTXNaAQMCAhMyVEJ4egEEBgYCDv5bCxssICIrGAgCAgMB0QMDAAL/+//5AgYCvAAYACICGbAKK1iyEBYDK7L/FgFdsl8WAV2yfxYBXbJAFgFdsuAWAV2wFhCwAdCwANywFhCxGQT0sAjQsATQsAXcsuAQAV20ABAQEAJdsvAQAXGyQBABcrJAEAFdshAQAXGysBABcbAQELEeBfSy8CQBcVkAsABFWLADLxuxAxQ+WbAARViwEy8bsRMIPlmyCwMTERI5sAsvsgQDCxESObAEL7AB0LAEELAH3LAX0LATELEbAfSwCxCwINxBCQDAACAA0AAgAOAAIADwACAABF20ACAQIAJxtlAgYCBwIANdQQ8AUAAgAGAAIABwACAAgAAgAJAAIACgACAAsAAgAAdxMDEBsAorWLQGDRYNAl2yRg0BXbSmDbYNAl1BCwB2AA0AhgANAJYADQCmAA0AtgANAAVxtCcNNw0CXbSFDpUOAnG0Bg4WDgJdQQkApgAOALYADgDGAA4A1gAOAARdtEYRVhECcbKGEQFytAcRFxECXbI3EQFxtAcSFxICXbK4HAFysogdAXKyVx8BcrKIHwFysrkfAXJZALSmDbYNAl2ydg0BcbSmDbYNAnFBCwAHAA0AFwANACcADQA3AA0ARwANAAVdQQkApgAOALYADgDGAA4A1gAOAARdtAcOFw4CXbQIERgRAl22OBFIEVgRA3G0CBIYEgJdsrMcAXKyYx0BcrKDHQFyslUdAXKyWR8BcrJqHwFysoofAXKyuh8BcgMzNTMVMxUjFT4BMzIeAhUUBiMiJicRIxMWMzI2NTQjIgcFboKgoBgyFDRILRRtgDlUI27wHB0wLFkjGQH0yMhdVQQDFyo5IVtaBAMBl/7WBiEjQQcAAwAm//ICeALKAA8AGAAhAkGwCitYsggAAyuyAAABXbJ/AAFdsv8AAXGyLwABcrTPAN8AAnGyTwABXbJQAAFdsjAAAV20UAhgCAJdsrAIAV2yQAgBcrJwCAFysuAIAV20gAiQCAJdtCAIMAgCXbIACAFdsAgQsRAH9LAAELEYB/SwGdCwEBCwIdCyTyIBXbLwIwFysj8jAXKyYCMBcbKQIwFxWQCwAEVYsAMvG7EDFD5ZsABFWLALLxuxCwg+WbADELETA/SyGAMLERI5sBgvsk8YAV203xjvGAJdtg8YHxgvGANxtG8YfxgCXbKvGAFxso8YAXGxGQH0sAsQsRwD9DAxAbAKK1iy+AEBXbKYAgFdsqgCAXGyeQIBcrKmBQFxsnYFAXKylwUBXbKXCQFdsqYKAXGymA0BXbL4DQFdsngNAXKyGBEBXbJJEQFxshgSAV2yaBIBcbJZEgFxsooSAXG0VhVmFQJxsocVAXGyFxYBXbJHFwFxskYaAXGyFxoBXbI3GgFxtFUbZRsCcbKFGwFxslgeAXGyiB4BcbIYHwFdtDkgSSACcVkAspcCAV2ypwIBcbKXBQFdsqcFAXGymAkBXbJ5CQFysqoKAXGymA0BXbL4DQFdsqkNAXGyeQ0BcrIYEQFdskgRAXGyGBIBXbRYEmgSAnGyiBIBcbIYFQFdtFgVaBUCcbKJFQFxshgWAV2yShcBcbIXGgFdtDcaRxoCcbJVGwFxsoUbAXGyZxsBcbRVHmUeAnGyhR4BcbIXHgFdshcfAV2yRiABcbI3IAFxEzQ2MzIeAhUUBiMiLgIlLgEjIg4CBxUeATMyPgI3JpqPS3BKJJuOTHBJJAHCCFBBHTQpGwQIUj8dNSkbAwFer700YIZSr700YIaLWWAULEcybl9eEytINwADACH/8gH4AgIADwAYAB8DALAKK1iyCAADK7JfAAFdsj8AAXKyfwABcrKfAAFysl8AAXKyfwABXbLgAAFdsgAAAXKygAgBXbIACAFxsq8IAXGyzwgBcbLgCAFdsjAIAV2yEAgBXbAIELEfBfSwENCwABCxGQX0sBjQsq8hAV2yzyEBXbJvIQFdshAhAXJZALAARViwAy8bsQMQPlmwAEVYsAsvG7ELCD5ZsAMQsRMB9LQsEzwTAl2yGAMLERI5sBgvtC8YPxgCXbQPGB8YAnG0rxi/GAJxtG8YfxgCcbTPGN8YAl207xj/GAJxtI8YnxgCcrAZ3LJQGQFxsAsQsRwB9DAxAbAKK1i0yAHYAQJxtMkB2QECXbToAvgCAl20yALYAgJxtMkC2QICXbTFBdUFAl205gX2BQJdtsYF1gXmBQNxtGcFdwUCcrTGCdYJAl20xgnWCQJxsucJAXG0xgrWCgJdtMgN2A0CXbTJDdkNAnG0yQ7ZDgJdtGgReBECcbSoEbgRAnG0axF7EQJytGoSehICcrRmFXYVAnK0Zhd2FwJysvMaAXG0ZRp1GgJytEYaVhoCcbLmGgFxsocaAV20YhtyGwJytEUbVRsCcbL1GwFxtKcbtxsCXbKJHQFytGodeh0CcrRoHngeAnK0SR5ZHgJxtOke+R4CcbKJHgFyWQC0xgHWAQJdtMcB1wECcbTGAtYCAl205wL3AgJdtscC1wLnAgNxtMUF1QUCcUEJAMcABQDXAAUA5wAFAPcABQAEXbLnBQFxtGcFdwUCcrToCfgJAl20yQnZCQJdtskJ2QnpCQNxtMkK2QoCXbTIDdgNAnG0yQ3ZDQJdsuoNAXG0yQ7ZDgJdtMoO2g4CcbRoEXgRAnK0aRF5EQJxtKkRuRECcbRpEnkSAnK0ahV6FQJytGoXehcCcrLmGgFxtGYadhoCcrZnGncahxoDXbRHGlcaAnGy9xoBcbSnG7cbAl20RxtXGwJxsvcbAXGyhR0BcrRoHXgdAnK0ZB50HgJytOUe9R4CcbKGHgFytEceVx4CcTc0NjMyHgIVFAYjIi4CJS4BIyIOAgcVHgEzMjY3IXxwPFg6HXtwPFg7HQFRCDMqEyIbEwMGOCgmOQb6f4kmRWI7f4kmRWJiPDcMGywgUjY5MT4AAf/z//sCqwLFABcBbbAKK1iyFwIDK7IQFwFxsnAXAV2y8BcBXbJSFwFdtAIXEhcCXbKQFwFdskAXAV2ywBcBcrJQFwFxsm8CAXGy/wIBcbLPAgFxsk8CAXGyfwIBcrIAFwIREjm2ZwB3AIcAA11BCQAmAAAANgAAAEYAAABWAAAABHG21gDmAPYAA12yAQIXERI5ttkB6QH5AQNdspcBAV2wAhCwA9y2oAOwA8ADA3G2cAOAA5ADA11BCQBAAAMAUAADAGAAAwBwAAMABHGycAMBcrIQAwFdtAADEAMCcrbQA+AD8AMDXbQAAxADAnGyBQIXERI5sBcQsQgE9LAXELAQ3FkAsABFWLADLxuxAxQ+WbAARViwDS8bsQ0UPlmwAEVYsAEvG7EBCD5ZsAXQtCsFOwUCXbANELEUA/QwMQGwCitYspQEAV20ZQR1BAJxsngKAV2yigoBcVkAsncEAXGymAQBXbKFCgFxsncKAV2yhgsBXbJ3CwFdBSMBMxMXMz8BPgMzMhYXBy4BIyIGBwFbYv76n4wSBBBFECIrNiQmMBUeER0QFx4NBQLB/mV3eOU2SSwTDAt0CQYjKAAB//n/+wIfAf0AFgFjsAorWLIWAgMrsr8CAXKyTwIBcrLgAgFdskACAV2ycBYBcbKQFgFdtNAW4BYCXbJQFgFysrAWAXGyQBYBXbIAAhYREjm0RgBWAAJxsgECFhESObTpAfkBAl20CQEZAQJdsAIQsAPcshADAV2y8AMBXbQAAxADAnG0YwNzAwJytlADYANwAwNxtIADkAMCXbTAA9ADAnFBCQAgAAMAMAADAEAAAwBQAAMABHKyBRYCERI5sBYQsAnctAoJGgkCcbJcCQFdst8JAV206wn7CQJdtGoJegkCcbJFCQFdsBYQsBDcWQCwAEVYsAMvG7EDED5ZsABFWLANLxuxDRA+WbAARViwAS8bsQEIPlmwBdC0CwUbBQJdsA0QsRMC9DAxAbAKK1i0CAoYCgJdtAgLGAsCXbRIC1gLAl2yyQsBXbSqC7oLAl1ZALQGChYKAl20RgtWCwJdtqYLtgvGCwNdtAcLFwsCXQUjAzMTFzM/AT4DMzIWFwcmIyIGBwEhT9mXXREEDxcRHyUvIRgsDhISEBEfEAUB+f76TU9HNkwvFQkIagkcJgACADz/fgLSA2oAFAAjA0uwCitYsg4GAyu0EAYgBgJdsv8GAV2yDwYBcbIfBgFyst8GAXGyTwYBcrJABgFdsgAGAXKwBhCxBwb0sATQtkQEVARkBANytAUEFQQCcbKGBAFdsjYEAXGyNgQBXbS1BMUEAnG2RARUBGQEA3Gy1AQBcbJzBAFxsmAOAXK0EA4gDgJdsnAOAV2y4A4BXbLvDgFxspAOAV20QA5QDgJdshAOAXGywA4BcrIADgFysA4QsRQG9LAM0LKJDAFdtroMygzaDANxtksMWwxrDANxsnwMAXG2SwxbDGsMA3K0CQwZDAJdsjkMAV2yuAwBXbAOELAP0LAPL7AS3LYgEjASQBIDXbLgEgFxsAYQsCPQsCMvsi8jAXGyryMBXbJvIwFxsBXQsmYVAXGyRhUBcbI3FQFxsikVAV2yphUBXbS2FcYVAnGyVRUBcbK1FQFdsCMQsBvctAAbEBsCcbIvGwFdsrAbAV2y4BsBXbAa0LQmGjYaAl1ZALAARViwBy8bsQcUPlmwAEVYsBMvG7ETCD5ZsAcQsAzQsgETDBESObATELAE0LIJBwQREjmyhAkBXbQDCRMJAl2ykwkBXbATELEOAvSwExCwEtyyIBIBXbKgEgFdsAcQsB7csBXctA8VHxUCXbIQFQFxsB4QsBjcsBUQsBrQsBovMDEBsAorWLL2AwFdtAYDFgMCcbJnAwFxsqcDAXK0CAsYCwJdspgLAV222AvoC/gLA12yGAsBcbKoCwFxstgLAXGyCQsBcbJ5CwFxtLkLyQsCcbRZC2kLAnK0uwvLCwJyspYWAV2yhBwBcbL1HAFdtAYcFhwCcbamHLYcxhwDcbIHHAFdspccAXGyCCEBXbIIIQFxtqghuCHIIQNxsvohAV20iiGaIQJxWQC0CAMYAwJxsvkDAV2yaQMBcbRUC2QLAnK0tQvFCwJytLYLxgsCcbQHCxcLAl2ylwsBXbbXC+cL9wsDXbQHCxcLAnGydwsBcbKnCwFxstcLAXGylxYBXbIIHAFdsvgcAV2ymBwBcbS4HMgcAnGyGRwBcbKpHAFxsgocAXGyihwBcbIIIQFdsoghAXGyCSEBcUEJAJkAIQCpACEAuQAhAMkAIQAEcbL6IQFdshohAXEBNyMHASMRMxEHMzcBMxEzFQcjNyMDHgEzMjcXDgEjIi4CJwHUCAUv/vtniQoGMQEFZnVgXi1t0AQnH0MHbwtdUilEMyEEAYRbXv5/Arz+g15hAXr9tx/WggNqIBw7ET86DBsuIgACADn/jgJTAsAAFAAkAsawCitYsg4GAyuyPwYBcrIvBgFxsk8GAXGyDwYBcbIfBgFyQQkAEAAGACAABgAwAAYAQAAGAARdsAYQsQcE9LAE0LRmBHYEAnGydwQBXbQGBBYEAnGyVQQBcbJwDgFyQQkAEAAOACAADgAwAA4AQAAOAARdsh8OAXK0Pw5PDgJysi8OAXGycA4BcbIQDgFxspAOAV2wDhCxFAT0sAzQtAkMGQwCXbRpDHkMAnG0yQzZDAJdtAkMGQwCcbAOELAP0LAPL7AS3LLgEgFdtiASMBJAEgNdsAYQsCTQsCQvsg8kAXKyDyQBXbJwJAFysBXQttYV5hX2FQNdsscVAV20ZhV2FQJxtIQVlBUCcbAkELAc3LIwHAFxsk8cAV2yTxwBcrLQHAFdspAcAXGwG9CyRxsBXbJ/JgFdWQCwAEVYsAcvG7EHED5ZsABFWLATLxuxEwg+WbAHELAM0LIBDBMREjmwExCwBNCyCQQHERI5tAEJEQkCXbATELEOAvSwExCwEtywBxCwH9yyTx8BcbAV3LIPFQFdslAVAXGysBUBcbAfELAY3LKPGAFdsBUQsBvQsBsvMDEBsAorWLKFAwFysrYDAXFBCQAmAAMANgADAEYAAwBWAAMABHK0hwOXAwJdtOcD9wMCXbToC/gLAl20JxY3FgJxsjYXAXGyRhoBcbSGHZYdAnG0Bx0XHQJdtGcddx0CcbSnHbcdAnG0Jx03HQJytAgiGCICXUEJAIgAIgCYACIAqAAiALgAIgAEcbRpInkiAnFZALSIA5gDAl2yuAMBcbTpA/kDAl1BCQAqAAMAOgADAEoAAwBaAAMABHKyigMBcrTnC/cLAl20CB0YHQJdtKgduB0CcbQoHTgdAnJBCQBpAB0AeQAdAIkAHQCZAB0ABHG0CCIYIgJdQQkAiAAiAJgAIgCoACIAuAAiAARxtGkieSICcSU3Iw8BIxEzFQczPwEzETMVByM3IwMeATMyNjcXDgEjIi4CJwFmBQMrslKCBgQptFJrYF4tXIsHIRocIQZjDF4/HzouIAbkR0niAfTuREfr/n8fxnICwCcgICYZQT8OHzAj//8AAP/2AnQC1QIGAZcAAAAC//v/+QIGArwAGAAiAlKwCitYshAWAyuyLxYBcbJPFgFyss8WAV20fxaPFgJdsq8WAV2yXxYBXbIfFgFysv8WAV22IBYwFkAWA12wFhCwAdCwANywFhCxGQT0sAjQsATQsAXcshAQAXFBCwAAABAAEAAQACAAEAAwABAAQAAQAAVdso8QAV2yHxABcrIvEAFxsq8QAV2y4BABXbKwEAFxsvAQAXGwEBCxHgX0WQCwAEVYsAMvG7EDFD5ZsABFWLATLxuxEwg+WbILAxMREjmwCy+yBAMLERI5sAQvsAHQsAQQsAfcsBfQsBMQsRsB9LALELAg3LZQIGAgcCADXUEJAMAAIADQACAA4AAgAPAAIAAEXbQAIBAgAnFBDwBQACAAYAAgAHAAIACAACAAkAAgAKAAIACwACAAB3EwMQGwCitYtKUNtQ0CXbJ1DQFxtKUNtQ0CcbQGDRYNAl2yRg0BXbQnDTcNAl20hw2XDQJxtMUO1Q4CXbSFDpUOAnG0pg62DgJdQQkABwAOABcADgAnAA4ANwAOAARdsoQRAXK2NhFGEVYRA3G0BxEXEQJdtAcSFxICXbKJHAFytFgdaB0CcrJXHwFysmgfAXKyiR8BcrK5HwFyWQCydQ0BcbSGDZYNAnG0Bw0XDQJdskcNAV20pw23DQJdtKcNtw0CcbTGDtYOAl1BCQAHAA4AFwAOACcADgA3AA4ABF20hw6XDgJxtAgRGBECXbY5EUkRWREDcbKKEQFytAkSGRICXbK1HAFysoYcAXKyYx0BcrJVHQFysrgfAXK0Wx9rHwJysosfAXIDMzUzFTMVIxU+ATMyHgIVFAYjIiYnESMTFjMyNjU0IyIHBW6CoKAYMhQ0SC0UbYA5VCNu8BwdMCxZIxkB9MjIXVUEAxcqOSFbWgQDAZf+1gYhI0EHAAIAPAAAAiMCxgAXAC4B67AKK1iyCBcDK7KQCAFdslAIAXGycAgBcbKwCAFdsnAIAV1BDQAAAAgAEAAIACAACAAwAAgAQAAIAFAACAAGXbIfFwFxsv8XAV2y3xcBcbYgFzAXQBcDXbIAFwFdsBcQsRYG9LAl0LILCCUREjmylgsBXbIOJQgREjm2aQ55DokOA12yOA4BXbAOELAM0LAML7AIELEcB/SyGRwlERI5si0lHBESObAZELAu0LAuL7IfLwFdWQCwAEVYsAMvG7EDFD5ZsABFWLAWLxuxFgg+WbIQAxYREjmwEC+yCwMQERI5spYLAV2wCxCwDdCwDS+yDhADERI5tmkOeQ6JDgNdsBAQsSoC9LADELEhAvSyLSohERI5sC0QsBjQsBgvtiAYMBhAGANdshkhKhESOTAxAbAKK1i21gbmBvYGA12yNgYBcbRnBncGAl2yVwYBcrKlCgFytEYKVgoCcbQmCjYKAnKypwoBcbZoDHgMiAwDXbRrDXsNAl2yjA0BXbLYGwFxsogfAXGyGR8BclkAsjUGAXG0ZwZ3BgJdttcG5wb3BgNdslcGAXK0SQpZCgJxsqkKAXGyqQoBcrQqCjoKAnKyhwwBXbRoDHgMAl22aA14DYgNA12yhBkBXbKGGgFdstUbAXGyGB8BcrKJHwFxEz4BMzIeAhUUBgcXBycGIyoBLgEnFSMTFz4BNTQuAiMiBgcVHgIyMzI2Nyc8KmUyNGlUNTIqQE9NKi0FFhgXBYnzPxEUGCcyGhQkCwQQEhEEDhoNOgK1CAkRM1tJRV4dWzptCQECAfEB3lwOLSMhKxoKAwLjAQIBAgNTAAIAOf84AfsCAgAWACkBlrAKK1iyCRYDK7IAFgFysj8WAXKy/xYBXbI/FgFxsl8WAXKyXxYBcbIfFgFxtiAWMBZAFgNdsgAWAV2wFhCxFQT0sCLQsALQQQsAAAAJABAACQAgAAkAMAAJAEAACQAFXbJwCQFysmAJAV22gAmQCaAJA12yCwkiERI5sg4iCRESObAOELAM0LAML7AJELEbBfSyGBsiERI5sigiGxESObAYELAp0LApL7IQKwFyspArAV2y0CsBcbLwKwFxWQCwAEVYsAYvG7EGED5ZsABFWLABLxuxARA+WbAARViwFS8bsRUKPlmwAEVYsBEvG7ERCD5ZsgIGERESObILEQYREjmwCxCwDdCwDS+yDgYRERI5shQRBhESObAGELEeAfSwERCxJQH0sigeJRESObAoELAX0LAXL7IYHiUREjmyZxgBXTAxAbAKK1i0hgeWBwJdtEYHVgcCcbQHBxcHAl2ydwcBXbKnBwFdsncIAV1ZALJ2BwFdtAcHFwcCXbaHB5cHpwcDXbRHB1cHAnGydwgBXbSpHLkcAnETMxczPgEzMhYVFAcXBycOASMiJicVIxMXPgE1NCYjIgYHFR4BMzI2Nyc5Xw8EGkczXl5GL0k3EicVHygUgu0wDxAsMSYrDA4hGwoTCC8B9DwmJHeEjkk4PUMFBwkKzQGJPBVBL0JIJibQCw0CAzkAAQA8AAAB1ANUAAkAnrAKK1i7AAMABgAEAAQrsvADAV2yAAMBcbQgAzADAnK0MANAAwJdtAADEAMCXbQgBDAEAnK0AAQQBAJdsvAEAV2yAAQBcbQwBEAEAl2wBBCwCNyycAgBXbJgCAFxshAIAXGyUAgBXbLACAFysAfcsuALAV1ZALAARViwBi8bsQYUPlmwAEVYsAMvG7EDCD5ZsAYQsQID9LAGELAH3DAxAQchESMRITczFQHUAf7yiQEqFVgCvHr9vgK8mJgAAQA5AAABfAKMAAcAlrAKK1i7AAEABQACAAQrsj8BAXGy/wEBXbI/AQFytAABEAECXbJAAQFdsv8CAV2yPwIBcrI/AgFxtAACEAICXbJAAgFdsAIQsAbcslAGAXGycAYBcrLwBgFdslAGAV2wBdyygAUBXbKwCQFdWQCwAEVYsAQvG7EEED5ZsABFWLABLxuxAQg+WbAEELEAAvSwBBCwBdwwMRMRIxEzNzMRv4bXFVcBgf5/AfSY/vUAAQAAAAAB9wK8AA0AmrAKK1i7AAYABgAHAAQrsgAHAXGyMAcBXbAHELAA3LIQAAFxssAAAXKyYAABcbJwAAFdslAAAV2yMAYBXbIABgFxsAYQsALQsAPcsAcQsAvQsArcsuAPAV1ZALAARViwDS8bsQ0UPlmwAEVYsAYvG7EGCD5ZsA0QsQAD9LICDQYREjmwAi+wBdy0YAVwBQJdsAjQsAIQsAvQMDEBIRUzFSMRIxEjNTMRIQH3/vLg4IlgYAGXAkK/Xf7aASZdATkAAQAAAAABlgH0AA0AubAKK1i7AAYABQAHAAQrsv8GAV2yrwYBXbYgBjAGQAYDXbLQBgFysAYQsALQsAPcshADAV2y/wcBXbKvBwFdstAHAXK2IAcwB0AHA12wBxCwC9CwCtywBxCwDdyy8A0BXbJwDQFyspANAV2yUA0BcbJQDQFdWQCwAEVYsA0vG7ENED5ZsABFWLAGLxuxBgg+WbANELEAAvSyAg0GERI5sAIvsAXcsmAFAXGyIAUBcrAI0LACELAL0DAxASMVMxUjFSM1IzUzNSEBlr2iooZTUwFDAYFvUMLCUOIAAQA8/4ECIgK8ACMBTbAKK1i7AAAABgABAAQrsi8AAXG23wDvAP8AA3G0AAAQAAJdsjAAAV223wHvAf8BA3GyLwEBcbQAARABAl2yMAEBXbABELAD3LJwAwFdshADAXGyYAMBcbLwAwFdslADAV2ywAMBcrAAELAG0LADELAO0LAOL7IADgFdshQOARESObAUL7AOELEbB/RZALARL7AARViwAy8bsQMUPlmwAEVYsAAvG7EACD5ZsAMQsQQD9LKgEQFdsiARAV2yCQMRERI5sAkvsBEQsRgD9LAJELEgA/QwMQGwCitYsvYLAV201wvnCwJdtNUM5QwCXbLGDwFdsgcQAV22xxDXEOcQA120VxBnEAJysokaAXGyiR0BcVkAsvYLAV201wvnCwJdtNYM5gwCXbLIDwFdsggQAV2yyBABXbTZEOkQAl20WhBqEAJysoYaAXGyiB0BcTMjESEVIRU+ATMyHgIVFAYjIiYnNR4BMzI2NTQuAiMiBgfFiQGX/vIQQzAqTj0lcn8bGwgHIRAzNBIgLBkYMgwCvHrLBhAXOWNMgYwCAnYCAUZKKTYfDQwGAAEAOf8rAfQB9AAiAU2wCitYuwAAAAQAAQAEK7QvAD8AAnGyTwABcrL/AAFdskAAAV2yTwEBcrL/AQFdtC8BPwECcbJAAQFdsAEQsAPcsvADAV2yUAMBcbAAELAG0LABELAO3LQADhAOAl2yEA4BcbLwDgFdstAOAV2yFgEOERI5sBYvsA4QsRwF9LLQJAFdWQCwAEVYsAMvG7EDED5ZsABFWLAALxuxAAg+WbAARViwEy8bsRMKPlmwAxCxBAL0sgkDABESObAJL7ATELEaAvSwCRCxHwL0MDEBsAorWLKmCwFdtAcLFwsCXbQmDDYMAnG0Zgx2DAJytAcMFwwCXbQGEBYQAnG05hH2EQJdtAcRFxECXbQHERcRAnFZALKmCwFdtAcLFwsCXbQmDDYMAnG0BwwXDAJdtGcMdwwCcrQIEBgQAnG0CBEYEQJdtAgRGBECcbTqEfoRAl0zIxEhFSMVPgEzMh4CFRQOAiMiJic1HgEzMjU0JiMiBge7ggE+vBA8MCZFNB4XNlc/HBsICCEQYjUtFy0MAfRzfgYPFjZcRj9gQCADAnABAYRHPAwGAAH/+f+DA1QCvAAdAiewCitYuwARAAQAEgAEK7IfEQFyshARAV2yYBEBcrARELAC0LARELAO3LJADgFdsATQtmoEegSKBANdQQ0AqgAEALoABADKAAQA2gAEAOoABAD6AAQABl20CgQaBAJxslkEAV2ymQQBXbAF3LJQBQFxtGMFcwUCcbIQBQFdtOAF8AUCXbQABRAFAnG0gAWQBQJdsgcFAhESObKWBwFdsA4QsAnctCQJNAkCcbQGCRYJAl221QnlCfUJA120AwkTCQJxtnAJgAmQCQNdsArQsAovsAzcsh8MAXFBCwAgAAwAMAAMAEAADABQAAwAYAAMAAVdsh8SAXKyEBIBXbJgEgFysBIQsBXcsk8VAV2wFtyyHxYBXbZ/Fo8WnxYDXbbfFu8W/xYDXbQPFh8WAnGwFRCwG9C0Khs6GwJxQQsAtQAbAMUAGwDVABsA5QAbAPUAGwAFXbQFGxUbAnGwGtyyHxoBXbbfGu8a/xoDXbQPGh8aAnG0TxpfGgJxtn8ajxqfGgNdtGwafBoCcbASELAd0LIYGh0REjmyLx8BXVkAsABFWLAALxuxABQ+WbAARViwEi8bsRIIPlmyEBIAERI5sBAvspAQAV2wAtCwABCwBNCyBwIQERI5sBIQsA3QsQkD9LANELAM3LKgDAFdsiAMAV2yHQASERI5sB0vsBPQsBIQsBXQshgdExESObAAELAb0DAxAbAKK1iyWQ8BXVkAsmgDAV2yZxQBXQEzETcTMwMHHwEzFSMnIwMjESMRBwMjEzcnAzMTMwFegiORmqMvOXFOYA89oSeCJKGgtzY0q5+RJwK8/skOASn+zSIqw/d9ATD+0AE8Dv7SATMnJQE9/tUAAf/6/44C0AH0AB0D8rAKK1i7ABsABAAcAAQrsv8cAXG0DxwfHAJysr8cAV2yfxwBXbYAHBAcIBwDXbAcELAB0LQEARQBAnGypgEBcrJHAQFdsscBAXGy+AEBXbJ5AQFdspgBAXGyCAEBXbLnAQFdsgcBAXK0ZAF0AQJxtIQBlAECXbIUAQFdsALQsrYCAV2ymAIBcbTpAvkCAl2yyQIBcbLaAgFxsloCAXG0iwKbAgJdtAwCHAICcbbbAusC+wIDcrJ7AgFysnoCAXGyaQIBcrJpAgFxsjkCAXKy2AIBXbIDAgFysuICAXGwBtCy5wYBcbTpBvkGAl2ymwYBXbKJBgFdsicGAV20ZgZ2BgJxsBwQsAnQsgQGCRESObKHBAFdskcEAV2ytgQBXbAGELAH0LKEBwFytIYHlgcCXbIHBwFysvcHAV20Zgd2BwJxssUHAXK21AfkB/QHA3K0AwcTBwJxsuAbAXGyHxsBcrK/GwFdsn8bAV22ABsQGyAbA12ykBsBcrAbELAM0LAbELAY0LL3GAFdstcYAV20ChgaGAJxshoYAV20ixibGAJdtGoYehgCcbLIGAFdskcYAXGyphgBXbJ2GAFdsBPQstQTAXG21BPkE/QTA3KyJRMBcrLFEwFyssUTAXG0hhOWEwJdshcTAXKyWBMBXbILEwFyskkTAV2y9xMBXbI2EwFysuYTAXGyZRMBcbJ1EwFyslUTAXKyhBMBcrQDExMTAnGycxMBcbAP0LJ2DwFxsvcPAV2yuQ8BXbI5DwFysikPAV2yqw8BXbQJDxkPAnGyyQ8BcbSYD6gPAnGyZw8BcbKFDwFdspMPAV2wDtCyKA4BcrRpDnkOAnGymg4BXbLKDgFysnsOAXK0DA4cDgJxsowOAXK22w7rDvsOA3KyGg4BXbLaDgFxsogOAV20OA5IDgJxsqcOAV2yEQ8MERI5sscRAV2ySREBXbJYEQFdshcRAV20hxGXEQJdsBMQsBTQsBQvsi8UAV2yTxQBXbAW3EELACAAFgAwABYAQAAWAFAAFgBgABYABV2yYBYBclkAsABFWLAHLxuxBxA+WbAARViwAS8bsQEIPlmwBxCwCtCwARCwHNCyGgocERI5sBovtC8aPxoCXbTpGvkaAl20CRoZGgJxtMIa0hoCXbAM0LZbDGsMewwDcUEJAMsADADbAAwA6wAMAPsADAAEXbQLDBsMAnG0aQx5DAJdshEMGhESObSHEZcRAl2wERCwBNCwDBCwCdCwChCwDtCwHBCwF9CxEwL0sBcQsBbcskAWAV2wGhCwHdAwMQGwCitYsicCAXGyGAMBcbRoEHgQAl2yJhIBcbKXEgFdWQCyFwMBcbJ3EAFdNwcjPwEvATMXMzUzFT8BMw8BHwEzFSMnIycjFSM18maSgyIzZ4tdK3wmXoptJzM7VF8PPWYrfMvL5R4my8vL1Q7HyyAobuVyz8/ZAAEAEv9RAesCyAA8Ax6wCitYshstAyuyABsBcbJAGwFxsoAbAXGywBsBcbKQGwFyst8bAV2yvxsBXbIwGwFysqAbAXGyYBsBcbIgGwFxsuAbAV2yEBsBXbKgLQFxsg8tAXKyHy0BcbLfLQFdso8tAV2yvy0BXbL/LQFdsl8tAXGyAC0BcbJALQFxsiAtAXGyABstERI5sAAvsBsQsQoH9LAtELAR0LARL7IeGwAREjmwGxCwItCwIi+yKi0bERI5sCovsCfctC8nPycCXbIoJyoREjlBEwBHACgAVwAoAGcAKAB3ACgAhwAoAJcAKACnACgAtwAoAMcAKAAJcUELAAcAKAAXACgAJwAoADcAKABHACgABXKy5ygBcbIpKicREjm01ynnKQJxQQsABwApABcAKQAnACkANwApAEcAKQAFcrAiELE2B/SyYD4BclkAsABFWLAWLxuxFhQ+WbAARViwKi8bsSoIPlmyARYqERI5sAEvsk8BAV203wHvAQJdsQAB9LAWELENA/SyHgEAERI5sCoQsCfQsCoQsCncsuApAXGyACkBXbJgKQFdsCoQsTED9DAxAbAKK1iylQsBXbQHGBcYAl20RRlVGQJxsuUZAXGylhkBXbI2GQFxsmYZAXGy9hkBcbQHGRcZAl2yJxkBcbKWHQFyspcdAV20RiBWIAJxQQkAlgAgAKYAIAC2ACAAxgAgAARxtCYgNiACcrI3IAFxshcgAXKyliEBcbI2JAFxsuYkAXG2ViRmJHYkA3Ky9yQBXbL3JAFxtCclNyUCXbJnNAFxsog0AXGymjgBcbS6OMo4AnFZALJmCAFxQQkAWAAQAGgAEAB4ABAAiAAQAARdspkQAV2yKRABcrQHGBcYAl2y9RkBcbQmGTYZAnG0BxkXGQJdspcZAV22RxlXGWcZA3Gy5xkBcbKZHQFdspodAXK0tSDFIAJxtjYgRiBWIANxsqcgAXG2FyAnIDcgA3Ky+CQBXbLoJAFxsjkkAXGy+SQBcbZZJGkkeSQDcrQoJTglAl20hi6WLgJdtGcudy4CXbKFNAFxsmY0AXG0uDjIOAJxspk4AXETNTM6AT4BNz4BNTQmIyIGByc+AzMyHgIVFAYHFR4BFRQOAg8BIycuASc3HgEzMj4CNTQmJyYiI3gYCRobGggjMj0yLU4UIwspNT4gLFRCKDc9QUkjOk0rDlgTLUgWIxdWOxYtJBZGWgwMDwE2awEDAggpIzAjGAt0Bg4NCBAoQzQ0WBQFDVZIMUk0HwalpAUSC3cLFwsZKBwvMAIBAAEAFv9RAY8B/QAtBC2wCitYshIkAyuyoCQBcbIvJAFxsn8kAV2y3yQBXbL/JAFdsq8kAXKyYCQBcbKAJAFxsmAkAV20UBJgEgJxsqASAXGyLxIBcbLfEgFdsq8SAXKy0BIBcbKAEgFxsmASAV2yEBIBXbIAJBIREjmwAC+wEhCxBQT0sCQQsAzQsAwvshcSABESObQHFxcXAl2wEhCwG9CwGy+2EBsgGzAbA3GyISQSERI5sCEvQQkAQAAhAFAAIQBgACEAcAAhAARdQQkAwAAhANAAIQDgACEA8AAhAARdsB7css8eAXK0Lx4/HgJdsk8eAXKy0B4BcbIfIR4REjlBGQBHAB8AVwAfAGcAHwB3AB8AhwAfAJcAHwCnAB8AtwAfAMcAHwDXAB8A5wAfAPcAHwAMcUETAAcAHwAXAB8AJwAfADcAHwBHAB8AVwAfAGcAHwB3AB8AhwAfAAlysiAhHhESObTnIPcgAnFBEwAHACAAFwAgACcAIAA3ACAARwAgAFcAIABnACAAdwAgAIcAIAAJcrAbELEqBPSyIC8BclkAsABFWLAPLxuxDxA+WbAARViwIS8bsSEIPlmyAQ8hERI5sAEvtC8BPwECcbSvAb8BAnK0bwF/AQJxtI8BnwECXbQPAR8BAnKwANy0YABwAAJdtBAAIAACcbAPELEIAfSyFwEAERI5sCEQsB7QsB4vsCEQsCDcsCEQsSgB9DAxAbAKK1iyeAsBXbRoC3gLAnJBCQAGABAAFgAQACYAEAA2ABAABF1BCQCmABAAtgAQAMYAEADWABAABF205xD3EAJdtOcQ9xACcbSkEbQRAl20xRHVEQJdtAURFRECcbTmEfYRAl205hH2EQJxtAYRFhECcrbGEdYR5hEDckEJAAcAEQAXABEAJwARADcAEQAEXbQnETcRAnG0BxQXFAJxtGYVdhUCcbRHFVcVAnG0JRk1GQJxtAcZFxkCXbQHHBccAl20pxy3HAJdsvUdAXK0Bh0WHQJdtGYddh0CcbQnHTcdAl20px23HQJdtIcdlx0CcbLnHQFyspklAXJZALJ4CwFdtGkLeQsCcrSlELUQAl1BCQAGABAAFgAQACYAEAA2ABAABF1BCQDGABAA1gAQAOYAEAD2ABAABF205xD3EAJxQQ0ApgARALYAEQDGABEA1gARAOYAEQD2ABEABl1BCQAGABEAFgARACYAEQA2ABEABHFBCQAHABEAFwARACcAEQA3ABEABF20BxEXEQJytAgUGBQCcbRIFVgVAnG0aRV5FQJxtEgWWBYCcbQlGTUZAnG0BxkXGQJdtAgcGBwCXbSoHLgcAl20KB04HQJdtKgduB0CXbQJHRkdAl1BCQBpAB0AeQAdAIkAHQCZAB0ABHG06R35HQJytKkjuSMCXbSoJLgkAl20liWmJQJytIcllyUCXbKGKQFyNzUzMjY1NCYjIgYHJz4BMzIWFRQOAgcVHgEVFAYPASMnLgEnNx4BMzI1NCYjbT0jLScpJz0SHB5jOFZVCRQdFDUsREgOWBMmORUcF0IoWi9Az1sdFxsWFQtkERlAPREjIBkHBAw9MzNPDqunBBMMZQ0ROhoZAAEAPP+DAnQCvAASAeuwCitYuwACAAYAAwAEK7IfAgFysu8CAV20AAIQAgJdskACAV2y7wMBXbIfAwFytAADEAMCXbJAAwFdsAIQsAbQsAIQsBLcsuQSAV2yHBIBcbLfEgFdst8SAXGynxIBXbK1EgFdsqESAV20IBIwEgJdsAjQskkIAV22agh6CIoIA12yOggBcbJcCAFytqoIugjKCANdspkIAV2yWAgBXbIlCAFxsAnctnAJgAmQCQNdtOMJ8wkCXbQDCRMJAnGy2gkBXbRFCVUJAnJBCQBAAAkAUAAJAGAACQBwAAkABHG0sAnACQJxshAJAV2yCwkGERI5tGYLdgsCXbTlC/ULAl20BQsVCwJxsBIQsA3cshMNAXGyBQ0BcbRlDXUNAl2yhg0BXbJWDQFdtAUNFQ0CXbTFDdUNAl204w3zDQJdsmANAXG2gA2QDaANA3GwDtCwDi+wENyyHxABcUELACAAEAAwABAAQAAQAFAAEABgABAABV1ZALAARViwBS8bsQUUPlmwAEVYsBEvG7ERCD5ZsgEFERESObABL7QvAT8BAl2wERCwAtCwARCwBtCwBRCwCNCyCwYBERI5sBEQsQ0D9LARELAQ3LKgEAFdsiAQAV2yqBIBXTAxAbAKK1iyRwcBXbIZBwFdWQCySAcBXRMjESMRMxE3EzMDBx8BMxUjJyPpJImJIMGczDY4kmpgD00BK/7VArz+yg4BKP7aJifP930AAQA5/44CBwH0ABICPrAKK1i7AAIABAADAAQrsj8CAXGy/wIBXbI/AgFytAACEAICXbJAAgFdsv8DAV2yPwMBcrI/AwFxtAADEAMCXbJAAwFdsAIQsAbQsAIQsBLQsjcSAXG0CRIZEgJxsooSAV2ymRIBXbJ3EgFdstcSAV2wDdCy0w0BcbLEDQFxsoQNAV2yVQ0BcbQlDTUNAnKylQ0BXbK2DQFxskYNAXGyVg0BXbLGDQFdsrcNAV2yZw0BXbL2DQFdsnYNAV2ylg0BcbJGDQFyQQsAtQANAMUADQDVAA0A5QANAPUADQAFcrL1DQFxsmUNAXKy5A0BcbRkDXQNAnG0cw2DDQJysgMNAXGyEg0BcbAJ0LL2CQFdsucJAV2yCgkBcbJqCQFyskoJAXK0GAkoCQJdsgcJAV2yhQkBXbJ1CQFxsAjQsukIAV2y+ggBXUEJAMoACADaAAgA6gAIAPoACAAEcrLsCAFxsn0IAXKyjggBcrL9CAFxtAwIHAgCcbIaCAFdtkoIWghqCANyspoIAV20Jwg3CAJdsqcIAV2yCwkGERI5soYLAV2wDRCwDtCwDi+wENxBCwAgABAAMAAQAEAAEABQABAAYAAQAAVdsmAQAXJZALAARViwBS8bsQUQPlmwAEVYsAIvG7ECCD5ZsgEFAhESObABL7QvAT8BAl2ywAEBXbAG0LAFELAI0LILBgEREjmwAhCwEdCxDQL0sBEQsBDcskAQAV0wMQGwCitYssUMAV205gz2DAJdsncMAV2ytwwBXVk3IxUjETMVPwEzDwEfATMVIycj3iOCgh91i3kzOERdXw9Bz88B9NUOx74mJ3blcgABADwAAALBArwAFgFUsAorWLsAAgAGAAMABCuyAAIBXbQwAkACAl2yAAMBXbQwA0ADAl2wAhCwBtCwAxCwEdCyAxEBXbJlEQFxskYRAXGyFREBXbJ0EQFxshMRAXGyAhEBcbIWAxEREjmwFi+yTxYBXbIAFgFdsAfQsBYQsBXcsArQsBEQsBLQsmkSAV2yehIBXbJKEgFxsosSAV2ynBIBXbIcEgFxsvsSAV2yCxIBcbQLEhsSAl2y6hIBXbJ5EgFxsmgSAXGyNRIBXbAM0LAL0LARELAN0LIZDQFdsA7QshYOAV2wERCwENCwEhCwE9CyHxcBXbIfGAFdWQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbIBBQIREjmwARCwBtCwC9CyBwYLERI5sAYQsAjQsAgvsgoLBhESObAFELAM0LIPBgEREjmwAhCwEtCwARCwFNCwARCwFtCwFi8wMRMjESMRMxE3NTMVNxMzAwcXEyMDIxUj+zaJiTZdFqKUqzY4xp+wGl0BK/7VArz+ygSFfQIBKP7aJif+twErfwABADkAAAI8AfQAFgFesAorWLsAAgAEAAMABCuyPwIBcbL/AgFdtAACEAICXbJAAgFdsv8DAV2yPwMBcbQAAxADAl2yQAMBXbACELAG0LAGL7ADELAR0LJlEQFytAYRFhECXbQEERQRAnGyYhEBcbIWAxEREjmwFi+yEBYBXbAH0LAWELAV3LAK0LARELAS0LRpEnkSAnGyGhIBXbZsEnwSjBIDcrTqEvoSAl20ChIaEgJxsgkSAV2ymRIBXbAM0LAL0LARELAN0LIZDQFdsA7Qsg8LDhESObARELAQ0LASELAT0LJAGAFdWQCwAEVYsAUvG7EFED5ZsABFWLACLxuxAgg+WbIBBQIREjmwAS+0LwE/AQJdsAbQQQkAawAGAHsABgCLAAYAmwAGAARdsAvQsgcGCxESObAGELAI0LAIL7IKCwYREjmwBRCwDNCyDwYBERI5sAIQsBLQsAEQsBPQsAEQsBbQsBYvMDE3IxUjETMVNzUzFT8BMw8BHwEjJyMVI+UqgoIqTBZciGA1OG6QYRpMz88B9NUEeHACx74mJ+nPdgABAAAAAAKpArwAFgE3sAorWLsAEwAGABQABCu0ABQQFAJxskAUAV2ykBQBXbAUELAB0LABL7AA0LAAL7QAExATAnGykBMBXbJAEwFdsBMQsAjQsATQsBQQsA/QspUPAV2yFQ8BXbIDDwFdsBDQssoQAXG22hDqEPoQA12yexABcbLbEAFxsh0QAXGyDBABcbQLEBsQAl22ehCKEJoQA12yahABcbK5EAFxsmkQAV2wCtCyGQoBXbIFBAoREjmwBS+wChCwCdCwDxCwC9CyGQsBXbAM0LINCQwREjmwDxCwDtCwEBCwEdBZALAARViwAy8bsQMUPlmwAEVYsBMvG7ETCD5ZsgQDExESObAEL7AB0LAEELAH3LISEwMREjmwEi+wCNCwCdCwAxCwCtCyDQgSERI5sBMQsBDQsAcQsBXQsBUvMDERMzUzFTMVIxU3EzMDBxcTIwMjESMRI4SJXV02sZa8QD3eqcQviYQCgzk5XaAOASj+2iYn/rcBK/7VAhsAAf/yAAAB+AK8ABYCWbAKK1i7ABMABAAUAAQrsuAUAV20MBRAFAJdtAAUEBQCXbAUELAB0LAA3LQAExATAl2y4BMBXbQwE0ATAl2wExCwCNCwBNCwBdywExCwENC0phC2EAJxstcQAV2y+BABcbL5EAFdtAkQGRACcbSKEJoQAl2yGhABXbLqEAFdslgQAXGyNxABcbJ3EAFxskYQAXGydRABXbAP0LLyDwFxsgIPAXG00w/jDwJxtGQPdA8CcUEJACUADwA1AA8ARQAPAFUADwAEcrTlD/UPAl2yBQ8BXbKmDwFxsjcPAXG0xw/XDwJdspcPAXFBCwC1AA8AxQAPANUADwDlAA8A9QAPAAVytmUPdQ+FDwNdtEUPVQ8CcbS0D8QPAnGykw8BXbJjDwFysnIPAXKygQ8BcrIQDwFxsAvQsnYLAXGyCAsBXbKICwFxsigLAV20CgsaCwJxskoLAXKy6QsBcbJ4CwFdsqgLAXGy5wsBXbL1CwFdsoQLAV2wCtCyCAoBXbJJCgFxtEoKWgoCcrIaCgFdsvsKAV2ynAoBXbQMChwKAnGy/QoBcbKOCgFytG0KfQoCcrLsCgFxsssKAXKyugoBcbKKCgFdttoK6gr6CgNysukKAV2yeAoBcbKoCgFxsg0LCBESObIWDQFdsgAYAV1ZALAARViwAy8bsQMUPlmwAEVYsAovG7EKED5ZsABFWLATLxuxEwg+WbIEAwoREjmwBC+wAdCwBBCwB9yyIAcBcrJgBwFxshIDExESObASL7QvEj8SAl2wCNCyDQgSERI5sBMQsBDQsAcQsBXQMDEDMzUzFTMVIxE/ATMPAR8BIycjFSMRIw5SgpmZHnKPeDM3h5V6I4JSAnJKSlD+/Q7HviYn6c/PAiIAAQAAAAACxAK8ABEBo7AKK1i7AA8ABgAQAAQrsgAQAV2yQBABXbAQELAB3LJADwFdsgAPAV2wDxCwBNCwDxCwDNyy2QwBXbIcDAFxsp8MAV2y3wwBcbJaDAFysuUMAV20IAwwDAJdsAbQspkGAV2yOgYBcbZqBnoGigYDXbRJBlkGAl2yJQYBcbAH3EEJAEAABwBQAAcAYAAHAHAABwAEcbJTBwFystUHAXGy2gcBXbTjB/MHAl20AwcTBwJxtLAHwAcCcbZwB4AHkAcDXbIQBwFdsgkHBBESObZmCXYJhgkDXbTlCfUJAl20BQkVCQJxsAwQsAvcskALAXK2oAuwC8ALA3KyUwsBcrLUCwFdstULAXGyFQsBcbTjC/MLAl2yAwsBcbYjCzMLQwsDcbQACxALAl2ywAsBXUEJAGAACwBwAAsAgAALAJAACwAEXVkAsABFWLACLxuxAhQ+WbAARViwDy8bsQ8IPlmwAhCxAQP0sg4PAhESObAOL7QvDj8OAl2wBNCwAhCwBtCyCQQOERI5sA8QsAzQMDEBsAorWLJHBQFdshgFAV1ZALJIBQFdEyM1IRE3EzMDBxcTIwMjESMRn58BKCDBnMw2OOmpzySJAkJ6/soOASj+2iYn/rcBK/7VAjEAAf/7AAACHQH0ABAB8bAKK1i7AAsABAAMAAQrsl8LAV2ysAsBcbYQCyALMAsDXbALELAA0LALELAI0LJ3CAFdtOoI+ggCXbSKCJoIAl2yGggBXbI2CAFdtEUIVQgCcbAH0LTCB9IHAnG04gfyBwJyspMHAV204wfzBwJxslQHAXG0xAfUBwJysoUHAV2yNQcBXbRlB3UHAnG0NgdGBwJxspcHAXGy1gcBXbQmBzYHAnKyBQcBXbJlBwFdsqUHAXG0RAdUBwJysrMHAXGycwcBXbLjBwFdtmIHcgeCBwNysvIHAV20AQcRBwJxsAPQtGkDeQMCcbI7AwFdsigDAV2y9wMBXbAC0LJ4AgFdtOoC+gICXbKKAgFdspsCAV20SwJbAgJysrwCAXG07QL9AgJytm0CfQKNAgNysh8CAXG0zQLdAgJxtOwC/AICcbIMAgFxtGsCewICcbTLAtsCAnK0SgJaAgJxtAkCGQICXbInAgFdsqcCAV2yBQMAERI5shcFAV2yXwwBXbKwDAFxthAMIAwwDANdsAwQsA7cspASAV1ZALAARViwDy8bsQ8QPlmwAEVYsAIvG7ECED5ZsABFWLALLxuxCwg+WbIKDwsREjmwCi+0Lwo/CgJdsADQsgUAChESObALELAI0LAPELEOAvQwMQGwCitYsnYGAXFZEz8BMw8BHwEjJyMVIxEjNTPrIHSMeTQ5hpV5JIJu8AEfDse+Jifpz88BgXP//wA8/4MCpgK8AgYCXwAAAAEAOf+OAi4B9AAPAQmwCitYsgkEAyuyEAkBXbKQCQFdsh8JAXKyPwkBcrL/CQFdslAJAXGyMAkBXbJwCQFxsoAJAXKwCRCxCAT0sADQshAEAV2yHwQBcrI/BAFysv8EAV20DwQfBAJxsjAEAV2yAAQBcrIgBAFysAQQsQUE9LAB0LAJELAL0LALL7JvCwFdsA3cQQsAIAANADAADQBAAA0AUAANAGAADQAFXbJgDQFyWQCwAEVYsAUvG7EFED5ZsABFWLACLxuxAgg+WbIGBQIREjmwBi+yXwYBcbTvBv8GAl20TwZfBgJdtGAGcAYCcrIQBgFysQEC9LAFELAI0LACELAO0LEKAvSwDhCwDdyyQA0BXTAxJSMVIxEzFTM1MxEzFSMnIwFeo4KCo4JOXw9ixcUB9Ly8/n/lcgABADwAAANcArwADQDZsAorWLICBwMrskACAXJBCQAQAAIAIAACADAAAgBAAAIABF2y/wIBcbLfAgFxsmACAXKyMAIBcbKQAgFdsAIQsADcsoAAAV2wAhCxAwb0sv8HAV2y3wcBcbIfBwFxQQkAEAAHACAABwAwAAcAQAAHAARdsAcQsQYG9LAK0LADELAL0LJwDwFdWQCwAEVYsAkvG7EJFD5ZsABFWLAGLxuxBgg+WbAJELAM0LEBA/SwBhCwA9CyCgkGERI5sAovsk8KAV2yzwoBcbJfCgFxtN8K7woCXbEFA/QwMQEhESMRIREjETMRIREhA1z+8on/AImJAQABlwJC/b4BJf7bArz+4wEdAAEAOQAAApwB9AANAOywCitYsgIHAyuyUAIBcbKAAgFysv8CAV2yHwIBcrI/AgFysi8CAXGyEAIBXbJwAgFxspACAV2yMAIBXbACELEDBPSyAAcBcrL/BwFdtA8HHwcCcbI/BwFysh8HAXKyIAcBcrIwBwFdshAHAV2wBxCxBgT0sArQsAMQsAvQsAIQsA3csvANAV2yUA0BXbKQDwFdWQCwAEVYsAkvG7EJED5ZsABFWLAGLxuxBgg+WbAJELAM0LEBAvSwBhCwA9CyCgkGERI5sAovsl8KAXG07wr/CgJdtE8KXwoCXbRgCnAKAnKyEAoBcrEFAvQwMQEjESM1IxUjETMVMzUhApy8gqOCgqMBPgGB/n/FxQH0vLwAAQA8/4EDoAK8ACYBPbAKK1iyAQYDK7IwAQFytO8B/wECcbIfAQFyshABAV2ycAEBcbJQAQFxsAEQsQIG9LIfBgFysv8GAXGyPwYBcbLQBgFdshAGAV2wBhCxBQb0sAEQsAnQsAIQsBHQsBEvsnARAV2y8BEBXbIQEQFxspARAV2yFwIRERI5sBcvsBEQsR4H9LLAKAFxsvAoAXJZALAUL7AARViwBy8bsQcUPlmwAEVYsAUvG7EFCD5ZsALQsAcQsQQD9LIgFAFdsqAUAV2yDAcUERI5sAwvsBQQsRsD9LAMELEjA/QwMQGwCitYttYO5g72DgNdtNYP5g8CXbJ2EwFysgcTAV201xPnEwJdtFcTZxMCcrKJIAFxWQCy9g4BXbTXD+cPAl2yCBMBXbRYE2gTAnK02RPpEwJdsnoTAXKyhR0BcbKJIAFxJRUjESMRIxEhET4BMzIeAhUUBiMiJic1HgEzMjY1NC4CIyIGBwJDifWJAgcQQzAqTj0lcn8bGwgHIRAzNBIgLBoXMgzk5AJC/b4CvP67BhAXOWNMgYwCAnYCAUZKKTYfDQwGAAEAOf8rAxQB9AAkAaSwCitYsgAFAyuyEAABXbLPAAFxsk8AAXKyDwABcrL/AAFdspAAAV2yMAABXbAAELEBBPSyTwUBcrIfBQFxsl8FAXGy/wUBXbQwBUAFAl2yEAUBXbAFELEEBPSwABCwCNCwABCwENCwEC+yABABXbLwEAFdsvAQAXGyGAUQERI5sBgvsn8YAV2wEBCxHgX0sm8mAXGysCYBcbJQJgFxWQCwAEVYsAcvG7EHED5ZsABFWLAVLxuxFQo+WbAARViwBC8bsQQIPlmwAdCwBxCxAgL0sgsHFRESObALL7AVELEcAvSwCxCxIQL0MDEBsAorWLKGDQFdsiYNAXGyBw0BXbIHDgFdtAcSFxICcbTmE/YTAl20hhOWEwJxsgcTAV20BxMXEwJxtKcTtxMCcbI3EwFytIgdmB0CcbSpHbkdAnG0qB+4HwJxWQCyJg0BcbIHDQFdsocNAV20CBIYEgJxsggTAV20CBMYEwJxtIgTmBMCcbTpE/kTAl20qRO5EwJxsjoTAXJBCQCHAB0AlwAdAKcAHQC3AB0ABHGymR8BcbSqH7ofAnEhIxEjESMRIRU+ATMyHgIVFA4CIyImJzUeATMyNTQmIyIGBwHbgp6CAaIQPDAkRDUgGDVXPxwbCAghEGI1LRcuDAGB/n8B9PEGDxY2XEY/YEAgAwJwAQGERzwMBgACACb/8gNLAsoAOQBLAuiwCitYshoQAyuyLxABcbJvEAFxsgAQAV2wEBCwNtyyIDYBcbEDB/SyLxoBcbJvGgFxsgAaAV2yCxAaERI5sh8aEBESObAaELAm0LAmL7IvJgFdsi4fCxESObIKLgFdsjk2GhESObA5L7SAOZA5AnGywDkBcbKAOQFdQQkAIAA5ADAAOQBAADkAUAA5AARdsBAQsToH9LI/Cx8REjmwGhCxRAf0sk9NAV1ZALAARViwOS8bsTkUPlmwAEVYsDEvG7ExCD5ZsABFWLApLxuxKQg+WbA5ELEAA/SwMRCxCAP0sCkQsBXcsrAVAV2ycBUBXbJQFQFxtBAVIBUCcbI/FTEREjmyLjEVERI5sgwuAV2yCz8uERI5sh8/LhESObApELEiA/SwFRCxSQP0MDEBsAorWLQHARcBAl2yBwIBXbIGBQFdsgcGAV2ySAwBXbSpDLkMAl2yOQwBcbQqDDoMAl2yKgwBcbI5DQFdsioNAV2yRhcBXbSmF7YXAnGyNR0BXbSlHbUdAl20JB40HgJxsjUeAV22pR61HsUeA12yJh4BXbJGHgFdslceAV2yGCwBXbJILAFdskguAV2yGS4BXbJZLgFdsgYvAV2y2DMBcbRoNHg0Al2yeTQBcbRoN3g3Al20aDh4OAJdsjg4AXG06Dj4OAJxshc8AV2yGEEBXbIYQgFdWQC0CAEYAQJdshgCAV2yCQIBXbIHBQFdsgcGAV22KQw5DEkMA12yOQwBcbSqDLoMAl2yKwwBcbIoDQFdsjkNAV2yRxcBXbKnFwFxsjgdAV20qh26HQJdsjgeAV2yWB4BXbJJHgFdtKkeuR4CXbIqHgFdssoeAV2yKh4BcbI7HgFxtIcllyUCXbJILAFdshksAV20SC5YLgJdshkuAV2yCS8BXbLYMwFxsng0AXG0aTR5NAJdtGc3dzcCXbRmOHY4Al22NzhHOFc4A3G05zj3OAJxshc8AV2yCD8BXbIXQQFdshdCAV0BIgYVFB4CMzI2Ny4DNTQ+AjMyHgIVFA4CBx4BMzI2NxcOASMiLgInDgEjIi4CNTQ2MxMUHgIXPgM1NC4CIyIGAWNQXSM4RyQLGQgXKR4RJUNeOj9dPB0aKTIXBQ0GHjYTKhZFNhQqKSMNIVE2UX5YLqGcZg0bJhoXKB0RChgnHTM8AlB0djpdQCMCBA8xQk8sTHRQKStMZzw4X0ozDAEBEQ1rFhcGDBIMFxkyXodVr73+qR4/OjESEDE9SSgiPS0aXAACACD/8gK0AgIANABCArywCitYshgOAyuyjw4BcrLPDgFyso8OAV2yQA4BXbIQDgFdsA4QsC/csv8vAV2yfy8BcbKPGAFyss8YAXKyLxgBXbQAGBAYAl2yQBgBXbIALxgREjmwAC+yoAABXbLwAAFdsnAAAXGwLxCxAwX0sgsOGBESObIdGA4REjmwGBCwIdCwIS+yJwsdERI5sA4QsTUE9LI4Cx0REjmwGBCxOwX0sq9EAV1ZALAARViwNC8bsTQQPlmwAEVYsBMvG7ETED5ZsABFWLAqLxuxKgg+WbAARViwJC8bsSQIPlmwNBCxAAH0sCoQsQgB9LI4EyoREjmyJyoTERI5sgs4JxESObAkELEdAfSwExCxPgH0MDEBsAorWLRJDFkMAl2yuQwBXbQqDDoMAl2yqgwBXbTKDNoMAl2yCBEBXbL4EQFdtAgRGBECcbKIEgFdsgcUAV2yhxQBXbKFFQFdsjUVAXGylhUBXbImFQFxtEYVVhUCcbRmFXYVAnKyBxUBXbIYJgFdspgmAV2yFycBXbKXJwFdspUoAV2yFigBXbTILdgtAl2yuC0BcbKoLQFysrktAV20yDHYMQJxtMkx2TECXbTIMtgyAl206DL4MgJxshg4AV2yGTkBXVkAQQkAKQAMADkADABJAAwAWQAMAARdQQkAqQAMALkADADJAAwA2QAMAARdsvYRAV20BhEWEQJxsgcRAV2yhxIBXbIHFAFdsocUAV2yhRUBXbQmFTYVAnGyBxUBXbKXFQFdtEcVVxUCcbQHIBcgAnGyGCYBXbKYJgFdspknAV2yGicBXbIYKAFdspkoAV20yC3YLQJdsrktAV2yuS0BcbKpLQFytMcx1zECXbTHMdcxAnG0xDLUMgJysuUyAV20xjLWMgJdsvYyAV1BCQDGADIA1gAyAOYAMgD2ADIABHGyFTgBXbIWOQFdAQ4BFRQeAjMyNjcuATU0PgIzMh4CFRQOAgcWNjcXDgEjIiYnDgEjIi4CNTQ+AjcXFBYXPgE1NCYjIg4CARA4MhQiMBwIGAcbKBQvTjk3Sy0UEhwkEhY4Ex4UOSwpPhUgUSw+YEIiGjpbQXojHiAoISAWHBAGAZQER0skOioWBAUUVjknUkMsIjlLKiI+NCcLCQsSWRIVFxMXEyZFYjs6XkUoA/YtSBgVUzYtPBQhLAABACb/UQIWAsoAIgJcsAorWLITCwMrsrATAV22ABMQEyATA12ycBMBXbLvEwFxskATAV2yEBMBcbKQEwFdsvATAV2wExCwANCwAC+yAAsBXbLPCwFxsu8LAXGyQAsBXbIgCwFdsgYLExESObAGL7IgBgFdsAPctC8DPwMCXbIEAwYREjm05wT3BAJxQQsABwAEABcABAAnAAQANwAEAEcABAAFckETAEcABABXAAQAZwAEAHcABACHAAQAlwAEAKcABAC3AAQAxwAEAAlxsgUGAxESObbXBecF9wUDcUELAAcABQAXAAUAJwAFADcABQBHAAUABXKwCxCxGgf0shAkAXGyMCQBcrIQJAFdWQCwAEVYsBAvG7EQFD5ZsABFWLADLxuxAwg+WbAE3LLgBAFxsmAEAV2yAAQBXbADELAG0LAQELEXA/SwAxCxHwP0MDEBsAorWLRmB3YHAl20iAiYCAJdsvgIAXKyOQgBcbQIFBgUAnG0BxgXGAJdtgcZFxknGQNxsvYcAV20BhwWHAJxtKcctxwCXbInHAFxtAcdFx0CXbInHQFxtNch5yECXbTXIuciAl1ZALRnB3cHAl20iAiYCAJdsjgIAXGy+QgBcrTqCPoIAnG0CBQYFAJxsvkUAV20KRQ5FAJxtEoUWhQCcbKHGAFdtAgYGBgCXbSoGbgZAl20CRkZGQJxsioZAXGyJhwBcbSnHLccAl2y9xwBXbYGHRYdJh0DcbQHHRcdAl2yiB0BXbbGIdYh5iEDXbL3IQFdsvQiAV201SLlIgJdtAUiFSICcbamIrYixiIDXbZ3IocilyIDXSUOAQ8BIycuAzU0PgIzMhYXBy4BIyIGFRQeAjMyNjcCFhhFJg5YEzNZQiY5W3A4PFMbGxc/LVNlGDFJMC0+Fx0REwSkqAkyV35VZ4tVJRALdAsKdnw2WT8jEg4AAQAh/1EBmwICAB8BnLAKK1iyEAoDK7IQEAFdsnAQAV2yLxABcrIwEAFdsuAQAV2yEBABcbAQELAA0LAAL7KfCgFysi8KAXKynwoBXbJvCgFdsk8KAXKy4AoBXbIwCgFdsgUKEBESObAFL7AC3LLPAgFytC8CPwICXbLQAgFxsgMCBRESOUEVAEcAAwBXAAMAZwADAHcAAwCHAAMAlwADAKcAAwC3AAMAxwADANcAAwAKcbIEBQIREjm05wT3BAJxsAoQsRcF9LLQIQFdtGAhcCECXbKwIQFxWQCwAEVYsA0vG7ENED5ZsABFWLACLxuxAgg+WbAD3LACELAF0LANELEUAvSwAhCxHAH0MDEBsAorWLQIBxgHAl2yKAcBcbKaBwFxtOgM+AwCcbKGFgFxshceAXFZALQIBxgHAl20yAfYBwJytCkHOQcCcbKZBwFxtOYM9gwCXbRmDHYMAnG05gz2DAJxsvYMAXKy2BEBXbQIERgRAnG06RH5EQJdsokWAXGy1h4BXbIWHgFxshQfAXG21h/mH/YfA12yBh8BcbKXHwFdsscfAV0lBg8BIycuAzU0NjMyFhcHLgEjIgYVFB4CMzI2NwGbJjgOWBMtPicRcm03QxsfFy0dNjgOHC0eIS4SHxsLqKYILENYNH+JEg5qCwxHTiA2KBcRDAABAAv/gwItArwACwC6sAorWLsABgAGAAsABCuywAsBcrALELAB3LLABgFysAYQsATcst8EAV2wBhCwB9CwBy+wCdyyHwkBcUELACAACQAwAAkAQAAJAFAACQBgAAkABV2ysAkBcbLwDQFdsk8NAV2yLw0BcbIvDQFdsmANAV2y8A0BcbLQDQFxWQCwAEVYsAIvG7ECFD5ZsABFWLAKLxuxCgg+WbACELEBA/SwBdCwChCxBgP0sAoQsAncsiAJAV2yoAkBXTAxEyM1IRUjETMVIycj2M0CIsxXYA9xAkJ6ev44930AAQAB/44BoQH0AAsA5bAKK1i7AAYABQALAAQrshALAV2yvwsBcrJPCwFysoALAV20MAtACwJdsAsQsAHctO8B/wECcbJ/AQFxti8BPwFPAQNdsoAGAV2yvwYBcrJPBgFyshAGAV20MAZABgJdsAYQsATctiAEMARABANdsnAEAXG04ATwBAJxsAYQsAfQsAcvsAnctFAJYAkCXbJgCQFysg8NAXKyvw0BXbKfDQFxsnANAV2yUA0BcVkAsABFWLACLxuxAhA+WbAARViwCi8bsQoIPlmwAhCxAQL0sAXQsAoQsQYC9LAKELAJ3LJACQFdMDETIzUhFSMRMxUjJyOOjQGgjVRfD2wBgXNz/vLlcv////4AAAJSArwCBgA8AAAAAf/5/zgB8gH0AAsBarAKK1i7AAgABAALAAQrsgALAV2yUAsBXbALELAA0LJoAAFdsnkAAXGyqQABXbJJAAFxtOoA+gACcbJaAAFxsvoAAV2ymQABcbLpAAFdsnkAAV2ymAABXbJIAAFdsicAAV2wAdy0gAGQAQJdtlABYAFwAQNxtmMBcwGDAQNytMAB0AECcbLwAQFdtAABEAECcbIQAQFdQQkAIAABADAAAQBAAAEAUAABAARyslAIAV2yAAgBXbIDCwgREjmwCBCwB9CyKAcBXbK4BwFdslkHAV2yuQcBcbLKBwFdsqsHAXGy2QcBXbRpB3kHAnG2CQcZBykHA3GyCAcBXbJ3BwFdshYHAXKwBtyynwYBXbQPBh8GAnGy3wYBcrRsBnwGAnKyiwYBcrJPDQFdss8NAV2yLw0BXVkAsABFWLABLxuxARA+WbAARViwCi8bsQoKPlmyAwEKERI5sAEQsAbQsgsKARESObALELAI0DAxAzMTFzM3EzMDFSM1B5ddEgQOVYy1ggH0/tddXwEn/gvHxwAB//4AAAJSArwAEQIZsAorWLsADQAGABAABCuyHxABcrJ/EAFxsp8QAXKyMBABXbAQELAB0LAC0LL4AgFdshgCAV2yeQIBXbIKAgFxshsCAXG0KgI6AgJdsokCAXGyuAIBXbLIAgFxsrcCAXGyRgIBcbAD3EELAJAAAwCgAAMAsAADAMAAAwDQAAMABXGycAMBXUELADAAAwBAAAMAUAADAGAAAwBwAAMABXG0ggOSAwJdttAD4APwAwNdtAADEAMCcbIQAwFdsvADAXFBCQAAAAMAEAADACAAAwAwAAMABHK0UANgAwJysp8NAXKyfw0BcbIfDQFysjANAV2yBRANERI5sA0QsArQsAnQsgUJAXGydgkBXbIXCQFdsrgJAXGySAkBcbL3CQFdsrcJAV2yhgkBcbQlCTUJAl2yFAkBcbAI3LRvCH8IAnGy/wgBXbQPCB8IAnGy3wgBcbSNCJ0IAl2wDRCwDNywEBCwEdyyYBMBXbKwEwFdWQCwAEVYsAMvG7EDFD5ZsABFWLAPLxuxDwg+WbIQAw8REjmwEC+wAdyyBQMPERI5stMFAXGwAxCwCNCwARCwCtCwEBCwDdAwMQGwCitYskgBAV1BCwB4AAEAiAABAJgAAQCoAAEAuAABAAVdsskBAV2y9QQBXbQFBBUEAnG2NQRFBFUEA3GyxgQBXbJXBwFdQQ0AdwAKAIcACgCXAAoApwAKALcACgDHAAoABl1ZEzMDMxMXMzcTMwMzFSMVIzUjSYnUo4AOBQ98k9SKm4mbASYBlv75SkwBBf5qW8vLAAH/+f84AfIB9AARAZOwCitYuwANAAQAEAAEK7JQEAFdsgAQAV2wEBCwAdC0aAF4AQJdsALQspgCAV2yeQIBcbTpAvkCAl2ymQIBcbJaAgFxtOoC+gICcbJJAgFxsqkCAV2ySAIBXbJ4AgFdsicCAV2wA9y0wAPQAwJxshADAV22YwNzA4MDA3K0gAOQAwJdtlADYANwAwNxQQkAIAADADAAAwBAAAMAUAADAARysvADAV20AAMQAwJxslANAV2yAA0BXbANELAK0LRnCncKAl2yBQEKERI5sAnQsigJAV2yWQkBXbRpCXkJAnGyugkBcbKrCQFxssoJAV2y2QkBXbYJCRkJKQkDcbIICQFdsrgJAV2yFgkBcrAI3LRsCHwIAnK0DwgfCAJxsp8IAV2y3wgBcrKLCAFysmgIAV2wDRCwDNywEBCwEdyyLxMBXbJPEwFdss8TAV1ZALAARViwAy8bsQMQPlmwAEVYsA8vG7EPCj5ZsgEPAxESObABL7IFDwMREjmwAxCwCNCwARCwCtCwARCwENyyYBABcbAN0DAxOwEDMxMXMzcTMwMzFSMVIzUjQ3fBl10SBA5VjLV4eIJ4AfT+111fASf+DFB4eAABAAr/gwKUArwAEwMisAorWLIJEwMrsj8TAXK0DxMfEwJxss8TAXKyjxMBXbIfEwFyspAJAV2yrwkBXbQCCRIJAl2ycAkBXbRACVAJAl2yABMJERI5sBMQsAHQtKYBtgECXbRnAXcBAl2yVgEBXUEJAMUAAQDVAAEA5QABAPUAAQAEXbQFARUBAnG0hQGVAQJdsALctjACQAJQAgNxstACAV2y4gIBXbQCAhICAnGy0wIBcbJkAgFxQQsAJAACADQAAgBEAAIAVAACAGQAAgAFcrJzAgFxtAMCEwICcrZyAoICkgIDXbLwAgFdshACAV2y8AIBcUEJAJAAAgCgAAIAsAACAMAAAgAEcbIIEwkREjmySAgBXbKWCAFdtGYIdggCXbIEAAgREjmwCRCwB9CylwcBXbIoBwFdtAoHGgcCcbJZBwFdskgHAV20Jgc2BwJxtEUHVQcCcbAG3EEJADsABgBLAAYAWwAGAGsABgAEcrLcBgFxss8GAXGy/wYBXbQPBh8GAnG0jQadBgJdsnwGAXGyawYBcbJ2BgFdsAkQsArQsAovsAzcsh8MAXFBCwAgAAwAMAAMAEAADABQAAwAYAAMAAVdsAkQsA7csnwOAXGy7Q4BXbavDr8Ozw4DXbIfDgFdsj8OAXGyjw4BXbKcDgFdsmsOAXGydg4BXbIQCAAREjmyCBABXbATELAS3LLTEgFxsmQSAXGyeRIBXUEJADQAEgBEABIAVAASAGQAEgAEcrJzEgFxtIISkhICXbLwEgFdtAASEBICcbJAFQFdshAVAV1ZALAARViwAi8bsQIUPlmwAEVYsBIvG7ESCD5ZsgQCEhESObKVBAFdshQEAXGyEBICERI5sgsQAXGymhABXbIIEAFdsgAEEBESObACELAG0LIIBBAREjmwEhCwDdCxCQP0sA0QsAzcsqAMAV2yIAwBXTAxAbAKK1iyFwIBcbbVA+UD9QMDXbKWAwFdsocDAV20aQ95DwJdtAkPGQ8CcbKaDwFdsvoPAV2y9REBXbQHERcRAnFZALKXAwFdsvcDAV20BwMXAwJxtGgPeA8CXbKYDwFdtAgRGBECcRMDMx8BPwEzAxczFSMnIy8BDwEj4cOlbBgXcZXKjG5gD1p7Gxp8lQFkAVjKR0fK/q/x933YSkrYAAEACP+OAhcB9AATArOwCitYsgkTAyuyfxMBXbL/EwFdsg8TAXGysAkBXbJCCQFdsg8JAXGyAAkBXbIgCQFdsmAJAV2yABMJERI5sgsAAV22GgAqADoAA3GyOAABXbATELAB0LTlAfUBAl2ylgEBXbQGARYBAl2yhwEBXbTGAdYBAl22JQE1AUUBA3G2tQHFAdUBA3GydQEBcbAC3LKAAgFdQQsAQwACAFMAAgBjAAIAcwACAIMAAgAFcrKTAgFdsvQCAV2yBQIBcbTKAtoCAl20JAI0AgJysuMCAV2yEwIBcbRDAlMCAnGyEAIBXbIQAgFysggJExESObIKCAFdsigIAV20Jgg2CAJxsgQACBESObIHBAFxsAkQsAfQtAsHGwcCXbYqBzoHSgcDcbIoBwFdsAbcsgkGAXG2bAZ8BowGA3KyfwYBcbKcBgFdshsGAXG0xQbVBgJdtOQG9AYCXbAJELAK0LAKL7AM3LJgDAFyQQsAIAAMADAADABAAAwAUAAMAGAADAAFXbAJELAO3LLsDgFdtEwOXA4CcrJ/DgFxtK8Ovw4CXbIMDgFxshoOAXGyWg4BcbIQCAAREjmwExCwEty2YxJzEoMSA3KyExIBcbJaEgFxsvsSAV22yhLaEuoSA12yBRIBcbKTEgFdslASAXKycBIBcbIfFQFdWQCwAEVYsAIvG7ECED5ZsABFWLANLxuxDQg+WbIEAg0REjmyBgQBcbIQDQIREjmyAAQQERI5tCYANgACcbACELAG0LIIBBAREjmwDRCxCQL0sA0QsAzcskAMAV2wDRCwEtCy9xMBXTAxAbAKK1iyGQABXbTpAPkAAl2y1gQBXbIXBAFxsvYIAV2ylwgBXbQJDxkPAl2yiQ8BXbIZEAFdsocRAV1ZALKHBQFdtAgPGA8CXbKJDwFdtAgQGBACXbKIEQFdEyczHwE/ATMHFzMVIycjLwEPASOqlptBHB5EjZdaWV8PO00eIE2OAQD0a0ZGa/CR5XJ4Skp4AAEAC/+DAzQCvAAPAM6wCitYsg0EAyuyMA0BXbRwDYANAl2ysA0BcbANELAP0LAPL7AB3LIfAQFxQQsAIAABADAAAQBAAAEAUAABAGAAAQAFXbKwAQFxsjAEAV2yPwQBcrRwBIAEAl2ysAQBcbLQBAFdsAQQsAXcsAQQsQkG9LAI3LQgCDAIAl2wDRCxDAb0WQCwAEVYsAYvG7EGFD5ZsABFWLAMLxuxDBQ+WbAARViwAi8bsQIIPlmwAdyyoAEBXbIgAQFdsAYQsQUD9LAJ0LACELEOA/SwC9AwMQUjJyERIzUhFSMRMxEzETMDNGEP/hPMAeOO8YlafX0CQnp6/jgCQv2+AAEAAf+OAncB9AAPAI6wCitYsg4DAyuyMA4BXbAOELAA0LAAL7AB3LQwA0ADAl2wAxCwBdy2LwU/BU8FA12wAxCxCgT0sAjcsmAIAV2wDhCxCwT0sk8RAV2yHxEBXVkAsABFWLAHLxuxBxA+WbAARViwAi8bsQIIPlmwAdywBxCxCAL0sATQsAIQsQsC9LAHELAM0LALELAO0DAxBSMnIREjNSEVIxEzETMRMwJ3Xw/+hY0BeGmcgklycgGBc3P+8gGB/n8AAQAu/4MCeQK8ABkA+rAKK1iyEwkDK7IwEwFdtIATkBMCXbJvEwFdsuATAV2yUBMBXbJgEwFysgATAXGwExCxEgb0sADQsm8JAV2yzwkBcbJQCQFdsjAJAV2wCRCxCgb0sBMQsBXQsBUvsBfcsh8XAXFBCwAgABcAMAAXAEAAFwBQABcAYAAXAAVdsrAXAXFZALAARViwCi8bsQoUPlmwAEVYsBgvG7EYCD5ZsgMKGBESObADL7EOAvSwChCwEtCwGBCxFAP0sBgQsBfcsqAXAV2yIBcBXTAxAbAKK1i2OQZJBlkGA3G0igaaBgJyWQCyOgUBcbI4BgFxtIgGmAYCcrRJBlkGAnEBDgEjIi4CNREzFRQWMzI2NxEzETMVIycjAZkaVzwqRTMciS82JkMUiVdgD3EBGg8ZFS9JNAEJ3jw7EREBM/2+930AAQAh/44CFAH0ABsBwLAKK1iyCxsDK7J/GwFdsm8bAXKyTxsBcrIvGwFxskAbAV2wGxCxAAT0suALAV2yLwsBcbJPCwFysm8LAXKyzwsBcbIQCwFxskALAV2yMAsBcbALELEKBPSwCxCwDdCwDS+wD9xBCwAgAA8AMAAPAEAADwBQAA8AYAAPAAVdsmAPAXKwChCwEtBZALAARViwAC8bsQAQPlmwAEVYsBAvG7EQCD5ZshUAEBESObAVL7EGAfSwABCwCtCwEBCxDAL0sBAQsA/cskAPAV0wMQGwCitYtrUDxQPVAwNytGYDdgMCcrKmAwFysocDAXK0KBc4FwJdtKgXuBcCcbKoFwFytAkXGRcCXbL5FwFdtIkXmRcCcUELAAgAGAAYABgAKAAYADgAGABIABgABV20yBjYGAJxtKkYuRgCcbSLGJsYAnFZALKGAwFysrYDAXK0ZwN3AwJysqcDAXK0xwPXAwJyQQkACAAXABgAFwAoABcAOAAXAARdsvkXAV1BCQCJABcAmQAXAKkAFwC5ABcABHGyqRcBckELAAgAGAAYABgAKAAYADgAGABIABgABV1BCQCpABgAuQAYAMkAGADZABgABHETFRQeAjMyNjc1MxEzFSMnIzUOASMiLgI9AaMFDxsWHSsOglRfD2gPPjQlOigVAfRyHy0dDg4K0f5/5XLECxsQKEIyqgABAC4AAAJIArwAHQDpsAorWLIWCQMrshAJAV2yQAkBXbAJELEKBvSyQBYBXbJwFgFdshAWAV2ykBYBXbIdCRYREjmwHS+wDtCwHRCwHNywEdCwFhCxFQb0sBnQssAfAV1ZALAARViwCi8bsQoUPlmwAEVYsBgvG7EYCD5ZsgAKGBESObAAL7EOAvSwD9ywDhCwEdCwChCwFdCwABCwG9CwABCwHdwwMQGwCitYtAgFGAUCXbKYBQFdsokFAV20CAYYBgJdspgGAV2yiQYBXbI5BgFxWQC0CAUYBQJdtIkFmQUCXbQIBhgGAl20iQaZBgJdsjoGAXElBiIjIi4CNREzFRQWFzUzFT4BNxEzESMRBgcVIwEQCA4ILEg0HIkpMF0ZKw6JiRs3XfMBFS9JNAEJ3jk6BHZwBQ0KATP9RAEaEAyEAAEAIAAAAeAB9AAcAV+wCitYshUJAyuyPwkBcrJ/CQFysl8JAXKyEAkBXbIwCQFdsAkQsQoE9LIQFQFxsj8VAXKyMBUBcbIwFQFdshAVAV2yHAkVERI5sBwvsA7QsBwQsBvcsrAbAV2yUBsBcrAR0LAVELEUBPSwGNC0AB4QHgJysuAeAXFZALAARViwCi8bsQoQPlmwAEVYsBcvG7EXCD5ZsgAKFxESObAAL7EOAfSwD9ywDhCwEdCwChCwFNCwABCwGtCwABCwHNwwMQGwCitYtAgFGAUCXbSJBZkFAnG0yQXZBQJxtIgGmAYCcUEJAAkABgAZAAYAKQAGADkABgAEXbSpBrkGAnGy6QYBcbL3DQFxWQC0CAUYBQJdtCkFOQUCXbSJBZkFAnG0yQXZBQJxQQkACQAGABkABgApAAYAOQAGAARdQQkAqQAGALkABgDJAAYA2QAGAARxtIoGmgYCcbLqBgFxsvcNAXE3BiIjIi4CPQEzFRQWFzUzFTY3NTMRIzUGBxUj3wkRCSU6KBWCGCVMIhGCgg8kTJ8BEChCMqpyODkFdnEGDNH+DMQLC3MAAQA8AAACMAK8ABUBELAKK1iyFQkDK7QwFUAVAl2ygBUBXbJgFQFxsk8VAXGyYBUBcrLgFQFdsmAVAV20ABUQFQJdssAVAXKwFRCxAAb0sk8JAXGyTwkBcrQwCUAJAl2yEAkBXbAJELEIBvSwDNCyXxcBXbLwFwFdWQCwAEVYsAsvG7ELFD5ZsABFWLAILxuxCAg+WbAA0LIPCwgREjmwDy+yUA8BXbQADxAPAl2ykA8BXbEEAvQwMQGwCitYtAYRFhECXbI2EQFxspcRAV2ylBIBcrKFEgFytAYSFhICXbJmEgFxspcSAV22NxJHElcSA3FZALQHERcRAl2ylxEBXbI3EQFxsjYSAXG0BxIXEgJdspcSAV20hxKXEgJyITU0JiMiBgcRIxEzET4BMzIeAhURAacvNiZDFImJGlc8KkUzHN48OxER/s0CvP7mDxkVL0k0/vf//wA5AAAB7QK8AgYASwAAAAIAAP/yAvQCygArADYCN7AKK1iyKA8DK7I/DwFdsgAPAV2yQA8BXbAPELEABvSy4CgBXbRAKFAoAl2ykCgBXbQAKBAoAl2wKBCwCdCwCS+wDxCwFdywGNyyfxgBcbaQGKAYsBgDXbQgGDAYAl2wF9ywFRCwG9ywDxCwINCwKBCxLAX0sAAQsDbQst84AV2yYDgBcbKgOAFxWQCwAEVYsCUvG7ElFD5ZsABFWLAMLxuxDAg+WbI2JQwREjmwNi+yTzYBXbEAAvSwDBCxBQP0sAAQsA/QsBjcsDYQsCDQsCUQsTMC9DAxAbAKK1i0BwIXAgJdtEYDVgMCcbbHA9cD5wMDXbaYDqgOuA4DXbJoDgFxtAgSGBICXbKoEgFxtAgTGBMCXbL4EwFdtNkT6RMCXbS6E8oTAnG0WCJoIgJxskkiAV2ySCMBXbS4I8gjAnGyiCMBcrJGJgFdtKYmtiYCXbQGJhYmAnGyVyYBXbInJgFxspcmAXGyNicBcbKWJwFxtNc15zUCXVkAtAcCFwICXbTWA+YDAl2yVgMBcbLHAwFdskcDAXG0Jgg2CAJdtCcJNwkCXbaYDagNuA0DXbKYDgFdsmgOAXG0qQ65DgJdQQkACAASABgAEgAoABIAOAASAARdsqkSAXG0CBMYEwJdttgT6BP4EwNdtLgTyBMCcbJGIgFdslciAXGyRyMBXbS3I8cjAnG0BiYWJgJxtEcmVyYCXbSnJrcmAl2yJyYBcbKXJgFxtAcnFycCcbI3JwFxtNg16DUCXQEeAzMyNjcXDgEjIiYnIy4DNTY3Mw4BFxQeAjc+AzMyFhUUBgcnNjU0LgIjIgYHAVcDGS5FLy1LISMtaj6JnQggMkIpEQIWcwwJAQYSIh0EKUZmQoaFBQV8Aw8hMiJJSgMBJShEMhsbFnQaHZyXARkqNx0xGw4iDggUEAoDRXFQLJmSHDwicxMUHzcqGWNdAAIABv/yAmQCAgAnADECuLAKK1iyHQYDK7LwHQFxsnAdAV2y0B0BXbIvHQFyspAdAV20AB0QHQJdspAdAXKysB0BcrAdELAA0LAAL7JvBgFdsv8GAV2yLwYBcrKPBgFyst8GAXGyvwYBXbLfBgFytAAGEAYCXbAGELAL3LKPCwFxtA8LHwsCXbAP3LIPDwFxQQkAIAAPADAADwBAAA8AUAAPAARdtKAPsA8CXbAO3LJfDgFdsAsQsBLcsu8SAV2yUBIBXbAGELAV0LAGELEhBPSwK9CwHRCwL9yyQC8BcrQgLzAvAl20oC+wLwJdsi8zAV2yLzMBcbJPMwFdspAzAV1ZALAARViwGC8bsRgQPlmwAEVYsAMvG7EDCD5ZshUYAxESObAVL7AG3LAVELAP3LIrGAMREjmwKy+0byt/KwJxtC8rPysCcbSPK58rAl2wIdyyICEBckEJAGAAIQBwACEAgAAhAJAAIQAEXUENAAAAIQAQACEAIAAhADAAIQBAACEAUAAhAAZxsAMQsCTcsr8kAXK2zyTfJO8kA11BCQBfACQAbwAkAH8AJACPACQABHGyLyQBcrRPJF8kAl2wGBCwKNyysCgBcrbAKNAo4CgDXbIgKAFyQQkAUAAoAGAAKABwACgAgAAoAARxtEAoUCgCXTAxAbAKK1i06AX4BQJdtKgIuAgCcbRICVgJAl1BCQCpAAkAuQAJAMkACQDZAAkABHG06Rb5FgJxsuoWAXK0Jhs2GwJxQQkAZgAbAHYAGwCGABsAlgAbAARytEcbVxsCcVkAtOgF+AUCXUEJAKkACAC5AAgAyQAIANkACAAEcbRICVgJAl1BCQCoAAkAuAAJAMgACQDYAAkABHG0xg3WDQJdtGYbdhsCckEJACcAGwA3ABsARwAbAFcAGwAEcbKYGwFytKUntScCXbJWJwFdtGcndycCXSUOASMiJicjIiY9AT4BNzMOARUUFjM+ATMyHgIVFAYHIR4BMzI2NwMiBgczNDY1NCYCVB5nOm5xCQdNUwEODm0OEBklDnpkJkg4IgUF/tUDOkIpQRGPMy8FuAEpKxghdmhGQgcbIBEMIRgUHGZmFC5OOhUwGj9AGQ0BGj0zBAgELjIAAgAA/1EC9ALKAC4AOQL+sAorWLIrEgMrsj8SAV2yQBIBXbIAEgFdsBIQsQAG9LLgKwFdspArAV20QCtQKwJdtAArECsCXbArELAJ0LAJL7IPEisREjmwDy+wDNy0Lww/DAJdsg0MDxESOUETAEcADQBXAA0AZwANAHcADQCHAA0AlwANAKcADQC3AA0AxwANAAlxtOcN9w0CcUEPAAcADQAXAA0AJwANADcADQBHAA0AVwANAGcADQAHcrIODwwREjm21w7nDvcOA3FBDwAHAA4AFwAOACcADgA3AA4ARwAOAFcADgBnAA4AB3KwEhCwGNywG9yyfxsBcbaQG6AbsBsDXbQgGzAbAl2wGtywGBCwHtywEhCwI9CwKxCxLwX0sAAQsDnQst87AV2yoDsBcbJgOwFxWQCwAEVYsCgvG7EoFD5ZsABFWLAMLxuxDAg+WbI5KAwREjmwOS+yTzkBXbEAAvSwDBCxBQP0sAwQsA3csgANAV2yYA0BXbLgDQFxsAwQsA/QsAAQsBLQsBvcsDkQsCPQsCgQsTYC9DAxAbAKK1i0BwIXAgJdtEUDVQMCcbTWA+YDAl2yxwMBXbJ4EAFxsqkQAV2yiRABcbKoEQFdsmkRAXG0KBU4FQJdsqgVAXG22BboFvgWA120CRYZFgJdtLoWyhYCcbQIFxgXAl2ySCUBXbRYJWglAnG0uCbIJgJxspUpAXGypikBXbYGKRYpJikDcbRHKVcpAl2ytykBXbQGKhYqAnGyRyoBXbI3KgFxtNc45zgCXVkAtAcCFwICXbJWAwFxtscD1wPnAwNdtCcINwgCXbKHEAFdspgQAV22aBB4EIgQA3GyqRABXbKpEQFdsmkRAXFBCQAIABUAGAAVACgAFQA4ABUABF2yqBUBcbQIFhgWAl222BboFvgWA120uhbKFgJxtAgXGBcCXbJHJQFdslclAXGyhiYBcrS3JscmAnGytikBXbQGKRYpAnG0RylXKQJdsqcpAV2yJykBcbJHKgFdtAcqFyoCcbI3KgFxtNk46TgCXQEeAzMyNjcXDgEPASMnLgEnIy4DNTY3Mw4BFxQeAjc+AzMyFhUUBgcnNjU0LgIjIgYHAVcDGS5FLy1LISMlUi8OWBNodgYgMkIpEQIWcwwJAQYSIh0EKUZmQoaFBQV8Aw8hMiJJSgMBJShEMhsbFnQVGgWkqBOXggEZKjcdMRsOIg4IFBAKA0VxUCyZkhw8InMTFB83KhljXQACAAb/UQJkAgIAKgA0A3iwCitYsiAJAyuy0CABXbKwIAFytAAgECACXbIvIAFysnAgAV2ykCABXbLwIAFxspAgAXKwIBCwANCwAC+yLwkBcrLfCQFysr8JAV2y3wkBcbL/CQFdso8JAXKybwkBXbQACRAJAl2yBgkgERI5sAYvtMAG0AYCXbAD3LQvAz8DAl2yBAMGERI5QRMARwAEAFcABABnAAQAdwAEAIcABACXAAQApwAEALcABADHAAQACXGyBQYDERI5sAkQsA7cso8OAXG0Dw4fDgJdsBLcsg8SAXG0oBKwEgJdQQkAIAASADAAEgBAABIAUAASAARdsBHcsl8RAV2wDhCwFdyy7xUBXbJQFQFdsAkQsBjQsAkQsSQE9LAu0LAgELAy3LQgMjAyAl20oDKwMgJdskAyAXKyTzYBXbIvNgFdsi82AXGykDYBXVkAsABFWLAbLxuxGxA+WbAARViwAy8bsQMIPlmwBNyywAQBXbIgBAFxsmAEAV2ygAQBcbADELAG0LIYAxsREjmwGC+0jxifGAJdsAncsBgQsBLcsi4bAxESObAuL7SPLp8uAl20Ly4/LgJxtM8u3y4CXbRvLn8uAnGwJNxBDQAAACQAEAAkACAAJAAwACQAQAAkAFAAJAAGcbIgJAFyQQkAYAAkAHAAJACAACQAkAAkAARdsAMQsCfcQQkAXwAnAG8AJwB/ACcAjwAnAARxsi8nAXJBCQDPACcA3wAnAO8AJwD/ACcABF2yDycBcbK/JwFytk8nXydvJwNdsBsQsCvctsAr0CvgKwNdQQkAUAArAGAAKwBwACsAgAArAARxtEArUCsCXbKwKwFysiArAXIwMQGwCitYtOgH+AcCXbQIBxgHAnG2CAcYBygHA3K06Aj4CAJdtAkIGQgCcbTIC9gLAnG0SAxYDAJdtMkM2QwCcbSqDLoMAnG0yBDYEAJdtOoZ+hkCcbLqGQFytIUelR4CckEJACYAHgA2AB4ARgAeAFYAHgAEcbRmHnYeAnJZALIoBwFytOkH+QcCXbQJBxkHAnG0CgcaBwJytAgIGAgCcbTpCPkIAl20yQvZCwJxtEgMWAwCXUEJAKgADAC4AAwAyAAMANgADAAEcbTHENcQAl206Bn4GQJxQQkAJwAeADcAHgBHAB4AVwAeAARxtGcedx4CcrSlKrUqAl22VypnKncqA10lDgEPASMnLgEnIyImPQE+ATczDgEVFBYzPgEzMh4CFRQGByEeATMyNjcDIgYHMzQ2NTQmAlQXQykOWBNQUwgHTVMBDg5tDhAZJQ56ZCZIOCIFBf7VAzpCKUERjzMvBbgBKSsSGwempw9wWUZCBxsgEQwhGBQcZmYULk46FTAaP0AZDQEaPTMECAQuMv//AEoAAADTArwCBgAsAAAAAQA8/zECQgK8ACABeLAKK1i7AAcABgAIAAQrsi8IAXGyHwgBcrIwCAFdsAgQsBfcsi8XAV2y7xcBcbKvFwFdshAXAXGyEBcBXbEABPSyLwcBcbIfBwFysjAHAV2wBxCwC9CwFxCwDtCyOg4BcbLODgFdstoOAV20SQ5ZDgJxsvUOAV2wDdyyXA0BcrIfDQFdQQkATwANAF8ADQBvAA0AfwANAARxtL8Nzw0CcbZ/DY8Nnw0DXbTsDfwNAl20DA0cDQJxstoNAXGyJw0BXbIQDgsREjmyHAgXERI5sBwvshAiAXFZALAARViwCi8bsQoUPlmwAEVYsAcvG7EHCD5ZsABFWLAaLxuxGgo+WbIGCgcREjmwBi+wC9CwChCwDdCyEAsGERI5sBoQsR4C9DAxAbAKK1iydw8BXbLVEwFxtHYThhMCXbTWE+YTAl20pxO3EwJdsucZAV1ZALJ5DwFdstYTAXG0dxOHEwJdtKcTtxMCXbTXE+cTAl20aRl5GQJdsukZAV0lNC4CKwERIxEzETcTMwMHMx4DHQEUBiMiJzUzMjYBqBQuSTQkiYkgwZzFPTQwRSwVcWAdHw8/PUwxUzoh/tUCvP7KDgEo/ugoDCxEYUEbjIYGb04AAQA5/y8B2gH0ACABi7AKK1i7AAUABAAGAAQrsk8GAXKy/wYBXbQvBj8GAnG0AAYQBgJdsAYQsBXcsnAVAXKy8BUBXbJwFQFdshAVAXGy0BUBcbIwFQFxsQAE9LL/BQFdtC8FPwUCcbJPBQFytAAFEAUCXbAFELAJ0LAVELAM0LQpDDkMAl20BQwVDAJxsAvQtIoLmgsCXbTLC9sLAnKy/AsBcbTtC/0LAnK2bQt9C40LA3K0DAscCwJxtAoLGgsCXbJ6CwFxtCcLNwsCXbIODAkREjmyGwYVERI5sBsvWQCwAEVYsAgvG7EIED5ZsABFWLAFLxuxBQg+WbAARViwGC8bsRgKPlmyBAgFERI5sAQvtC8EPwQCXbAJ0LAIELAL0LIOCQQREjmwGBCxHwL0MDEBsAorWLI4CgFdtMYQ1hACcbTmF/YXAnG0BxcXFwJdtIcXlxcCXbY3F0cXVxcDcbTHF9cXAnFZALTGENYQAnG0CBcYFwJdtIgXmBcCXbI4FwFxtEkXWRcCcbTJF9kXAnG06hf6FwJxJTQmJyMVIxEzFT8BMw8BFx4DHQEUBiMiJic1HgEzMgFSODwjgoIfdYt6LiknLxoJXVUPIREGDAVaG1dTBcoB9NkOy8UgAgsuPUcjEXtyAwRuAQEAAf/z/34ClQK8ACIBKrAKK1iyHBoDK7KvGgFxsh8aAXKy7xoBXbIwGgFdshAaAV2wGhCxAQT0sBoQsA7csn8OAV2yHw4BXbIQHAFdshAcAXGyHxwBcrKvHAFxsjAcAV2yYBwBcbJAHAFysBwQsB3QsB0vsCDctiAgMCBAIANdsBwQsSIG9LKvJAFdWQCwAEVYsBovG7EaFD5ZsABFWLALLxuxCwg+WbAARViwIS8bsSEIPlmwGhCxAQP0sAsQsRID9LAhELEcAvSwIRCwINyyICABXbKgIAFdMDEBsAorWLJHBAFdsncHAXGydggBcbQnCDcIAl20KBU4FQJdtCkWORYCXbTYF+gXAl20iReZFwJdWQC0KAg4CAJdsnoIAXG0JxU3FQJdtCcWNxYCXbKWFwFdsocXAV0BIw4DBw4DIyImJzceATMyNjc+AzchETMVByM3IwGqlQQKERwWDiMmJRAXHw8PBgwGEB8LDxYRCgIBnWJgXi1aAkJfnH1gIxceEgcHB3YCAhATFlWEt3r9tx/WggAB/+//jgIqAfQAGAFKsAorWLISEAMrst8QAV2ybxABcbIvEAFxtE8QXxACcrJAEAFdsBAQsAHcsk8BAV2y0AEBXbAQELAI3LSvCL8IAl2yPwgBXbJPEgFysi8SAXGybxIBcbASELAT0LATL7AW3LYgFjAWQBYDXbLgFgFdsBIQsRgE9FkAsABFWLAQLxuxEBA+WbAARViwFy8bsRcIPlmwAEVYsAYvG7EGCD5ZsBAQsQEC9LAGELELAvSwFxCxEgL0sBcQsBbcMDEBsAorWLIGBAFytEcEVwQCXbL3BAFxtOUF9QUCXUEJAEcABQBXAAUAZwAFAHcABQAEXbL3BQFxtGgNeA0CXbRJDVkNAl1ZALRIBFgEAl2y+AQBcbIIBAFyQQkASAAFAFgABQBoAAUAeAAFAARdtOkF+QUCXbL5BQFxQQkARgANAFYADQBmAA0AdgANAARdASMOAyMiJzcWMzI+AjchETMVByM3IwFJYwYQIzwwOhgQEA4UHhUNAwFXX2BeLVABgUeMb0UPbAYiWJd0/n8fxnIAAQA8/zACTgK8ABkBA7AKK1iyABMDK7IwAAFxsmAAAXKy3wABcbL/AAFxsiAAAV2yQAABcrKQAAFdskAAAV2yHxMBcbL/EwFdst8TAXGyIBMBXbJAEwFdsgYTABESObAGL7QgBjAGAl2wABCxDwb0sBMQsRIG9LAW0LAPELAX0LIfGgFdsj8aAV2ywBsBXVkAsABFWLAVLxuxFRQ+WbAARViwEi8bsRIIPlmwAEVYsAMvG7EDCj5ZsQoC9LIWEhUREjmwFi+yTxYBXbTfFu8WAl2yXxYBcbLPFgFxsRED9LAVELAY0DAxAbAKK1iylgIBcbQHAhcCAl2y1wIBXVkAstgCAV20CQIZAgJdspkCAXEFFAYjIiYnNTIWMzI+AjURIREjETMRIREzAk5ITg4hEQQHBBUZDQP/AImJAQCJFVtgAwRtAQwYIxYBJf7bArz+4wEdAAEAOf8wAeAB9AAWAVawCitYsgkEAyuyEAkBXbKQCQFdsh8JAXKyLwkBcbI/CQFysv8JAV2yUAkBcbIwCQFdsnAJAXGygAkBcrAJELEIBPSwANCyEAQBXbIfBAFysj8EAXKy/wQBXbQPBB8EAnGyMAQBXbIABAFysiAEAXKwBBCxBQT0sAHQsg8ECRESObAPL7LQGAFdspAYAV2y7xgBXbKwGAFdslAYAXKycBgBclkAsABFWLAFLxuxBRA+WbAARViwAi8bsQIIPlmwAEVYsA0vG7ENCj5ZsgYFAhESObAGL7RPBl8GAl2yXwYBcbRgBnAGAnKyEAYBcrEBAvSwBRCwCNCwDRCxEwL0MDEBsAorWLQHCxcLAl20pwu3CwJxsoYMAXK0BwwXDAJdtMcM1wwCXbRnDHcMAnJZALQICxgLAl20qAu4CwJxtAgMGAwCXbTIDNgMAl2yiQwBcrRqDHoMAnIlIxUjETMVMzUzERQGIyInNTIWMzI2NQFeo4KCo4JITx4iBAcEKxvFxQH0vLz991tgB20BMSwAAQA8/34CtQK8ABAA5LAKK1iyCgMDK7LfAwFxsv8DAV2yHwMBcUEJABAAAwAgAAMAMAADAEAAAwAEXbADELECBvSwBtBBCQAQAAoAIAAKADAACgBAAAoABF2yMAoBcbLfCgFxspAKAV2yQAoBcrJgCgFysAoQsRAG9LAH0LAKELAL0LALL7AO3LLgDgFxtiAOMA5ADgNdWQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbIGBQIREjmwBi+yzwYBcbJfBgFxsk8GAV2xAQP0sAUQsAjQsAIQsA/QsQoC9LAPELAO3LKgDgFdsiAOAV0wMQEhESMRMxEhETMRMxUHIzcjAcX/AImJAQCJZ2BeLV8BJf7bArz+4wEd/bcf1oIAAQA5/44CRQH0ABABHbAKK1iyCQQDK7IQCQFdspAJAV2y/wkBXbIfCQFyslAJAXGyMAkBXbJwCQFxsoAJAXKwCRCxCAT0sADQshAEAV2y/wQBXbQPBB8EAnGyHwQBcrIwBAFdsgAEAXKyIAQBcrAEELEFBPSwAdCwCRCwC9CwCy+wDtyy4A4BXbAN0EEJAGoADQB6AA0AigANAJoADQAEXUEJACwADQA8AA0ATAANAFwADQAEXbJKDQFysukNAV2yfxIBXbKwEgFdWQCwAEVYsAUvG7EFED5ZsABFWLACLxuxAgg+WbIGBQIREjmwBi+yXwYBcbTvBv8GAl20TwZfBgJdtGAGcAYCcrIQBgFysQEC9LAFELAI0LACELAP0LEKAvSwDxCwDtwwMSUjFSMRMxUzNTMRMxUHIzcjAV6jgoKjgmVgXi1WxcUB9Ly8/n8fxnIAAQAu/4MCIgK8ABkA67AKK1iyCRkDK7LPGQFxslAZAV2yMBkBXbAZELEABvSyUAkBXbLgCQFdtIAJkAkCXbIwCQFdsmAJAXKwCRCxCAb0sBDQsA7QsA4vsAzcQQsALwAMAD8ADABPAAwAXwAMAG8ADAAFXbK/DAFxshAMAXGyDxsBXVkAsABFWLAALxuxABQ+WbAARViwCy8bsQsIPlmyEwALERI5sBMvsQQC9LAAELAI0LALELAM3LKgDAFdsiAMAV2wCxCxDwP0MDEBsAorWLRIFlgWAnGyOhYBcbSKFpoWAnJZALI4FgFxtEkWWRYCcbSKFpoWAnITFRQWMzI2NxEzESMHIzUzNQ4BIyIuAjURty82JkMUiXAPYFYaVzwqRTMcArzePDsREQEz/UR996APGRUvSTQBCQABACH/jgHAAfQAGQGVsAorWLITBwMrshATAXGyzxMBcbJvEwFysk8TAXKyLxMBcbIvEwFysuATAV2yMBMBcbATELESBPSwANCyLwcBcrJ/BwFdsi8HAXGyTwcBcrJvBwFysAcQsQgE9LIYBxMREjmwGC+wFdyyjxUBcrYvFT8VTxUDXbJPGgFdsuAbAXGyABsBclkAsABFWLAILxuxCBA+WbAARViwFS8bsRUIPlmyAwgVERI5sAMvtMAD0AMCXbEOAfSwCBCwEtCwFRCwFtyyQBYBXbAVELAZ3LIPGQFxsq8ZAXGyTxkBcrJvGQFdMDEBsAorWEEJAAgABAAYAAQAKAAEADgABAAEXbSIBJgEAnFBCQAJAAUAGQAFACkABQA5AAUABF20iQWZBQJxtGMMcwwCcrKzDAFysqQMAXKyhQwBclkAQQkACAAEABgABAAoAAQAOAAEAARdtKkEuQQCcbSLBJsEAnFBCQAIAAUAGAAFACgABQA4AAUABF1BCQCJAAUAmQAFAKkABQC5AAUABHG0pgy2DAJytmgMeAyIDANyJQ4BIyImPQEzFRQeAjMyNjc1MxEjByM1MwE+Dz40SlKCBQ8bFh0rDoJ4D19kzwsWTVqfZxwqHQ4OCsD+DHLUAAEAPP9+A1gCvAAaA4KwCitYshQLAyu04BTwFAJdsgAUAXGyEBQBXbK/FAFxtjAUQBRQFANdsjAUAXGyIBQBcrLwCwFdsh8LAXGyMAsBcUELAAAACwAQAAsAIAALADAACwBAAAsABV2yIAsBcrIEFAsREjm0ZgR2BAJxstYEAXG0BwQXBAJdssYEAXK0lgSmBAJxshYEAXGy9QQBcrIFCxQREjmyOAUBcbIYBQFystkFAXGy+QUBXbRJBVkFAnGyqQUBcbTaBeoFAnKyeQUBcbIZBQFxsrkFAXJBCQBoAAUAeAAFAIgABQCYAAUABHKyiAUBcbQIBRgFAl2yOAUBcrALELEKBPSyDQsUERI5svUNAV2yBQ0BcbRmDXYNAl201g3mDQJdtAYNFg0CXbK3DQFdskYNAV20tg3GDQJxsoUNAV2ykw0BXbITDQFxsg8FBBESObISFAsREjm0uRLJEgJxtNkS6RICXbKKEgFdshsSAXGynBIBXbIaEgFdsvoSAV2yChIBcbRpEnkSAl2yCRIBXbJJEgFdsBQQsBXQsBUvsBjctiAYMBhAGANdsBQQsRoG9FkAsABFWLANLxuxDRQ+WbAARViwCi8bsQoIPlmwDRCwCNCyJggBcbAB0LIFCg0REjmwBS+wD9CwDRCwEtCwChCwGdCxFAL0sBkQsBjcsiAYAV2yoBgBXTAxAbAKK1iyhQMBXbJ1AwFxtAYDFgMCXbJ2AwFdsvYDAV2yFgMBcbTYBugGAl2yCQYBXbKZBgFdsvkGAV2yGgYBXbR6BooGAl2yGgYBcbJ6BgFxstQOAXGyNA4BcrbUDuQO9A4DcrL1DgFdsqUOAXG05Q71DgJxskUOAXK0ZQ51DgJyssUOAXKyZg4BXbLGDgFdtgYOFg4mDgNxsmYOAXG0tg7GDgJxslYOAXKyhg4BcrKmDgFytAcOFw4CXbJXDgFdsrcOAV20Rw5XDgJxslQPAXGyJQ8BcbS1D8UPAnGyxg8BXbJnDwFdsmgQAV2ypxEBXbIYEQFxsmgRAXGy2BEBcVkAsngDAV2yiQMBXbIIBgFdsngGAV2ymAYBXbL4BgFdsngGAXGyGQYBXbKJBgFdtOYO9g4CcbKGDgFysqYOAXKy9g4BcrK3DgFdtEcOVw4Ccba3DscO1w4DcbRXDmcOAnK0OA5IDgJysngOAXK0tw/HDwJxsmcRAXGy1xEBcbKoEQFdATcjBwMjAycjFxEjETMTFzM3EzMRMxUHIzcjAlsPBiuVLJ0sBRSCfbshBB6xfHRgXi1sAWuLcP77AQZviv6UArz+wFBSAT79tx/WggABADn/jgLLAfQAGgH8sAorWLIUCwMrtiALMAtACwNdshALAXGyAAsBXbIQFAFxtAAUEBQCXbLPFAFxtjAUQBRQFANdslAUAXGycBQBcbIECxQREjmyBQsUERI5tEoFWgUCcbQJBRkFAnGwCxCwCtyybwoBcrQvCj8KAl2yzwoBXbINCxQREjmylQ0BXbRlDXUNAnGytQ0BcrKGDQFdshYNAV20Jg02DQJxtOUN9Q0CXbTFDdUNAnGyZQ0BXbQEDRQNAnGyDwsUERI5shIUCxESObJqEgFdtGoSehICcbKaEgFdtOoS+hICXbQKEhoSAnGwFBCwFdCwFS+wGNyy4BgBXbYgGDAYQBgDXbAUELEaBPRZALAARViwDS8bsQ0QPlmwAEVYsBkvG7EZCD5ZsA0QsAfQsALQsBkQsArQsgUKDRESObAFL7AP0LIWDwFdsA0QsBLQsBkQsRQC9LAZELAY3DAxAbAKK1iydgIBXbQGAxYDAnGydwMBXbI4BgFdslgGAXKymQYBXbTpBvkGAl20CQYZBgJxsrkGAXGy+QYBcbJ6BgFdssoGAXGy2wYBcbJ5BwFdsrkHAV2ylg4BXbKHDgFdsogRAV2ymREBXVkAsngDAV20CAMYAwJxtOgG+AYCXbS4BsgGAnGy+AYBcbQJBhkGAnGyegYBXbJaBgFystsGAXGylw4BXSU3Iw8BIy8BIxcVIxEzHwEzPwEzETMVByM3IwHlCAUoXi9nJgYNdIdzHAQdaohpYF4tVeVoVpubVmfmAfS8P0G6/n8fxnL//wBCAAAAxAK8AgYCzgAA//8AAAAAAl0DagImACQAAAEGAsktAABVsAorWLR/HI8cAnFBCQC/ABwAzwAcAN8AHADvABwABHJBDQCvABwAvwAcAM8AHADfABwA7wAcAP8AHAAGXbJ/HAFytE8cXxwCcbYgHDAcQBwDXTAxWQAAAP//ABf/+AHHAsACJgBEAAABBgLKEQAAXLAKK1hBCQAgAD8AMAA/AEAAPwBQAD8ABHKyfz8BXba/P88/3z8DXbI/PwFxsv8/AV2ynz8BXbIAPwFdQQkAYAA/AHAAPwCAAD8AkAA/AARxtiA/MD9APwNdMDFZ//8AAAAAAl0DWAImACQAAAEGAsU7AAB5sAorWLAOL0ELAAAADgAQAA4AIAAOADAADgBAAA4ABV20nw6vDgJxtt8O7w7/DgNytt8O7w7/DgNxsg8OAXJBDQCvAA4AvwAOAM8ADgDfAA4A7wAOAP8ADgAGXbQwDkAOAnK0EA4gDgJxsBrcsvAaAXGyEBoBcTAxWQAAAP//ABf/+AHHAr4CJgBEAAABBgBqB+0AcrAKK1iwMC+2vzDPMN8wA12y/zABcrJ/MAFdsv8wAV2ynzABXbYgMDAwQDADXbA83LLAPAFdshA8AXFZALA5L7IfOQFysl85AXKyfzkBcrI/OQFyQQkAjwA5AJ8AOQCvADkAvwA5AARxsoA5AXKwRdAwMQAA////4wAAAzMCvAIGAIgAAP//ABf/8gLuAgICBgCoAAD//wA8AAAB4ANqAiYAKAAAAQYCyQ4AAE+wCitYsoAaAXJBDQCvABoAvwAaAM8AGgDfABoA7wAaAP8AGgAGXbL/GgFxsl8aAV2yrxoBcbYQGiAaMBoDXbQQGiAaAnK0sBrAGgJxMDFZAP//ACH/8gHZAsACJgBIAAABBgLKHQAAJ7AKK1i0ny+vLwJytl8vby9/LwNdtt8v7y//LwNxtAAvEC8CcTAxWQAAAgAl//ICUALKAAoAKQGEsAorWLIcJgMrsg8mAXKy3yYBcbJgJgFdskAmAV2wJhCxAgf0skAcAV2ykBwBXbLgHAFdst8cAXGyDxwBcrJAHAFyssAcAV20YBxwHAJdshAcAV2ycBwBcrAcELEKBvSwC9CwCy+wJhCwEtCwEi+yYCsBcbKAKwFxWQCwAEVYsBcvG7EXFD5ZsABFWLAhLxuxIQg+WbIpFyEREjmwKS+xAAL0sCEQsQcC9LAXELEOA/QwMQGwCitYsjUFAXG0BgUWBQJxskYFAXGyCA0BXUEJAKgAEQC4ABEAyAARANgAEQAEcbKWGQFysjcZAV2y9xkBXbQmHzYfAnKyxx8BcbIoIwFxsqkjAV2yeSMBcrSoJLgkAl2ymCQBcVkAtDcFRwUCcbIIDQFdsigRAV2ySBEBXbKYEQFxsjkRAV2yqREBcbTJEdkRAnGyuxEBcbI3GQFdsvcZAV20KB84HwJysmkfAXGyyR8BcbKoIwFdsigjAXGyeSMBcrKoJAFdspgkAXGyuSQBXRMGFRQeAjMyNjU3LgEjIgYHJz4DMzIeAhUUDgIjIi4CNTQ2N7gDDx8wIkZLAQZWWjRQFx0PLTc9H0VuTSghR21MRGRCIAUFASgUEh85LBtkYXFXYB8OdQkSDgkpWYpgVYdeMixQcEQcOyAAAgAi//IB2gICABkAIAJFsAorWLIIEAMrsjAQAV2ybxABXbIvEAFysm8QAXKyTxABckEJAM8AEADfABAA7wAQAP8AEAAEcbIPEAFyso8QAXKyEBABXbJQEAFdsBAQsADQsAAvsjAIAV2ycAgBXbKwCAFdsvAIAV2ysAgBcrLvCAFxsi8IAXKyTwgBcrJvCAFysg8IAXKyzwgBcbKQCAFystAIAV2ykAgBXbJQCAFdshAIAV2y0AgBcrAIELEdBPSwE9CwEBCwHty0Lx4/HgJdtK8evx4CXbJPHgFyWQCwAEVYsAMvG7EDED5ZsABFWLALLxuxCwg+WbITAwsREjmwEy+wAxCwFty0QBZQFgJdQQkAUAAWAGAAFgBwABYAgAAWAARxtsAW0BbgFgNdsiAWAXKysBYBcrALELAa3LRPGl8aAl2yLxoBcrbPGt8a7xoDXUEJAF8AGgBvABoAfwAaAI8AGgAEcbK/GgFysBMQsB3cQQ0AAAAdABAAHQAgAB0AMAAdAEAAHQBQAB0ABnFBCQBgAB0AcAAdAIAAHQCQAB0ABF2yIB0BcjAxAbAKK1i0ZQV1BQJytOYF9gUCXbRmBXYFAnG0ZwV3BQJdtOYJ9gkCXbTnCfcJAnFBCQAIAA4AGAAOACgADgA4AA4ABHG0SQ5ZDgJyWQC0ZQV1BQJytOcF9wUCXbRnBXcFAnG06An4CQJdtOgJ+AkCcbRoCngKAl1BCQAIAA4AGAAOACgADgA4AA4ABHG0SA5YDgJytjgZSBlYGQNdtGkZeRkCXbSqGboZAl0TPgEzMh4CFRQGIyIuAjU0NyEuASMiBgcTMjY3IwYWMh5nOjxYORx8aydLOyQKAS8FO0IpPxGSMjMBvQUvAckYISZFYjt/iRYyUzwqMT44HQz+6UU0NkP//wAl//ICUANYAiYB6QAAAQYCxUMAAGOwCitYsCovshAqAXJBCwAAACoAEAAqACAAKgAwACoAQAAqAAVdsr8qAV2yryoBcbL/KgFxst8qAV2yfyoBXbRAKlAqAnKyYCoBcbYAKhAqICoDcbA23LLwNgFxshA2AXEwMVkA//8AIf/yAdkCvgImAer/AAEGAGoE7QCHsAorWLAhL7L/IQFyQQkAzwAhAN8AIQDvACEA/wAhAARxsg8hAXJBCQAAACEAEAAhACAAIQAwACEABF20ICEwIQJxsC3csnAtAXKyEC0BcVkAsCovsj8qAXKyfyoBckEJAI8AKgCfACoArwAqAL8AKgAEcbJfKgFysh8qAXKygCoBcrA20DAxAP////kAAANNA1gCJgFPAAABBwLFAK8AAABHsAorWLAaL7JfGgFdtJ8arxoCcbIPGgFysn8aAXKyzxoBcbTfGu8aAl20ABoQGgJdtBAaIBoCcbAm3LIQJgFxssAmAV0wMVkAAAD////6AAACugK+AiYBbwAAAQYAamntAMKwCitYsBovskAaAXKyXxoBXUEJAM8AGgDfABoA7wAaAP8AGgAEXbTfGu8aAnG2nxqvGr8aA3Ky/xoBcrIPGgFytm8afxqPGgNxsn8aAV20ABoQGgJdsqAaAXG2ABoQGiAaA3GwJtyyMCYBcrJwJgFyshAmAXFBCQDAACYA0AAmAOAAJgDwACYABF1ZALAjL7I/IwFysn8jAXJBCQCPACMAnwAjAK8AIwC/ACMABHGyXyMBcrIfIwFysoAjAXKwL9AwMQAA//8AEv/yAesDWAImAVAAAAEGAsX+AABQsAorWLA6L7YAOhA6IDoDcbJfOgFxst86AV22IDowOkA6A3KykDoBXUENAAAAOgAQADoAIAA6ADAAOgBAADoAUAA6AAZdsEbcsu9GAXEwMVn//wAT//UBjwK+AiYBcAAAAQYAatftAJiwCitYsC0vsqAtAXGyfy0BXbbfLe8t/y0DXUEJAM8ALQDfAC0A7wAtAP8ALQAEcbIPLQFysr8tAV1BCQAAAC0AEAAtACAALQAwAC0ABF2ygC0BcbJgLQFxsDncshA5AXFZALA2L7I/NgFysn82AXJBCQCPADYAnwA2AK8ANgC/ADYABHGyXzYBcrIfNgFysoA2AXKwQtAwMQABACL/8gH6ArwAKQF9sAorWLIaJAMrsmAaAV20MBpAGgJdst8aAXGyEBoBXbKAGgFdsqAaAV2wGhCxBQf0skAkAV2ynyQBXbLfJAFxsv8kAXGyfyQBXbKgJAFdsmAkAV2yCSQaERI5sAkvsBoQsBHQsBEvsAzQsvoMAXGyCgwBcrQsDDwMAnKyHwwBcbINDAFxsksMAXKymQwBXbL5DAFdsCQQsA7QsA4vshMJERESObQFExUTAl2yMCsBXbJwKwFxWQCwAEVYsA8vG7EPFD5ZsABFWLAfLxuxHwg+WbEAA/SyFQ8fERI5sBUvsAjcsA8QsQ4C9LAR0DAxAbAKK1iyeQsBXbKnEgFxtAYXFhcCcbI2FwFxsnYXAXK0BxcXFwJdtgUYFRglGANxtAcYFxgCXbLHHAFdsgclAXKyGCUBclkAsnYLAV2yqRIBcbJ2FwFytAcXFxcCXbQHFxcXAnGyNxcBcbQHGBcYAl2yJxgBcbLIHAFdsoYlAV20BiUWJQJytlclZyV3JQNdNzI+AjU0JisBNT8BByM1IRUPARU3Mh4CFRQOAiMiLgInNx4D3h40JxZYVVGcLTvPAa+qLS4sSTQdJ0hlPxY2NjIRIA4lKitsDhwoGzkuOq4rDHVLvCAEChkwSTA2VTwgBQkPCngIDQoGAAEACv8sAcYB9AAiAgiwCitYshcfAyuybxcBcrKvFwFdsi8XAXKyTxcBcrJfFwFxss8XAXKyjxcBcrKvFwFysBcQsQME9LJvHwFysv8fAV2yXx8BcbL/HwFxsq8fAXKy3x8BcbIfHwFxss8fAXKyjx8BckEJAB8AHwAvAB8APwAfAE8AHwAEcrIGHxcREjmwBi+wFxCwDtCwDi+wCdC06gn6CQJdtAoJGgkCcbTrCfsJAnFBEQALAAkAGwAJACsACQA7AAkASwAJAFsACQBrAAkAewAJAAhytGsJewkCcbKNCQFytM0J3QkCcbSrCbsJAnG0iwmbCQJdshgJAV2yOAkBXbAfELAL0LALL7AGELAQ0LIvJAFdsk8kAV2yDyQBXVkAsABFWLAMLxuxDBA+WbAARViwHC8bsRwKPlmxAAH0shIMHBESObASL7AF3LJgBQFdsAwQsQsB9LAO0DAxAbAKK1iymAgBXbSHD5cPAnG0BhQWFAJxshcUAV1BCQBnABQAdwAUAIcAFACXABQABF20BhUWFQJxtAcVFxUCXbRnFXcVAl20JRk1GQJytMYZ1hkCXbRHGVcZAl22RyBXIGcgA3JZALSID5gPAnGyFxQBXUEJAGcAFAB3ABQAhwAUAJcAFAAEXbQHFBcUAnG0SBlYGQJdtMgZ2BkCXbQpGTkZAnKyZSABcrRmIHYgAl20RyBXIAJyFzI2NTQrATU/AQcjNSEVDwEVNzIeAhUUDgIjIiYnNx4BvztKoEB1NkmrAYyLKB8iQTIeJ0dkPS1aJi4bQWY5NG81sTEHbka5HQIDGzJILTdXPSAUFmcOFf//ADwAAAJdA1gCJgFRAAABBgLIagAAIrAKK1iyABMBXbJPEwFdst8TAXG0ABMQEwJxsiATAV0wMVkAAP//ADkAAAHoApICJgFxAAABBgBxNgAAO7AKK1iyLxMBcbI/EwFyQQsAvwATAM8AEwDfABMA7wATAP8AEwAFXbIPEwFytBATIBMCXbJAEwFdMDFZAP//ADwAAAJdA1gCJgFRAAABBgLFWgAAO7AKK1iwEC+yABABXbL/EAFdst8QAXGyjxABcrKvEAFxtG8QfxACXbSAEJAQAl20IBAwEAJdsBzcMDFZAP//ADkAAAHoAr4CJgFxAAABBgBqK+0AcLAKK1iwEC+2IBAwEEAQA12yXxABcbKfEAFxsv8QAV2yoBABcbQAEBAQAnGwHNyyDxwBcbJwHAFyWQCwGS+yHxkBcrJfGQFysn8ZAXKyPxkBckEJAI8AGQCfABkArwAZAL8AGQAEcbKAGQFysCXQMDH//wAm//ICeANYAiYAMgAAAQYCxVwAAEKwCitYsCAvsmAgAXG0byB/IAJdtt8g7yD/IANdsgAgAV2ygCABXbQgIDAgAl2wLNyyQCwBcrLwLAFxshAsAXEwMVkAAP//ACH/8gH4Ar4CJgBSAAABBgBqHO0AgrAKK1iwHi+y/x4BXbSvHr8eAnJBCQBfAB4AbwAeAH8AHgCPAB4ABF207x7/HgJxsg8eAXK0IB4wHgJdtAAeEB4CcbAq3LKAKgFdWQCwJy+yHycBcrJfJwFysn8nAXKyPycBckEJAI8AJwCfACcArwAnAL8AJwAEcbKAJwFysDPQMDEAAP//ACb/8gJ4AsoCBgGZAAD//wAh//IB+AICAgYBmgAA//8AJv/yAngDWAImAZkAAAEGAsVdAABHsAorWLAiL7IgIgFxsgAiAV223yLvIv8iA120byJ/IgJdsmAiAXGygCIBXbQgIjAiAl2wLtyyQC4BcrLwLgFxshAuAXEwMVkA//8AIf/yAfgCvgImAZoAAAEGAGoc7QB2sAorWLAgL7L/IAFdsg8gAXJBCQBfACAAbwAgAH8AIACPACAABF20zyDfIAJxtCAgMCACXbQAIBAgAnGwLNxZALApL7I/KQFysn8pAXJBCQCPACkAnwApAK8AKQC/ACkABHGyXykBcrIfKQFysoApAXKwNdAwMQAA//8AFP/yAhgDWAImAWYAAAEGAsX0AABTsAorWLAlL7KQJQFdsnAlAXG07yX/JQJyso8lAXK0sCXAJQJxsgAlAXFBCQAgACUAMAAlAEAAJQBQACUABF2yACUBXbAx3LLwMQFxshAxAXEwMVkA//8AF//yAaoCvgImAYYAAAEGAGrc7QCZsAorWLAcL0ENAK8AHAC/ABwAzwAcAN8AHADvABwA/wAcAAZdsm8cAXK0bxx/HAJdsk8cAXJBDQAAABwAEAAcACAAHAAwABwAQAAcAFAAHAAGXbQAHBAcAnGwKNyycCgBclkAsCUvsh8lAXKyXyUBcrJ/JQFysj8lAXJBCQCPACUAnwAlAK8AJQC/ACUABHGygCUBcrAx0DAxAAAA////9//5AkYDWAImAVwAAAEGAshCAAAvsAorWLQAGhAaAl2yvxoBcrTPGt8aAl20rxq/GgJxtCAaMBoCcrQAGhAaAnEwMVkA////9/8zAeYCkgImAFwAAAEGAHEaAAAysAorWLKPGQFdsq8ZAXKyXxkBXbbPGd8Z7xkDcrIPGQFytgAZEBkgGQNxslAZAXEwMVkAAP////f/+QJGA1gCJgFcAAABBgLFPwAAcbAKK1iwFy9BCQAQABcAIAAXADAAFwBAABcABHK03xfvFwJdtN8X7xcCcUEJAL8AFwDPABcA3wAXAO8AFwAEcrKvFwFxQQsAAAAXABAAFwAgABcAMAAXAEAAFwAFXbJgFwFxtgAXEBcgFwNxsCPcMDFZAAAA////9/8zAeYCvgImAFwAAAEGAGoM7QBbsAorWLAWL0EJAM8AFgDfABYA7wAWAP8AFgAEcbIPFgFytO8W/xYCXbQgFjAWAl1BDwAQABYAIAAWADAAFgBAABYAUAAWAGAAFgBwABYAB3KwItyyECIBcTAxWQD////3//kCRgNSAiYBXAAAAQYCx1MAAFywCitYsBsvQQ0ArwAbAL8AGwDPABsA3wAbAO8AGwD/ABsABnG0DxsfGwJysv8bAXKyjxsBXUEJAK8AGwC/ABsAzwAbAN8AGwAEcrI/GwFxtAAbEBsCXbAg3DAxWf////f/MwHmArwCJgBcAAABBgE2QgAAPrAKK1iwGi+0ABoQGgJxtq8avxrPGgNxtr8azxrfGgNdtK8avxoCcrIQGgFyskAaAV20ABoQGgJdsB/cMDFZAAD//wAuAAACIgNYAiYBYAAAAQYCxT0AAI2wCitYsBYvQQ0AEAAWACAAFgAwABYAQAAWAFAAFgBgABYABnJBCQCvABYAvwAWAM8AFgDfABYABF2y/xYBcrL/FgFdQQsAAAAWABAAFgAgABYAMAAWAEAAFgAFXbRgFnAWAnFBCQAAABYAEAAWACAAFgAwABYABHGwItyy7yIBcbIQIgFxssAiAV0wMVkAAAD//wAhAAABwAK+AiYBgAAAAQYAagDtAHmwCitYsBgvtCAYMBgCXUEJAG8AGAB/ABgAjwAYAJ8AGAAEXbTvGP8YAl2yIBgBcrIwGAFxsCTcsi8kAXKyECQBcVkAsCEvsh8hAXKyXyEBcrJ/IQFysj8hAXJBCQCPACEAnwAhAK8AIQC/ACEABHGygCEBcrAt0DAxAAAAAAEAPP+DAdMCvAAJANuwCitYuwACAAYABwAEK7QgAjACAnK0AAIQAgJdsvACAV2yAAIBcbQwAkACAl2wAhCwA9CwAy+wBdyyHwUBcUELACAABQAwAAUAQAAFAFAABQBgAAUABV2ysAUBcbQABxAHAl20MAdABwJdsvAHAV2yAAcBcbQgBzAHAnKwBxCwCdyyUAkBXbJwCQFdshAJAXGyYAkBcbLACQFysuALAV1ZALAARViwCS8bsQkUPlmwAEVYsAYvG7EGCD5ZsAkQsQAD9LAGELECA/SwBhCwBdyyoAUBXbIgBQFdMDEBIREzFSMnIxEhAdP+8lhgD3IBlwJC/jj3fQK8AAEAOf+OAXwB9AAJAL+wCitYuwAEAAUACQAEK7I/CQFysv8JAV20AAkQCQJdskAJAV2wCRCwAdyyUAEBcbJwAQFysvABAV2yUAEBXbI/BAFysv8EAV2yQAQBXbQABBAEAl2wBBCwBdCwBS+yLwUBcbAH3LJgBwFyQQsAIAAHADAABwBAAAcAUAAHAGAABwAFXbKwCwFdWQCwAEVYsAEvG7EBED5ZsABFWLAILxuxCAg+WbABELECAvSwCBCxBAL0sAgQsAfcskAHAV0wMRMhFSMRMxUjJyM5AUO9Wl8PcgH0c/7y5XL//wA8//YC4QNYAiYBZAAAAQcCxQCYAAAAb7AKK1iwJi+0ICYwJgJytG8mfyYCXbLfJgFdtp8mrya/JgNxtH8mjyYCcrLvJgFysg8mAXKyTyYBcbK/JgFdQQkAEAAmACAAJgAwACYAQAAmAARdsgAmAXG0gCaQJgJdsDLcsu8yAXGyDzIBcTAxWQAAAP//ADn/+QKGAr4CJgGEAAABBgBqaO0AhbAKK1iwIi+yACIBXbJfIgFdtO8i/yICXbTvIv8iAnG0DyIfIgJysr8iAXK0fyKPIgJxtK8ivyICXbIfIgFdshAiAXG0ICIwIgJdsC7cWQCwKy+yHysBcrJfKwFysn8rAXKyPysBckEJAI8AKwCfACsArwArAL8AKwAEcbKAKwFysDfQMDEAAAAAAQAK/zECZAK8ACEDWLAKK1iyFQgDK7JAFQFdsgYVAV2y/xUBcrIvFQFdsgAVAXGyUBUBcbIQFQFdsBUQsQAH9LKPCAFdss8IAXKyHwgBcbL/CAFyshEVCBESObJIEQFdsgkIFRESObIaCQFxsgURCRESObAIELAH3LKCBwFdstMHAXFBCQA0AAcARAAHAFQABwBkAAcABHKyeQcBXbJkBwFxsnMHAXGy8AcBXbQABxAHAnGykAcBXbAIELAK0LSmCrYKAl22NwpHClcKA122Zgp2CoYKA12ylQoBXUEJAMUACgDVAAoA5QAKAPUACgAEXbQFChUKAnGwC9y2MAtAC1ALA3GykAsBXbRyC4ILAl2y0wsBcbITCwFxsmQLAXFBCwAkAAsANAALAEQACwBUAAsAZAALAAVytAMLEwsCcrJzCwFxsgILAXGyEAsBXbbQC+AL8AsDXUEJAJAACwCgAAsAsAALAMAACwAEcbLwCwFxsg0JERESObAVELAQ0LKHEAFdskgQAV2ymBABXbIXEAFxQQkAJgAQADYAEABGABAAVgAQAARxsA/cQQkAOwAPAEsADwBbAA8AawAPAARysnwPAXGy/w8BXbQPDx8PAnGyzw8BcbKfDwFdso0PAV2y3A8BcbJrDwFxsnYPAV2yGwgVERI5sBsvsmAjAV1ZALAARViwCy8bsQsUPlmwAEVYsAcvG7EHCD5ZsABFWLAYLxuxGAo+WbIFBwsREjmyCwUBcbKaBQFdsg0LBxESObIXDQFdspUNAV2yCQ0FERI5sAsQsA/QshENBRESObAYELEfAvQwMQGwCitYspkCAV2ymAMBXbL5BAFdspoEAV2y9QYBXbRmBnYGAl2yBgYBcbKXBgFdtIQMlAwCXbbVDOUM9QwDXbRmDHYMAl2yFw0BXbKJDgFdshcSAV20ZxJ3EgJdtGYTdhMCXbJXEwFdsmUWAXG0dhaGFgJxtHYXhhcCcbIXFwFdsscXAV2yRxcBclkAspgCAV2ymQMBXbKYBAFdspcGAV2y9wYBXbQHBhcGAnGy9gwBXbRnDHcMAl201wznDAJdshYNAV2y9w4BXbKIDgFdtAgOGA4CcbZXE2cTdxMDXbR4FogWAnGyaRYBcbR4F4gXAnGyGRcBXbLJFwFdskoXAXIFNCYvAg8BIxMDMx8BPwEzAxceARUUBiMiJic1MhYzMjYBxB4ORxwafJXXw6VsGBdxlcqCGRxRUQ8hEQQHBCscFSJAF3RKStgBZAFYykdHyv6v1SdYK1tgAwRtASoAAQAI/zAB+wH0ACACwbAKK1iyAxcDK7IvAwFxsm8DAXKyTwMBcrJwAwFdslADAXGybxcBcrL/FwFdsk8XAXKyCBcDERI5sAgvsiAIAV2wAxCxDwT0shgXAxESObJ7GAFxsgoYAV2yORgBcbIgAxcREjm2FiAmIDYgA12ySSABXbJVIAFdsiUgAXGyFBggERI5sBcQsBbcshMWAXGydBYBcbJqFgFxsvsWAV20yhbaFgJdsukWAV22YxZzFoMWA3KykxYBXbJQFgFysBcQsBnQtLUZxRkCcbKWGQFdtAYZFhkCXbJ4GQFxtmcZdxmHGQNdtEYZVhkCXba2GcYZ1hkDXbTlGfUZAl2yBRkBcUEJACUAGQA1ABkARQAZAFUAGQAEcbAa3LIQGgFdsuIaAV2ykxoBXUELAEMAGgBTABoAYwAaAHMAGgCDABoABXK0JBo0GgJytMoa2hoCXbIEGgFxsvMaAV2yQxoBcbITGgFxshAaAXKygBoBXbJQGgFxshwgGBESObQHHBccAnGwAxCwH9CySh8BXbAe3LTFHtUeAl2yGx4BcbKcHgFdtmwefB6MHgNysnseAXGyCh4BcbL1HgFdsuQeAV2yPyIBXbIfIgFdslAiAXFZALAARViwGi8bsRoQPlmwAEVYsAYvG7EGCj5ZsABFWLAWLxuxFgg+WbIqAwFxsAYQsQwB9LIUFhoREjmyHBoWERI5siYcAXGyFhwBXbQFHBUcAnGyGBwUERI5sjcYAXGwGhCwHtCyIBwUERI5MDEBsAorWEEJAEcAAABXAAAAZwAAAHcAAAAEXbRnAXcBAl20BwQXBAJdtIYFlgUCcbQHBRcFAl20ZwV3BQJyspYbAV2y1xwBXbKWIAFdtAYgFiACcVkAtEcAVwACXbQIBBgEAl20CAUYBQJdtIkFmQUCcbRqBXoFAnKy5xgBXbQGGxYbAnGylxsBXSUeARUUBiMiJzUWMjMyNic0Ji8CDwEjEyczHwE/ATMHAbsWHkxQHyIFCQUqHwEZDiIiH02OopabQRweRI2XgCBUJVhfB2gBJB4bNRUzSEh4AQD0a0ZGa/AAAQAo//IB/ALIADsBpbAKK1iyKhkDK7LPGQFxsg8ZAXKyLxkBcrLvGQFxsjAZAV2yUBkBXbAZELEGB/SykCoBcrIwKgFdsu8qAXGyLyoBcrJQKgFdshAqAV2ywCoBXbKAKgFdsCoQsA/QsA8vsBkQsCDQsCAvsuAgAV2yOhkqERI5sDovsh0gOhESObAgELExB/RZALAARViwJS8bsSUUPlmwAEVYsBQvG7EUCD5ZsQsD9LI6JRQREjmwOi+yTzoBXbKvOgFdsi86AXGyXzoBcbE7AfSyHTo7ERI5sCUQsS4D9DAxAbAKK1hBCQBoAA4AeAAOAIgADgCYAA4ABF20aBd4FwJdsvkXAV2yCRcBcbKpFwFytjgeSB5YHgNxsvkeAV2yCR4BcbQpHjkeAnKySh4BcrKZHwFdsjkiAXFZAEEJAGgADgB4AA4AiAAOAJgADgAEXbZoF3gXiBcDXbL4FwFdsggXAXGyqBcBcrKmGwFxtLcbxxsCcbIIHgFxsvkeAV20SR5ZHgJxsjoeAXG2Kh46HkoeA3KymB8BXbKWIgFdtEciVyICcbLXIgFxspgrAV0BKgEHDgEVFB4CMzI2NxcOAyMiLgI1NDY3NS4BNTQ+AjMyHgIXBy4BIyIGFRQeAhceATsBFQGADwwMWEkVIy8bM1MXJQ4rNj0hPGFFJUdBOjgnQ1cwHTszKQskGUwkNzwQGSESETYSGAE2AQI0LhomGQwZC2wJEQ8JGTNPNklZDQUWWDQwQyoSCA0PB20LEyQqFB4WDgMFAWsAAQAh//UBmgH9ACsCDrAKK1iyHxIDK7K/EgFdsr8SAXKybxIBXbQvEj8SAnKynxIBXbIAEgFysBIQsQUE9LJwHwFdshAfAXGyLx8BcrIwHwFxtOAf8B8CXbIwHwFdshAfAV2wHxCwDNCwDC+wEhCwGdCwGS+2EBkgGTAZA3GyKxIfERI5sCsvshYZKxESObQKFhoWAl2wGRCxJgT0WQCwAEVYsBwvG7EcED5ZsABFWLAPLxuxDwg+WbIpHA8REjmwKS+0DykfKQJysq8pAXK0Lyk/KQJxtI8pnykCXbAA3LQQACAAAnG0YABwAAJdsA8QsQgB9LIWKQAREjmwHBCxIwH0MDEBsAorWLSHC5cLAl20yQvZCwJdtAgQGBACXbQIERgRAl20KBE4EQJytAkRGRECcrQIFxgXAl2yiBcBcbQKGBoYAnG0KBo4GgJdtOga+BoCcbQJGhkaAl20CRoZGgJxtMka2RoCcbSqGroaAnJBCQAIABsAGAAbACgAGwA4ABsABF20yCDYIAJdWQCydgsBXbSHC5cLAl20yAvYCwJdtAgQGBACXbQIERgRAl1BCQAIABEAGAARACgAEQA4ABEABHK0CBcYFwJdsokXAXG0BhoWGgJdtAYaFhoCcbTmGvYaAnG0phq2GgJytCcaNxoCXbTHGtcaAnFBCQAHABsAFwAbACcAGwA3ABsABF20xyDXIAJdsnggAV0lIg4CFRQWMzI2NxcOASMiJjU0Njc1LgE1NDYzMhYXBy4BIyIGFRQWOwEVARIgKxoKLS0oQhccGlI3bmgvMigmXE8+XR4cEj0nKSctIz3PBg0TDRofEg5lDxpVQjM7DgQOPyNAQRkRYwsUFhsXHVsAAf/z/zACPgK8ACoBNbAKK1iyACkDK7QQACAAAl2yAAABcrIQAAFxsu8pAV20ECkgKQJdsgApAXKyBikAERI5sAYvsAAQsQ8G9LApELERBPSwKRCwHty0bx5/HgJdtA8eHx4CXbLPHgFdtB8eLx4CcbKwLAFdspAsAXFZALAARViwKS8bsSkUPlmwAEVYsBsvG7EbCD5ZsABFWLADLxuxAwo+WbEKAvSwKRCxEQP0sBsQsSED9DAxAbAKK1iypgIBcbKGAgFytAcCFwICXbLXAgFdspcCAXGyRxQBXbQnGDcYAl20KCQ4JAJdtColOiUCXbKIJgFdtNgm6CYCXbKZJgFdWQC0CQIZAgJdtMkC2QICXbKJAgFytJoCqgICcbJIFAFdtCgYOBgCXbQmJDYkAl20JyU3JQJdspYmAV2yhyYBXQUUBiMiJic1MhYzMj4CNREjDgMHDgMjIiYnNxYzMjY3PgM3IQI+SE4OIREFBwQVGAwElQQLEx0VDyIkJBAXKg8WDQ4PHw0PFhEKAgGdFVtgAwRtAQwXIxcCQl+cfWAjFx4SBwgHdQUQFBZVhLd6AAH/7/8wAcsB9AAeAYmwCitYshIQAyuyLxABcbRPEF8QAnKybxABcbLfEAFdskAQAV2wEBCwAdyyTwEBXbLQAQFdsBAQsAjcsj8IAV20rwi/CAJdsi8SAXGybxIBcbJPEgFyshcQEhESObAXL7YgFzAXQBcDXbASELEeBPSyMCABcrLQIAFxsrAgAXGyECABcrJwIAFyWQCwAEVYsBAvG7EQED5ZsABFWLAGLxuxBgg+WbAARViwFS8bsRUKPlmwEBCxAQL0sAYQsQsC9LAVELEbAvQwMQGwCitYsgUEAXKy9gQBcbRHBFcEAl20RwVXBQJdtOcF9wUCXbL3BQFxQQkASAANAFgADQBoAA0AeAANAARdtEgOWA4CXbaWFKYUthQDcbRmFHYUAnK0BxQXFAJdWQC0SARYBAJdsgkEAXJBCQBIAAUAWAAFAGgABQB4AAUABF206AX4BQJdsvgFAXFBCQBHAA0AVwANAGcADQB3AA0ABF20Rg5WDgJdtKgUuBQCcbQJFBkUAl2ymRQBcbRqFHoUAnIBIw4DIyInNxYzMj4CNyERFAYjIic1MhYzMjY1AUljBhAjPDA6GBAQDhQeFQ0DAVdITx4iBAcEKxsBgUeMb0UPbAYiWJd0/fdbYAdtATEsAAEAAP/7A14CvAAVAx2wCitYsgsUAyuy4AsBXbIvCwFdspALAV2yAAsBXbITFAsREjmyuRMBXbLJEwFxskoTAXKy+xMBXbKqEwFytAkTGRMCcbJZEwFxsmgTAV20JhM2EwJdshIUCxESObJUEgFystUSAXGyRRIBcbIFEgFdtNUS5RICXbLGEgFxtFYSZhICcbLGEgFdsjcSAXGyFxIBXbZ3EocSlxIDXbL2EgFdtAYSFhICcbKGEgFysqYSAXG05hL2EgJxsqUSAV1BCQAVABIAJQASADUAEgBFABIABHKydRIBcbK1EgFytCQSNBICXbJjEgFysgETEhESObIEFAsREjmymAQBXbJZBAFxtKoEugQCcbQqBDoEAnKyegQBcbJqBAFystoEAXGyiQQBcbKJBAFdsmcEAV2yRgQBXbIFCxQREjm0xQXVBQJxthUFJQU1BQNyspUFAXGyRgUBcbIXBQFdsqcFAV2ydwUBXbL3BQFdssYFAV205gX2BQJxsmUFAXKydQUBcbQEBRQFAnGyYwUBcbIMCxQREjmytgwBXbJWDAFxtCgMOAwCXbIODAFdssYMAXGy9gwBXbJFDAFysqUMAXKyDQsUERI5skoNAXKyug0BcbJbDQFysmwNAXK0Kw07DQJdsgsNAV2yqg0BXbJIDQFdsmcNAV2yCAwNERI5sAsQsQoG9LIQBAUREjmwFBCxFQf0sk8XAV2yLxcBXVkAsABFWLAVLxuxFRQ+WbAARViwEi8bsRIIPlmwAdCyrwEBXbAVELAE0LQrBzsHAl2wARCwCNCwBBCwCtCwEhCwDdCwBBCwENAwMQGwCitYsgQAAV2ydAABcbI1AAFxshcAAV2yJwABcbJnAAFxslgAAV2yBgEBXbI0BgFdsnUGAV2yJgYBXbKWBgFdtAYGFgYCcbIHBgFdsvcGAV20BgcWBwJxsgcHAV20Jwc3BwJdtNcH5wcCXbIJCAFdskcJAV2yCQkBXbLJCQFxskcKAV2yGA4BcbI3EgFdWQCyBgABXbInAAFxsncAAXGylwYBXbL3BgFdtCgHOAcCXbQqCDoIAl2yxAkBcRMXMzcTMxMXMzcTMwMjAycjBwMjAzPyDQQOelp4DgQPVYvBXH0RBRF8YcCVATV8fgGF/nl8fgGF/T8BhWts/nwCwQAB//j/+wLZAfQAFQIRsAorWLIGDwMrtnAGgAaQBgNdstAGAV2ycAYBcbLQBgFxslAGAXKyJgYBcbIoBgFdsvQGAV2yIAYBcrKgBgFxsjAGAXGysAYBXbIwBgFdspAGAXKybw8BcrLfDwFysgAGDxESObSmALYAAl2ydwABXbIXAAFxskYAAXGyZgABXbIWAAFdsiUBAV2yAwYPERI5srcDAV2yJwMBXbAGELAF3LSjBbMFAl2y3wUBcUEJACUABQA1AAUARQAFAFUABQAEcbIjBQFdsjAFAV2yBwYPERI5sqYHAXGyGwcBXbIMBwFdtOcH9wcCXbI2BwFdslYHAXGyCAYPERI5tIsImwgCXbQKCBoIAl2yJwkBXbILDwYREjmyDQ8GERI5slYNAXKydg0BcbIHDQFxskYNAXG0BQ0VDQJdtIQNlA0CXbIODwYREjmwDxCwENyy0BABcrQEEBQQAnGy+hABXbZgEHAQgBADcrKQEAFdsnAQAXGyEg8GERI5shUPBhESObJZFQFxsjkVAXGykBcBXbIPFwFdsk8XAV2ycBcBXbLQFwFdWQCwAEVYsBAvG7EQED5ZsABFWLANLxuxDQg+WbAS0LAD0LAQELAV0LAF0LANELAI0LAVELAL0LJmCwFdMDEBsAorWLJ3AQFdtAoEGgQCXbQDERMRAl2yFREBcVkAsjYBAV2yJwEBXbJ3AQFdtAUEFQQCXQETFzM/ATMDIwMnIwcDIwMzHwEzPwEBo1sSBA5Ad5pgZQ0FDGBjoY1JDAURUwH0/wBTVP/+BwEYP0D+6QH5+1la+gABADz/gwKaArwACwDlsAorWLIGAwMrQQkAEAADACAAAwAwAAMAQAADAARdsh8DAXKyPwMBcbL/AwFxsiADAXKy0AMBXbADELECBvSyUAYBcbTvBv8GAnGyHwYBcrJwBgFxQQkAEAAGACAABgAwAAYAQAAGAARdtCAGMAYCcrAGELAH0LAHL7AJ3LIfCQFxQQsAIAAJADAACQBAAAkAUAAJAGAACQAFXbKwCQFxsAYQsQsG9FkAsABFWLAELxuxBBQ+WbAARViwAi8bsQIIPlmwBBCxAQP0sAIQsArQsQYD9LAKELAJ3LKgCQFdsiAJAV0wMQEjESMRIREzFSMnIwG69YkCB1dgD3ECQv2+Arz9vvd9AAEAOf+OAi4B9AALAMywCitYsgYDAyuy/wMBXbJfAwFxsk8DAXKyHwMBcbIQAwFdtDADQAMCXbADELECBPSycAYBXbJPBgFyss8GAXGyDwYBcrL/BgFdspAGAV2yMAYBXbIQBgFdsAYQsAfQsAcvtm8HfwePBwNdsAncsmAJAXJBCwAgAAkAMAAJAEAACQBQAAkAYAAJAAVdsAYQsQsE9FkAsABFWLAELxuxBBA+WbAARViwAi8bsQIIPlmwBBCxAQL0sAIQsArQsQYC9LAKELAJ3LJACQFdMDEBIxEjESERMxUjJyMBWZ6CAaJTXw9nAYH+fwH0/n/lcgABADz/gwKIArwAGQF6sAorWLIUCAMrsi8IAXGyTwgBcrIPCAFxst8IAXGyEAgBXbQwCEAIAl2wCBCxBwb0sAvQtAAUEBQCXbJgFAFdsuAUAV2yLxQBcbLfFAFxsg8UAXGyYBQBcbKAFAFdtDAUQBQCXbJgFAFyssAUAXKwFBCwFdCwFS+wF9yyHxcBcbKwFwFxQQsAIAAXADAAFwBAABcAUAAXAGAAFwAFXbAUELEZBvRZALAARViwCi8bsQoUPlmwAEVYsAcvG7EHCD5Zsg4KBxESObAOL7JQDgFdtAAOEA4CXbEDAvSwBxCwGdCxFAP0sBkQsBfcsqAXAV2yIBcBXTAxAbAKK1i0BRAVEAJxtEUQVRACcbSFEJUQAnK0BxAXEAJdsjURAXG0BhEWEQJxsmYRAXFBCQAHABEAFwARACcAEQA3ABEABF1ZALSFEJUQAnK0BxAXEAJdtAcQFxACcbI1EQFxtAYRFhECcUEJAAcAEQAXABEAJwARADcAEQAEXbJnEQFxJTQmIyIGBxEjETMRPgEzMh4CHQEzFSMnIwGnLzYmQxSJiRpXPCpFMxxYYA9y3jw7ERH+zQK8/uYPGRUvSTSP933//wA5/44CPQK8AgYCYAAA//8APAAAAmEDZgImAC4AAAEHAsMAkgAAADiwCitYtt8T7xP/EwNdsh8TAV22rxO/E88TA3FBCQBfABMAbwATAH8AEwCPABMABF2yIBMBcTAxWQAA//8AOQAAAe0C0AImAE4AAAEHAHYAugAAADewCitYsk8TAXG07xP/EwJxsv8TAXKy/xMBXbSfE68TAnK0jxOfEwJxtAATEBMCXbIQEwFyMDFZAAAA//8APAAAAuQDZgImADAAAAEHAsMBAgAAADWwCitYsk8aAXG0rxq/GgJxsv8aAXKyjxoBXbTvGv8aAnGyfxoBcbL/GgFdtBAaIBoCXTAxWQD//wA5AAAC8wLQAiYAUAAAAQcAdgEeAAAAN7AKK1iy/yoBXbKPKgFxsv8qAXKyPyoBXbTvKv8qAnGyTyoBcbaPKp8qryoDXbQAKhAqAl0wMVkAAAD//wA8AAACIwNmAiYAMwAAAQcCwwCAAAAALrAKK1iyACwBXbLfLAFxsv8sAV2y/ywBcbSfLK8sAnGysCwBXbQwLEAsAl0wMVn//wA5/zgB+wLQAiYAUwAAAQcAdgCXAAAAObAKK1iyDyUBcrTvJf8lAnKyTyUBcbKPJQFytK8lvyUCcUEJABAAJQAgACUAMAAlAEAAJQAEXTAxWQAAAQA8//ICdQLJADIBCLAKK1iyHAoDK7IfCgFysh8KAXGyTwoBcbL/CgFdtCAKMAoCXbIACgFdsoAcAV1BCQAAABwAEAAcACAAHAAwABwABF2yYBwBcrJAHAFyshUKHBESObQGFRYVAl2wFRCwANCyCgABXbLTAAFdsAoQsQkG9LIxChwREjmwMS+wGNCyBxgBXbIWGAFdspUYAV2yJAocERI5sCQvsBwQsS0H9LJPMwFdshA0AV1ZALAARViwEC8bsRAUPlmwAEVYsAkvG7EJCD5ZsABFWLAfLxuxHwg+WbAQELEDAfSyMBAfERI5sDAvsBncsB8QsCXcsjAlAV2wJNCyOyQBXbAfELEqA/SwGRCwMtAwMQEuASMiDgIVESMRND4CMzIeAhcPARU3HgEVFAYjIi4CJzceAzMyNjU0JisBNQGjEj0lIyoWB4kaO11CM1FDOBuHIyNRYXt2DigpJAobChwdHAsyN0pMMgI6EBIZLT8m/k8B3jlXPB8PGyMUsx0FCAZiWmx7BAgKBXIFBwQDNzQ3MlP//wA2AOYBMQFZAgYAEAAAAAEAbQDnAicBWgADAEawCitYsgIDAyuyXwIBcbJvAgFdsv8CAV2yrwIBXbL/AwFdsm8DAV1ZALADL7JwAwFdsg8DAXKy8AMBXbKwAwFdsQAC9DAxEyEVIW0Buv5GAVpzAAEAbQDnAscBWgADAC2wCitYsgIDAyuyrwIBXbIQAgFxWQCwAy+yDwMBcrJwAwFdsrADAV2xAAL0MDETIRUhbQJa/aYBWnMAAQAmAioAuQMfABEAzbAKK1iyAAYDK7QAABAAAl20nwCvAAJxsvAAAV2ykAABXbQPBh8GAnGy3wYBcbSfBq8GAnGyjwYBXbQABhAGAl2wABCwDNCwDC+wC9CyDwYAERI5si8TAV1ZALALL7KwCwFdshALAXGycAsBXbYQCyALMAsDXbAD3LALELAM3LADELAP3LKvDwFdsjAPAXGyMA8BXTAxAbAKK1i0KAQ4BAJyQQkAaAAJAHgACQCIAAkAmAAJAARxWQC0KQQ5BAJytGYJdgkCcbSHCZcJAnETFAYjIiY1ND4CNxcOAQcyFrknHSUqGSMmDiAUHAIUIQJqHSMvJyg4JRUFNggjFCMAAQAmAc8AuQLFABEAnrAKK1iyBgADK7LfAAFxso8AAV20AAAQAAJdsrAAAXGy8AYBXbQABhAGAnGysAYBcbKQBgFdtAAGEAYCXbAAELAM0LAML7AL0LIPAAYREjlZALAARViwAy8bsQMUPlmwC9ywDNywAxCwD9yyPw8BcbI/DwFdsqAPAV0wMQGwCitYtIcJlwkCcVkAtCcENwQCcrSICZgJAnG0aQl5CQJxEzQ2MzIWFRQOAgcnPgE3BiYmJx4kKhkjJw0hFB8CFCMChB0kMCcoOCUVBTcJHhcBIf//ACb/iQC5AH8DBwIiAAD9ugBJsAorWLIvEwFdsm8TAV1ZALKQAwFdshADAXKyzwMBcbKvAwFysk8DAV2yzwMBcrI/AwFysr8DAV2yMAMBcbIgAwFdsgADAV0wMQAAAP//ACYCKgFmAx8AJwIhAK0AAAEGAiEAAAAfsAorWLSvAL8AAl2ybwABcbRAElASAl2yLyUBXTAxWQAAAP//ACYBzwFmAsUAJwIiAK0AAAEGAiIAAAAasAorWLRPAF8AAl2ybwABcbSgErASAl0wMVn//wAm/4kBZgB/ACcCIgCt/boBBwIiAAD9ugCWsAorWLJPAAFdsm8AAXG0rwC/AAJdslASAV2yTyUBXbIvJQFdWQCyMAMBcbIAAwFdsr8DAV2yPwMBcrLPAwFysq8DAXKyzwMBcbJPAwFdshADAXKykAMBXbIgAwFdsjAVAXGyABUBXbK/FQFdsj8VAXKyzxUBcrKvFQFyss8VAXGyTxUBXbIQFQFyspAVAV2yIBUBXTAxAAAAAQAo/zgB1QK8ABUAkLAKK1iyDRIDK7SgErASAl2wEhCwBNCyLw0BXbANELAF0LANELAK0LAKL7LgCgFdsBIQsBXQsBUvWQCwAEVYsAQvG7EEFD5ZsABFWLAQLxuxEAo+WbIBBBAREjmwAS+wCNCwARCxFAH0sAvQMDEBsAorWLR1B4UHAnG0dgyGDAJxWQC0dQeFBwJxtHgMiAwCcRMzFyc1MxUHNzMVIycXEQcjJxE3ByModDQQfA8zdXcxDxBcEBA0dAIBEDaVlTYQcBAy/pHIyQFuMhAAAQAo/zgB1QK8ACUBXrAKK1iyGh0DK7SgHbAdAl2wHRCwIdCwIS+wA9CwAy+wHRCwJdCwB9CyLxoBXbAaELAS0LAK0LAaELAW0LAWL7LgFgFdsA7QsA4vWQCwAEVYsAgvG7EIFD5ZsABFWLAcLxuxHAo+WbIFCBwREjmwBS+xAgH0sAUQsAzQsAIQsA/QsAUQsCPcsBTQsCMQsSAB9LAX0DAxAbAKK1iymgEBcbR7AYsBAnG2eAaIBpgGA3GyqQYBcbKVCwFxtHYLhgsCcbR1EIUQAnGylxABcbR1E4UTAnGylhMBcbR1GIUYAnGylhgBcbR4H4gfAnGymR8BcbR4JIgkAnGymSQBcVkAspkBAXG0ewGLAQJxQQkAdQAGAIUABgCVAAYApQAGAARxtHYLhgsCcbKXCwFxtnkQiRCZEANxtHUThRMCcbKXEwFxtnoYihiaGANxtnofih+aHwNxspUkAXG0diSGJAJxEzcHIzUzFyc1MxUHNzMVIycXFQc3MxUjJxcVByMnNTcHIzUzFyfAEDR0dDQQfA8zdXcxDw8xd3UzDxFaERA0dHQ0EAFzLQ9wDzKYmDIPcA8tVC0PcA8ybsjJbTIPcA8tAAEASQCfAXoB0AATACewCitYsgoAAyuyAAABXbIwAAFdsgAKAV2yMAoBXVkAsA8vsAXcMDETND4CMzIeAhUUDgIjIi4CSRgqNx8gOCkYGCk4IB83KhgBNyI4KBcVJzkkJDgnFRUnOP//ADX/9QL3AI4AJgARCwAAJwARARsAAAEHABECKwAAAGOwCitYsn8AAV2yDwABXbJgAAFysqAAAXKy3wYBcbK/BgFdsm8GAXG07wb/BgJdslAYAXGyUBgBcrJNGAFdsq8YAXGyjxgBXbIvGAFxspAYAXKywBgBcbKgGAFdsjAYAV0wMVkAAAD//wAz//IEpwLKACYAfBEAACcAfAGi/o0AJwB8Ayb+jQEHAs8BTwAAAHmwCitYsD4vsk8+AV2yrz4BXbBI3LA+ELBS3LBIELBX3LKwYAFdWQCwAEVYsAUvG7EFFD5ZsABFWLAuLxuxLgg+WbAFELAP3LAW3LAFELAc3LAuELAk3LAuELA13LAkELA73LAkELBD0LAuELBN0LBU3LBDELBa3DAxAAABAB0AJgEQAekABwDDsAorWLICAAMrsq8AAXKyoAABXbLgAAFdsq8CAXKy4AIBXbACELAB3LK/AQFdshsBAV2ygAEBcbAAELAE3LKPBAFxsvAEAV2wAhCwBtCwBi+y8AYBXbABELAH0LAHL7IvCQFdWQCwBy+y7wcBcbAB3LSAAZABAl20QAFQAQJdsgABBxESORmwAC8Ysg4AAV2wARCwAtywABCwBNAZsAQvGLAHELAG3DAxAbAKK1iyBgUBXbIHBgFdsggHAV1ZALIHBQFdEzcXDwEfAQcdoEtTMDBbTQED5j5+KSR6QAABACIAJgEWAekABwDgsAorWLIAAgMrsq8AAV2ybwABXbIQAAFdtEAAUAACXbJvAgFdsr8CAXGyEAIBXbRAAlACAl2wAhCwAdyyFQEBXbJQAQFysrABAV2wABCwBNyy/wQBXbKABAFxsAIQsAbQsAYvsv8GAV2wARCwB9CwBy+yFAcBXbIvCQFdWQCwAS+y7wEBcbAH3LRAB1AHAl20gAeQBwJdsgAHARESORmwAC8YsAEQsALcsiYCAV2wABCwBNAZsAQvGLAHELAG3LL/BgFxsikGAV0wMQGwCitYsggCAV2yCAMBXVkAsgYDAV0BByc/AS8BNwEWoExUMDBcTgEM5j1/KSR7PwAB/1v/8gFfAssAAwDisAorWLIBAwMrsAEQsADQtJgAqAACXbIpAAFdsikAAXGyygABXbSqALoAAnG0ywDbAAJxsuwAAXGyWwABcbQ6AEoAAnGyOgABXbK5AAFdspkAAXGy1gABXbJGAAFdsp8DAXGy7wMBXbLPAwFdsAMQsALQtEQCVAICcbLFAgFdtKUCtQICcbImAgFdtJcCpwICXbJJAgFdspYCAXGytgIBXbQlAjUCAnGyNQIBXbTEAtQCAnGy4wIBcVkAsABFWLAALxuxABQ+WbAARViwAi8bsQIIPlmwABCwAdCwAhCwA9AwMQEXAScBClX+UlYCyzL9WTUAAQAp/5wBdAFHAAwAmLAKK1iyCQEDK7JAAQFdshABAV2wARCwANCwAC+yfwABXbABELAG3LI/BgFdskAJAV2yEAkBXbAJELAK0LAKL1kAsABFWLAILxuxCAw+WbAL3LKfCwFxsn8LAXGyDwsBcrLvCwFxsu8LAV2y4AsBcrJgCwFdsArcsj8KAXKwAdCwCBCwBdyyXwUBXbKQBQFdsgMIBRESOTAxOwE1Nw8BJzczETMVIUhhCh47MZ5VWP7UpC4gJ01v/rlkAAEAMv+cAWwBRwAaAV6wCitYsgAVAyuygAABcrJAAAFdsm8AAXGysAABcrIQAAFxsqAAAV2yPxUBXbL/FQFysr8VAXGyfxUBXbLvFQFxskAVAV2wFRCwCtCwCi+yBAAKERI5tNYE5gQCXbRGBFYEAl20ZQR1BAJxsvUEAV2wABCwB9CwBy+wABCwD9xZALAARViwGC8bsRgMPlmwCNyyDwgBcrJ/CAFxsu8IAXGynwgBcbLvCAFdsuAIAXKyYAgBXbAH3LI/BwFysArQsBgQsBHcst8RAXKyMBEBcjAxAbAKK1i0RgJWAgJdtNcC5wICXbQGGRYZAl20Jxk3GQJdsvcZAXGyBxkBcrL1GgFxsgUaAXK0BhoWGgJdtCcaNxoCXVkAtEkCWQICXbTZAukCAl202gPqAwJdtJgUqBQCXbIGGQFdthcZJxk3GQNdsvcZAXGyBxkBckEJAAcAGgAXABoAJwAaADcAGgAEXSUUBg8BFTczFSE1PgM1NCMiBgcnPgEzMhYBXDwqLztq/scaQDclOBswEiIjTyRHTcg7VCYZBAtlRxIwNzoaMRELWhUTQQABADj/lQFuAUAAIAIfsAorWLIWHgMrtJAWoBYCXbTQFuAWAnGyYBYBcrIAFgFyssAWAV20MBZAFgJdshAWAV2wFhCwA9yyPx4BcbLfHgFysp8eAXG0MB5AHgJdshAeAV2yBx4WERI5sAcvsBYQsA7QsA4vsArQsB4QsA3QsA0vshEOBxESOVkAsABFWLANLxuxDQw+WbAb3LLvGwFdsp8bAXGyfxsBcbLvGwFxsg8bAXKy4BsBcrJgGwFdsADcsm8AAV2yEw0bERI5sBMvtA8THxMCXbAG3LIQBgFysgAGAXGwDRCwDNyyYAwBXbAP0DAxAbAKK1hBCQAGABQAFgAUACYAFAA2ABQABF2ylhQBckEJAEcAFABXABQAZwAUAHcAFAAEXbQ3FEcUAnK0dxSHFAJytDQVRBUCcrQlFTUVAl20VRVlFQJytAYVFhUCXbRGFVYVAl2yhhUBXbTFGNUYAnG0VRhlGAJysuYYAXFBCQAHABgAFwAYACcAGAA3ABgABF20pxi3GAJxsugfAXFZALIFFAFdtDUURRQCcrYWFCYUNhQDXbR2FIYUAnJBCQBHABQAVwAUAGcAFAB3ABQABF20VxRnFAJyspcUAXJBCQAHABUAFwAVACcAFQA3ABUABF20WBVoFQJyQQkACAAYABgAGAAoABgAOAAYAARdtKgYuBgCcbTJGNkYAnG0WhhqGAJysvUfAXGyBR8BcrbGH9Yf5h8DcbIXHwFxFzI2Ny4BKwE1PwEHIzUhFQ8BFTceARcOAyMiJic3FqksJQEBJjMqSSs6cwEbVyIeNDsBAR0xQiMnQxgXKQwcFxcaJlAZBl8+XBIFAwI7NiQ0IhANC1oTAAIAEv+cAZIBSAAKABIApLAKK1iyAQQDK7L/AQFdsAEQsADctEAEUAQCXbIwBAFysAQQsAXcsn8FAXG0TwVfBQJdso8FAV2wBBCwEtCwB9CwARCwCdCwBRCwENCyJxABXbI2EAFdWQCwAEVYsAcvG7EHDD5ZsAPcsu8DAV2ynwMBcbLvAwFxsn8DAXGyDwMBcrJgAwFdshIHAxESObASL7AE3LAB0LASELAG0LASELAJ0DAxBSMVIzUjNRMzETMnNyMPAjczAZJMZc/aWkyxBgUWMCQ0NRZOTkMBG/77VjUxQiAIAAEAAv/yAioCygAxAiewCitYsgkpAyuyzykBcbLvKQFxsn8pAXKyjykBXbI/KQFxsh8pAV22Lyk/KU8pA3KynykBcrJwKQFdsvApAXGwKRCwLNCwAdCyQAkBXbIQCQFxssAJAXGyLwkBcrJPCQFyslAJAXGycAkBXbLwCQFxssAJAXKxEAT0sBHQsBEvslARAV2wLBCxFwT0stgXAV2wGNCwGC+wKRCxGgT0sAkQsCHQsCEvsCkQsCrQsCovsp8qAV2wARCwMdCwMS+ynzEBXVkAsABFWLAGLxuxBhQ+WbAARViwJi8bsSYIPlmyEAYmERI5sBAvso8QAV2y/xABXbI/EAFxtK8QvxACXbQvED8QAl2yXxABcbAB0LAGELENAfSwEBCwE9yy3xMBcbAQELAX3LIfFwFysgAXAV2y0BcBXbAa3LLfGgFxsCYQsR0B9LAaELAp0LAXELAs0LATELAw0DAxAbAKK1iyegMBcbQGDhYOAnG0Rg5WDgJxsnYOAXG0BQ8VDwJxtKcPtw8CXbInDwFxtNUb5RsCXbQFGxUbAnGy9hsBXbKXGwFdtAUcFRwCcbbWHOYc9hwDXbInHAFxsngoAXGy+SgBclkAsmYDAXG0CQ4ZDgJxtEkOWQ4CcbJ5DgFxtKgPuA8CXbQIDxgPAnGy+Q8BXbIpDwFxsjoPAXGy9hsBXbQHGxcbAnGy9hwBXbYGHBYcJhwDcbZ3IIcglyADXbJ5KAFxskooAXKy+igBchMzPgMzMhYXBy4BIyIGByEHIwYUHQEzByMeATMyNjcXDgMjIiYnIzczNTwBNyMiPg85TFsxNFEbIxY6JzxWFgEDGvkB5hq8FFdIKj0YGw8qLjAWbpcaXCAxAVIB20JaORoQC2cJCTxDXQgPCRpdQkMSDmULEQoFdYBdGggQCAACAC3/8gHvAsoAGQAyAg6wCitYsi0SAyuyHxIBXbLPEgFysBIQsQUE9LLALQFxshAtAXGyMAUtERI5sDAQsDHQsDEvsADQsAAvsgIFLRESObAtELAM0LAML7AtELEfBPSyFx8SERI5shwfEhESObAcELAb0LAbL7AZ0LAZL7ASELAl0LAlL1kAsABFWLAqLxuxKhQ+WbAARViwDy8bsQ8IPlmyHCoPERI5sBwvsj8cAXG0Lxw/HAJdtK8cvxwCXbAZ3LLQGQFdsgAZAV2wGNyy3xgBcbAC0LAPELEIAfSwHBCwGtyy3xoBcbAqELEhAfSwHBCwMNAwMQGwCitYtAkQGRACXbQIERgRAl2ymBEBcbLYEQFxtCkRORECXbaJEZkRqREDcrQIJBgkAnG0BisWKwJdtCcrNysCXbJXKwFdtLcrxysCcbLVLAFxQQsABgAsABYALAAmACwANgAsAEYALAAFXbSWLKYsAnK0BywXLAJxWQCyhgsBXbJ3CwFdspcLAV20CRAZEAJdQQkACAARABgAEQAoABEAOAARAARdstgRAXGymREBcbSJEZkRAnKyqhEBcrQqIzojAl20iSSZJAJdsgkkAXGy2SQBcrQqJDokAl2yGiQBcbS6JMokAnKy+iQBcrQGKxYrAl20tivGKwJxtCcrNysCXbJXKwFdtAYsFiwCXbYnLDcsRywDXba3LMcs1ywDcbKXLAFyARUjDgEVFBYzMjY3Fw4BIyImNTQ+AjcjPQIzPgE1NCMiBgcnPgMzMhYVFAYHMxUB7/kOFSw2NT8WHRlaUl5kBwsLBEn6DxZQKDkYJRAhKDcnWFwZD04BQV0OLhQaHxMMYg4YSEgQHxsSBl05XQ4uFjgRDGIIDQoFQkQgPRBdAAIAFwAAAiMCxgAcACkBcrAKK1iyChYDK7IfFgFdsm8WAV2y/xYBXbIfFgFxst8WAV2yPxYBXbJQFgFdspAWAXGwFhCwGtCwAdCyAAoBXbKACgFdsh8KAV2yPwoBXbRAClAKAl2yAAoBcbKQCgFxsBYQsRUE9LAR0LAS0LASL7IgEgFdsBoQsBnQsBkvsBzQsBEQsB3QsAoQsSMF9LIvKwFdWQCwAEVYsAUvG7EFFD5ZsABFWLAVLxuxFQg+WbIPBRUREjmwDy+wG9CwAdywDxCwEdywFNywF9CwERCwGtCwDxCwHtywBRCxJgH0MDEBsAorWLJGBwFdsgcHAV2yZwcBXbJGCAFdsmYIAV2yhggBXbLWCAFdsvcIAV2ydwkBXbLnCQFdsmcMAV2yZg0BXbIHDQFdsmcgAV1ZALJlBwFdsgYHAV2yRgcBXbLWBwFdskUIAV2yZggBXbKHCAFdstcIAV2ydwkBXbLnCQFdsmkMAV2yCQ0BXbJpDQFdsmkgAV0TMxE+ATMyHgIVFA4CKwEVMxUjFSM1IzUzNSM3MzI+AjU0JiMiBgcXTypaMjRgSCsqRloxRKCgfk9PT800GzEkFUI0FCQLAWwBSQgJEjBUQj1UNRc6W3x8WzpeDRwvIT0zAwL//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAD//wAXAAACIwLGAgYCNQAA//8AFwAAAiMCxgIGAjUAAP//ABcAAAIjAsYCBgI1AAAAAgBJ//QBlgLIAB0AKQLnsAorWLITCgMrsr8TAXK0DxMfEwJdsu8TAXGyMBMBcrATELAA0LAAL7LPCgFdsAoQsAfQsAnQsAkvsAoQsBbcsr8WAXGwExCwHty00B7gHgJdsBYQsCfQWQCwAEVYsBAvG7EQFD5ZsABFWLADLxuxAwg+WbIAAxAREjmyFgMQERI5sBYQsAfQsicQAxESObAnELAK0LADELAa3LAAELAd0LAQELAh3DAxAbAKK1i0hwGXAQJdtEgEWAQCXUEJAHgABACIAAQAmAAEAKgABAAEckEJAAkABAAZAAQAKQAEADkABAAEXbRoBXgFAl20WAVoBQJyQQ0ACQAFABkABQApAAUAOQAFAEkABQBZAAUABl1BCQB7AAUAiwAFAJsABQCrAAUABHK0KA04DQJdstgNAXG0uQ3JDQJxtAgOGA4CXbJYDgFdsvgOAV20CA4YDgJxtLgOyA4CcbJFEQFyQREABwARABcAEQAnABEANwARAEcAEQBXABEAZwARAHcAEQAIXbSEEpQSAnK0BRIVEgJdsoUSAV20VRJlEgJytCYSNhICXbJWEgFdskYSAXKyRxIBXVkAspgBAV2yiQEBXbQIBBgEAl2ySAQBXbQpBDkEAl2yWQQBXbKJBAFdtFkEaQQCckEJAHoABACKAAQAmgAEAKoABAAEcrJYBQFdQQkAeAAFAIgABQCYAAUAqAAFAARyQQsACQAFABkABQApAAUAOQAFAEkABQAFXbRpBXkFAl20WwVrBQJyssoHAV2ypgoBXbLWCgFdtCYNNg0CXbJHDQFdstcNAXGy1Q4BcbQGDhYOAl20tg7GDgJxtCcONw4CXbJXDgFdtAcOFw4CcbJGEQFdtGYRdhECXbJGEQFyQQkABwARABcAEQAnABEANwARAARdslcRAV20hhKWEgJyQQ0ABwASABcAEgAnABIANwASAEcAEgBXABIABl20VxJnEgJyskgSAXKyWRYBXbKZFgFdssoWAV0lDgEjIiY9AQcnNzU0PgIzMhYVFAYHFRQWMzI2NwM0JiMiDgIdAT4BAZYWRyM/OTIjVRQjLxswPlBbIhgZPBQ4HBIMFhEKODMeDhw9QWgsLEr+LD8oEzs8SqZYjCwhFQsB/CIeBxUlHtRBeQAEADz/+wPYAsgAAwATACcAMgLesAorWLIRCQMrslARAXGwERCwFNCwFC+yDxQBXbAA0LAAL7AUELAe3LJQHgFxssAeAXKygB4BcbJwHgFdshAeAV2wAdCwAS+yXwEBXbIfCQFxstAJAV2wCRCxCAT0sAvQspYLAV2yxQsBXbIGCwgREjm0CQYZBgJdsBEQsRAE9LAT0LLKEwFdtAoTGhMCXbKYEwFdsg4QExESObAUELAo3LAeELAt3LJvLQFysl8tAXGyTzQBXVkAsABFWLAQLxuxEBQ+WbAARViwGS8bsRkUPlmwAEVYsAgvG7EICD5ZsBkQsCPcsv8jAXGyzyMBcbLQIwFdsqAjAV2wANywA9ywEBCwC9CwCy+yBgsIERI5tAkGGQYCXbAIELAT0LATL7IOExAREjmwIxCwKtyyUCoBcbAZELAw3LJfMAFxMDEBsAorWLQIBBgEAl202AToBAJdsokEAV2y+QQBXbKaBAFdstoEAXG0CwQbBAJxsnsEAXGybQQBcbQIBRgFAl2y+QUBXbKLBQFdsoIMAXKycwwBcrQEDBQMAnG0VAxkDAJyspUMAV2ydQwBcbZmDHYMhgwDXbbWDOYM9gwDXbQHDBcMAl2yRwwBcrKFDQFdsvUNAV20Zg12DQJdtAgWGBYCXbQIFxgXAl20BxsXGwJdskUcAXK0BhwWHAJdsvYcAXKy9iABcrQHIBcgAl2yRyABcrQHIRchAl20CSYZJgJdskomAXKy+iYBclkAsngEAXGy2AQBcbSJBJkEAl202QTpBAJdtAkEGQQCcbJpBAFxsvoEAV20CAUYBQJdsvgFAV2yhgwBcrQHDBcMAl20Zwx3DAJdttcM5wz3DANdtAcMFwwCcbJ3DAFxsncMAXKyhw0BXbQHFhcWAl20BxcXFwJdtAcbFxsCXbL2HAFytAccFxwCXbJIHAFytAggGCACXbJIIAFysvggAXK0CSEZIQJdtAgmGCYCXbJIJgFysvkmAXIBIRUhJScjFxEjETMTFzMnETMRIxM0PgIzMh4CFRQOAiMiLgI3FDMyNjU0JiMiBgKPATr+xv5bNwUQgmT6NAYQgmOXGi5BJiZALxoaL0AmJkEuGnQ7HxsbHx8cAUFvmHFu/pMCwf6ObmsBcP0/AiMtQCoTEihBLy9BKBISKEEvViUxMCYmAAIAHQFUA5ECvAAHAB0B/rAKK1iyEwMDK7IgAwFdsAMQsALctrACwALQAgNdtDACQAICXbAA3LADELAF3LLfEwFdsm8TAV2yIBMBXbKwEwFdsBMQsBzcssAcAXGyMBwBcbLQHAFdtDAcQBwCXbIPHAFdsq8cAV2ycBwBXbIQHAFxsoAcAXGy4BwBcbKQHAFdsgwcExESObKYDAFxtMYM1gwCcrINExwREjmy6g0BcrTpDfkNAnG0CQ0ZDQJyspgNAXGwExCwEtyybxIBcbAV0LSGFZYVAl20BxUXFQJdtEcVVxUCXbJ3FQFdtCYVNhUCXUELAKUAFQC1ABUAxQAVANUAFQDlABUABV2yFw0MERI5sBwQsB3csBrQtIkamRoCXUEJAKoAGgC6ABoAygAaANoAGgAEXbLpGgFdsjkaAV20GBooGgJdsh8fAV1ZALAARViwBi8bsQYUPlmwBdywAdCwBhCwA9yyYAMBXbIAAwFdskADAXGyIAMBcrAGELAU0LAP0LAK0LADELAT0LINFBMREjmwDS+wF9CwFBCwGtCwExCwHdAwMQGwCitYtGULdQsCXbSmC7YLAl2y5wsBXbSoDrgOAl2y6A4BXbKIDgFxtIkOmQ4CXbRqDnoOAl2y1hYBXVkAtKkLuQsCXUEJAGgADgB4AA4AiAAOAJgADgAEXbLoDgFdtKkOuQ4CXQEjFSM1IzUhBTcjDwEjLwEjFxUjETMfATM/ATMRIwGLdoJ2AW4BlREGJERORCcFF2+CWxgBGVSBcQJO+vpu2GdVdXJYZpEBaJY/QZT+mAACACz/7wIxAhcAGAAfAcywCitYshgOAyuyLw4BXbJQDgFdsA4QsADcsl8AAXGy3wABXbJPAAFdsnAYAXKyLxgBXbI/GAFxsv8YAV2yUBgBXbIwGAFyssAYAV2wGBCwBtCwBi+wBdBBDQBZAAUAaQAFAHkABQCJAAUAmQAFAKkABQAGcbL4BQFdQQsACAAFABgABQAoAAUAOAAFAEgABQAFcbAYELAZ3LLQGQFdslAZAXGyQBkBXbAAELAf0FkAsABFWLATLxuxExI+WbAARViwCS8bsQkIPlmyHxMJERI5sB8vtC8fPx8CXbAA3LIfAAFysAkQsAPcshADAXKyBgkTERI5sAYvsAXQsvYFAV20BgUWBQJxQQkAdgAFAIYABQCWAAUApgAFAARxtiUFNQVFBQNxtFQFZAUCcbATELAc3DAxAbAKK1iyJgIBcbLnBAFdtIgEmAQCXbaoC7gLyAsDXbS4DMgMAl20aAx4DAJysqkMAV2yqBABXbLoEAFytqgRuBHIEQNdsqcVAV2ypxYBXVkAsuYEAV2yJgQBcbSHBJcEAl22qAu4C8gLA120uAzIDAJdsqkMAV20aQx5DAJysqcQAV20thHGEQJdsqcRAV2ypxUBXbKnFgFdExUWMzI3Fw4BIyIuAjU0PgIzMh4CFyc1JiMiBxWdPlN8RSMrcEk7YEMkJURfOj5fQiICcT9UVjoBA7U7eBVCRStKZTo7ZUoqLEtkOSSRPDyRAAIAEv/yAgICywAjADEBVrAKK1iyFx8DK7KfHwFdsl8fAXGyHx8BcbJ/HwFdsuAfAV2ycBcBcbKwFwFxsnAXAXKyLxcBXbLQFwFxspAXAXGy4BcBXbIQFwFdsgYfFxESObIOHxcREjmwDi+wHxCxJwX0sBcQsS8F9FkAsABFWLAALxuxABA+WbAARViwDy8bsQ8UPlmwAEVYsBwvG7EcCD5ZsgYAHBESObAPELAO3LAAELEkAfSwHBCxKgH0MDEBsAorWLL4CQFdtKYUthQCXbTWGuYaAl2yhxoBXbQIHRgdAnG0CB4YHgJdsigeAXG0CR4ZHgJxtEoeWh4CcrKoIgFdsvgiAV20CSIZIgJxWQCy+AkBXbSnFLcUAl2yiBoBXbTYGugaAl20CR0ZHQJxtAgeGB4CXbQIHhgeAnG0SR5ZHgJysioeAXG0JiI2IgJdsqYiAV2y9iIBXbQHIhciAnGy6SYBXQEyHgIXMy4DIyoBBzc2MjMyHgIVFA4CIyImNTQ+AhciBhUUFjMyPgI1LgEBFBUeFhIIBQUoOUQiCA0HFggRCEJyUzArTGk+Y28fP2JKOUsrLCk2IQ0SLAH3BAcJBSc0IA0BZQEeRnZXcKBnMW1eOXBaN25qXSk5LkpeLxETAAEAPP84AlECvAAHAFuwCitYsgYDAyuy/wMBXbIfAwFxsAMQsQIG9LKQBgFdsnAGAV2yYAYBcbAGELEHBPRZALAARViwBC8bsQQUPlmwAEVYsAIvG7ECCj5ZsAQQsQED9LACELAH0DAxASERIxEhESMBz/72iQIVggJC/PYDhPx8AAEAFP84AfUCvAAPAZKwCitYsgMEAyuyHwQBXbIfBAFxsg8EAxESObAPL7AB0LQBAREBAnG0ogGyAQJxsvIBAV2yYwEBcrIUAQFysnUBAV2yBQEBcrJlAQFxsoQBAV2ycwEBcbQiATIBAnKygQEBcrTBAdEBAnGykAEBXbAPELAH0LTJB9kHAl22SgdaB2oHA3G0mgeqBwJytpsHqwe7BwNxsvwHAV20DAccBwJxtIsHmwcCXbLqBwFdsnkHAV2y+QcBcrLJBwFysAQQsAnQsAMQsAvQsA8QsA3QQQkAoQANALEADQDBAA0A0QANAARxsoENAXKyYw0BcrIUDQFytHQNhA0CXbTVDeUNAl2yZQ0BcbJXDQFdsgUNAXKyhQ0BcbakDbQNxA0DcrJzDQFxsvINAV20AQ0RDQJxtCANMA0CcrKQDQFdWQCwAEVYsAsvG7ELFD5ZsABFWLADLxuxAwo+WbECA/SwBdCyDwsDERI5GbAPLxiwB9AZsAcvGLALELEMA/SwCdAwMQGwCitYsnUOAV2ylg4BXVkAsnYGAV0XByEVITUTNycDNSEVIRcTtyoBaP4fuioutgHh/qQurCYoenoBJCIlASV6ein+5wABACsBGgHlAYoAAwBVsAorWLICAwMrsnACAV2y8AIBcbIQAgFdspACAV2yUAIBXbIwAgFdslADAV2ykAMBXbJwAwFdsjADAV2yEAMBXVkAsAMvsm8DAV2yrwMBXbEAAfQwMRMhFSErAbr+RgGKcP//AAX/8gIJAssABwIuAKoAAAAAAAH/+//7AisCvAALAMywCitYsgcIAyuyDwgBcrJ/CAFytkgHWAdoBwNdsogHAXG0qQe5BwJdsn8HAXKyDwcBcrSIB5gHAl2yyAcBcbJYBwFysuAHAV2yAggHERI5sAIQsADQsrcAAV2ypgABXbAHELAG0LJoBgFdsAXcsj8FAXKyvwUBXbI/BQFxsiAFAV2wCBCwCdCyOQkBXbAK0LAKL7I/CgFysj8NAV2yXw0BXVkAsAovsABFWLAFLxuxBRQ+WbAARViwCC8bsQgIPlmwAtCwChCxCwH0MDETHwEzNxMzAyMDIzW7TxYEEnh95kOXcAHbunN1AZn9PwFxbwADACMAlwM2AigAIQAxAD0CZLAKK1iyGAgDK7IgGAFdsm8YAV2ywBgBXbKQGAFdsi0YCBESObI1LQFdsjsIGBESObI5OwFdsgAtOxESObIQOy0REjmwGBCwJdyyzyUBXbIwJQFdsAgQsDXcsj81AV2ywDUBXVkAsAMvsA3csgADDRESObIQDQMREjmwE9CwAxCwHdCwAxCwONyy3zgBXbAi0LANELAy3LLQMgFdsCrQsi0QABESObI7EAAREjkwMQGwCitYtAYBFgECcbYIBRgFKAUDcbL4BQFysjkFAXG0CQYZBgJxtAgKGAoCcbTXC+cLAnK0iAuYCwJdsigLAXG0SAtYCwJysvUPAV2ytg8BXbQXDycPAl20thDGEAJdtAgRGBECcbQFFRUVAnG0hhWWFQJdsgcVAV20BRYVFgJxsjUWAXGydRYBcrImFgFxtIcWlxYCXbL1GgFdsiUaAXG0BhoWGgJxtDcaRxoCcrSHG5cbAl2y9xsBXbS4IMggAl2y+CABXbSHL5cvAl1ZALQJARkBAnFBCQAIAAUAGAAFACgABQA4AAUABHGyWAUBcrL4BQFytIkFmQUCXbSIBpgGAl20CgYaBgJxsloGAXK0BgoWCgJxsuQLAXK0BQsVCwJxtjULRQtVCwNystYLAXK0hwuXCwJdsicLAXGyJw8BXbL3DwFdssYQAV2ytxABXbLVEQFdtAURFRECcbSGFZYVAl20BhUWFQJxsgcVAV20hhaWFgJdtgYWFhYmFgNxsvgaAV22CBoYGigaA3GySBoBcrI5GgFytIgbmBsCXbL4GwFdtLggyCACXbL5IAFdtIcvly8CXQEOASMiLgI1ND4CMzIWFz4BMzIeAhUUDgIjIi4CNzI2NTQuAiMiBgceAyUiBhUUFjMyNjcuAQGhJGY+JEIyHh4zRilKZCUtZj0lQDAbHjZKKyQ8MSm5Iy0KFB8VH0IdCxwhJf6UIi8yJSBCGBc/AQk6OBszSS4wTDUbOy04MBsySS4xTDUbEh8pFTMoECAZDyUmFSUdEbM1JyYxLSEtOAAB/8L/MAGjAsoAHAGisAorWLsAAAAEAAwABCuyUAABXbKQAAFysAAQsAbQsAYvsp8GAV2yUAwBXbKQDAFysAwQsBXQsBUvWQCwAEVYsBAvG7EQFD5ZsABFWLADLxuxAwo+WbEJAfSwEBCxGQH0MDEBsAorWLKWAQFxtAcBFwECXbanAbcBxwEDcbKWAgFxQQsABwACABcAAgAnAAIANwACAEcAAgAFXbanArcCxwIDcbLnBwFxQQsACAAOABgADgAoAA4AOAAOAEgADgAFXbLYDgFxsqkOAXGy+Q4BcUEJAAgADwAYAA8AKAAPADgADwAEXbS4D8gPAnGy6Q8BcVkAtAgBGAECXUEJAJkAAQCpAAEAuQABAMkAAQAEcbQIAhgCAl2ySAIBXbKYAgFxtCkCOQICXbapArkCyQIDcbLlBwFxtEYHVgcCcUELAIYABwCWAAcApgAHALYABwDGAAcABXGy9gcBcbRnB3cHAnGy9Q4BcbKmDgFxstYOAXG0Bw4XDgJdskcOAV20tQ/FDwJxQQkABgAPABYADwAmAA8ANgAPAARdsqYPAXGy5w8BcRcUBiMiJic3FjMyNjURNDYzMh4CFwcuASMiBhX3Tk4uUxgdLCgmHElREikoJA0WFycbIxoiYE4OCmYRLzcCF2BQBAcJBWYICSk2//8AHgCrAfUCHAImAGECXwEGAGECngA2sAorWFkAsm8PAV2yXw8BcrKvDwFxsl8nAXJBCQAgACcAMAAnAEAAJwBQACcABF2yACcBcTAxAAAAAQArADkB5QJbABMBN7AKK1iyCg8DK7JQDwFdshAPAV2yMA8BXbKQDwFdsnAPAV2yUAoBXbKQCgFdsvAKAXGycAoBXbIwCgFdshAKAV2yDQ8KERI5sA0vsjUNAXKytQ0BcrK2DQFxtNYN5g0CXbJoDQFdsigNAV2yZg0BcbL2DQFxsnUNAXKyJQ0BcbJQDQFdsALQsgECDRESObANELAM3LLfDAFdsAPQsgQDDBESObAKELAG0LIHAwwREjmyCAMMERI5sgsMAxESObIODQIREjmyEQ0CERI5shICDRESObAPELAT0FkAsA8vsk8PAXKynw8BcbJQDwFxsBPctC8TPxMCXbLvEwFxtC8TPxMCcbKwEwFxspATAXGxAAH0sALcsAAQsATQsBMQsAfQsA8QsRAB9LAI0LAPELAL0LAPELAN3DAxEzM3MwczFSMHMxUjByM3IzUzNyMr6DJxMmGTJLfoOXA5YpMktwHqcXFwUHCBgXBQAAIAIv/wAeMCygADAAwA/bAKK1iyBwQDK7IwBwFdslAHAV2ycAcBXbIQBwFdspAHAV2wBxCwC9CwCy+wANCwAC+yEAQBXbJQBAFdsjAEAV2ycAQBXbKQBAFdsAQQsALQsAIvsgkEBxESObQlCTUJAl1ZALAML7AA3LJAAAFdsAHcsn8BAV2wDBCwBtyyoAYBXbLfBgFdtCAGMAYCXbRgBnAGAl2yBQYMERI5sAUvsATcsAYQsAfcsgkFBBESObAMELAL3DAxAbAKK1iy+AMBcVkAsjQAAV2yJgABXbIzAwFdsiQDAV2yxgMBXbL2AwFxshcDAV2yVwMBXbJ3AwFdtCoHOgcCXbQlCzULAl0lByU3JzUlFw8BHwEHAeM4/oI4QwGCOeBbWuY5UGDXYHZG51qLIx+JWgACACj/8AHoAsoAAwAMAOCwCitYsgQHAyu2cASABJAEA12yEAQBXbJQBAFdsjAEAV2wBBCwANCwAC+yMAcBXbJQBwFdshAHAV22cAeAB5AHA12wBxCwAtCwAi+yCQQHERI5tCoJOgkCXbAHELAL0LALL1kAsAYvsALcskACAV2wAdyyfwEBXbAGELAM3LRgDHAMAl2y3wwBXbQgDDAMAl2yoAwBXbIEBgwREjmwBC+wBdywBhCwB9yyCQQFERI5sAwQsAvcMDG0JAI0AgJdsjIDAV2yJAMBXbIWAwFdsnYDAV20JQc1BwJdtCoLOgsCXSUFJyU3FQUnPwEvATcB6P6DOAF8Of5+OeBbWuY5zd1f3sBG51qLIx+JWgACABv/+wH0AsEABQAPARCwCitYsgUCAyuyjwIBXbTgBfAFAl2y8AUBcbIPBQFdsk8FAV20wAXQBQJxsnAFAV2yMAUBXbIBAgUREjmwAS+wANyysAABXbABELAD0LAAELAE0LAFELAH3LRnB3cHAl2ysAcBcbACELAM3LK/DAFxtGgMeAwCXVkAsABFWLADLxuxAxQ+WbAARViwAS8bsQEIPlmyAgEDERI5GbACLxiwDNAZsAwvGLAF0BmwBS8YsAIQsAfQGbAHLxiwAxCwCtCymQoBXbI5CgFdsigKAV2wARCwDtCyNg4BXTAxAbAKK1iyOAIBXbI3BQFdssgIAV2yKQgBXbLZCAFdsjYLAXGyJwsBXbLXDQFdWQCy2AgBXQUjAxMzEwc3LwEjDwEfATMBK0vFxUvJylBbGwUcTlocBAUBWwFr/pqShZ1UVoacVAABADz/gwKmArwADwD9sAorWLIKAwMrst8DAXGy/wMBXbIfAwFxQQkAEAADACAAAwAwAAMAQAADAARdsAMQsQIG9LAG0EEJABAACgAgAAoAMAAKAEAACgAEXbLfCgFxskAKAXKykAoBXbJgCgFysAoQsQ8G9LAH0LAKELAL0LALL7AN3LIfDQFxsrANAXFBCwAgAA0AMAANAEAADQBQAA0AYAANAAVdWQCwAEVYsAUvG7EFFD5ZsABFWLACLxuxAgg+WbIGBQIREjmwBi+0rwa/BgJdsi8GAXGyTwYBXbRPBl8GAnGxAQP0sAUQsAjQsAIQsA7QsQoD9LAOELAN3LKgDQFdsiANAV0wMQEhESMRMxEhETMRMxUjJyMBxf8AiYkBAIlYYA9yASX+2wK8/uMBHf2+930AAQA5/44CPQK8ABoBsrAKK1iyAA4DK7KQAAFdtGAAcAACcbLQAAFysm8AAXKyLwABcbJPAAFystAAAXGyEAABcbJgAAFdQQkAEAAAACAAAAAwAAAAQAAAAARdsAAQsAHQsAEvsAPcsmADAXJBCwAgAAMAMAADAEAAAwBQAAMAYAADAAVdsAAQsQUE9LJPDgFxsk8OAXKyLw4BcbIPDgFxsm8OAXJBCQAQAA4AIAAOADAADgBAAA4ABF2wDhCxDQT0sBHQspAcAV1ZALAARViwFS8bsRUQPlmwAEVYsBAvG7EQFD5ZsABFWLANLxuxDQg+WbAF0LEAAvSwBRCwA9yyQAMBXbAVELEJAvSyERUNERI5MDEBsAorWLRlF3UXAnKylRcBcrTmF/YXAl20BhcWFwJxQQkAxgAXANYAFwDmABcA9gAXAARxQQkABwAXABcAFwAnABcANwAXAARdtCYYNhgCXbK2GAFxspYYAXK0BxgXGAJdWQC0xhfWFwJxQQkABwAXABcAFwAnABcANwAXAARdtAcXFxcCcbTnF/cXAnGythgBcUEJAAcAGAAXABgAJwAYADcAGAAEXbKYGAFyJTMVIycjETQmIyIGBxEjETMRMz4BMzIeAhUB7VBfD2QiLSE3CYKCBBhGNiY6JxNz5XIBHD02LSP+wQK8/wAgJhQuTzr///59AvD/hANmAAcCw/5BAAAAAAABADwC2gG5A2sAEQDlsAorWLARL7AA0LARELAH3LIwBwFyst8HAV2yrwcBXbIwBwFdspAHAV2wBtBZALAML7aPDJ8MrwwDXbIPDAFxsn8MAXGy7wwBcbSvDL8MAnK03wzvDAJysi8MAXKyvwwBcbQ/DE8MAnG0zwzfDAJdtk8MXwxvDANdtg8MHwwvDANdsADctA8AHwACXbKPAAFdsAwQsAPcsi8DAXGwABCwBtAwMQGwCitYsncBAXGy2QgBcbIHCQFdsggPAV20qA+4DwJdsskQAV1ZALJ2AQFxstcIAXGyCAkBXbIIDwFdtKgPuA8CXRMeATMyNjcXDgMjIi4CJ3AUTC8wRRQxDCgyORwbOTQsDgNrGhweGCAdKhwODBkpHv//ADz/LgEQAAACBgB6AAAAAQA8AuIBoANmAAoA1LAKK1iwCS+wA9y2cAOAA5ADA12yUAMBcbIwAwFytC8DPwMCXbLQAwFxsvADAV20AAMQAwJxshADAV2yAAMBcrIACQMREjmyAQkDERI5sATcsgYDCRESObAJELAI3LK/CAFxsl8IAXJZALAIL7YPCB8ILwgDXbSfCK8IAl2yDwgBcbK/CAFysv8IAXKyTwgBcbLfCAFdtF8IbwgCXbLwCAFxsmAIAXKwANyynwABcbYPAB8ALwADXbAIELAK3LLQCgFxsALQsAgQsATQsgYACBESOTAxEzMXFSMvAQ8BIzXBYH9jORQVPmEDZl0nKSIhKij//wA8/u8Az//WAgYCwgAA//8AJgHPALkCxQIGAiIAAAABADwC4QDrA1wACwE+sAorWLAAL7AG3LRgBnAGAl20sAbABgJdtAAGEAYCXbIQBgFxWQCwCS+0XwlvCQJdtM8J3wkCXbJPCQFxsv8JAXKyvwkBcrIPCQFxtJ8JrwkCXbYPCR8JLwkDXbJgCQFysAPcsr8DAXGywAMBXTAxAbAKK1hBCQBIAAEAWAABAGgAAQB4AAEABHJBCQCJAAEAmQABAKkAAQC5AAEABHJBCQBFAAUAVQAFAGUABQB1AAUABHJBCQBHAAcAVwAHAGcABwB3AAcABHJBEQBIAAsAWAALAGgACwB4AAsAiAALAJgACwCoAAsAuAALAAhyWQBBCQCHAAEAlwABAKcAAQC3AAEABHJBCQBHAAUAVwAFAGcABQB3AAUABHJBEQBIAAsAWAALAGgACwB4AAsAiAALAJgACwCoAAsAuAALAAhyEzQ2MzIWFRQGIyImPCsrKy4uKysrAx8ZJCQZGiQkAAIAPAKtATwDXgAPABkDu7AKK1iwAC+yAAABXbAI3LIQCAFxspAIAXG2QAhQCGAIA3KyDwgBXbIACAFyslAIAXGykAgBXbLACAFysAAQsBDcslAQAXGykBABXbAIELAV3LKfFQFdstAVAXKyEBUBclkAsA0vsm8NAV20zw3fDQJdtD8NTw0CcbRvDX8NAnFBDwCfAA0ArwANAL8ADQDPAA0A3wANAO8ADQD/AA0AB3G2Dw0fDS8NA3K0nw2vDQJdsg8NAV2y/w0BXbIPDQFxsAXcsq8FAV2yvwUBcUENAA8ABQAfAAUALwAFAD8ABQBPAAUAXwAFAAZdshAFAXGwDRCwEtywBRCwGNyyPxgBcjAxAbAKK1iyqAIBcUETAAkAAgAZAAIAKQACADkAAgBJAAIAWQACAGkAAgB5AAIAiQACAAldQQsACAADABgAAwAoAAMAOAADAEgAAwAFXbbYA+gD+AMDckELAAYABgAWAAYAJgAGADYABgBGAAYABV1BFQAGAAcAFgAHACYABwA2AAcARgAHAFYABwBmAAcAdgAHAIYABwCWAAcACl2ypgcBcbbXB+cH9wcDcrKlCgFxQQsAVgAKAGYACgB2AAoAhgAKAJYACgAFXUELAAcACgAXAAoAJwAKADcACgBHAAoABV221wrnCvcKA3JBCwAHAAsAFwALACcACwA3AAsARwALAAVdQQsACAAOABgADgAoAA4AOAAOAEgADgAFXbKYDgFdQQkAWAAPAGgADwB4AA8AiAAPAARdttgP6A/4DwNyQQsACQAPABkADwApAA8AOQAPAEkADwAFXbKqDwFxttcZ5xn3GQNyWQCypQIBcUETAAcAAgAXAAIAJwACADcAAgBHAAIAVwACAGcAAgB3AAIAhwACAAldspYDAV1BCwAHAAMAFwADACcAAwA3AAMARwADAAVdQQsABwAGABcABgAnAAYANwAGAEcABgAFXUEVAAcABwAXAAcAJwAHADcABwBHAAcAVwAHAGcABwB3AAcAhwAHAJcABwAKXbKnBwFxttcH5wf3BwNyQRMACAAKABgACgAoAAoAOAAKAEgACgBYAAoAaAAKAHgACgCIAAoACV222AroCvgKA3KymQoBXbKpCgFxQQsACAALABgACwAoAAsAOAALAEgACwAFXUELAAgADgAYAA4AKAAOADgADgBIAA4ABV2ymQ4BXUETAAgADwAYAA8AKAAPADgADwBIAA8AWAAPAGgADwB4AA8AiAAPAAldsqkPAXG22Q/pD/kPA3K22BnoGfgZA3ITND4CMzIWFRQOAiMiJjcUMzI2NTQmIyI8DB0xJkY6DR4xJEc5VCwZFBUYLAMEEiEZDjAqEiAXDjEmHxAPERAAAQA8AuABrgNdABcBjLAKK1iwAC+yAAABXbAM3LIPDAFdshAMAXFZALAPL7YPDx8PLw8DXbSfD68PAl2yDw8BcbK/DwFysk8PAXG0zw/fDwJdtF8Pbw8CXbTvD/8PAnKyYA8BcrAI3LIwCAFxsAPcsAvQsAsvsAMQsBTcsuAUAXGykBQBcrAPELAX0LAXLzAxAbAKK1iyCAEBXUEJACgAAQA4AAEASAABAFgAAQAEXbIZAQFdtGgFeAUCXbRoBngGAl20RwlXCQJdskYKAV2yVwoBXbIVDQFdsgYNAV20Rg1WDQJdtCcNNw0CXbRnDXcNAl2yCBYBXbQoFjgWAl2yWBYBXbIZFgFdskkWAV20KRY5FgJyWQC0BgEWAQJdslYBAV22JwE3AUcBA120aAV4BQJdtGgGeAYCXbJICQFdslkJAV20SApYCgJdshgNAV2ySA0BXbRoDXgNAl2yCQ0BXbQpDTkNAl2yWQ0BXbQoDjgOAl1BCQAWABYAJgAWADYAFgBGABYABF20JhY2FgJysgcWAV2yVxYBXRM+ATMyHgIzMjY3Fw4BIyIuAiMiBgc8IDsdFiwpKBIQHg4ZHDUZFyopKBMTJRMDICMaCw0LCg5DGhULDgsPFP//ADz/OwEiAAoCBgE0AAD//wA8//YCKQNmAiYAJQAAAQYCw3wAACSwCitYtO9F/0UCcbIPRQFysv9FAV20r0W/RQJxsgBFAV0wMVn//wA5//QB9wLQAiYARQAAAQcAdgDIAAAANrAKK1iycCABcrKPIAFdss8gAXGy/yABcrKvIAFysv8gAV20ACAQIAJdsgAgAXGyQCABXTAxWf//ADwAAAHbA2YCJgApAAABBgLDfAAAI7AKK1iyDw4BcrafDq8Ovw4DXbafDq8Ovw4DcbIADgFdMDFZAP//AAsAAAGaA2YCJgBJAAABBgLDVwAAPLAKK1i0jxyfHAJdQQsAvwAcAM8AHADfABwA7wAcAP8AHAAFcUEJAM8AHADfABwA7wAcAP8AHAAEXTAxWQAB/+8AAAIwArwAHQFBsAorWLIRGwMrsk8bAXGyTxsBcrQwG0AbAl2yEBsBXbAbELAB0LAA3LAbELEaBvSwCNCwBNCwBdyyYBEBcbKAEQFdtAAREBECXbJPEQFxtDARQBECXbJgEQFdsuARAV2yYBEBcrLAEQFysBEQsRIG9LJfHwFdsvAfAV1ZALAARViwAy8bsQMUPlmwAEVYsBovG7EaCD5ZsgsDGhESObALL7KQCwFdslALAV20AAsQCwJdsgQDCxESObAEL7KPBAFdsAHQsAQQsAfcsBoQsBLQsAsQsRYC9LAHELAc0DAxAbAKK1i0Bg0WDQJdsjYNAXGylw0BXbRFDlUOAnGylg4BXbI2DgFxsmYOAXG0hg6WDgJytAcOFw4CXVkAtAcNFw0CXbI3DQFxsoYOAXK0Bw4XDgJdspcOAV2yNw4BcbKXDgFyAzM1MxUzFSMVPgEzMh4CFREjNTQmIyIGBxEjESMRTYnd3RpXPCpFMxyJLzYmQxSJTQJfXV1dYA8ZFS9JNP733jw7ERH+zQIC////+gAAAfgCvAIGAOMAAAABAC7/MAIiArwAIQEesAorWLIJIQMrss8hAXGyUCEBXbIwIQFdsCEQsQAG9LJQCQFdsuAJAV2yAAkBcbSACZAJAl2yMAkBXbJgCQFysAkQsQgG9LIQIQkREjmwEC+wCBCwGNCyDyMBXVkAsABFWLAALxuxABQ+WbAARViwDS8bsQ0KPlmyGwANERI5sBsvsi8bAXGynxsBXbLvGwFdtC8bPxsCXbJQGwFyshAbAXKxBAL0sAAQsAjQsA0QsRQC9DAxAbAKK1iyhgsBcbQHCxcLAl20VgxmDAJytAcMFwwCXbLXDAFdtjgeSB5YHgNxtIkemR4CclkAtAgLGAsCXbKICwFxtAgMGAwCXbLYDAFdtFkMaQwCcrI6HQFxtjkeSR5ZHgNxtIkemR4CchMVFBYzMjY3ETMRFAYjIiYnNTIWMzI2NREOASMiLgI1EbcvNiZDFIlNUA8hEQQHBCsbGlc8KkUzHAK83jw7EREBM/0vW2ADBG0BMSwBGg8ZFS9JNAEJAAEAIf8wAcAB9AAiAbiwCitYshUJAyuyMBUBcbJPFQFyss8VAXGyLxUBcrIvFQFxsm8VAXKy4BUBXbIQFQFxsBUQsRQE9LAA0LJ/CQFdsi8JAXKyLwkBcbJPCQFysm8JAXKwCRCxCgT0shsJFRESObAbL7IAJAFysuAkAXFZALAARViwCi8bsQoQPlmwAEVYsBkvG7EZCj5ZsgMZChESObADL7TAA9ADAl2xEAH0sAoQsBTQsBkQsR8C9DAxAbAKK1i0KAU4BQJdsvgFAV2yuAUBcrQJBRkFAl20iQWZBQJxQQkACAAGABgABgAoAAYAOAAGAARdtIgGmAYCcbTIBtgGAnG0qga6BgJxtGQNdA0CcrTEDdQNAnKytg0BcrQHFxcXAl20xhjWGAJdtKYYthgCcbRmGHYYAnK0BxgXGAJdWQBBCQAIAAUAGAAFACgABQA4AAUABF2y+QUBXbSKBZoFAnGyuwUBckEJAAgABgAYAAYAKAAGADgABgAEXbSJBpkGAnG0yQbZBgJxtKoGugYCcbRlDXUNAnK2tg3GDdYNA3K0CBcYFwJdtAgYGBgCXbTJGNkYAl20qRi5GAJxtGkYeRgCciUOASMiLgI9ATMVFB4CMzI2NzUzERQGIyInNTIWMzI2NQE+Dz40JTooFYIFDxsWHSsOgkhPHiIEBwQrG8QLGxAoQjKqch8tHA4NCtH991tgB20BMSz////3//kCRgNmAiYBXAAAAQcCwwCJAAAATLAKK1hBCQBvABsAfwAbAI8AGwCfABsABF1BDQCvABsAvwAbAM8AGwDfABsA7wAbAP8AGwAGcbIPGwFytt8b7xv/GwNdsg8bAXEwMVkAAP////f/MwHmAtACJgBcAAABBwB2AIwAAAA4sAorWLYgGjAaQBoDXbbPGt8a7xoDcbKPGgFdss8aAXK07xr/GgJdshAaAXK2ABoQGiAaA3EwMVkAAP//ABT/8gIYA1wCJgFmAAABBgJnVgAAT7AKK1iykCUBXbRAJVAlAnG0ICUwJQJysv8lAV20byV/JQJdtO8l/yUCcbIPJQFyss8lAV2ycCUBcbIAJQFxtiAlMCVAJQNdsgAlAV0wMVkA//8AF//yAaoCxwImAYYAAAEGATIyAABXsAorWLTvHP8cAnGyDxwBcrJvHAFyQQkAzwAcAN8AHADvABwA/wAcAARdso8cAXKyTxwBcrQ/HE8cAnFBCwAQABwAIAAcADAAHABAABwAUAAcAAVdMDFZAP//ABL/UQHrAsgCBgGrAAD//wAW/1EBjwH9AgYBrAAA//8AJv8uAhYCygIGAIkAAP//ACH/LgGbAgICBgCpAAD//wAAAAACXQNYAiYAJAAAAQYCyEoAACywCitYtq8RvxHPEQNdQQkAAAARABAAEQAgABEAMAARAARdtAAREBECcTAxWf//ABf/+AHHApICJgBEAAABBgBxHwAAQ7AKK1iwMy+yoDMBXbJgMwFxQQsAAAAzABAAMwAgADMAMAAzAEAAMwAFXbYAMxAzIDMDcbKAMwFdsmAzAV2wMtwwMVkA//8APAAAAeADWAImACgAAAEGAsglAAApsAorWLK/DwFxsv8PAXGyTw8BXbLfDwFxsv8PAV22EA8gDzAPA3IwMVkAAAD//wAh//IB2QKSAiYASAAAAQYAcSUAADOwCitYsCMvtO8j/yMCcrLvIwFdQQkAzwAjAN8AIwDvACMA/wAjAARxsnAjAXKwItwwMVkA//8APAAAAeAD1wImACgAAAAmAsUWAAEGAsggfwEJsAorWLAML7QgDDAMAl20rwy/DAJdsv8MAXGyDwwBcrLfDAFxtl8Mbwx/DANdsiAMAXK0AAwQDAJxsBLctmAScBKAEgNxsAwQsBjcsB7ctmAecB6AHgNxsoAnAXKy3ycBcbL/JwFdtk8nXydvJwNdsv8nAXGyDycBcrLQJwFdsiAnAXKyACcBcVkAsBUvsA/cttAP4A/wDwNdsgAPAXG2YA9wD4APA3FBDQBAAA8AUAAPAGAADwBwAA8AgAAPAJAADwAGXbTgD/APAnGwG9CwFRCwIdC0UCdgJwJdtNAn4CcCXbYPJx8nLycDXbYwJ0AnUCcDcrKQJwFdsrAnAXG2UCdgJ3AnA3EwMQD//wAh//IB2QNQAiYASAAAACYAahbnAQYCyB74AWqwCitYsCAvQRMAXwAgAG8AIAB/ACAAjwAgAJ8AIACvACAAvwAgAM8AIADfACAACV2yvyABcrTvIP8gAnK07yD/IAJxtCAgMCACXbIwIAFxsCbcsCAQsCzcshAsAXGwMtyyfzsBXbTvO/87AnGyXzsBXbIwOwFxtCA7MDsCXVkAsCkvsoApAXKyfykBcbIfKQFysl8pAXKyfykBcrI/KQFytp8prym/KQNxQQkAzwApAN8AKQDvACkA/wApAARdtA8pHykCcbTgKfApAnKyoCkBcrAj3EEJACAAIwAwACMAQAAjAFAAIwAEXbKAIwFxsC/QsCkQsDXQtOA78DsCcrRQO2A7Al2y0DsBXbQQOyA7AnK0oDuwOwJyss87AXGy8TsBXbTgO/A7AnFBCQBAADsAUAA7AGAAOwBwADsABHG0kDugOwJdshA7AV1BCwBAADsAUAA7AGAAOwBwADsAgAA7AAVysrA7AXEwMf//ADwAAAHgA/ICJgAoAAAAJgLFFgABBwLJAA0AiADTsAorWLAML7IgDAFyst8MAXG2XwxvDH8MA12y/wwBcbIPDAFytCAMMAwCXbJgDAFxtgAMEAwgDANxsBLcsAwQsBjcsB7cslAyAXK0EDIgMgJysq8yAXG2XzJvMn8yA1207zL/MgJdsn8yAXG0IDIwMgJdsqAyAXKy0DIBclkAsBUvsA/cttAP4A/wDwNdQQsAQAAPAFAADwBgAA8AcAAPAIAADwAFXbJgDwFxsBvQsBUQsCHQsh8tAV2yDy0BcbKfLQFdtO8t/y0CcbR/LY8tAnEwMQD//wAh//IB2QNiAiYASAAAACYAahbtAQYCyQz4ATWwCitYsCAvtM8g3yACXUELAF8AIABvACAAfwAgAI8AIACfACAABV207yD/IAJxtCAgMCACXbQgIDAgAnGwJtywIBCwLNyyECwBcbAy3LJQRgFysl9GAV22z0bfRu9GA12070b/RgJxsg9GAXK0IEYwRgJdsqBGAXJZALApL7IfKQFysl8pAXKy3ykBcrJ/KQFysj8pAXKyvykBcUEJAF8AKQBvACkAfwApAI8AKQAEcbAj3EEJACAAIwAwACMAQAAjAFAAIwAEXbKAIwFxsC/QsCkQsDXQsiBBAXKykEEBXbLwQQFdsnBBAXG20EHgQfBBA3G2kEGgQbBBA3G20EHgQfBBA3Ky0EEBXbJQQQFdQQ0AYABBAHAAQQCAAEEAkABBAKAAQQCwAEEABnK0MEFAQQJxMDEA//8AEv/yAesDZgImAVAAAAEGAsQCAABXsAorWEENAAAAPAAQADwAIAA8ADAAPABAADwAUAA8AAZdtr88zzzfPANdsl88AXGy7zwBcrTvPP88AnGyDzwBcrL/PAFdso88AV2yIDwBcbIAPAFxMDFZAP//ABb/9QGPAtwCJgFwAAABBgEw5wAAVrAKK1iyoC8BXbKALwFxsr8vAXG23y/vL/8vA12yDy8BcrRAL1AvAnKyYC8BcbKALwFdQQ8AAAAvABAALwAgAC8AMAAvAEAALwBQAC8AYAAvAAddMDFZAAD//wAm//ICeANYAiYAMgAAAQYCyGsAAFOwCitYsCMvslAjAV2yMCMBcbIgIwFysr8jAXGyTyMBXbbfI+8j/yMDcbIPIwFyts8j3yPvIwNdspAjAXG0ACMQIwJxsiAjAV2yACMBXbAi3DAxWQD//wAh//IB+AKSAiYAUgAAAQYAcS4AAFKwCitYsCEvQQkArwAhAL8AIQDPACEA3wAhAARdsk8hAXGyDyEBcrTPId8hAnKyryEBcrRvIX8hAnGy/yEBXbYgITAhQCEDXbIQIQFysCDcMDFZAAD//wAm//ICeANqAiYAMgAAAQYCyVIAAFGwCitYQQkAAAAuABAALgAgAC4AMAAuAARdsp8uAV2yXy4BcbTvLv8uAnGyDy4BcrS/Ls8uAnG23y7vLv8uA12yfy4BXbKALgFxsmAuAXEwMVkAAAD//wAh//IB+ALAAiYAUgAAAQYCyiYAACuwCitYskAtAV22zy3fLe8tA3G0zy3fLQJdsv8tAV2yEC0BcrIALQFxMDFZAP//ACb/8gJ4A2oCJgGZAAABBgLJUwAAR7AKK1hBCQAAADAAEAAwACAAMAAwADAABF20vzDPMAJxtt8w7zD/MANdtO8w/zACcbIPMAFysl8wAXGygDABcbJgMAFxMDFZAP//ACH/8gH4AsACJgGaAAABBgLKJgAAK7AKK1iyQC8BXbbPL98v7y8DcbTPL98vAl2y/y8BXbIQLwFysgAvAXEwMVkA//8AJv/yAngD8gImADIAAAAmAsVdAAEHAskAVACIALywCitYsCAvsiAgAXG0byB/IAJdsg8gAXKyACABXbKAIAFdtCAgMCACXbAm3LJgJgFxsCAQsCzcsDLcsmAyAXG0gEaQRgJxtO9G/0YCcbIPRgFysgBGAV20UEZgRgJxtCBGMEYCXVkAsCkvsCPcttAj4CPwIwNdQQsAQAAjAFAAIwBgACMAcAAjAIAAIwAFXbJgIwFxsC/QsCkQsDXQsh9BAV2yD0EBcbKfQQFdtO9B/0ECcbR/QY9BAnEwMf//ACH/8gH4A2ICJgBSAAAAJgBqHu0BBgLJDPgBOLAKK1iwHi+07x7/HgJxsg8eAXK2Xx5vHn8eA120IB4wHgJdtAAeEB4CcbAk3LAeELAq3LAw3LQgRDBEAl22X0RvRH9EA11BDQCvAEQAvwBEAM8ARADfAEQA7wBEAP8ARAAGXbTvRP9EAnGyD0QBcrIARAFxtBBEIEQCclkAsCcvsh8nAXKyXycBcrLfJwFysn8nAXKyPycBcrK/JwFxQQkAXwAnAG8AJwB/ACcAjwAnAARxsCHcQQkAIAAhADAAIQBAACEAUAAhAARdsoAhAXGwLdCwJxCwM9CyID8BcrKQPwFdsvA/AV2ycD8BcbbQP+A/8D8DcbaQP6A/sD8DcbbQP+A/8D8DcrLQPwFdslA/AV1BDQBgAD8AcAA/AIAAPwCQAD8AoAA/ALAAPwAGcrQwP0A/AnEwMQAA//8APP/2AuEDWAImAWQAAAEHAsgAoAAAAEGwCitYtBApICkCXbS/Kc8pAl20jymfKQJxss8pAXK07yn/KQJxsg8pAXKyPykBcbJvKQFdsiApAXKyACkBcTAxWQD//wA5//kChgKSAiYBhAAAAQYAcXwAADmwCitYsCUvsh8lAV207yX/JQJdsg8lAXKyvyUBcrKvJQFxtK8lvyUCXbIAJQFdskAlAV2wJNwwMVkAAAD//wAU//ICGANYAiYBZgAAAQYCyAcAAEiwCitYsgAoAXGyzygBXbTfKO8oAnG07yj/KAJysg8oAXKy/ygBXbIAKAFdspAoAV1BCQAgACgAMAAoAEAAKABQACgABF0wMVn//wAX//IBqgKSAiYBhgAAAQYAcfUAAHGwCitYsB8vslAfAXK0zx/fHwJysm8fAXJBDQAAAB8AEAAfACAAHwAwAB8AQAAfAFAAHwAGXbYQHyAfMB8DckEVAAAAHwAQAB8AIAAfADAAHwBAAB8AUAAfAGAAHwBwAB8AgAAfAJAAHwAKcbAe3DAxWQAAAP//ABT/8gIYA2oCJgFmAAABBgLJ8AAAX7AKK1hBCQAwADMAQAAzAFAAMwBgADMABHGynzMBcbTvM/8zAnK03zPvMwJdsg8zAXJBDQAAADMAEAAzACAAMwAwADMAQAAzAFAAMwAGXbQAMxAzAnG0gDOQMwJdMDFZAP//ABf/8gGqAsACJgGGAAABBgLK6QAAPLAKK1iyUCsBcrLvKwFxtO8r/ysCXbIPKwFysgArAV2yACsBcUEJACAAKwAwACsAQAArAFAAKwAEXTAxWf//ACb/8gIlA1gCJgE+AAABBgLFYgAAXrAKK1iwJS+yvyUBXbKvJQFxQQkAzwAlAN8AJQDvACUA/wAlAARytO8l/yUCcbQPJR8lAnK23yXvJf8lA12yDyUBcbJvJQFdtAAlECUCXbAx3LLwMQFxshAxAXEwMVkAAP//ACX/8gG5Ar4CJgGMAAABBgBqFu0AcrAKK1iwIS+0zyHfIQJdsv8hAXK0jyGfIQJdsg8hAXK2ICEwIUAhA12yACEBcbAt3LIQLQFxsnAtAXJZALAqL7IfKgFysl8qAXKyfyoBcrI/KgFyQQkAjwAqAJ8AKgCvACoAvwAqAARxsoAqAXKwNtAwMQAA//8ABQAAAgcDWAImAWgAAAEGAshYAAAvsAorWLTvKf8pAl203ynvKQJxtG8pfykCXbK/KQFxtgApECkgKQNdsiApAXIwMVkA//8ACgAAAcMCkgImAYgAAAEGAHEjAABPsAorWLQAHxAfAnGyjx8BXbL/HwFdQQkAzwAfAN8AHwDvAB8A/wAfAARxsg8fAXKyrx8BcbSvH78fAl20Tx9fHwJdskAfAXKyMB8BcTAxWQD//wAFAAACBwNqAiYBaAAAAQYCyT0AAFqwCitYQQkAAAA0ABAANAAgADQAMAA0AARdtt807zT/NANxQQ0ArwA0AL8ANADPADQA3wA0AO8ANAD/ADQABl207zT/NAJysq80AXG0EDQgNAJysjA0AXEwMVkAAP//AAoAAAHDAsACJgGIAAABBgLKIAAAMbAKK1i0ACsQKwJxsu8rAXGyXysBcrJvKwFdsg8rAXKy/ysBXbJgKwFysjArAXEwMVkAAAD//wA8//IDWwNYAiYBZwAAAQcCyADfAAAANrAKK1iyICoBcrK/KgFdst8qAXGy/yoBcrIPKgFytO8q/yoCXbIAKgFdsgAqAXGyMCoBXTAxWf//ADn/8gK8ApICJgGHAAABBwBxAIgAAAAtsAorWLJwJgFyst8mAXG07yb/JgJdtiAmMCZAJgNdtBAmICYCcrIgJgFxMDFZAP//ADz/8gNbA2oCJgFnAAABBwLJAK0AAAAnsAorWLIANQFdtO81/zUCXbJfNQFdsr81AV2yUDUBcrJANQFxMDFZAAAA//8AOf/yArwCwAImAYcAAAEHAsoAgwAAACewCitYtDAyQDICXbL/MgFysv8yAV2yDzIBcrIgMgFysiAyAXEwMVkAAAAAAf/z/4MCiwK8ACEBQbAKK1iyHBoDK7KvGgFxsu8aAV2yHxoBcrIQGgFdsjAaAV2wGhCxAQT0sBoQsA7csh8OAV2yfw4BXbIQHAFdshAcAXGyHxwBcrKvHAFxsjAcAV2yYBwBcbJAHAFysBwQsB3QsB0vsB/csh8fAXFBCwAgAB8AMAAfAEAAHwBQAB8AYAAfAAVdsrAfAXGwHBCxIQb0WQCwAEVYsBovG7EaFD5ZsABFWLAgLxuxIAg+WbAARViwCy8bsQsIPlmwGhCxAQP0sAsQsRID9LAgELEcA/SwIBCwH9yyIB8BXbKgHwFdMDEBsAorWLJHBAFdsnYHAXG0Jwg3CAJdsncIAXG0KBU4FQJdtCoWOhYCXbSIF5gXAl202BfoFwJdWQCySAQBXbQoCDgIAl2yeQgBcbQmFTYVAl20JxY3FgJdtIcXlxcCXQEjDgMHDgMjIiYnNx4BMzI2Nz4DNyERMxUjJyMBqpUEChEcFg4jJiUQFx8PDwYMBhAfCw8WEQoCAZ1YYA9yAkJfnH1gIxceEgcHB3YCAhATFlWEt3r9vvd9AAH/7/+OAiMB9AAXAT2wCitYshIQAyu0TxBfEAJysi8QAXGy3xABXbJvEAFxskAQAV2wEBCwAdyyTwEBXbLQAQFdsBAQsAjcsj8IAV20rwi/CAJdsk8SAXKyLxIBcbJvEgFxsBIQsBPQsBMvsBXcQQsAIAAVADAAFQBAABUAUAAVAGAAFQAFXbASELEXBPRZALAARViwEC8bsRAQPlmwAEVYsBYvG7EWCD5ZsABFWLAGLxuxBgg+WbAQELEBAvSwBhCxCwL0sBYQsRIC9LAWELAV3LJAFQFdMDEBsAorWLL2BAFxsgYEAXK0RwRXBAJdtOYF9gUCXUEJAEcABQBXAAUAZwAFAHcABQAEXbRoDXgNAl20SQ1ZDQJdWQC0SARYBAJdsvgEAXG0SAVYBQJdtOkF+QUCXUEJAEcADQBXAA0AZwANAHcADQAEXQEjDgMjIic3FjMyPgI3IREzFSMnIwFJYwYQIzwwOhgQEA4UHhUNAwFXWF8PbAGBR4xvRQ9sBiJYl3T+f+VyAAIAPP8vAl0DagAbACoDwLAKK1iyDgYDK7JPBgFyst8GAXGyHwYBcrL/BgFdsg8GAXGyIAYBXbIABgFysAYQsQcG9LAE0LZEBFQEZAQDcrQFBBUEAnGyhgQBXbI2BAFxsjYEAV20tQTFBAJxtkQEVARkBANxstQEAXGycwQBcbIgDgFdsnAOAV2y4A4BXbIADgFysu8OAXGyEA4BcbKQDgFdslAOAV2ywA4BcrJgDgFysA4QsRsG9LAM0LI5DAFdtroMygzaDANxtksMWwxrDANxsnwMAXG2SwxbDGsMA3K0CgwaDAJdsokMAV2yuAwBXbIUBg4REjmwFC+yIBQBXbAGELAq0LAqL7IvKgFxtIAqkCoCXbJwKgFxsBzQsmYcAXGyNxwBcbIpHAFdsjgcAV20thzGHAJxtKYcthwCXbRFHFUcAnGwKhCwItyy4CIBXbIvIgFdtAAiECICcbKwIgFdsCHQtCYhNiECXbJPKwFdsh8rAV2ycCwBXbLALAFxsqAsAV1ZALAARViwBy8bsQcUPlmwAEVYsAQvG7EECD5ZsABFWLARLxuxEQo+WbAHELAM0LIBDBEREjmyCQQHERI5soQJAV20BAkUCQJdspMJAV2wERCxGAL0sAcQsCXcsBzctA8cHxwCXbIQHAFxsCUQsB/csBwQsCHQsCEvMDEBsAorWLL2AwFdsgcDAXGyZwMBcbKnAwFytAgLGAsCXbKYCwFdsngLAXG22QvpC/kLA120CQsZCwJxQQkAqQALALkACwDJAAsA2QALAARxtFoLagsCcrS6C8oLAnKylg8BcbQHDxcPAl201hDmEAJdshYQAXG0thDGEAJxsnYQAXK0BxAXEAJdsvcQAV2yBxABcbKnEAFxspcdAV2ylh4BXbKUIwFxtAYjFiMCcbKGIwFxsgcjAV2y9yMBXbanI7cjxyMDcbL4KAFdsggoAXG2qCi4KMgoA3GyCSgBXbIZKAFxtIkomSgCcVkAsvgDAV2yCAMBcbKoAwFysmkDAXG0tQvFCwJytAYLFgsCXbL2CwFdsgYLAXGydgsBcbKXCwFdtNcL5wsCXbIXCwFxtrcLxwvXCwNxsqgLAXG0WAtoCwJytAgPGA8CXbKYDwFxtAkQGRACXbbZEOkQ+RADXbQJEBkQAnGymRABcbS5EMkQAnGyeRABcrKqEAFxspcdAV2ylx4BXbL4IwFdsggjAXGyqCMBcbIJIwFdshkjAXG0iSOZIwJxtLkjySMCcbIIKAFdsogoAXG0uCjIKAJxtAkoGSgCcbSZKKkoAnGy+igBXQE3IwcBIxEzEQczNwEzERQGIyImJzUyFjMyNjUDHgEzMjcXDgEjIi4CJwHUCAUu/vpniQoGMQEFZkRSECMUBAcEKxrDBCcfQwdvC11SKUQzIQQBhFte/n8CvP6DXmEBev0vWmIEBGwBMS0DaiAcOxE/OgwbLiIAAgA5/zAB6ALAABwALALtsAorWLIOBgMrsj8GAXKyTwYBcbIPBgFxsi8GAXGyHwYBcrJABgFdtBAGIAYCXbAGELEHBPSwBNC0ZgR2BAJxtAYEFgQCcbJVBAFxshAOAXG0EA4gDgJdtD8OTw4CcrIvDgFxsh8OAXKycA4BcbKQDgFdskAOAV2ycA4BcrAOELEcBPSwDNC0yQzZDAJdtAoMGgwCXbQJDBkMAnG0aQx5DAJxshMGDhESObATL7QgEzATAl2wBhCwLNCwLC+yDywBcrIPLAFdsnAsAXKwHdCyxh0BXbRmHXYdAnG21R3lHfUdA120hB2UHQJxsCwQsCTcspAkAXGyTyQBXbJPJAFystAkAV2yMCQBcbAj0LJGIwFdsj8tAV2y0C4BXbLQLgFxspAuAV1ZALAARViwBy8bsQcQPlmwAEVYsAQvG7EECD5ZsABFWLARLxuxEQo+WbAHELAM0LIBDBEREjmyCQQHERI5tAIJEgkCXbARELEXAvSwBxCwJ9yyTycBcbAd3LIPHQFdslAdAXGysB0BcbAnELAg3LKPIAFdsB0QsCPQsCMvMDEBsAorWLRFA1UDAnK0hwOXAwJdsrcDAXG0JwM3AwJysocDAXK06Av4CwJdtGYPdg8CcrQHDxcPAl20phC2EAJxsoYQAXK0BxAXEAJdsjYeAXG0Jx83HwJxskYiAXFBDQBmACUAdgAlAIYAJQCWACUApgAlALYAJQAGcbQHJRclAl20JyU3JQJytAgqGCoCXbSIKpgqAnG0qSq5KgJxWQC0iAOYAwJdtOkD+QMCXUEJACkAAwA5AAMASQADAFkAAwAEcrKJAwFysroDAXG05wv3CwJdtAgPGA8CXbRpD3kPAnK0CBAYEAJdtmgQeBCIEANytKkQuRACcbJIIgFxtAglGCUCXbSoJbglAnFBCQBpACUAeQAlAIkAJQCZACUABHG0KSU5JQJytAgqGCoCXUEJAIgAKgCYACoAqAAqALgAKgAEcbRpKnkqAnElNyMPASMRMxUHMz8BMxEUBiMiJzUyFjMyPgI1Ax4BMzI2NxcOASMiLgInAWYFAyqzUoIGBCm0UkhPHiIEBwQWGw8GiwchGhwhBmMMXj8fOi4gBuRHSeIB9O5ER+v991tgB20BDBgjFgLAJyAgJhlBPw4fMCP//wAm//ICeANcAiYAMgAAAQcCZwC9AAAASbAKK1iycCABcbIAIAFdsn8gAV2yzyABXUEJAL8AIADPACAA3wAgAO8AIAAEcbKfIAFdsk8gAV2yQCABcrJQIAFdsiAgAV0wMVkA//8AIf/yAfgCxwImAFIAAAEGATJ/AABesAorWEELAG8AHgB/AB4AjwAeAJ8AHgCvAB4ABV2y/x4BXbaPHp8erx4DcbKvHgFytO8e/x4CcrTvHv8eAnGyDx4BcrIvHgFxtM8e3x4CXbQwHkAeAl2yMB4BcjAxWQAA//8APP/2AuEDagImAWQAAAEHAskAlAAAAE6wCitYsjA0AXKyvzQBXbavNL80zzQDcbTvNP80AnKyDzQBcrTfNO80Al1BCQAQADQAIAA0ADAANABAADQABF2yADQBcbSANJA0Al0wMVn//wA5//kChgLAAiYBhAAAAQYCynsAACmwCitYtEAxUDECcrL/MQFdsh8xAV2yADEBXbRAMVAxAnGyQDEBXTAxWQAAAP//ACj/8gH8A1gCJgINAAABBgLFLgAAP7AKK1iwPC+yfzwBcbIPPAFysv88AV2y7zwBcbY/PE88XzwDcUEJACAAPAAwADwAQAA8AFAAPAAEXbBI3DAxWQD//wAh//UBoAK+AiYCDgAAAQYAav3tAH+wCitYsCwvsmAsAXJBCwAAACwAEAAsACAALAAwACwAQAAsAAVdskAsAXJBCQAAACwAEAAsACAALAAwACwABHGwONyyEDgBcVkAsDUvsj81AXKyfzUBckEJAI8ANQCfADUArwA1AL8ANQAEcbJfNQFysh81AXKygDUBcrBB0DAxAP//ADkAAADoA1wCJgAsAAABBgJn/QAAOLAKK1i0IAQwBAJdtO8E/wQCcbIPBAFytt8E7wT/BANdtL8EzwQCcbKABAFytiAEMARABANyMDFZ//8ARgAAAMgB9AIGAOkAAP//ADwAAAHbArwCBgApAAAAAQA5AAABfAH0AAkAtLAKK1i7AAYABQAHAAQrtC8GPwYCcbL/BgFdsj8GAXK0AAYQBgJdskAGAV2wBhCwAtCy/wcBXbI/BwFytC8HPwcCcbQABxAHAl2yQAcBXbAHELAJ3LLwCQFdslAJAV2yUAkBcbJwCQFysAPQsAMvsgADAXGycAsBclkAsABFWLAJLxuxCRA+WbAARViwBi8bsQYIPlmwCRCxAAL0sgIJBhESObACL7AF3LLgBQFdsoAFAXEwMQEjFTMVIxUjESEBfL2pqYYBQwGBbGitAfT//wAm/1ECFgLKAgYBvQAA//8AIf9RAZsCAgIGAb4AAP//ADz/9QJhA2YCJgAnAAABBwLDAIoAAABGsAorWLTvLP8sAl1BCQBvACwAfwAsAI8ALACfACwABF1BCQC/ACwAzwAsAN8ALADvACwABHG2ICwwLEAsA12yECwBcTAxWf//ACH/8gKzAr0CJgBHAAABBwB2Ab7/7QBEsAorWLIQJgFxsn8mAV2yLyYBcbIPJgFysu8mAXG0zybfJgJdsl8mAV2yUCYBcrIwJgFyWQCwAEVYsCIvG7EiFD5ZMDEAAP//ADwAAAJOA2YCJgArAAABBwLDALcAAABEsAorWLbfEO8Q/xADXbaPEJ8QrxADXUEPAJ8AEACvABAAvwAQAM8AEADfABAA7wAQAP8AEAAHcbIAEAFdsiAQAV0wMVkAAP//ADkAAAHtAtACJgBLAAABBwB2ANEAAAAusAorWLL/GwFdtO8b/xsCcbLPGwFdsk8bAXKybxsBcbQAGxAbAl2yQBsBXTAxWf//ADwAAAH3Ar0CJgAvAAABBwB2AL3/7QA0sAorWLTvCv8KAnGyTwoBcbLvCgFytAAKEAoCXbQAChAKAnFZALAARViwBi8bsQYUPlkwMQAA//8APf/yAZECvQImAE8AAAEHAHYAnP/tAEewCitYsv8UAV207xT/FAJxsg8UAXK0XxRvFAJdst8UAXK2jxSfFK8UA3GyEBQBXbQQFCAUAnJZALAARViwEC8bsRAUPlkwMQAAAP//AAsAAAItA2YCJgA3AAABBwLDAJ4AAAAqsAorWLa/DM8M3wwDcbLfDAFdsg8MAXK0jwyfDAJxthAMIAwwDANdMDFZ//8ABf/yAbQCvQImAFcAAAEHAHYAv//tAEywCitYspAcAXKyTxwBXbbfHO8c/xwDcbIPHAFyst8cAXK03xzvHAJdtAAcEBwCXbJgHAFytAAcEBwCcVkAsABFWLAYLxuxGBQ+WTAxAAD////3//sCYwNmAiYAOQAAAQcCwwCwAAAANLAKK1i0rw6/DgJxsq8OAV223w7vDv8OA3GyDw4BcrTvDv8OAl2yDw4BcbQADhAOAl0wMVkAAP////L/+wHrAtACJgBZAAABBgB2fgAASbAKK1iyAA4BXbaPDp8Orw4DXbIvDgFxsv8OAXGyDw4BcrL/DgFysq8OAXK0nw6vDgJxsv8OAV2yLw4BXbIwDgFyskAOAV0wMVkAAAD//wAS//IB6wLIAgYBUAAAAAEADv8tAZwB/QAxAWWwCitYsh0lAyuynyUBXbL/JQFdsg8lAXGyjyUBcrYvJT8lTyUDcbK/JQFdsn8lAV2ygCUBcbRQHWAdAl2yoB0BXbKAHQFxsrAdAXKy0B0BcrJgHQFyshAdAXGygB0BXbIwHQFdtAAdEB0CXbIAJR0REjmwAC+yFB0lERI5sBQvsQcE9LIOJR0REjmwDi+yGAAUERI5tAYYFhgCXbAdELEuBPSy/zMBXbJgMwFdWQCwAEVYsBEvG7ERED5ZsABFWLAiLxuxIgo+WbIBESIREjmwAS+wANxBCQDAAAAA0AAAAOAAAADwAAAABF22AAAQACAAA3FBCQBAAAAAUAAAAGAAAABwAAAABF2wERCxCgH0sBEQsA3ctC8NPw0CXbAO0LQmDjYOAl2yGAEAERI5sCIQsCbctCAmMCYCXbAl0LQpJTklAl2wIhCxKQH0MDEBsAorWLQHEhcSAl1ZALIVEgFdsgYSAV03NTMyPgI1NCYjIgYHJz4BMzIWFRQGBxUeAxUUDgIjIiYnNx4BMzI+AjU0JiNlPRIgGQ8tMCcvEhweWTpbWDYmGS0gEydCVzEzTxskFzYbGC0kFklAhFoPGSITLCkTC2IRGFZHNVMRBAgbKz0rN1M5HRcPZQ0RDRssHzs8//8AEv/yAesDZgImAVAAAAEGAsQCAABXsAorWEENAAAAPAAQADwAIAA8ADAAPABAADwAUAA8AAZdtr88zzzfPANdsl88AXGy7zwBcrTvPP88AnGyDzwBcrL/PAFdso88AV2yIDwBcbIAPAFxMDFZAP//AA7/LQGcAtwCJgK4AAABBgEw6wAAK7AKK1iyoDQBXUEJAAAANAAQADQAIAA0ADAANAAEXbKANAFdsmA0AV0wMVkAAAEAJgF7ALkCcAARAMiwCitYsgAGAyu0AAAQAAJdtJ8ArwACcbLwAAFdspAAAV20DwYfBgJxst8GAXG0nwavBgJxso8GAV20AAYQBgJdsAAQsAzQsAwvsAvQsg8GABESObIvEwFdWQCwCy+2EAsgCzALA12yEAsBcbJwCwFdsAPcsAsQsAzcsAMQsA/csq8PAV2yMA8BXbIwDwFxMDEBsAorWLQoBDgEAnJBCQBoAAkAeAAJAIgACQCYAAkABHFZALQpBDkEAnK0Zgl2CQJxtIcJlwkCcRMUBiMiJjU0PgI3Fw4BBzIWuScdJSoZIyYOIBQcAhQhAbsdIy8nKDglFQU2CCMUIwABACYBIAC5AhYAEQCesAorWLIGAAMrst8AAXGyjwABXbQAABAAAl2ysAABcbLwBgFdtAAGEAYCcbKwBgFxspAGAV20AAYQBgJdsAAQsAzQsAwvsAvQsg8ABhESOVkAsABFWLADLxuxAxI+WbAL3LAM3LADELAP3LI/DwFxsj8PAV2yoA8BXTAxAbAKK1i0hwmXCQJxWQC0JwQ3BAJytIgJmAkCcbRpCXkJAnETNDYzMhYVFA4CByc+ATcGJiYnHiQqGSMnDSEUHwIUIwHVHSQwJyg4JRUFNwkeFwEh//8AJgF8AWYCcQAnAiEArf9SAQcCIQAA/1IAGrAKK1i0TwBfAAJdsm8AAXG0rwC/AAJdMDFZAAD//wAmASABZgIWACcCIgCt/1EBBwIiAAD/UQArsAorWLRPAF8AAl2ybwABcbSgErASAl1ZALAARViwFS8bsRUSPlmwA9AwMQAAAQBaATUAzAINAAMAO7AKK1iyAQADK7L/AAFxsgAAAV2yAAEBXVkAsABFWLAALxuxABI+WbAD3LLgAwFxsgADAXGyIAMBXTAxEzMHI1pyJE4CDdj//wBaATcBYAIPACcACgAA/1MBBwAKAJT/UwAvsAorWLQPBB8EAl203wTvBAJdtl8EbwR/BANdWQCwAEVYsAEvG7EBEj5ZsATQMDEAAAEAKQEYARwCwwAIAG+wCitYsgcIAyuwCBCwBNyyPwQBXbAIELAF0LRJBVkFAl2yTwcBXVkAsABFWLAFLxuxBRQ+WbAD3LJfAwFdspADAV2yAQUDERI5sAUQsAjcsu8IAXGyDwgBcrJ/CAFxsu8IAV2ynwgBcbJgCAFdMDETNw8BJzczESOpCx87MZ5VcwIgLiAnTW/+VQABADz+7wDP/9YAEQDHsAorWLAAL7AG3LLwBgFdtAAGEAYCcbLQBgFxtGAGcAYCcbSABpAGAl20QAZQBgJysgwABhESObAML7IPAAYREjlZALASL7AD3LKgAwFxsAvctkALUAtgCwNdsv8LAV2yHwsBcrKgCwFdskALAXKygAsBcrAM3LIwDAFxsAMQsA/csrAPAXIwMQGwCitYtIcIlwgCcbQHCRcJAnG0pwm3CQJxWQC0iAiYCAJxtAkJGQkCcUEJAIkACQCZAAkAqQAJALkACQAEcRc0NjMyFhUUDgIHJz4BNwYmPCcdIywWICQNIg4cAhQiaR0iLiohMiMVBDYHGRUBHwABADwC8AFDA2YABACXsAorWLAEL7AB3LKQAQFdtAABEAECcbTAAdABAnGy8AEBcbRAAVABAnGywAEBXbIQAQFdsjABAXJZALAEL7KQBAFysg8EAV2yLwQBXbKvBAFdsu8EAXG0rwS/BAJxsm8EAV2yLwQBcrTABNAEAnKyUAQBcbIQBAFxsADcQQkADwAAAB8AAAAvAAAAPwAAAARdslAAAXEwMRMzFQcjpJ+gZwNmHlgAAQA8AuEBngNmAAoAu7AKK1iwAy+wCdy2cAmACZAJA12yUAkBcbQvCT8JAl2yAAkBcrLwCQFdtAAJEAkCcbIQCQFdsjAJAXKyAAkDERI5sgEDCRESObADELAE3LIGAwkREjmwCRCwCNxZALABL7RfAW8BAl20zwHfAQJdsk8BAXGy/wEBcrK/AQFysg8BAXG0nwGvAQJdtg8BHwEvAQNdsmABAXKwBNy2DwQfBC8EA12wAtyyBgQBERI5sAQQsAjQsAIQsArQMDEBIyc1Mx8BPwEzFQEZXn9pNRMVOGQC4V4nLR4dLigAAgA8AuUBqQNYAAsAFwB+sAorWLAAL7AG3LK/BgFxslAGAXGyEAYBXbAAELAM3LIvDAFdsBLcsr8SAXGyUBIBcbIQEgFdWQCwCS+2DwkfCS8JA120nwmvCQJdsk8JAXGyjwkBcrLfCQFdtF8JbwkCXbLwCQFxsjAJAXKwA9yy7wMBcbAP0LAJELAV0DAxEzQ2MzIWFRQGIyImNzQ2MzIWFRQGIyImPCQoJyQkJygk1iQnKCQkKCckAx4aICAaGh8fGhogIBoaHx8AAQA8AvABQwNmAAQAl7AKK1iwAC+wA9yynwMBXbQPAx8DAnG0zwPfAwJxsv8DAXG0TwNfAwJxss8DAV2yHwMBXbI/AwFyWQCwAS+ykAEBcrIPAQFdsm8BAV20rwG/AQJxsi8BAXKy7wEBcbKvAQFdsi8BAV20wAHQAQJyslABAXGyEAEBcbAE3EEJAA8ABAAfAAQALwAEAD8ABAAEXbJQBAFxMDEBIyc1MwFDaZ6fAvBYHgACADwC5QHJA1IABAAJANKwCitYsAQvsAHcsAQQsAnctk8JXwlvCQNdsg8JAV22rwm/Cc8JA12wBty2oAawBsAGA12ycAYBcbIABgFyWQCwBC+0nwSvBAJdsk8EAXG2DwQfBC8EA3KyjwQBcrRPBF8EAnJBDwCPAAQAnwAEAK8ABAC/AAQAzwAEAN8ABADvAAQAB3Gy3wQBXbRfBG8EAl22DwQfBC8EA12wANxBCwAPAAAAHwAAAC8AAAA/AAAATwAAAAVdst8AAV2wBdCwBBCwCdAwMQGwCitYtAgAGAACXVkTMxUHIyUzFQcjd4ZkXQEBjI9eA1IQXW0QXQABADwC/wGTA1gAAwBVsAorWLADL7AC3FkAsAMvssADAXG2DwMfAy8DA120nwOvAwJdtB8DLwMCcrJfAwFyst8DAV20XwNvAwJdsvADAXGygAMBcbLAAwFysADcsu8AAXEwMRMhFSE8AVf+qQNYWQABADwC3wG7A2oADgF5sAorWLAOL7AA0LQ2AEYAAnGypwABXbIoAAFdtLcAxwACcbK2AAFdslUAAXGwDhCwBtyyMAYBcrIvBgFdsrAGAV2y4AYBXbAF0LI3BQFdsiYFAV1ZALAJL7SfCa8JAl2yDwkBcbK/CQFxtK8JvwkCcrTvCf8JAnK0fwmPCQJysk8JAXG0zwnfCQJdtF8JbwkCXbYPCR8JLwkDXbAA3LQPAB8AAl2yEAABcbAJELAD3LAAELAF0DAxAbAKK1iylwEBXbJkAgFxspUCAV2yZQYBcbJ2BgFxsqQHAXGylgcBcbIHBwFdsvcHAV20BwcXBwJxsocHAXG0twfHBwJxsggMAV20CAwYDAJxsogMAXG2qAy4DMgMA3Gy+QwBXVkAspcCAV2yZwIBcbJ2BgFxsmcGAXGyCAcBXbQIBxgHAnG0iAeYBwJxtLgHyAcCcbL5BwFdsqkHAXGyCAwBXbL4DAFdsqgMAXG0CQwZDAJxtIkMmQwCcbS5DMkMAnETHgEzMjcXDgEjIi4CJ7gEJx9DB28LXVIpRDMhBANqIBw7ET86DBsuIgABADwCJgGSAsAADwGesAorWLAPL7AA0LLHAAFdsvYAAXG21gDmAPYAA12wDxCwB9yyjwcBcbJPBwFdsk8HAXKyMAcBcbLQBwFdsAbQskcGAV1ZALAKL7JPCgFdso8KAV2yTwoBcbKPCgFxss8KAXGyjwoBcrLPCgFysu8KAXKyrwoBcrLvCgFxsq8KAXGybwoBcbKvCgFdsm8KAV2yLwoBXbIPCgFdsADcsg8AAV2yUAABcbKwAAFxsAoQsAPcso8DAV2wABCwBtAwMQGwCitYspMAAXG2ZQB1AIUAA3FBCQCFAAEAlQABAKUAAQC1AAEABHG0JgE2AQJxskUFAXGyBgUBcrRlCHUIAnFBCQCGAAgAlgAIAKYACAC2AAgABHG0BwgXCAJdtCcINwgCcrQIDRgNAl20iA2YDQJxtGkNeQ0CcbSpDbkNAnFZALKXAAFxtKYBtgECcbQnATcBAnG0iAGYAQJxskgFAXGyCAUBcrQICBgIAl2yaAgBcbJ5CAFxtKkIuQgCcbQpCDkIAnK0CA0YDQJdsmgNAXG0qA24DQJxtnkNiQ2ZDQNxEx4BMzI2NxcOASMiLgInqgchGhwhBmMMXj8fOi4gBgLAJyAgJhlBPw4fMCMAAQAMAAAB7ALGABoBQbAKK1iyAQcDK7IPAQFysq8BAV2yAAEBXbIQAQFxsAEQsQIE9LKvBwFdsm8HAXG0fwePBwJdsg8HAXKwBxCxBAT0sAcQsAjcsAcQsArQsAEQsBHQsBEvsAQQsBrQsi8cAV1ZALAARViwDi8bsQ4UPlmwAEVYsAUvG7EFCD5ZsALQsgkOBRESObAJL7QgCTAJAl2xCAH0sATQsA4QsRUB9LAJELAa0LAaLzAxAbAKK1i0CAwYDAJdssgMAV2yaAwBcbI5DAFxtAkMGQwCcrRKDFoMAnG0CA0YDQJdtkgNWA1oDQNxsjkNAXFZALQGDBYMAnK0BwwXDAJdQQkANwAMAEcADABXAAwAZwAMAARxtAYNFg0CXbI2DQFxsmYNAXG0Rw1XDQJxtIgSmBICXUEJAKkAEgC5ABIAyQASANkAEgAEXQERIxEjESMRIzUzNTQ2MzIWFwcuASMiDgIVAeyCl4JFRWJdRWshIhpKLR0kFAYB9P4MAYb+egGGbhxfVxUTZQ4RDRkmGAABAAz/8gJSAskAKAFYsAorWLIbDgMrso8OAV2ybw4BcbAOELELBPSwCNCwCxCwCtyysAoBXbAOELAP3LAOELAR0LJwGwFysgAbAV2yPxsBcbJwGwFdsrAbAXGyEBsBcbAbELAi3LLwIgFdsmAiAV2wGxCxKAT0ss8qAV1ZALAARViwFS8bsRUUPlmwAEVYsCUvG7ElCD5ZsABFWLAMLxuxDAg+WbAVELEDAfSyERUMERI5sBEvsk8RAXKybxEBcbQgETARAl2wCNCwERCxDgH0sAvQsCUQsR4C9DAxAbAKK1i0CBMYEwJdssgTAV20KBM4EwJytAgUGBQCXbJ6FAFxtnkniSeZJwNdsnonAXK0jCecJwJytMwn3CcCcrStJ70nAnJZALQlEzUTAnK0BxMXEwJdsscTAV2yRxMBcrQHFBcUAl2ydxQBcbZ5J4knmScDXbSpJ7knAnKyeicBcrSLJ5snAnIBLgEjIg4CFTMVIxEjESM1MzU0NjMyHgIXERQWMzI2NxcOASMiJjUBaA0tFRccDwRLS4JFRVtvFzw7Mw4SEwwXEQ8QQyM5OwJUAwQOGicYbv56AYZuHF5bBAUGA/3xIyAEB2YIEDU9AAEAzAHwAWECvAAJAD+wCitYsAYvsADcsu8AAV2wCdyy3wkBXbJACQFdsuAJAXFZALAARViwCS8bsQkUPlmwBdyyfwUBcbKfBQFdMDEBDgMHJz4BNQFhAhQbHgw6ERICvB0/OS0KHyRbLgABAEIAAADEArwAAwB6sAorWLsAAgAEAAMABCuyAAIBXbLfAgFxsuACAV20MAJAAgJdsgADAV2y3wMBcbLgAwFdtDADQAMCXbIfBAFdsnAFAXK0LwU/BQJxspAFAV2ywAUBcbTABdAFAl1ZALAARViwAC8bsQAUPlmwAEVYsAMvG7EDCD5ZMDETMxEjQoKCArz9RAAB/xb/8gGfAsoAAwDasAorWLIBAwMrsvABAXGyEAEBcbLgAQFdsAEQsADQslkAAXGyGQABcbL6AAFdsisAAV2yrAABXbS9AM0AAl2ymwABXbIrAAFxsooAAV2yeQABXbLoAAFdslcAAV2yLwMBcbI/AwFyss8DAXG0vwPPAwJdsAMQsALQtKMCswICXbIlAgFdsiUCAXG0dgKGAgJdsucCAV2yBgIBXbL1AgFdspQCAV20AwITAgJxssICAV1ZALAARViwAC8bsQAUPlmwAEVYsAIvG7ECCD5ZsAAQsAHQsAIQsAPQMDEBFwEnAVZJ/cBJAspC/WpFAA==) + format("truetype"); +} +.form-check-input, +.g42-checkbox, +.g42-radio { + -webkit-appearance: none; + background-color: Hsl(var(--g42-bg-01)); + border: var(--spacing-1) solid hsl(var(--g42-border-primary)); + border-radius: 2px; + border-radius: var(--spacing-2); + height: 14px; + height: var(--spacing-14); + margin: 0; + position: relative; + transition-duration: 0.24s; + transition-property: background-color, border-color, color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + width: 14px; + width: var(--spacing-14); +} +.form-check-input:disabled, +.g42-checkbox:disabled, +.g42-radio:disabled { + background-color: Hsl(var(--g42-border-secondary)); + border-color: Hsl(var(--g42-border-secondary)); +} +.form-check-input:focus, +.g42-checkbox:focus, +.g42-radio:focus { + outline: 1px dashed Hsl(var(--g42-label-tertiary)); + outline-offset: 0; +} +.form-check-input:after, +.g42-checkbox:after, +.g42-radio:after { + align-items: center; + content: "\e91b"; + display: flex; + font-family: io-icons; + font-size: 9px; + font-size: var(--spacing-9); + height: 14px; + height: var(--spacing-14); + justify-content: center; + left: -1px; + left: calc(var(--spacing-1) * -1); + position: absolute; + top: -1px; + top: calc(var(--spacing-1) * -1); + -webkit-transform: scale(0); + transform: scale(0); + transition-duration: 0.24s; + transition-property: + background-color, + -webkit-transform; + transition-property: transform, background-color; + transition-property: + transform, + background-color, + -webkit-transform; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + width: 14px; + width: var(--spacing-14); +} +.form-check-input:hover:not(:disabled):not(:checked):after, +.g42-checkbox:hover:not(:disabled):not(:checked):after, +.g42-radio:hover:not(:disabled):not(:checked):after { + color: Hsl(var(--g42-label-tertiary)); + -webkit-transform: scale(1); + transform: scale(1); +} +.form-check-input:checked, +.g42-checkbox:checked, +.g42-radio:checked { + background-color: Hsl(var(--g42-interactive-primary)); + border-color: Hsl(var(--g42-interactive-primary)); +} +.form-check-input:checked:after, +.g42-checkbox:checked:after, +.g42-radio:checked:after { + color: #fff; + color: Hsl(var(--g42-white)); + -webkit-transform: scale(1); + transform: scale(1); +} +.form-check-input:checked:disabled, +.g42-checkbox:checked:disabled, +.g42-radio:checked:disabled { + background-color: Hsl(var(--g42-border-secondary)); + border-color: Hsl(var(--g42-border-secondary)); +} +.form-check-input:checked:disabled:after, +.g42-checkbox:checked:disabled:after, +.g42-radio:checked:disabled:after { + color: Hsl(var(--g42-label-tertiary)); +} +.form-check-input + label, +.g42-checkbox + label, +.g42-radio + label { + display: inline-flex; +} +.g42-radio, +.g42-radio:after { + border-radius: 50%; +} +.g42-radio:after { + content: ""; + height: 10px; + height: var(--spacing-10); + left: calc(50% - 5px); + left: calc(50% - var(--spacing-10) / 2); + top: calc(50% - 5px); + top: calc(50% - var(--spacing-10) / 2); + width: 10px; + width: var(--spacing-10); +} +.g42-radio:hover:not(:disabled):not(:checked):after { + background-color: Hsl(var(--g42-border-primary)); +} +.g42-radio:checked { + background-color: initial; + border-color: Hsl(var(--g42-interactive-primary)); +} +.g42-radio:checked:after { + background-color: Hsl(var(--g42-interactive-primary)); +} +.g42-radio:checked:disabled:after { + background-color: Hsl(var(---g42-label-secondary)); +} +.g42-input, +input[type="text"] { + background-color: initial; + border: 1px solid hsl(var(--g42-border-primary)); + border-radius: 4px; + border-radius: var(--spacing-4); + color: Hsl(var(--g42-label-primary)); + font-family: + PTSans, + Helvetica Neue, + Arial, + sans-serif; + font-family: var(--g42-font-family); + font-size: 12px; + font-size: var(--g42-font-size); + line-height: 18px; + line-height: calc(var(--spacing-16) + var(--spacing-2)); + padding: 2px 4px; + padding: var(--spacing-2) var(--spacing-4); + transition-duration: 0.24s; + transition-property: border-color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.g42-input::-webkit-search-cancel-button, +input[type="text"]::-webkit-search-cancel-button { + display: none; +} +.g42-input:focus, +.g42-input:focus-visible, +.g42-input:hover, +input:focus-visible[type="text"], +input:focus[type="text"], +input:hover[type="text"] { + border-color: Hsl(var(--g42-interactive-primary)); + outline: 0; +} +.g42-input::-webkit-input-placeholder, +input[type="text"]::-webkit-input-placeholder { + color: Hsl(var(--g42-label-tertiary)); +} +.g42-input::placeholder, +input[type="text"]::placeholder { + color: Hsl(var(--g42-label-tertiary)); +} +.g42-toggle, +.switch { + border-radius: 8px; + border-radius: var(--spacing-8); + cursor: pointer; + display: flex; + line-height: 16px; + line-height: var(--spacing-16); + min-height: 16px; + min-height: var(--spacing-16); + padding: 4px 0 4px 24px; + padding: var(--spacing-4) 0 var(--spacing-4) var(--spacing-24); + position: relative; +} +.g42-toggle:focus span, +.switch:focus span { + outline-color: Hsl(var(--g42-label-tertiary)); +} +.g42-toggle:hover:not(.disabled) .slider:before, +.switch:hover:not(.disabled) .slider:before { + -webkit-transform: translateX(8px); + transform: translateX(8px); + -webkit-transform: translateX(var(--spacing-8)); + transform: translateX(var(--spacing-8)); +} +.g42-toggle input, +.switch input { + display: none; + position: absolute; +} +.g42-toggle input:checked ~ .slider, +.switch input:checked ~ .slider { + background-color: Hsl(var(--g42-interactive-primary)); +} +.g42-toggle input:checked ~ .slider:before, +.switch input:checked ~ .slider:before { + background-color: #fff; + background-color: Hsl(var(--g42-white)); + -webkit-transform: translateX(8px); + transform: translateX(8px); + -webkit-transform: translateX(var(--spacing-8)); + transform: translateX(var(--spacing-8)); +} +.g42-toggle .slider, +.switch .slider { + background-color: Hsl(var(--g42-border-primary)); + border-radius: 8px; + border-radius: var(--spacing-8); + height: 12px; + height: var(--spacing-12); + left: 0; + margin-top: 2px; + margin-top: var(--spacing-2); + outline: 1px dashed transparent; + outline-offset: 0; + width: 20px; + width: calc(var(--spacing-24) - var(--spacing-4)); +} +.g42-toggle .slider, +.g42-toggle .slider:before, +.switch .slider, +.switch .slider:before { + position: absolute; + transition-duration: 0.24s; + transition-property: all; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.g42-toggle .slider:before, +.switch .slider:before { + background-color: Hsl(var(--g42-bg-01)); + border-radius: 50%; + content: ""; + height: 8px; + height: var(--spacing-8); + left: 2px; + left: var(--spacing-2); + top: 2px; + top: var(--spacing-2); + width: 8px; + width: var(--spacing-8); +} +.disabled.switch input:checked ~ .slider, +.g42-toggle.disabled input:checked ~ .slider { + background-color: Hsl(var(--g42-border-secondary)); +} +.disabled.switch input:checked ~ .slider:before, +.g42-toggle.disabled input:checked ~ .slider:before { + background-color: Hsl(var(--g42-label-tertiary)); +} +.disabled.switch .slider, +.g42-toggle.disabled .slider { + background-color: Hsl(var(--g42-border-secondary)); +} +.disabled.switch .slider:before, +.g42-toggle.disabled .slider:before { + background-color: Hsl(var(--g42-label-tertiary)); +} +@font-face { + font-family: io-icons; + font-style: normal; + font-weight: 400; + src: url(data:font/ttf;base64,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) + format("truetype"); +} +[class*=" icon-"], +[class^="icon-"] { + -webkit-font-feature-settings: normal; + font-feature-settings: normal; + speak: never; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-style: normal; + font-variant: normal; + font-weight: 400; + line-height: 1; + text-transform: none; +} +.add-application button.btn:before, +.add-application:before, +.add-workspace .workspace__icon, +.add-workspace h5.btn:before, +.add-workspace:before, +.icon, +.workspace-tab-popup .icon-angle-left, +.workspace-tab-popup:before { + align-items: center; + display: flex; + justify-content: center; +} +.add-application button.btn:before i:before, +.add-application:before i:before, +.add-workspace .workspace__icon i:before, +.add-workspace h5.btn:before i:before, +.add-workspace:before i:before, +.icon i:before, +.workspace-tab-popup .icon-angle-left i:before, +.workspace-tab-popup:before i:before { + font-family: io-icons; +} +.icon-box-8 { + height: 8px; + height: var(--spacing-8); + width: 8px; + width: var(--spacing-8); +} +.icon-box-12 { + height: 12px; + height: var(--spacing-12); + width: 12px; + width: var(--spacing-12); +} +.icon-box-14 { + height: 14px; + height: calc(var(--spacing-16) - var(--spacing-2)); + width: 14px; + width: calc(var(--spacing-16) - var(--spacing-2)); +} +.icon-box-16 { + height: 16px; + height: var(--spacing-16); + width: 16px; + width: var(--spacing-16); +} +.icon-box-24 { + height: 24px; + height: var(--spacing-24); + width: 24px; + width: var(--spacing-24); +} +.add-workspace .workspace__icon:before, +.icon-workspace:before { + content: "\e900"; +} +.icon-unlock:before { + content: "\e901"; +} +.icon-link:before, +.link-icon:before { + content: "\e902"; +} +.icon-trash-can:before { + content: "\e903"; +} +.icon-system-minimize:before { + content: "\e904"; +} +.icon-folder:before { + content: "\e905"; +} +.icon-system-maximize:before { + content: "\e906"; +} +.icon-ellipsis:before { + content: "\e907"; +} +.icon-system-close:before { + content: "\e908"; +} +.icon-star:before { + content: "\e909"; +} +.icon-star-full:before { + content: "\e90a"; +} +.icon-circle-xmark-full:before { + content: "\e90b"; +} +.icon-sliders:before { + content: "\e90c"; +} +.add-application button.btn:before, +.icon-add:before { + content: "\e90d"; +} +.icon-chevron-down:before { + content: "\e90e"; +} +.icon-lock:before { + content: "\e90f"; +} +.icon-application:before { + content: "\e910"; +} +.icon-layout:before { + content: "\e911"; +} +.icon-restore:before { + content: "\e912"; +} +.icon-group:before { + content: "\e913"; +} +.icon-floppy:before { + content: "\e914"; +} +.icon-delete-left:before { + content: "\e915"; +} +.icon-close:before { + content: "\e916"; +} +.icon-circle-xmark:before { + content: "\e917"; +} +.icon-chevron-up:before { + content: "\e918"; +} +.icon-chevron-right:before { + content: "\e919"; +} +.icon-chevron-left:before, +.workspace-tab-popup .icon-angle-left:before { + content: "\e91a"; +} +.icon-check:before { + content: "\e91b"; +} +.icon-feedback:before { + content: "\e91c"; +} +.icon-pop-out:before { + content: "\e924"; +} +.icon-minimize:before { + content: "\e928"; +} +.icon-resize:before { + content: "\e92a"; +} +.icon-bell:before { + content: "\e92e"; +} +.icon-user:before { + content: "\e930"; +} +.icon-sticky-off:before { + content: "\e932"; +} +.icon-sticky-off-hover:before { + content: "\e933"; +} +.icon-sticky-on:before { + content: "\e93b"; +} +.icon-sticky-on-hover:before { + content: "\e943"; +} +.icon-cog:before { + content: "\e949"; +} +.icon-expand:before { + content: "\e91d"; +} +.icon-collapse:before { + content: "\e91e"; +} +.add-application button.btn, +.add-workspace h5.btn, +.g42-list-item, +.list-group-item, +.save-workspace h5 { + align-items: center; + color: Hsl(var(--g42-label-primary)); + display: flex; + font-size: 12px; + font-size: var(--g42-font-size); + line-height: 16px; + line-height: var(--spacing-16); + padding: 4px 0; + padding: var(--spacing-4) 0; + position: relative; + transition-duration: 0.24s; + transition-property: background-color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.add-application button.btn:hover, +.add-workspace h5.btn:hover, +.g42-list-item:hover, +.list-group-item:hover, +.save-workspace h5:hover { + background-color: Hsl(var(--g42-bg-03)); +} +.add-application button.btn:focus, +.add-application button.btn:focus-visible, +.add-workspace h5.btn:focus, +.add-workspace h5.btn:focus-visible, +.g42-list-item:focus, +.g42-list-item:focus-visible, +.list-group-item:focus, +.list-group-item:focus-visible, +.save-workspace h5:focus, +.save-workspace h5:focus-visible { + outline: 1px dashed Hsl(var(--g42-label-tertiary)); + outline-offset: 0; +} +.active.list-group-item, +.add-application button.active.btn, +.add-workspace h5.active.btn, +.g42-list-item.active, +.save-workspace h5.active { + background-color: Hsl(var(--g42-highlight-neutral)); +} +.active.list-group-item:hover, +.add-application button.active.btn:hover, +.add-workspace h5.active.btn:hover, +.g42-list-item.active:hover, +.save-workspace h5.active:hover { + background-color: Hsl(var(--g42-bg-03)); +} +.active.list-group-item .add-application button.btn:before, +.active.list-group-item .add-application:before, +.active.list-group-item .add-workspace .workspace__icon, +.active.list-group-item .add-workspace h5.btn:before, +.active.list-group-item .add-workspace:before, +.active.list-group-item .icon, +.active.list-group-item .workspace-tab-popup .icon-angle-left, +.active.list-group-item .workspace-tab-popup:before, +.add-application .active.list-group-item button.btn:before, +.add-application .add-workspace h5.active.btn button.btn:before, +.add-application .g42-list-item.active button.btn:before, +.add-application .save-workspace h5.active button.btn:before, +.add-application button.active.btn .add-application:before, +.add-application button.active.btn .add-workspace .workspace__icon, +.add-application button.active.btn .add-workspace h5.btn:before, +.add-application button.active.btn .add-workspace:before, +.add-application button.active.btn .icon, +.add-application button.active.btn .workspace-tab-popup .icon-angle-left, +.add-application button.active.btn .workspace-tab-popup:before, +.add-application button.active.btn button.btn:before, +.add-workspace .active.list-group-item .workspace__icon, +.add-workspace .active.list-group-item h5.btn:before, +.add-workspace .add-application button.active.btn .workspace__icon, +.add-workspace .add-application button.active.btn h5.btn:before, +.add-workspace .g42-list-item.active .workspace__icon, +.add-workspace .g42-list-item.active h5.btn:before, +.add-workspace .save-workspace h5.active .workspace__icon, +.add-workspace .save-workspace h5.active h5.btn:before, +.add-workspace h5.active.btn .add-application button.btn:before, +.add-workspace h5.active.btn .add-application:before, +.add-workspace h5.active.btn .add-workspace:before, +.add-workspace h5.active.btn .icon, +.add-workspace h5.active.btn .workspace-tab-popup .icon-angle-left, +.add-workspace h5.active.btn .workspace-tab-popup:before, +.add-workspace h5.active.btn .workspace__icon, +.add-workspace h5.active.btn h5.btn:before, +.g42-list-item.active .add-application button.btn:before, +.g42-list-item.active .add-application:before, +.g42-list-item.active .add-workspace .workspace__icon, +.g42-list-item.active .add-workspace h5.btn:before, +.g42-list-item.active .add-workspace:before, +.g42-list-item.active .icon, +.g42-list-item.active .workspace-tab-popup .icon-angle-left, +.g42-list-item.active .workspace-tab-popup:before, +.save-workspace h5.active .add-application button.btn:before, +.save-workspace h5.active .add-application:before, +.save-workspace h5.active .add-workspace .workspace__icon, +.save-workspace h5.active .add-workspace h5.btn:before, +.save-workspace h5.active .add-workspace:before, +.save-workspace h5.active .icon, +.save-workspace h5.active .workspace-tab-popup .icon-angle-left, +.save-workspace h5.active .workspace-tab-popup:before, +.workspace-tab-popup .active.list-group-item .icon-angle-left, +.workspace-tab-popup .add-application button.active.btn .icon-angle-left, +.workspace-tab-popup .add-workspace h5.active.btn .icon-angle-left, +.workspace-tab-popup .g42-list-item.active .icon-angle-left, +.workspace-tab-popup .save-workspace h5.active .icon-angle-left { + transition-duration: 0.24s; + transition-property: opacity; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.active.list-group-item .icon-clue:before, +.add-application button.active.btn .icon-clue:before, +.add-workspace h5.active.btn .icon-clue:before, +.g42-list-item.active .icon-clue:before, +.save-workspace h5.active .icon-clue:before { + background-color: initial; +} +.active.list-group-item .icon-check, +.add-application button.active.btn .icon-check, +.add-workspace h5.active.btn .icon-check, +.g42-list-item.active .icon-check, +.save-workspace h5.active .icon-check { + opacity: 1; +} +.add-application button.btn .icon-check, +.add-workspace h5.btn .icon-check, +.g42-list-item .icon-check, +.list-group-item .icon-check, +.save-workspace h5 .icon-check { + font-size: 8px; + font-size: var(--spacing-8); + opacity: 0; +} +.add-application button.btn .title, +.add-workspace h5.btn .title, +.g42-list-item .title, +.list-group-item .title, +.save-workspace h5 .title { + flex-grow: 1; + font-size: 12px; + font-size: var(--g42-font-size); + line-height: 16px; + line-height: var(--spacing-16); + margin-left: 4px; + margin-left: var(--spacing-4); +} +.add-application button.btn .description, +.add-workspace h5.btn .description, +.g42-list-item .description, +.list-group-item .description, +.save-workspace h5 .description { + color: Hsl(var(---g42-label-secondary)); + font-size: 12px; + font-size: var(--g42-font-size); + margin-left: 4px; + margin-left: var(--spacing-4); + margin-top: -4px; + margin-top: calc(var(--spacing-4) * -1); + padding-bottom: 6px; + padding-bottom: var(--spacing-6); + padding-left: 24px; + padding-left: var(--spacing-24); +} +.add-application .col h5, +.add-application label, +.add-workspace h3, +.g42-list-header, +.workspace-tab-popup h5 { + color: Hsl(var(--g42-label-secondary)); + display: flex; + font-size: 12px; + font-size: var(--g42-font-size); + padding: 8px 0 2px 8px; + padding: var(--spacing-8) 0 var(--spacing-2) var(--spacing-8); +} +.g42-list-row { + align-items: center; + display: flex; + flex-grow: 1; +} +.g42-context-menu { + background-color: Hsl(var(--g42-bg-primary)); + border: var(--spacing-1) solid hsl(var(--g42-border-secondary)); + border-radius: 4px; + border-radius: var(--border-radius-4); + box-shadow: var(--g42-overlay-shadow); + overflow: hidden; + z-index: 100; +} +.add-application .g42-context-menu button.btn, +.add-workspace .g42-context-menu h5.btn, +.g42-context-menu .add-application button.btn, +.g42-context-menu .add-workspace h5.btn, +.g42-context-menu .g42-list-item, +.g42-context-menu .list-group-item, +.g42-context-menu .save-workspace h5, +.save-workspace .g42-context-menu h5 { + cursor: default; + padding-left: 12px; + padding-left: var(--spacing-12); + padding-right: 12px; + padding-right: var(--spacing-12); +} +.add-application .g42-context-menu button.disabled.btn, +.add-workspace .g42-context-menu h5.disabled.btn, +.g42-context-menu .add-application button.disabled.btn, +.g42-context-menu .add-workspace h5.disabled.btn, +.g42-context-menu .disabled.list-group-item, +.g42-context-menu .g42-list-item.disabled, +.g42-context-menu .save-workspace h5.disabled, +.save-workspace .g42-context-menu h5.disabled { + color: Hsl(var(--g42-label-tertiary)); + pointer-events: none; +} +div.g42-list-item, +div.list-group-item { + flex-direction: column; + padding: 1px 12px; + padding: var(--spacing-1) var(--spacing-12); +} +.add-application button.btn, +button.g42-list-item, +button.list-group-item { + background-color: initial; + border: 0; + width: 100%; +} +.level { + padding-left: 12px; + padding-left: var(--spacing-12); +} +.add-application .level button.btn, +.add-workspace .level h5.btn, +.level .add-application button.btn, +.level .add-workspace h5.btn, +.level .g42-list-item, +.level .list-group-item, +.level .save-workspace h5, +.save-workspace .level h5 { + margin-left: -12px; + margin-left: calc(var(--spacing-12) * -1); + padding-left: 8px; + padding-left: var(--spacing-8); +} +.add-application .col .level h5, +.add-application .level label, +.add-workspace .level h3, +.level .add-application .col h5, +.level .add-application label, +.level .add-workspace h3, +.level .g42-list-header, +.level .workspace-tab-popup h5, +.workspace-tab-popup .level h5 { + padding-left: 0; +} +.loader-wrapper { + align-items: center; + display: flex; + flex-direction: column; + flex-grow: 1; + gap: 1rem; + justify-content: center; +} +.loader-wrapper .loader { + background: + radial-gradient(farthest-side, #999d9e 94%, transparent) top/4px 4px no-repeat, + conic-gradient(transparent 15%, #999d9e); + border-radius: 50%; + height: 2rem; + -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 0); + width: 2rem; +} +.loader-wrapper .loader.active, +.loader-wrapper.active .loader { + -webkit-animation: s3 1.5s linear infinite; + animation: s3 1.5s linear infinite; +} +.loader-wrapper .loader-text { + color: var(--t42-content-color-muted); + margin: 0 auto; + overflow: hidden; + padding: 0 0.833rem; + text-align: center; + text-overflow: ellipsis; +} +@-webkit-keyframes s3 { + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} +h1, +h2, +h3, +h4, +h5, +h6 { + font-weight: 400; + line-height: 1; +} +p { + line-height: 16px; + line-height: var(--spacing-16); +} +.pt-1 { + padding-top: 1px; + padding-top: var(--spacing-1); +} +.pt-2 { + padding-top: 2px; + padding-top: var(--spacing-2); +} +.pt-4 { + padding-top: 4px; + padding-top: var(--spacing-4); +} +.pt-6 { + padding-top: 6px; + padding-top: var(--spacing-6); +} +.pt-8 { + padding-top: 8px; + padding-top: var(--spacing-8); +} +.pt-12 { + padding-top: 12px; + padding-top: var(--spacing-12); +} +.pt-16 { + padding-top: 16px; + padding-top: var(--spacing-16); +} +.pt-24 { + padding-top: 24px; + padding-top: var(--spacing-24); +} +.pt-32 { + padding-top: 32px; + padding-top: var(--spacing-32); +} +.pt-40 { + padding-top: 40px; + padding-top: var(--spacing-40); +} +.pe-1 { + padding-right: 1px; + padding-right: var(--spacing-1); +} +.pe-2 { + padding-right: 2px; + padding-right: var(--spacing-2); +} +.pe-4 { + padding-right: 4px; + padding-right: var(--spacing-4); +} +.pe-6 { + padding-right: 6px; + padding-right: var(--spacing-6); +} +.pe-8 { + padding-right: 8px; + padding-right: var(--spacing-8); +} +.pe-12 { + padding-right: 12px; + padding-right: var(--spacing-12); +} +.pe-16 { + padding-right: 16px; + padding-right: var(--spacing-16); +} +.pe-24 { + padding-right: 24px; + padding-right: var(--spacing-24); +} +.pe-32 { + padding-right: 32px; + padding-right: var(--spacing-32); +} +.pe-40 { + padding-right: 40px; + padding-right: var(--spacing-40); +} +.pb-1 { + padding-bottom: 1px; + padding-bottom: var(--spacing-1); +} +.pb-2 { + padding-bottom: 2px; + padding-bottom: var(--spacing-2); +} +.pb-4 { + padding-bottom: 4px; + padding-bottom: var(--spacing-4); +} +.pb-6 { + padding-bottom: 6px; + padding-bottom: var(--spacing-6); +} +.pb-8 { + padding-bottom: 8px; + padding-bottom: var(--spacing-8); +} +.pb-12 { + padding-bottom: 12px; + padding-bottom: var(--spacing-12); +} +.pb-16 { + padding-bottom: 16px; + padding-bottom: var(--spacing-16); +} +.pb-24 { + padding-bottom: 24px; + padding-bottom: var(--spacing-24); +} +.pb-32 { + padding-bottom: 32px; + padding-bottom: var(--spacing-32); +} +.pb-40 { + padding-bottom: 40px; + padding-bottom: var(--spacing-40); +} +.ps-1 { + padding-left: 1px; + padding-left: var(--spacing-1); +} +.ps-2 { + padding-left: 2px; + padding-left: var(--spacing-2); +} +.ps-4 { + padding-left: 4px; + padding-left: var(--spacing-4); +} +.ps-6 { + padding-left: 6px; + padding-left: var(--spacing-6); +} +.ps-8 { + padding-left: 8px; + padding-left: var(--spacing-8); +} +.ps-12 { + padding-left: 12px; + padding-left: var(--spacing-12); +} +.ps-16 { + padding-left: 16px; + padding-left: var(--spacing-16); +} +.ps-24 { + padding-left: 24px; + padding-left: var(--spacing-24); +} +.ps-32 { + padding-left: 32px; + padding-left: var(--spacing-32); +} +.ps-40 { + padding-left: 40px; + padding-left: var(--spacing-40); +} +.mt-1 { + margin-top: 1px; + margin-top: var(--spacing-1); +} +.mt-2 { + margin-top: 2px; + margin-top: var(--spacing-2); +} +.mt-4 { + margin-top: 4px; + margin-top: var(--spacing-4); +} +.mt-6 { + margin-top: 6px; + margin-top: var(--spacing-6); +} +.mt-8 { + margin-top: 8px; + margin-top: var(--spacing-8); +} +.mt-12 { + margin-top: 12px; + margin-top: var(--spacing-12); +} +.mt-16 { + margin-top: 16px; + margin-top: var(--spacing-16); +} +.mt-24 { + margin-top: 24px; + margin-top: var(--spacing-24); +} +.mt-32 { + margin-top: 32px; + margin-top: var(--spacing-32); +} +.mt-40 { + margin-top: 40px; + margin-top: var(--spacing-40); +} +.me-1 { + margin-right: 1px; + margin-right: var(--spacing-1); +} +.me-2 { + margin-right: 2px; + margin-right: var(--spacing-2); +} +.me-4 { + margin-right: 4px; + margin-right: var(--spacing-4); +} +.me-6 { + margin-right: 6px; + margin-right: var(--spacing-6); +} +.me-8 { + margin-right: 8px; + margin-right: var(--spacing-8); +} +.me-12 { + margin-right: 12px; + margin-right: var(--spacing-12); +} +.me-16 { + margin-right: 16px; + margin-right: var(--spacing-16); +} +.me-24 { + margin-right: 24px; + margin-right: var(--spacing-24); +} +.me-32 { + margin-right: 32px; + margin-right: var(--spacing-32); +} +.me-40 { + margin-right: 40px; + margin-right: var(--spacing-40); +} +.mb-1 { + margin-bottom: 1px; + margin-bottom: var(--spacing-1); +} +.mb-2 { + margin-bottom: 2px; + margin-bottom: var(--spacing-2); +} +.mb-4 { + margin-bottom: 4px; + margin-bottom: var(--spacing-4); +} +.mb-6 { + margin-bottom: 6px; + margin-bottom: var(--spacing-6); +} +.mb-8 { + margin-bottom: 8px; + margin-bottom: var(--spacing-8); +} +.mb-12 { + margin-bottom: 12px; + margin-bottom: var(--spacing-12); +} +.mb-16 { + margin-bottom: 16px; + margin-bottom: var(--spacing-16); +} +.mb-24 { + margin-bottom: 24px; + margin-bottom: var(--spacing-24); +} +.mb-32 { + margin-bottom: 32px; + margin-bottom: var(--spacing-32); +} +.mb-40 { + margin-bottom: 40px; + margin-bottom: var(--spacing-40); +} +.ms-1 { + margin-left: 1px; + margin-left: var(--spacing-1); +} +.ms-2 { + margin-left: 2px; + margin-left: var(--spacing-2); +} +.ms-4 { + margin-left: 4px; + margin-left: var(--spacing-4); +} +.ms-6 { + margin-left: 6px; + margin-left: var(--spacing-6); +} +.ms-8 { + margin-left: 8px; + margin-left: var(--spacing-8); +} +.ms-12 { + margin-left: 12px; + margin-left: var(--spacing-12); +} +.ms-16 { + margin-left: 16px; + margin-left: var(--spacing-16); +} +.ms-24 { + margin-left: 24px; + margin-left: var(--spacing-24); +} +.ms-32 { + margin-left: 32px; + margin-left: var(--spacing-32); +} +.ms-40 { + margin-left: 40px; + margin-left: var(--spacing-40); +} +.ms-auto { + margin-left: auto; +} +.me-auto { + margin-right: auto; +} +.opacity-1 { + opacity: 1; +} +.opacity-0, +.opacity-1 { + transition-duration: 0.24s; + transition-property: opacity; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.opacity-0 { + opacity: 0; +} +.flex, +.form-check, +.save-workspace { + display: flex; +} +.flex-column, +.save-workspace { + flex-direction: column; +} +.flex-grow { + flex-grow: 1; +} +.flex-shrink { + flex-shrink: 1; +} +.ai-center, +.form-check { + align-items: center; +} +.jc-center { + justify-content: center; +} +.jc-between { + justify-content: space-between; +} +.jc-around { + justify-content: space-around; +} +.jc-evenly { + justify-content: space-evenly; +} +.jc-stretch { + justify-content: stretch; +} +.dark { + --g42-active-subtab: var(--g42-bg-02); +} +.light { + --g42-active-subtab: var(--g42-white); +} +.add-application button.btn:before, +.add-application:before, +.add-button:before, +.add-workspace .workspace__icon, +.add-workspace h5.btn:before, +.add-workspace:before, +.link-icon, +.workspace-tab-popup .icon-angle-left, +.workspace-tab-popup:before { + font-family: io-icons; + font-size: 14px; + font-size: var(--spacing-14); + height: 16px; + height: var(--spacing-16); + margin-right: 4px; + margin-right: var(--spacing-4); + width: 16px; + width: var(--spacing-16); +} +#root { + border: var(--spacing-1) solid hsl(var(--g42-bg-04)); + flex: 1 1; + max-height: -webkit-fill-available; + max-width: -webkit-fill-available; +} +#root, +body { + display: flex; + height: 100vh; + width: 100vw; +} +.form-check-input { + margin-right: 4px; + margin-right: var(--spacing-4); +} +.form-check { + line-height: 16px; + line-height: var(--spacing-16); +} +.switch { + padding: 4px 0 4px 40px; + padding: var(--spacing-4) 0 var(--spacing-4) calc(var(--spacing-32) + var(--spacing-8)); +} +.switch .slider { + left: 16px; + left: var(--spacing-16); +} +.mb-2:has(.switch) { + background-color: Hsl(var(--g42-bg-02)); + border-bottom: var(--spacing-1) solid hsl(var(--g42-border-primary)); + padding-bottom: 4px; + padding-bottom: var(--spacing-4); + padding-top: 4px; + padding-top: var(--spacing-4); +} +.lm_root { + position: relative; +} +.lm_row { + background-color: Hsl(var(--g42-bkd-00)); + display: flex; +} +.lm_content { + position: relative; +} +.lm_dragging, +.lm_dragging * { + cursor: move; + -webkit-user-select: none; + user-select: none; +} +.lm_controls, +.lm_header, +.lm_tab, +.lm_tabs { + align-items: center; + display: flex; +} +.lm_header > * { + flex-shrink: 0; +} +.lm_controls { + margin-top: -8px; + margin-top: calc(var(--spacing-8) * -1); +} +.lm_controls li { + color: Hsl(var(--g42-label-secondary)); + transition-duration: 0.24s; + transition-property: background-color, color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.lm_controls li:hover { + background-color: Hsl(var(--g42-bg-02)); + color: Hsl(var(--g42-label-primary)); +} +.lm_controls li.lm_close:before { + content: "\e908"; +} +.lm_controls li.lm_close:hover { + background-color: #e41126; + background-color: Hsl(var(--g42-red)); + color: #fff; + color: Hsl(var(--g42-white)); +} +.lm_controls:has(.workspace_content) { + margin-top: -2px; + margin-top: calc(var(--spacing-2) * -1); +} +.lm_controls:has(.workspace_content) li:hover { + background-color: Hsl(var(--g42-bg-00)); +} +.lm_controls:has(.workspace_content) li.lm_add_button:hover { + background-color: Hsl(var(--g42-bg-03)); +} +.lm_controls:has(.workspace_content) .lm_maximise:before { + content: "\e92a"; + height: 24px; + height: var(--spacing-24); + width: 24px; + width: var(--spacing-24); +} +.lm_tabs { + flex-shrink: 1; + min-width: 0; +} +.lm_tab { + border-radius: 4px; + border-radius: var(--border-radius-4); + color: Hsl(var(--g42-label-secondary)); + height: 26px; + margin-right: 3px; + margin-right: calc(var(--spacing-2) + 1px); + min-width: 0; + padding: 0 12px; + padding: 0 var(--spacing-12); + position: relative; + transition-duration: 0.24s; + transition-property: background-color, color, box-shadow; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + width: 180px; +} +.lm_tab:hover { + background-color: Hsl(var(--g42-bg-03)); + color: Hsl(var(--g42-label-primary)); +} +.lm_tab:before { + background-color: Hsl(var(--g42-border-primary)); + content: ""; + height: 12px; + height: var(--spacing-12); + left: -2px; + left: calc(var(--spacing-2) * -1); + position: absolute; + width: 1px; +} +.lm_tab:first-of-type:before { + background-color: initial; +} +.lm_tab:last-of-type:after { + background-color: Hsl(var(--g42-bg-03)); + content: ""; + height: 12px; + height: var(--spacing-12); + position: relative; + right: -14px; + right: calc(var(--spacing-14) * -1); + width: 1px; +} +.lm_tab .icon-lock:before { + align-items: center; + content: ""; + content: "\e90f"; + display: flex; + font-family: io-icons; + font-size: 10px; + height: 16px; + height: var(--spacing-16); + justify-content: center; + width: 16px; + width: var(--spacing-16); +} +.lm_title { + cursor: default; + line-height: 16px; + line-height: var(--spacing-16); + -webkit-mask-image: linear-gradient( + to right, + Hsla(var(--g42-bg-00), 1) 0, + Hsla(var(--g42-bg-00), 1) 85%, + Hsla(var(--g42-bg-00), 0) 95%, + Hsla(var(--g42-bg-00), 0) 100% + ); + overflow: hidden; + position: relative; + white-space: nowrap; + width: 100%; +} +.lm_active { + border-bottom-left-radius: 0; + border-bottom-right-radius: 0; + border-top-left-radius: 6px; + border-top-left-radius: var(--border-radius-6); + border-top-right-radius: 6px; + border-top-right-radius: var(--border-radius-6); +} +.lm_active, +.lm_active:hover { + background-color: Hsl(var(--g42-bg-04)); + height: 32px; + height: var(--spacing-32); +} +.lm_active + .lm_tab:before, +.lm_active:before, +.lm_active:last-of-type:after { + background-color: initial; +} +.lm_active .icon-ellipsis-vert, +.lm_active .lm_title { + color: Hsl(var(--g42-label-primary)); +} +.lm_active .lm_left, +.lm_active .lm_right { + bottom: 0; + height: 8px; + height: var(--spacing-8); + position: absolute; + transition-duration: 0.24s; + transition-duration: 80ms; + transition-property: box-shadow; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + width: 8px; + width: var(--spacing-8); + z-index: 1; +} +.lm_active .lm_left { + border-bottom-right-radius: 6px; + border-bottom-right-radius: var(--border-radius-6); + box-shadow: 1px 2px 0 1px Hsl(var(--g42-bg-04)); + left: -8px; + opacity: 0; +} +.lm_active .lm_right { + border-bottom-left-radius: 6px; + border-bottom-left-radius: var(--border-radius-6); + box-shadow: -2px 2px 0 1px Hsl(var(--g42-bg-04)); + opacity: 0; + right: -8px; +} +.lm_active .lm_close_tab { + opacity: 1; +} +.lm_close:before, +.lm_maximise:before, +.lm_minimise:before, +.lm_tabdropdown:before { + align-items: center; + content: ""; + display: flex; + font-family: io-icons; + font-size: 16px; + height: 32px; + height: var(--spacing-32); + justify-content: center; + width: 32px; + width: var(--spacing-32); + width: 40px; + width: var(--spacing-40); +} +.lm_maximise:before { + content: "\e906"; +} +.lm_minimise:before { + content: "\e904"; +} +.lm_restore:before { + content: "\e912"; +} +.lm_popout { + margin-left: auto; +} +.lm_popout:before { + align-items: center; + content: ""; + content: "\e924"; + display: flex; + font-family: io-icons; + font-size: 16px; + height: 24px; + height: var(--spacing-24); + justify-content: center; + width: 24px; + width: var(--spacing-24); +} +.lm_pinned { + background-color: Hsl(var(--g42-bg-02)); + border-radius: 6px; + border-radius: var(--border-radius-6); + height: 25px; + margin-right: 6px; + margin-right: var(--spacing-6); + padding: 0 8px; + padding: 0 var(--spacing-8); + width: auto; +} +.lm_pinned.lm_active, +.lm_pinned:hover { + background-color: Hsl(var(--g42-bg-04)); + height: 25px; +} +.lm_pinned:after { + content: none; +} +.lm_pinned .icon-ellipsis-vert { + display: none; +} +.lm_pinned .lm_close_tab { + visibility: hidden; + width: 0; +} +.lm_splitter { + background-color: Hsl(var(--g42-bg-01)); + position: relative; + transition-duration: 0.24s; + transition-property: background; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + z-index: 20; +} +.lm_splitter:hover { + background-color: Hsl(var(--g42-highlight-Interactive)); +} +.lm_splitter.lm_dragging { + background-color: Hsl(var(--g42-interactive-primary)); +} +.lm_splitter.lm_vertical .lm_drag_handle { + cursor: ns-resize; + position: absolute; + width: 100%; +} +.lm_splitter.lm_horizontal { + float: left; + height: 100%; +} +.lm_splitter.lm_horizontal .lm_drag_handle { + cursor: ew-resize; + height: 100%; + position: absolute; +} +.lm_dropTargetIndicator { + background-color: Hsl(var(--g42-interactive-primary)); + opacity: 0.35; + overflow: hidden; + position: absolute; + transition-duration: 0.24s; + transition-property: all; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); + z-index: 20; +} +.lm_drop_tab_placeholder { + border-top-left-radius: 4px; + border-top-left-radius: var(--border-radius-4); + border-top-right-radius: 4px; + border-top-right-radius: var(--border-radius-4); + width: 112px; + width: calc(var(--spacing-16) * 7); +} +.lm_inner { + height: 100%; + left: 0; + min-width: 16px; + min-width: var(--spacing-16); + position: relative; + top: 0; + width: 100%; +} +.lm_dragProxy { + cursor: move; + position: absolute; + z-index: 30; +} +.lm_header:where(.header_double) { + background-color: Hsl(var(--g42-bg-01)); + background-image: linear-gradient( + 0deg, + Hsla(var(--g42-bg-00), 1) 0, + Hsla(var(--g42-bg-00), 0) 55% + ); + border-bottom: var(--spacing-4) solid hsl(var(--g42-bg-04)); + font-size: 13px; + font-size: calc(var(--g42-font-size) + var(--spacing-1)); + height: 40px; + padding-left: 4px; + padding-left: var(--spacing-4); + padding-top: 4px; + padding-top: var(--spacing-4); +} +.lm_header:where(.header_double) .lm_active:not(.lm_pinned) .lm_left, +.lm_header:where(.header_double) .lm_active:not(.lm_pinned) .lm_right { + opacity: 1; +} +.lm_header:not(.header_double) { + background-color: Hsl(var(--g42-bg-01)); + height: 26px; + padding-left: 4px; + padding-left: var(--spacing-4); + padding-top: 2px; + padding-top: var(--spacing-2); +} +.lm_header:not(.header_double) .lm_tab { + height: 24px; + height: var(--spacing-24); + max-width: 150px; + padding: 0 8px; + padding: 0 var(--spacing-8); + width: auto; +} +.lm_header:not(.header_double) .lm_tab .lm_title { + padding-right: 12px; + padding-right: var(--spacing-12); +} +.lm_header:not(.header_double) .lm_tab:hover { + background-color: Hsl(var(--g42-bg-01)); +} +.lm_header:not(.header_double) .lm_active { + background-color: Hsl(var(--g42-active-subtab)); +} +.lm_header:not(.header_double) .lm_active .lm_left, +.lm_header:not(.header_double) .lm_active .lm_right { + display: none; +} +.lm_header:not(.header_double) .lm_active:hover { + background-color: Hsl(var(--g42-active-subtab)); +} +.lm_header:not(.header_double) .lm_controls { + margin-top: -2px; + margin-top: calc(var(--spacing-2) * -1); +} +.lm_header:not(.header_double) .lm_controls li:not(.lm_add_button) { + border-radius: 2px; + border-radius: var(--spacing-2); + color: Hsl(var(--g42-label-secondary)); +} +.lm_header:not(.header_double) .lm_close, +.lm_header:not(.header_double) .lm_maximise, +.lm_header:not(.header_double) .lm_minimise, +.lm_header:not(.header_double) .lm_popout, +.lm_header:not(.header_double) .lm_tabdropdown { + margin-right: 2px; + margin-right: var(--spacing-2); +} +.lm_header:not(.header_double) .lm_close:before, +.lm_header:not(.header_double) .lm_maximise:before, +.lm_header:not(.header_double) .lm_minimise:before, +.lm_header:not(.header_double) .lm_popout:before, +.lm_header:not(.header_double) .lm_tabdropdown:before { + height: 20px; + height: calc(var(--spacing-24) - var(--spacing-4)); + width: 20px; + width: calc(var(--spacing-24) - var(--spacing-4)); +} +.lm_header:not(.header_double) .lm_restore:before { + content: "\e928"; +} +.lm_add_button, +.lm_close_tab { + border-radius: 50%; + color: Hsl(var(--g42-label-secondary)); + margin-left: auto; + transition-duration: 0.24s; + transition-property: background-color, color; + transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1); +} +.lm_add_button:before, +.lm_close_tab:before { + align-items: center; + content: ""; + content: "\e916"; + display: flex; + font-family: io-icons; + font-size: 14px; + height: 16px; + height: var(--spacing-16); + justify-content: center; + width: 16px; + width: var(--spacing-16); +} +.lm_add_button.active, +.lm_add_button:hover, +.lm_close_tab.active, +.lm_close_tab:hover { + background-color: Hsl(var(--g42-bg-02)); + color: Hsl(var(--g42-label-primary)); + opacity: 1; +} +.lm_close_tab { + opacity: 0.6; +} +.lm_add_button { + align-items: center; + display: flex; + height: 20px; + height: calc(var(--spacing-24) - var(--spacing-4)); + justify-content: center; + margin-left: 4px; + margin-left: var(--spacing-4); + width: 20px; + width: calc(var(--spacing-24) - var(--spacing-4)); +} +.lm_add_button:before { + content: "\e90d"; +} +.logo_type { + background-image: var(--g42-logo-icon); + background-position: 50%; + background-repeat: no-repeat; + display: block; + height: 24px; + height: var(--spacing-24); + margin-left: 8px; + margin-left: var(--spacing-8); + margin-right: 8px; + margin-right: var(--spacing-8); + width: 16px; + width: var(--spacing-16); +} +.tab-item-v2 { + align-items: center; + display: flex; + flex: 1 1 auto; + min-width: 0; +} +.icon-ellipsis-vert { + margin-right: 4px; + margin-right: var(--spacing-4); +} +.icon-ellipsis-vert:before { + align-items: center; + content: "\e900"; + display: flex; + font-family: io-icons; + font-size: 16px; + font-size: var(--spacing-16); + height: 16px; + height: var(--spacing-16); + justify-content: center; + width: 16px; + width: var(--spacing-16); +} +.move_area { + flex-grow: 1; + flex-shrink: 1; + height: 100%; + min-width: 12px; + min-width: var(--spacing-12); +} +.popup, +.workspaces-system-popup { + background-color: Hsl(var(--g42-bg-00)); + height: auto; + position: fixed; + -webkit-user-select: none; + user-select: none; + visibility: hidden; + width: auto; + z-index: 100; +} +.renderer-mode-transparent .lm_row { + background-color: initial; +} +.renderer-mode-keycolor .lm_dropTargetIndicator { + opacity: 1; +} +.renderer-mode-keycolor .add-application, +.renderer-mode-keycolor .add-workspace, +.renderer-mode-keycolor .workspace-tab-popup { + border-radius: 0; + box-shadow: none; +} +.loading-animation { + background-color: Hsl(var(--g42-bg-00)); + justify-content: center; +} +.loading-animation, +.loading-animation .wrapper { + align-items: center; + display: flex; + flex-direction: column; +} +.loading-animation .wrapper { + gap: 8px; + gap: var(--spacing-8); +} +.loading-animation .text { + color: Hsl(var(--g42-label-primary)); + font-family: calc(--g42-font-family); + font-size: 13px; + font-weight: 400; + text-transform: none; +} +.loading-animation .inner { + display: none; +} +.loading-animation .mid { + -webkit-animation: s3 1.5s linear infinite; + animation: s3 1.5s linear infinite; + background: + radial-gradient(farthest-side, #999d9e 94%, transparent) top/4px 4px no-repeat, + conic-gradient(transparent 15%, #999d9e); + border-radius: 50%; + height: 2rem; + margin: 0; + -webkit-mask: radial-gradient(farthest-side, transparent calc(100% - 4px), #000 0); + position: static; + width: 2rem; +} +.loading-animation .mid .ball { + display: none; +} +@keyframes s3 { + to { + -webkit-transform: rotate(1turn); + transform: rotate(1turn); + } +} +.add-application, +.add-workspace, +.workspace-tab-popup { + background-color: Hsl(var(--g42-bg-primary)); + border: var(--spacing-1) solid hsl(var(--g42-border-primary)); + border-radius: 8px; + border-radius: var(--spacing-8); + box-shadow: 2px 2px 4px Hsl(var(--g42-bg-01)); + box-shadow: var(--spacing-2) var(--spacing-2) var(--spacing-4) Hsl(var(--g42-bg-01)); + display: flex; + flex-direction: column; + overflow: hidden; + position: relative; +} +.add-application:after, +.add-workspace:after, +.workspace-tab-popup:after { + background-color: Hsl(var(--g42-border-secondary)); + border-top-left-radius: 8px; + border-top-left-radius: var(--spacing-8); + border-top-right-radius: 8px; + border-top-right-radius: var(--spacing-8); + content: ""; + display: block; + height: 20px; + height: calc(var(--spacing-16) + var(--spacing-4)); + left: -1px; + left: calc(var(--spacing-1) * -1); + position: absolute; + top: -20px; + top: calc((var(--spacing-16) + var(--spacing-4)) * -1); + width: 20px; + width: calc(var(--spacing-16) + var(--spacing-4)); +} +.add-application:before, +.add-workspace:before, +.workspace-tab-popup:before { + left: 1px; + left: var(--spacing-1); + position: absolute; + top: -16px; + top: calc(var(--spacing-16) * -1); + z-index: 1; +} +.add-application .mb-2, +.add-workspace .mb-2, +.workspace-tab-popup .mb-2 { + margin-bottom: 0; +} +.add-application .list-group-item h5, +.add-workspace .list-group-item h5, +.workspace-tab-popup .list-group-item h5 { + font-size: 12px; + font-size: var(--g42-font-size); + line-height: 16px; + line-height: var(--spacing-16); +} +.add-application .list-group-item .close-icon, +.add-workspace .list-group-item .close-icon, +.workspace-tab-popup .list-group-item .close-icon { + align-items: center; + border-radius: 50%; + display: flex; + font-family: io-icons; + font-size: 14px; + font-size: var(--spacing-14); + height: 16px; + height: var(--spacing-16); + justify-content: center; + margin-left: auto; + position: relative; + width: 16px; + width: var(--spacing-16); +} +.add-application .list-group-item .close-icon:before, +.add-workspace .list-group-item .close-icon:before, +.workspace-tab-popup .list-group-item .close-icon:before { + color: Hsl(var(--g42-label-secondary)); + content: "\e916"; + position: relative; + top: 1px; + top: var(--spacing-1); +} +.add-application .list-group-item .close-icon:hover, +.add-workspace .list-group-item .close-icon:hover, +.workspace-tab-popup .list-group-item .close-icon:hover { + background-color: Hsl(var(--g42-bg-02)); +} +.add-application .list-group-item .close-icon:hover:before, +.add-workspace .list-group-item .close-icon:hover:before, +.workspace-tab-popup .list-group-item .close-icon:hover:before { + color: Hsl(var(--g42-label-secondary)); +} +.add-application .list-group-item:hover, +.add-workspace .list-group-item:hover, +.workspace-tab-popup .list-group-item:hover { + color: Hsl(var(--g42-label-primary)); + text-decoration: none; +} +.workspace-tab-popup .list-group-item { + padding-left: 16px; + padding-left: var(--spacing-16); + padding-right: 16px; + padding-right: var(--spacing-16); +} +.workspace-tab-popup .list-group-item i { + margin-left: auto; + order: 2; +} +.workspace-tab-popup .list-group-item i.icon-cancel:before, +.workspace-tab-popup .list-group-item i.icon-floppy:before, +.workspace-tab-popup .list-group-item i.icon-lock:before { + content: ""; +} +.workspace-tab-popup button.btn-icon { + background-color: initial; + border: 0; + color: Hsl(var(--g42-label-primary)); + margin-top: 8px; + margin-top: var(--spacing-8); + padding: 0; + position: absolute; + right: 12px; + right: var(--spacing-12); + z-index: 1; +} +.workspace-tab-popup h5 + hr { + display: none; +} +.workspaces-system-popup { + background-color: initial; + margin-top: 22px; + margin-top: calc(var(--spacing-24) - var(--spacing-2)); +} +.add-workspace .row:first-child { + display: none; +} +.add-workspace .row:nth-child(2) { + order: 2; +} +.add-workspace .row:nth-child(3) { + order: 1; +} +.add-workspace h3 { + line-height: 16px; + line-height: var(--spacing-16); + padding-bottom: 4px; + padding-bottom: var(--spacing-4); +} +.add-workspace h5.btn { + border-top: var(--spacing-1) solid hsl(var(--g42-border-secondary)); + color: Hsl(var(--g42-label-secondary)); + padding-left: 16px; + padding-left: var(--spacing-16); +} +.add-workspace .workspace { + align-items: center; + display: flex; + flex-grow: 1; + padding: 0 16px; + padding: 0 var(--spacing-16); +} +.add-application .row:first-child { + order: 1; +} +.add-application .row:nth-child(2) { + order: 4; +} +.add-application .row:nth-child(3) { + order: 2; +} +.add-application .row:nth-child(3) .col { + padding: 4px 12px; + padding: var(--spacing-4) var(--spacing-12); +} +.add-application .row:nth-child(4) { + order: 3; +} +.add-application .col h5, +.add-application label { + line-height: 16px; + line-height: var(--spacing-16); + padding-bottom: 6px; + padding-bottom: var(--spacing-6); +} +.add-application .btn-group { + display: flex; +} +.add-application .applications { + max-height: 200px; + overflow: auto; +} +.add-application .applications .list-group-item { + padding-left: 16px; + padding-left: var(--spacing-16); +} +.add-application .input-group input { + width: 100%; +} +.save-workspace .row:first-child .col h5 { + padding-bottom: 8px; + padding-bottom: var(--spacing-8); +} +.save-workspace .row:nth-child(2) { + padding: 4px 16px; + padding: var(--spacing-4) var(--spacing-16); + padding-top: 16px; + padding-top: var(--spacing-16); +} +.save-workspace .row:nth-child(3) { + order: 4; + padding: 0 16px; + padding: 0 var(--spacing-16); +} +.save-workspace .row:nth-child(3) .col:nth-child(2) { + padding: 8px 0 16px; + padding: var(--spacing-8) 0 var(--spacing-16); +} +.save-workspace .row:nth-child(4) { + order: 3; + padding: 0 16px; + padding: 0 var(--spacing-16); +} +.save-workspace .invalid-feedback { + line-height: 16px; + line-height: var(--spacing-16); + padding-bottom: 0; +} +.save-workspace .form-control { + width: 100%; +} +.save-workspace h5 { + background-color: Hsl(var(--g42-bg-02)); + border-bottom: var(--spacing-1) solid hsl(var(--g42-border-primary)); + padding-left: 16px; + padding-left: var(--spacing-16); +} +.save-workspace .form-check { + padding: 4px 0; + padding: var(--spacing-4) 0; +} +.empty-container-background { + align-items: center; + background-color: Hsl(var(--g42-app-content-bg)); + display: flex; + height: 100%; + justify-content: center; +} +.add-button { + background-color: initial; + border: 0; + color: Hsl(var(--g42-label-secondary)); + height: 16px; + height: var(--spacing-16); + padding: 0; + width: 16px; + width: var(--spacing-16); +} +.add-button:before { + align-items: center; + content: "\e90d"; + display: flex; + justify-content: center; +} +.icon-cancel:before { + content: "\e916"; +} +.lock-options-list { + width: 200px; +} +.channels-link { + border-radius: 4px; + border-radius: var(--border-radius-4); + color: Hsl(var(--g42-label-primary)); + flex-shrink: 0; + margin-right: 4px; + margin-right: var(--spacing-4); + overflow: hidden; +} +.link-icon { + font-size: 16px; + font-size: var(--spacing-16); + margin-right: 0; +} +@media only screen and (-webkit-min-device-pixel-ratio: 1.25) { + #root { + border-bottom-width: 2px !important; + border-right-width: 2px !important; + height: 100%; + width: 100%; + } +} +/*# sourceMappingURL=main.9c658736.css.map*/ diff --git a/angular/start/workspace/static/css/main.9c658736.css.map b/angular/start/workspace/static/css/main.9c658736.css.map new file mode 100644 index 0000000..c69b58f --- /dev/null +++ b/angular/start/workspace/static/css/main.9c658736.css.map @@ -0,0 +1 @@ +{"version":3,"file":"static/css/main.9c658736.css","mappings":"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","sources":["index.css","App.css","../node_modules/@interopio/workspaces-ui-react/dist/styles/workspaces.css"],"sourcesContent":["#root{\r\n height: 100%;\r\n}",".App {\r\n text-align: center;\r\n}\r\n\r\n.App-logo {\r\n height: 40vmin;\r\n pointer-events: none;\r\n}\r\n\r\n@media (prefers-reduced-motion: no-preference) {\r\n .App-logo {\r\n animation: App-logo-spin infinite 20s linear;\r\n }\r\n}\r\n\r\n.App-header {\r\n background-color: #282c34;\r\n min-height: 100vh;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n justify-content: center;\r\n font-size: calc(10px + 2vmin);\r\n color: white;\r\n}\r\n\r\n.App-link {\r\n color: #61dafb;\r\n}\r\n\r\n@keyframes App-logo-spin {\r\n from {\r\n transform: rotate(0deg);\r\n }\r\n to {\r\n transform: rotate(360deg);\r\n }\r\n}\r\n",":root {\n --g42-font-family: \"PTSans\", \"Helvetica Neue\", Arial, sans-serif;\n --g42-font-size: 12px;\n --spacing-1: 1px;\n --spacing-2: 2px;\n --spacing-4: 4px;\n --spacing-6: 6px;\n --spacing-8: 8px;\n --spacing-9: 9px;\n --spacing-10: 10px;\n --spacing-12: 12px;\n --spacing-14: 14px;\n --spacing-16: 16px;\n --spacing-24: 24px;\n --spacing-32: 32px;\n --spacing-40: 40px;\n --border-radius-4: 4px;\n --border-radius-6: 6px;\n --g42-red: 354, 86%, 48%;\n --g42-white: 0, 0%, 100%;\n --g42-black: 0, 0%, 0%;\n}\n\n.dark {\n --g42-bg-00: 216, 14%, 7%;\n --g42-bg-01: 210, 5%, 16%;\n --g42-bg-02: 216, 4%, 22%;\n --g42-bg-03: 220, 4%, 28%;\n --g42-bg-04: 222, 3%, 35%;\n --g42-bg-primary: 210, 5%, 16%;\n --g42-border-primary: 222, 4%, 35%;\n --g42-border-secondary: 216, 4%, 22%;\n --g42-label-primary: 210 4% 97%;\n --g42-label-secondary: 210 4% 70%;\n --g42-label-tertiary: 210 4% 45%;\n --g42-interactive-primary: 216 96% 64%;\n --g42-interactive-secondary: 216 57% 49%;\n --g42-highlight-neutral: 216 5% 21%;\n --g42-highlight-Interactive: 215 79% 40%;\n --g42-app-content-bg: 216, 14%, 7%;\n --g42-overlay-shadow: 2px 2px 4px 0 Hsla(223, 26%, 5%, 0.35);\n --g42-bkd-00: 0 0% 7%;\n --g42-warning-xp: 43, 71%, 54%;\n --g42-logo-icon: url(\"data:image/svg+xml,%3Csvg xmlns=%27http://www.w3.org/2000/svg%27 xmlns:xlink=%27http://www.w3.org/1999/xlink%27 x=%270px%27 y=%270px%27 viewBox=%270 0 100.2 121%27 style=%27enable-background:new 0 0 100.2 121;%27%3E%3Cpath fill=%27%23FFFFFF%27 d=%27M59.4,10.6l-8.3,8.3c-0.5,0.5-1.4,0.5-1.9,0l-8.3-8.3c-0.5-0.5-0.5-1.4,0-1.9l8.3-8.3c0.5-0.5,1.4-0.5,1.9,0 l8.3,8.3C59.9,9.2,59.9,10.1,59.4,10.6z M59.3,110.4l-8.3-8.3c-0.5-0.5-1.4-0.5-1.9,0l-8.3,8.3c-0.5,0.5-0.5,1.4,0,1.9l8.3,8.3 c0.5,0.5,1.4,0.5,1.9,0l8.3-8.3C59.9,111.8,59.9,110.9,59.3,110.4z%27/%3E%3Cpath fill=%27%23FFFFFF%27 d=%27M100.1,60.1c0.3,7.3-2.9,14.3-9.3,20.6l-24.7,24.7c-0.6,0.6-1.5,0.6-2.1,0l-8.1-8.1c-0.6-0.6-0.6-1.5,0-2.1 l24.7-24.7c0.1-0.1,0.2-0.2,0.3-0.3c3.2-3.3,4.7-6.7,4.4-10.2c0-0.4-0.1-0.8-0.2-1.3c-0.6-3.3-2.8-7-6.8-11l-9.9-9.9 c-0.3-0.3-0.7-0.5-1.1-0.5c-0.4,0-0.8,0.2-1.3,0.6L34.5,69.6c-0.6,0.6-1.5,0.6-2.1,0L27.7,65c-3.3-3.3-3.8-5.1-1.3-7.6 c11.1-11.2,22-22.1,33.2-33.2c2.7-2.7,5.1-4.2,7.5-4.3c2.5-0.1,4.7,1.2,6.9,3.5l14.3,14.3C95.9,45.3,99.8,52.8,100.1,60.1 L100.1,60.1z M0,60.9c0.3,7.3,3.7,14.3,11.2,21.9l14.8,14.8c2.3,2.3,4.5,3.6,6.9,3.5c2.4-0.1,4.8-1.6,7.5-4.3 c11.1-11.1,22.1-22,33.2-33.2c2.5-2.5,2-4.3-1.3-7.6l-4.7-4.7c-0.6-0.6-1.5-0.6-2.1,0L34,83c-0.5,0.5-0.9,0.6-1.3,0.6 c-0.4,0-0.7-0.1-1.1-0.5L21.3,72.7c-4-4-5.7-7.2-6.3-10.5c-0.1-0.4-0.1-0.8-0.2-1.3c-0.3-3.5,1.2-6.9,4.4-10.2 c0.1-0.1,0.2-0.2,0.3-0.3l24.7-24.7c0.6-0.6,0.6-1.5,0-2.1l-8.1-8.1c-0.6-0.6-1.5-0.6-2.1,0L9.3,40.3C2.9,46.6-0.3,53.5,0,60.9 L0,60.9z%27/%3E%3C/svg%3E%0A\");\n --g42-select-indicator: url(\"data:image/svg+xml;utf8, span {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n margin-left: var(--spacing-4);\n border-left: var(--spacing-1) solid Hsl(var(--g42-border-secondary));\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: border-color;\n}\n\n.g42-btn-split:hover > span {\n border-color: Hsl(var(--g42-border-primary));\n}\n\n.g42-btn-link {\n border-color: transparent;\n color: Hsl(var(--g42-interactive-primary));\n background-color: transparent;\n}\n\n.g42-btn-link:hover {\n border-color: transparent;\n color: Hsl(var(--g42-interactive-primary));\n text-decoration: underline;\n background-color: transparent;\n}\n\n.g42-btn-group {\n display: inline-flex;\n}\n\n.g42-btn-group .g42-btn, .g42-btn-group .save-workspace .btn, .save-workspace .g42-btn-group .btn {\n border-radius: 0;\n}\n\n.g42-btn-group .g42-btn:not(:last-child), .g42-btn-group .save-workspace .btn:not(:last-child), .save-workspace .g42-btn-group .btn:not(:last-child) {\n border-right: 0;\n}\n\n.g42-btn-group .g42-btn:first-of-type, .g42-btn-group .save-workspace .btn:first-of-type, .save-workspace .g42-btn-group .btn:first-of-type {\n border-top-left-radius: var(--spacing-4);\n border-bottom-left-radius: var(--spacing-4);\n}\n\n.g42-btn-group .g42-btn:last-of-type, .g42-btn-group .save-workspace .btn:last-of-type, .save-workspace .g42-btn-group .btn:last-of-type {\n border-top-right-radius: var(--spacing-4);\n border-bottom-right-radius: var(--spacing-4);\n}\n\n.g42-btn-icon {\n border: 0;\n background-color: transparent;\n}\n\n.g42-btn-icon:hover {\n background-color: transparent;\n}\n\n@font-face {\n font-weight: 400;\n font-family: \"PTSans\";\n font-style: normal;\n src: url(data:font/ttf;base64,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APYA+AD6APwA/gEAAQIBBAEGAQgBCgEMAQ4BEAESARQBFgEYARoBHAEeAR8BIQEjAScBKQErATsBPAE9AT4BPwFAAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgFPAVABUQFSAVMBVAFVAVYBVwFYAVkBWgFbAVwBXQFeAV8BYAFhAWIBYwFkAWUBZgFnAWgBlwGZAZsBnQGfAaEBowGlAacBqQGrAa0BrwGxAbMBtQG3AbkBuwG9Ab8BwQHDAcUBxwHJAcsBzQHPAdEB0wHUAdYB2AHaAdwB3gHhAeMB5QHnAekB6wHtAe8B8QHzAfUB9wH5AfsB/QH/AgECAwIFAgcCCQILAg0CDwIRAhMCFQIXAhkCGwIdAl8CawJtAm8CcQJzAnUCdwJ5AnsCfQJ/AoECgwKFAocCiQKLAo0CjwKRApMClQKXApkCmwKdAp8CoQKjAqUCpwKpAqsCrQKvArECswK1ArcCuQADAAAAAQAIAAEADAADACIAHAAWAAEAAwAUAb0BvgACAnoCrAACAnkCqwACAsEAewABAAAAAQAIAAIAMgAWAsACvwB0AHUCzgElASkBKgErASwCzQKnAqgCqQKqAncCeAK7ArwCvQK+As8AAQAWAAUACgAVABYATwBWAQwBDQEQAREBMAFAAY4BpQGmAasBrAIhAiICJAIlAi4AAALuADIAAAAAAQsAAAELAAABMQBuAU8AWgIhABwCIQBMAwUARgMuAHYA2gBaARgAPAEYAAIBXwAoAfkAKADhACoBaAA7ANYAMQFi/9sCIQArAiEARgIhAD4CIQBYAiEAFAIhAE0CIQA8AiEAPQIhAEQCIQA0ANsAWwEAAFIB+QAqAfkAKAH5ACoBtAAlBCgAVwJJAAgCSABVAjsAOAKOAFUCGABVAgUAVQJkADgCoABVASMAaAEj/94CYgBVAgUAVQMXAFUCoQBVAqwAOAIvAFUCrAA4AlMAVQITAC4CKwASAowAVQI4//4DPAAIAmoAGgIuAAgCIQAmATAAVQF8/9sBMAAmAfQAMAGYAAABGAA8AfAAJwIcAE0BwwAxAhoAMQH8ADEBPwAWAhkAMQIjAE0BDABNAQsACQHfAE0BJABWAywATQIjAE0CGAAxAh0ATQIZADEBVABNAaUAJwFTAAsCGwBFAeIACQLfAAgCAwAcAdIADAG/ACoBWgA5AO4AVQFaADcB+QAfAQsAAAEwAE0CIQBXAiEAMgIhABUCIQACAO4AVQHxADkBmwA8AyYAMwGCADAB3gAnAfkAKQFoADoCvABVAaAAPAGpAFUB+QAoAYoAMAGKAEMBDAA8AigARAHuACUBCwBMAR8APAGKADUBjgAsAd4AJwNFADUDUgA1A2wATAG0ACUCSQAIAkkACAJJAAgCSQAIAkkACAJJAAgDTv/qAjsAOAIYAFUCGABVAhgAVQIYAFUBIwABASMAPgEj//EBI//+ApL//wKhAFUCrAA4AqwAOAKsADgCrAA4AqwAOAH5AEoCrAA4AowAVQKMAFUCjABVAowAVQIuAAgCLwBVAlAAFgHwACcB8AAnAfAAJwHwACcB8AAnAfAAJwMcACcBwwAxAfwAMQH8ADEB/AAxAfwAMQEMAAwBDABeAQz//gEM//QCMQA4AiMATQIYADECGAAxAhgAMQIYADECGAAxAfkAKAIYADECGwBFAhsARQIbAEUCGwBFAdIADAIdAE0B0gAMAkkACAHwACcCSQAIAfAAJwJJAAgB8AAnAjsAOAHDADECOwA4AcMAMQI7ADgBwwAxAo4AVQJNADECkv//AhwAMQIYAFUB/AAxAhgAVQH8ADECGABVAfwAMQIYAFUB/AAxAmQAOAIZADECZAA4AhkAMQJkADgCGQAxAqAAVQIj/9gCpQAJAiX//wEj//UBDP/zASMAIgENABMBIwBUAQwAXgEj/94BCwABAmIAVQHfAE0CBQBVASQAVgIFAFUBJABWAgUAVQEkAFYCBQAPASQACgKhAFUCIwBNAqEAVQIjAE0CoQBVAiMATQKsADgCGAAxAqwAOAIYADEDpAA4A1oAMQJTAFUBVABNAlMAVQFUAE0CUwBVAVQANgITAC4BpQAnAhMALgGlACcCEwAuAaUAJwITAC4BpQAnAisAEgFTAAsCKwASAVMACwKMAFUCGwBFAowAVQIbAEUCjABVAhsARQKMAFUCGwBFAowAVQIbAEUCLgAIAiEAJgG/ACoCIQAmAb8AKgIhACYBvwAqAPkAFgIh/94CZAA4AhkAMQITAC4BpQAnAisAEgFTAAsBCwAJAMIAKAGCADwBiwA8AakAPADpADwBOwA8ATEAPAGPADwBgwA8AAL+3gI4AA4DIgBMApgAJAIYAFUC2AASAboAVQJHADgCEwAuASMAaAElACABI//eA57//gPOAFUC7gASAmIAVQIpAAcCkwBVAkkACAImAFUCSABVAboAVQKdAAUCGABVAyb//wIdACwCqQBVAqkAVQJiAFUCcP/+AxcAVQKgAFUCrAA4ApMAVQIvAFUCOwA4AisAEgIpAAcDDAApAmoAGgKvAFUCXQBLA20AVQORAFUCdv//AwEAVQIrAFUCQQAtA30AVQI5ABoB8AAnAhgAMQHzAE0BcQBNAh0ABQH8ADECkwABAbkAJgIiAE0CIgBNAd4ATQH3//sChQBNAhwATQIYADECFwBNAh0ATQHDADEBjgACAdIADAKoACwCAwAcAiQATQHqADEC4ABNAvEATQHxAAEClABNAdAATQHRACcCzwBNAdsAFAH8ADECJP/+AXEATQHYADEBpQAnAQwATQEWAB0BCwAJAt3/+wMCAE0CJP/+Ad4ATQHSAAwCFwBNAmsAAAHxAAECrAA4AhgAMQJW//4B+wAKArIAVQIxAE0CawAAAfEAAQIvAFUCHQBNAboAVQFxAE0B4gAKAYEAAAJBAFUCFwBNAzP//wK1AAECHQAsAbkAJgJnAFUB+gBNAq0AVQIaAE0CmAAAAeH//gKtAAACAAABAsMAVQIiAE0DXQBVAqMATQPXAFUDRABNAysAOAKUADECOwA4AcMAMQIrABIBjgACAi4ACAHkAAoCLgAIAeQACgKIABoCDQAcA0YAEgJ3AAICfwBLAf0AMQJlAEsB8QAxAl0AVQIjAE0DBgABAmkACAMGAAECaQAIASMAaAJYAFUB4QBNAm7//gIE//sCoABVAhwATQKpAFUCLABNAl0ASwHqADEDIQBVApUATQD+AFcCSQAIAfAAJwJJAAgB8AAnA07/6gMcACcCGABVAfwAMQJ/ADUB+wAxAn8ANQH7ADEDJv//ApMAAQIdACwBuQAmAjMANwHbACcCqQBVAiIATQKpAFUCIgBNAqwAOAIYADECrAA4AhgAMQKsADgCGAAxAkEALQHRACcCKQAHAdIADAIpAAcB0gAMAikABwHSAAwCXQBLAeoAMQG6AFUBcQBNAwEAVQKUAE0CagAaAgIAHAIcAEEBuQAxAnL//gH3//sDPAAIAt8ACAK2AFUCKgBNAoAAVQJDAE0CYgBVAd8ATQMXAFUDLABNAi8AVQIdAE0CmwBVAWgAOwKUAHYDNAB2AMIAKADCACgAwgAoAVQAKAFUACgBVAAoAeYAKAHmACgBxABXAvcARwR7AEYBKQAnASkAJwC4/08BigA1AYoAMAGKAEMBigAZAiEACgIhACkCIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAiEAIQIhACECIQAhAfQASQP/AFUDdQAmAlgALAH5ABQCpgBVAfkADgH5ACgB+f/vAfn/9wNYADcBXv/UAfkAHwH5ACgB+QAkAfkAJQH5ACICwwBVAkMATQAC/p0B0QA8AR8APAG4ADwA6wA8AMIAKAD2ADwBSwA8AbYAPAExADwCSABVAhwATQIFAFUBPwAWAl3//QIl//8CXQBLAeoAMQIpAAcB0gAMAkEALQHRACcCHQAsAbkAJgI7ADgBwwAxAkkACAHwACcCGABVAfwAMQIYAFUB/AAxAhgAVQH8ADECHQAsAbkAJgKsADgCGAAxAqwAOAIYADECrAA4AhgAMQKsADgCGAAxAwEAVQKUAE0CQQAtAdEAJwJBAC0B0QAnAkcAOAHYADECOQAaAdsAFAI5ABoB2wAUA30AVQLPAE0DfQBVAs8ATQKR//4CC//7AqkAVQIiAE0CrAA4AhgAMQMBAFUClABNAhwAQQG5ADEBIwBUAQwAXgIFAFUBnQBNAjsAOAHDADECjgBVAiMAMQKgAFUCIwBNAgUAVQEkAFYCKwASAVMACwI4//4B4gAJAh0ALAGyAB0CHQAsAbIAHQDCACgAwgAoAVQAKAFUACgA2gBaAU8AWgGKADUA6wA8AWAAPAG2ADwBogA8AWAAPAG9ADwBtAA8AcYAPAGuADwCHAAWAkcAFgC8AMwA/gBXALj/QgAAAAAAAAQgAAAEIAAABCAAAAQgAAAFFwAABVMAAAePAAAJ+AAACqwAABACAAAQRgAAEVUAABJ5AAAVxgAAFpQAABekAAAX4gAAGDIAABlSAAAaXAAAG7MAAB2CAAAf8QAAIhQAACNLAAAlXAAAJwAAACuzAAAuDgAALqgAADABAAAwygAAMUkAADIDAAAzPAAANtgAADmgAAA8BwAAPZoAAD8MAAA/9wAAQOAAAEMnAABEMAAARJ4AAEWQAABKBgAASqYAAE55AABR4gAAVAAAAFVdAABXxwAAWjAAAFxiAABdIgAAXkcAAGEVAABpnwAAcAMAAHKQAAB03wAAdVYAAHZKAAB2xwAAd6gAAHfrAAB44wAAe2QAAHyyAAB99QAAf34AAIFaAACCpwAAhE8AAIV8AACGaAAAh4EAAIusAACMnAAAjs0AAJBYAACRkAAAkxIAAJRDAACWQgAAmAwAAJnVAACbkgAAno4AAKTvAACqOQAArokAAK/4AACw6QAAsXMAALJ6AACzrwAAs68AALRGAAC16gAAuAoAALoDAAC9WgAAvdAAAMC6AADCRAAAxKUAAMcpAADIBwAAyEsAAMiJAADM8AAAzXEAAM8TAADP8AAA0BwAANBIAADRMwAA0q4AANOPAADTowAA1GgAANSUAADVogAA1oQAANcIAADXjAAA2CQAANlnAADZnwAA2csAANpbAADanwAA20cAAOEMAADkjQAA5vgAAOcoAADnUAAA54AAAOgAAADoUAAA6HQAAOkYAADpxAAA60oAAOvKAADr9gAA7C4AAOyiAADtNgAA7aYAAO5qAADyXgAA8ooAAPLOAADzKgAA89YAAPQmAAD1NwAA+DIAAPhqAAD4pgAA+PIAAPkuAAD5lgAA+iIAAP0hAAD/HgAA/1oAAP+CAAD/3gABADoAAQCCAAEAzgABAUIAAQHmAAEEjQABBPEAAQUlAAEFPQABBgkAAQZBAAEGwQABB9gAAQtWAAELjgABC8YAAQwuAAEMtgABDOoAAQ43AAEOwwABD2sAAQ+zAAEQUwABEOsAARQvAAEWxQABFvkAARcxAAEXZQABF50AARfJAAEYCQABGDkAARjdAAEY7QABGvMAARtHAAEb1wABHCMAARx7AAEdyAABIDQAASB8AAEgwAABIPgAASEkAAEhaAABIagAASHcAAEiSAABItAAASM8AAEkoQABJh0AASa9AAEnWQABKCUAASn+AAEqPgABKqEAASsVAAErjQABK8EAASvtAAEsPQABLIEAASzFAAEtHQABLVkAAS3lAAEvagABMMoAATEGAAExLgABMV4AATGaAAEx2gABMg4AATKmAAEzYgABM64AATQiAAE14QABOG0AATipAAE4zQABOQUAATlVAAE5iQABOaEAATnZAAE6CQABOjkAATptAAE9RgABP8cAAT/3AAFAIwABQXgAAUPg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AAAAAAAAAAAAAAAAAAAAAALQAAAAAQACAAMABAAFAAYABwAIAAkACgALAAwADQAOAA8AEAARABIAEwAUABUAFgAXABgAGQAaABsAHAAdAB4AHwAgACEAIgAjACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQA+AD8AQABBAEIAQwBEAEUARgBHAEgASQBKAEsATABNAE4ATwBQAFEAUgBTAFQAVQBWAFcAWABZAFoAWwBcAF0AXgBfAGAAYQECAKMAhACFAL0AlgDoAIYAjgCLAJ0AqQCkAQMAigDaAIMAkwDyAPMAjQCXAIgAwwDeAPEAngCqAPUA9AD2AKIArQDJAMcArgBiAGMAkABkAMsAZQDIAMoAzwDMAM0AzgDpAGYA0wDQANEArwBnAPAAkQDWANQA1QBoAOsA7QCJAGoAaQBrAG0AbABuAKAAbwBxAHAAcgBzAHUAdAB2AHcA6gB4AHoAeQB7AH0AfAC4AKEAfwB+AIAAgQDsAO4AugEEAQUBBgEHAQgBCQD9AP4BCgELAP8BAAEMAQ0BDgEBAQ8BEAERARIBEwEUARUBFgEXARgA+AD5ARkBGgEbARwBHQEeAR8BIAEhASIA+gDXASMBJAElASYBJwEoASkBKgErASwA4gDjAS0BLgEvATABMQEyATMBNAE1ATYAsACxATcBOAE5AToBOwE8AT0BPgE/AUAA+wD8AOQA5QFBAUIBQwFEAUUBRgFHAUgBSQFKAUsBTAFNAU4AuwFPAVABUQFSAOYA5wFTAKYBVAFVAVYBVwFYAVkBWgFbANgA4QDbANwA3QDgANkA3wFcAV0BXgCbAV8BYAFhAWIBYwFkAWUBZgFnAWgBaQFqAWsBbAFtAW4BbwFwAXEBcgFzAXQBdQF2AXcBeAF5AXoBewF8AX0BfgF/AYABgQGCAYMBhAGFAYYBhwGIAYkBigGLAYwBjQGOAY8BkAGRAZIBkwGUAZUBlgGXAZgBmQGaAZsBnAGdAZ4BnwGgAaEBogGjAaQBpQGmAacBqAGpAaoBqwGsAa0BrgGvAbABsQGyAbMBtAG1AbYBtwG4AbkBugG7AbwBvQG+Ab8BwAHBAcIBwwHEAcUBxgHHAcgByQHKAcsBzAHNAc4BzwHQAdEB0gHTAdQB1QHWAdcB2AHZAdoB2wHcAd0B3gHfAeAB4QHiAeMB5AHlAeYB5wHoAekB6gHrAewB7QHuAe8B8AHxAfIB8wH0AfUB9gH3AfgB+QH6AfsB/AH9Af4B/wIAAgECAgIDAgQCBQIGAgcCCAIJAgoCCwIMAg0CDgIPAhACEQISAhMCFAIVAhYCFwIYAhkCGgIbAhwCHQIeAh8CIAIhAiICIwIkAiUCJgInAigCKQIqAisCLAItAi4CLwIwAjECMgIzAjQCNQI2AjcCOAI5AjoCOwI8Aj0CPgI/AkACQQJCALIAswC2ALcAxAC0ALUAxQCCAMIAhwCrAMYAvgC/ALwCQwJEAkUCRgJHAkgCSQJKAksCTAJNAk4CTwJQAlECUgJTAlQCVQJWAlcCWAJZAloCWwJcAl0CXgJfAmACYQJiAmMAjAJkAJgAmgCZAO8CZQClAJIAnACnAI8AlACVALkCZgJnAmgCaQJqAmsCbAJtAm4CbwJwAnECcgJzAnQCdQJ2AncCeAJ5AnoCewJ8An0CfgJ/AoACgQKCAoMChAKFAoYChwKIAokCigKLAowCjQKOAo8CkAKRApICkwKUApUClgKXApgCmQKaApsCnAKdAp4CnwKgAqECogKjAqQCpQKmAqcCqAKpAqoCqwKsAq0CrgKvArACsQKyArMCtAK1ArYCtwK4ArkCugK7ArwCvQK+Ar8CwALBAsICwwLEAsUCxgLHAsgCyQLKAssCzALNAs4CzwLQAtEAwADBAtIC0wLUB3VuaTAwQTAHdW5pMDBBRAdBbWFjcm9uB2FtYWNyb24GQWJyZXZlBmFicmV2ZQdBb2dvbmVrB2FvZ29uZWsLQ2NpcmN1bWZsZXgLY2NpcmN1bWZsZXgGRGNhcm9uBmRjYXJvbgZEY3JvYXQHRW1hY3JvbgdlbWFjcm9uCkVkb3RhY2NlbnQKZWRvdGFjY2VudAdFb2dvbmVrB2VvZ29uZWsGRWNhcm9uBmVjYXJvbgtHY2lyY3VtZmxleAtnY2lyY3VtZmxleAxHY29tbWFhY2NlbnQMZ2NvbW1hYWNjZW50C0hjaXJjdW1mbGV4C2hjaXJjdW1mbGV4BEhiYXIEaGJhcgdJbWFjcm9uB2ltYWNyb24HSW9nb25lawdpb2dvbmVrC0pjaXJjdW1mbGV4C2pjaXJjdW1mbGV4DEtjb21tYWFjY2VudAxrY29tbWFhY2NlbnQGTGFjdXRlBmxhY3V0ZQxMY29tbWFhY2NlbnQMbGNvbW1hYWNjZW50BkxjYXJvbgZsY2Fyb24GTmFjdXRlBm5hY3V0ZQxOY29tbWFhY2NlbnQMbmNvbW1hYWNjZW50Bk5jYXJvbgZuY2Fyb24HT21hY3JvbgdvbWFjcm9uDU9odW5nYXJ1bWxhdXQNb2h1bmdhcnVtbGF1dAZSYWN1dGUGcmFjdXRlDFJjb21tYWFjY2VudAxyY29tbWFhY2NlbnQGUmNhcm9uBnJjYXJvbgZTYWN1dGUGc2FjdXRlC1NjaXJjdW1mbGV4C3NjaXJjdW1mbGV4CFRjZWRpbGxhCHRjZWRpbGxhBlRjYXJvbgZ0Y2Fyb24HVW1hY3Jvbgd1bWFjcm9uBlVicmV2ZQZ1YnJldmUFVXJpbmcFdXJpbmcNVWh1bmdhcnVtbGF1dA11aHVuZ2FydW1sYXV0B1VvZ29uZWsHdW9nb25lawZaYWN1dGUGemFjdXRlClpkb3RhY2NlbnQKemRvdGFjY2VudAVsb25ncwd1bmkwMUY0B3VuaTAxRjUMU2NvbW1hYWNjZW50DHNjb21tYWFjY2VudAxUY29tbWFhY2NlbnQMdGNvbW1hYWNjZW50B3VuaTAyMzcJYWZpaTU3OTI5CWFjdXRlY29tYgd1bmkwMzk0B3VuaTAzQTkJYWZpaTEwMDIzCWFmaWkxMDA1MQlhZmlpMTAwNTIJYWZpaTEwMDUzCWFmaWkxMDA1NAlhZmlpMTAwNTUJYWZpaTEwMDU2CWFmaWkxMDA1NwlhZmlpMTAwNTgJYWZpaTEwMDU5CWFmaWkxMDA2MAlhZmlpMTAwNjEJYWZpaTEwMDYyCWFmaWkxMDE0NQlhZmlpMTAwMTcJYWZpaTEwMDE4CWFmaWkxMDAxOQlhZmlpMTAwMjAJYWZpaTEwMDIxCWFmaWkxMDAyMglhZmlpMTAwMjQJYWZpaTEwMDI1CWFmaWkxMDAyNglhZmlpMTAwMjcJYWZpaTEwMDI4CWFmaWkxMDAyOQlhZmlpMTAwMzAJYWZpaTEwMDMxCWFmaWkxMDAzMglhZmlpMTAwMzMJYWZpaTEwMDM0CWFmaWkxMDAzNQlhZmlpMTAwMzYJYWZpaTEwMDM3CWFmaWkxMDAzOAlhZmlpMTAwMzkJYWZpaTEwMDQwCWFmaWkxMDA0MQlhZmlpMTAwNDIJYWZpaTEwMDQzCWFmaWkxMDA0NAlhZmlpMTAwNDUJYWZpaTEwMDQ2CWFmaWkxMDA0NwlhZmlpMTAwNDgJYWZpaTEwMDQ5CWFmaWkxMDA2NQlhZmlpMTAwNjYJYWZpaTEwMDY3CWFmaWkxMDA2OAlhZmlpMTAwNjkJYWZpaTEwMDcwCWFmaWkxMDA3MglhZmlpMTAwNzMJYWZpaTEwMDc0CWFmaWkxMDA3NQlhZmlpMTAwNzYJYWZpaTEwMDc3CWFmaWkxMDA3OAlhZmlpMTAwNzkJYWZpaTEwMDgwCWFmaWkxMDA4MQlhZmlpMTAwODIJYWZpaTEwMDgzCWFmaWkxMDA4NAlhZmlpMTAwODUJYWZpaTEwMDg2CWFmaWkxMDA4NwlhZmlpMTAwODgJYWZpaTEwMDg5CWFmaWkxMDA5MAlhZmlpMTAwOTEJYWZpaTEwMDkyCWFmaWkxMDA5MwlhZmlpMTAwOTQJYWZpaTEwMDk1CWFmaWkxMDA5NglhZmlpMTAwOTcJYWZpaTEwMDcxCWFmaWkxMDA5OQlhZmlpMTAxMDAJYWZpaTEwMTAxCWFmaWkxMDEwMglhZmlpMTAxMDMJYWZpaTEwMTA0CWFmaWkxMDEwNQlhZmlpMTAxMDYJYWZpaTEwMTA3CWFmaWkxMDEwOAlhZmlpMTAxMDkJYWZpaTEwMTEwCWFmaWkxMDE5MwlhZmlpMTAxNDYJYWZpaTEwMTk0CWFmaWkxMDE0NwlhZmlpMTAxOTUJYWZpaTEwMTQ4CWFmaWkxMDE5Ngd1bmkwNDhBB3VuaTA0OEIHdW5pMDQ4Qwd1bmkwNDhEB3VuaTA0OEUHdW5pMDQ4RglhZmlpMTAwNTAJYWZpaTEwMDk4B3VuaTA0OTIHdW5pMDQ5Mwd1bmkwNDk0B3VuaTA0OTUHdW5pMDQ5Ngd1bmkwNDk3B3VuaTA0OTgHdW5pMDQ5OQd1bmkwNDlBB3VuaTA0OUIHdW5pMDQ5Qwd1bmkwNDlEB3VuaTA0OUUHdW5pMDQ5Rgd1bmkwNEEwB3VuaTA0QTEHdW5pMDRBMgd1bmkwNEEzB3VuaTA0QTQHdW5pMDRBNQd1bmkwNEE2B3VuaTA0QTcHdW5pMDRBOAd1bmkwNEE5B3VuaTA0QUEHdW5pMDRBQgd1bmkwNEFDB3VuaTA0QUQHdW5pMDRBRQd1bmkwNEFGB3VuaTA0QjAHdW5pMDRCMQd1bmkwNEIyB3VuaTA0QjMHdW5pMDRCNAd1bmkwNEI1B3VuaTA0QjYHdW5pMDRCNwd1bmkwNEI4B3VuaTA0QjkHdW5pMDRCQQd1bmkwNEJCB3VuaTA0QkMHdW5pMDRCRAd1bmkwNEJFB3VuaTA0QkYHdW5pMDRDMAd1bmkwNEMzB3VuaTA0QzQHdW5pMDRDNQd1bmkwNEM2B3VuaTA0QzcHdW5pMDRDOAd1bmkwNEM5B3VuaTA0Q0EHdW5pMDRDQgd1bmkwNENDB3VuaTA0Q0QHdW5pMDRDRQd1bmkwNENGB3VuaTA0RDAHdW5pMDREMQd1bmkwNEQyB3VuaTA0RDMHdW5pMDRENAd1bmkwNEQ1B3VuaTA0RDYHdW5pMDRENwd1bmkwNEQ4CWFmaWkxMDg0Ngd1bmkwNERBB3VuaTA0REIHdW5pMDREQwd1bmkwNEREB3VuaTA0REUHdW5pMDRERgd1bmkwNEUwB3VuaTA0RTEHdW5pMDRFMgd1bmkwNEUzB3VuaTA0RTQHdW5pMDRFNQd1bmkwNEU2B3VuaTA0RTcHdW5pMDRFOAd1bmkwNEU5B3VuaTA0RUEHdW5pMDRFQgd1bmkwNEVDB3VuaTA0RUQHdW5pMDRFRQd1bmkwNEVGB3VuaTA0RjAHdW5pMDRGMQd1bmkwNEYyB3VuaTA0RjMHdW5pMDRGNAd1bmkwNEY1B3VuaTA0RjYHdW5pMDRGNwd1bmkwNEY4B3VuaTA0RjkHdW5pMDRGQwd1bmkwNEZEB3VuaTA1MTAHdW5pMDUxMQd1bmkwNTEyB3VuaTA1MTMHdW5pMDUxQwd1bmkwNTFEB3VuaTA1MjQHdW5pMDUyNQd1bmkwNTI2B3VuaTA1MjcHdW5pMUUzMAd1bmkxRTMxB3VuaTFFM0UHdW5pMUUzRgd1bmkxRTU0B3VuaTFFNTUHdW5pMUU5RQd1bmkyMDExB3VuaTIwODEHdW5pMjA4Mgd1bmkyMDgzB3VuaTIwODQERXVybwd1bmkyMEI0B3VuaTIwQjYHdW5pMjBCNwd1bmkyMEI5B3VuaTIwQkEHdW5pMjBCQgd1bmkyMEJDB3VuaTIwQkQHdW5pMjBCRQd1bmkyMEJGB3VuaTIwQzAHdW5pMjBDMQd1bmkyMEMyB3VuaTIwQzMHdW5pMjBDNAd1bmkyMEM1B3VuaTIwQzYHdW5pMjBDNwd1bmkyMEM4B3VuaTIwQzkHdW5pMjBDQQd1bmkyMENCB3VuaTIwQ0MHdW5pMjBDRAd1bmkyMENFB3VuaTIwQ0YJYWZpaTYxMjg5CWFmaWk2MTM1Mgllc3RpbWF0ZWQHdW5pMjIxNQd1bmkyQzY3B3VuaTJDNjgHdW5pRjQwMQd1bmlGNDA2B3VuaUY0MDcHdW5pRjQwOAd1bmlGNDA5B3VuaUY0MEEHdW5pRjQwQgd1bmlGNDBDB3VuaUY0MEQHdW5pRjQwRQd1bmlGNDg2B3VuaUY0ODcHdW5pRjQ4OAd1bmlGNDg5B3VuaUY0OUUHdW5pRjQ5Rgd1bmlGNEM2B3VuaUY0QzcHdW5pRjRDQwd1bmlGNENEB3VuaUY0RDYHdW5pRjRENwt1bmkwNDk4LmFsdAt1bmkwNDk5LmFsdA11bmkwNEFBLmFsdDAyDXVuaTA0QUIuYWx0MDIHdW5pRjUwRQd1bmlGNTBGB3VuaUY1MTAHdW5pRjUxMQd1bmlGNTEyB3VuaUY1MTMHdW5pRjUxNAd1bmlGNTE1B3VuaUY1MTYHdW5pRjUxNwd1bmlGNTE4B3VuaUY1MTkHdW5pRjUxQQd1bmlGNTFCB3VuaUY1MUMHdW5pRjUxRAd1bmlGNTFFB3VuaUY1MUYHdW5pRjUyMAd1bmlGNTIxB3VuaUY1MjIHdW5pRjUyMwd1bmlGNTI0B3VuaUY1MjUHdW5pRjUyNgd1bmlGNTI3B3VuaUY1MjgHdW5pRjUyOQd1bmlGNTJBB3VuaUY1MkIHdW5pRjUyQwd1bmlGNTJEB3VuaUY1MkUHdW5pRjUyRgd1bmlGNTMwB3VuaUY1MzEHdW5pRjUzMgd1bmlGNTMzB3VuaUY1MzQHdW5pRjUzNQd1bmlGNTM2B3VuaUY1MzcHdW5pRjUzOAd1bmlGNTM5DWFmaWkxMDA1NS5hbHQNYWZpaTEwMTAzLmFsdAt1bmkwNDkyLmFsdAt1bmkwNDkzLmFsdAt1bmkwNEFBLmFsdAt1bmkwNEFCLmFsdAd1bmlGNTQwB3VuaUY1NDEHdW5pRjU0Mgd1bmlGNTQzB3VuaUY1NDQHdW5pRjU0NQd1bmlGNTQ2B3VuaUY1NDcHdW5pRjU0OAd1bmlGNTQ5B3VuaUY1NEEHdW5pRjU0Qgd1bmlGNTRDB3VuaUY1NEQHdW5pRjYyQwd1bmlGNjJEB3VuaUY2MkUHdW5pRjYyRgd1bmlGNjM0B3VuaUY2MzUNb25lLm51bWVyYXRvcgd1bmlGNkMzB3VuaUY2QzkHdW5pRjZDQQd1bmlGNkNCB3VuaUY2Q0UHdW5pRjZDRgd1bmlGNkQwB3VuaUY2RDEHdW5pRjZENAdjYXJvbi5sBWwudmFyDGZyYWN0aW9uLmFsdAAAAAAAAA8AugADAAEECQAAAGYt8gADAAEECQABAA4t5AADAAEECQACAA4t1gADAAEECQADADQtogADAAEECQAEAA4t5AADAAEECQAFACQtfgADAAEECQAGABwtYgADAAEECQAHAFYtDAADAAEECQAIABgs9AADAAEECQAJAEQssAADAAEECQAKCQojpgADAAEECQALAC4jeAADAAEECQAMAE4jKgADAAEECQANIu4APAADAAEECQAOADwAAABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwAXwB3AGUAYgBDAG8AcAB5AHIAaQBnAGgAdAAgACgAYwApACAAMgAwADEAMAAsACAAUABhAHIAYQBUAHkAcABlACAATAB0AGQALgAgACgAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAC8AcAB1AGIAbABpAGMAKQAsACAAdwBpAHQAaAAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlAHMAIAAiAFAAVAAgAFMAYQBuAHMAIgAsACAAIgBQAFQAIABTAGUAcgBpAGYAIgAgAGEAbgBkACAAIgBQAGEAcgBhAFQAeQBwAGUAIgAuAA0ACgANAAoAVABoAGkAcwAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABpAHMAIABsAGkAYwBlAG4AcwBlAGQAIAB1AG4AZABlAHIAIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAsACAAVgBlAHIAcwBpAG8AbgAgADEALgAxACAAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABpAHMAIABjAG8AcABpAGUAZAAgAGIAZQBsAG8AdwAsACAAYQBuAGQAIABpAHMAIABhAGwAcwBvACAAYQB2AGEAaQBsAGEAYgBsAGUAIAB3AGkAdABoACAAYQAgAEYAQQBRACAAYQB0ADoAIABoAHQAdABwADoALwAvAHMAYwByAGkAcAB0AHMALgBzAGkAbAAuAG8AcgBnAC8ATwBGAEwADQAKAA0ACgAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ADQAKAFMASQBMACAATwBQAEUATgAgAEYATwBOAFQAIABMAEkAQwBFAE4AUwBFACAAVgBlAHIAcwBpAG8AbgAgADEALgAxACAALQAgADIANgAgAEYAZQBiAHIAdQBhAHIAeQAgADIAMAAwADcADQAKAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQANAAoADQAKAFAAUgBFAEEATQBCAEwARQANAAoAVABoAGUAIABnAG8AYQBsAHMAIABvAGYAIAB0AGgAZQAgAE8AcABlAG4AIABGAG8AbgB0ACAATABpAGMAZQBuAHMAZQAgACgATwBGAEwAKQAgAGEAcgBlACAAdABvACAAcwB0AGkAbQB1AGwAYQB0AGUAIAB3AG8AcgBsAGQAdwBpAGQAZQAgAGQAZQB2AGUAbABvAHAAbQBlAG4AdAAgAG8AZgAgAGMAbwBsAGwAYQBiAG8AcgBhAHQAaQB2AGUAIABmAG8AbgB0ACAAcAByAG8AagBlAGMAdABzACwAIAB0AG8AIABzAHUAcABwAG8AcgB0ACAAdABoAGUAIABmAG8AbgB0ACAAYwByAGUAYQB0AGkAbwBuACAAZQBmAGYAbwByAHQAcwAgAG8AZgAgAGEAYwBhAGQAZQBtAGkAYwAgAGEAbgBkACAAbABpAG4AZwB1AGkAcwB0AGkAYwAgAGMAbwBtAG0AdQBuAGkAdABpAGUAcwAsACAAYQBuAGQAIAB0AG8AIABwAHIAbwB2AGkAZABlACAAYQAgAGYAcgBlAGUAIABhAG4AZAAgAG8AcABlAG4AIABmAHIAYQBtAGUAdwBvAHIAawAgAGkAbgAgAHcAaABpAGMAaAAgAGYAbwBuAHQAcwAgAG0AYQB5ACAAYgBlACAAcwBoAGEAcgBlAGQAIABhAG4AZAAgAGkAbQBwAHIAbwB2AGUAZAAgAGkAbgAgAHAAYQByAHQAbgBlAHIAcwBoAGkAcAAgAHcAaQB0AGgAIABvAHQAaABlAHIAcwAuAA0ACgANAAoAVABoAGUAIABPAEYATAAgAGEAbABsAG8AdwBzACAAdABoAGUAIABsAGkAYwBlAG4AcwBlAGQAIABmAG8AbgB0AHMAIAB0AG8AIABiAGUAIAB1AHMAZQBkACwAIABzAHQAdQBkAGkAZQBkACwAIABtAG8AZABpAGYAaQBlAGQAIABhAG4AZAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABmAHIAZQBlAGwAeQAgAGEAcwAgAGwAbwBuAGcAIABhAHMAIAB0AGgAZQB5ACAAYQByAGUAIABuAG8AdAAgAHMAbwBsAGQAIABiAHkAIAB0AGgAZQBtAHMAZQBsAHYAZQBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAsACAAaQBuAGMAbAB1AGQAaQBuAGcAIABhAG4AeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIAB3AG8AcgBrAHMALAAgAGMAYQBuACAAYgBlACAAYgB1AG4AZABsAGUAZAAsACAAZQBtAGIAZQBkAGQAZQBkACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAYQBuAGQALwBvAHIAIABzAG8AbABkACAAdwBpAHQAaAAgAGEAbgB5ACAAcwBvAGYAdAB3AGEAcgBlACAAcAByAG8AdgBpAGQAZQBkACAAdABoAGEAdAAgAGEAbgB5ACAAcgBlAHMAZQByAHYAZQBkACAAbgBhAG0AZQBzACAAYQByAGUAIABuAG8AdAAgAHUAcwBlAGQAIABiAHkAIABkAGUAcgBpAHYAYQB0AGkAdgBlACAAdwBvAHIAawBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAgAGEAbgBkACAAZABlAHIAaQB2AGEAdABpAHYAZQBzACwAIABoAG8AdwBlAHYAZQByACwAIABjAGEAbgBuAG8AdAAgAGIAZQAgAHIAZQBsAGUAYQBzAGUAZAAgAHUAbgBkAGUAcgAgAGEAbgB5ACAAbwB0AGgAZQByACAAdAB5AHAAZQAgAG8AZgAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlACAAcgBlAHEAdQBpAHIAZQBtAGUAbgB0ACAAZgBvAHIAIABmAG8AbgB0AHMAIAB0AG8AIAByAGUAbQBhAGkAbgAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAZABvAGUAcwAgAG4AbwB0ACAAYQBwAHAAbAB5ACAAdABvACAAYQBuAHkAIABkAG8AYwB1AG0AZQBuAHQAIABjAHIAZQBhAHQAZQBkACAAdQBzAGkAbgBnACAAdABoAGUAIABmAG8AbgB0AHMAIABvAHIAIAB0AGgAZQBpAHIAIABkAGUAcgBpAHYAYQB0AGkAdgBlAHMALgANAAoADQAKAEQARQBGAEkATgBJAFQASQBPAE4AUwANAAoAIgBGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAHQAaABlACAAcwBlAHQAIABvAGYAIABmAGkAbABlAHMAIAByAGUAbABlAGEAcwBlAGQAIABiAHkAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIAB1AG4AZABlAHIAIAB0AGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGEAbgBkACAAYwBsAGUAYQByAGwAeQAgAG0AYQByAGsAZQBkACAAYQBzACAAcwB1AGMAaAAuACAAVABoAGkAcwAgAG0AYQB5ACAAaQBuAGMAbAB1AGQAZQAgAHMAbwB1AHIAYwBlACAAZgBpAGwAZQBzACwAIABiAHUAaQBsAGQAIABzAGMAcgBpAHAAdABzACAAYQBuAGQAIABkAG8AYwB1AG0AZQBuAHQAYQB0AGkAbwBuAC4ADQAKAA0ACgAiAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAbgBhAG0AZQBzACAAcwBwAGUAYwBpAGYAaQBlAGQAIABhAHMAIABzAHUAYwBoACAAYQBmAHQAZQByACAAdABoAGUAIABjAG8AcAB5AHIAaQBnAGgAdAAgAHMAdABhAHQAZQBtAGUAbgB0ACgAcwApAC4ADQAKAA0ACgAiAE8AcgBpAGcAaQBuAGEAbAAgAFYAZQByAHMAaQBvAG4AIgAgAHIAZQBmAGUAcgBzACAAdABvACAAdABoAGUAIABjAG8AbABsAGUAYwB0AGkAbwBuACAAbwBmACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGMAbwBtAHAAbwBuAGUAbgB0AHMAIABhAHMAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABiAHkAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkALgANAAoADQAKACIATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAiACAAcgBlAGYAZQByAHMAIAB0AG8AIABhAG4AeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIABtAGEAZABlACAAYgB5ACAAYQBkAGQAaQBuAGcAIAB0AG8ALAAgAGQAZQBsAGUAdABpAG4AZwAsACAAbwByACAAcwB1AGIAcwB0AGkAdAB1AHQAaQBuAGcAIAAtAC0AIABpAG4AIABwAGEAcgB0ACAAbwByACAAaQBuACAAdwBoAG8AbABlACAALQAtACAAYQBuAHkAIABvAGYAIAB0AGgAZQAgAGMAbwBtAHAAbwBuAGUAbgB0AHMAIABvAGYAIAB0AGgAZQAgAE8AcgBpAGcAaQBuAGEAbAAgAFYAZQByAHMAaQBvAG4ALAAgAGIAeQAgAGMAaABhAG4AZwBpAG4AZwAgAGYAbwByAG0AYQB0AHMAIABvAHIAIABiAHkAIABwAG8AcgB0AGkAbgBnACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAdABvACAAYQAgAG4AZQB3ACAAZQBuAHYAaQByAG8AbgBtAGUAbgB0AC4ADQAKAA0ACgAiAEEAdQB0AGgAbwByACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAZABlAHMAaQBnAG4AZQByACwAIABlAG4AZwBpAG4AZQBlAHIALAAgAHAAcgBvAGcAcgBhAG0AbQBlAHIALAAgAHQAZQBjAGgAbgBpAGMAYQBsACAAdwByAGkAdABlAHIAIABvAHIAIABvAHQAaABlAHIAIABwAGUAcgBzAG8AbgAgAHcAaABvACAAYwBvAG4AdAByAGkAYgB1AHQAZQBkACAAdABvACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlAC4ADQAKAA0ACgBQAEUAUgBNAEkAUwBTAEkATwBOACAAJgAgAEMATwBOAEQASQBUAEkATwBOAFMADQAKAFAAZQByAG0AaQBzAHMAaQBvAG4AIABpAHMAIABoAGUAcgBlAGIAeQAgAGcAcgBhAG4AdABlAGQALAAgAGYAcgBlAGUAIABvAGYAIABjAGgAYQByAGcAZQAsACAAdABvACAAYQBuAHkAIABwAGUAcgBzAG8AbgAgAG8AYgB0AGEAaQBuAGkAbgBnACAAYQAgAGMAbwBwAHkAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAHQAbwAgAHUAcwBlACwAIABzAHQAdQBkAHkALAAgAGMAbwBwAHkALAAgAG0AZQByAGcAZQAsACAAZQBtAGIAZQBkACwAIABtAG8AZABpAGYAeQAsACAAcgBlAGQAaQBzAHQAcgBpAGIAdQB0AGUALAAgAGEAbgBkACAAcwBlAGwAbAAgAG0AbwBkAGkAZgBpAGUAZAAgAGEAbgBkACAAdQBuAG0AbwBkAGkAZgBpAGUAZAAgAGMAbwBwAGkAZQBzACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACwAIABzAHUAYgBqAGUAYwB0ACAAdABvACAAdABoAGUAIABmAG8AbABsAG8AdwBpAG4AZwAgAGMAbwBuAGQAaQB0AGkAbwBuAHMAOgANAAoADQAKADEAKQAgAE4AZQBpAHQAaABlAHIAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABuAG8AcgAgAGEAbgB5ACAAbwBmACAAaQB0AHMAIABpAG4AZABpAHYAaQBkAHUAYQBsACAAYwBvAG0AcABvAG4AZQBuAHQAcwAsACAAaQBuACAATwByAGkAZwBpAG4AYQBsACAAbwByACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgBzACwAIABtAGEAeQAgAGIAZQAgAHMAbwBsAGQAIABiAHkAIABpAHQAcwBlAGwAZgAuAA0ACgANAAoAMgApACAATwByAGkAZwBpAG4AYQBsACAAbwByACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgBzACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAbQBhAHkAIABiAGUAIABiAHUAbgBkAGwAZQBkACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQBkACAAYQBuAGQALwBvAHIAIABzAG8AbABkACAAdwBpAHQAaAAgAGEAbgB5ACAAcwBvAGYAdAB3AGEAcgBlACwAIABwAHIAbwB2AGkAZABlAGQAIAB0AGgAYQB0ACAAZQBhAGMAaAAgAGMAbwBwAHkAIABjAG8AbgB0AGEAaQBuAHMAIAB0AGgAZQAgAGEAYgBvAHYAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAbgBvAHQAaQBjAGUAIABhAG4AZAAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlAC4AIABUAGgAZQBzAGUAIABjAGEAbgAgAGIAZQAgAGkAbgBjAGwAdQBkAGUAZAAgAGUAaQB0AGgAZQByACAAYQBzACAAcwB0AGEAbgBkAC0AYQBsAG8AbgBlACAAdABlAHgAdAAgAGYAaQBsAGUAcwAsACAAaAB1AG0AYQBuAC0AcgBlAGEAZABhAGIAbABlACAAaABlAGEAZABlAHIAcwAgAG8AcgAgAGkAbgAgAHQAaABlACAAYQBwAHAAcgBvAHAAcgBpAGEAdABlACAAbQBhAGMAaABpAG4AZQAtAHIAZQBhAGQAYQBiAGwAZQAgAG0AZQB0AGEAZABhAHQAYQAgAGYAaQBlAGwAZABzACAAdwBpAHQAaABpAG4AIAB0AGUAeAB0ACAAbwByACAAYgBpAG4AYQByAHkAIABmAGkAbABlAHMAIABhAHMAIABsAG8AbgBnACAAYQBzACAAdABoAG8AcwBlACAAZgBpAGUAbABkAHMAIABjAGEAbgAgAGIAZQAgAGUAYQBzAGkAbAB5ACAAdgBpAGUAdwBlAGQAIABiAHkAIAB0AGgAZQAgAHUAcwBlAHIALgANAAoADQAKADMAKQAgAE4AbwAgAE0AbwBkAGkAZgBpAGUAZAAgAFYAZQByAHMAaQBvAG4AIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABtAGEAeQAgAHUAcwBlACAAdABoAGUAIABSAGUAcwBlAHIAdgBlAGQAIABGAG8AbgB0ACAATgBhAG0AZQAoAHMAKQAgAHUAbgBsAGUAcwBzACAAZQB4AHAAbABpAGMAaQB0ACAAdwByAGkAdAB0AGUAbgAgAHAAZQByAG0AaQBzAHMAaQBvAG4AIABpAHMAIABnAHIAYQBuAHQAZQBkACAAYgB5ACAAdABoAGUAIABjAG8AcgByAGUAcwBwAG8AbgBkAGkAbgBnACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAuACAAVABoAGkAcwAgAHIAZQBzAHQAcgBpAGMAdABpAG8AbgAgAG8AbgBsAHkAIABhAHAAcABsAGkAZQBzACAAdABvACAAdABoAGUAIABwAHIAaQBtAGEAcgB5ACAAZgBvAG4AdAAgAG4AYQBtAGUAIABhAHMAIABwAHIAZQBzAGUAbgB0AGUAZAAgAHQAbwAgAHQAaABlACAAdQBzAGUAcgBzAC4ADQAKAA0ACgA0ACkAIABUAGgAZQAgAG4AYQBtAGUAKABzACkAIABvAGYAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIABvAHIAIAB0AGgAZQAgAEEAdQB0AGgAbwByACgAcwApACAAbwBmACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAcwBoAGEAbABsACAAbgBvAHQAIABiAGUAIAB1AHMAZQBkACAAdABvACAAcAByAG8AbQBvAHQAZQAsACAAZQBuAGQAbwByAHMAZQAgAG8AcgAgAGEAZAB2AGUAcgB0AGkAcwBlACAAYQBuAHkAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACwAIABlAHgAYwBlAHAAdAAgAHQAbwAgAGEAYwBrAG4AbwB3AGwAZQBkAGcAZQAgAHQAaABlACAAYwBvAG4AdAByAGkAYgB1AHQAaQBvAG4AKABzACkAIABvAGYAIAB0AGgAZQAgAEMAbwBwAHkAcgBpAGcAaAB0ACAASABvAGwAZABlAHIAKABzACkAIABhAG4AZAAgAHQAaABlACAAQQB1AHQAaABvAHIAKABzACkAIABvAHIAIAB3AGkAdABoACAAdABoAGUAaQByACAAZQB4AHAAbABpAGMAaQB0ACAAdwByAGkAdAB0AGUAbgANAAoAcABlAHIAbQBpAHMAcwBpAG8AbgAuACAADQAKAA0ACgA1ACkAIABUAGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAG0AbwBkAGkAZgBpAGUAZAAgAG8AcgAgAHUAbgBtAG8AZABpAGYAaQBlAGQALAAgAGkAbgAgAHAAYQByAHQAIABvAHIAIABpAG4AIAB3AGgAbwBsAGUALAAgAG0AdQBzAHQAIABiAGUAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABlAG4AdABpAHIAZQBsAHkAIAB1AG4AZABlAHIAIAB0AGgAaQBzACAAbABpAGMAZQBuAHMAZQAsACAAYQBuAGQAIABtAHUAcwB0ACAAbgBvAHQAIABiAGUAIABkAGkAcwB0AHIAaQBiAHUAdABlAGQAIAB1AG4AZABlAHIAIABhAG4AeQAgAG8AdABoAGUAcgAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlACAAcgBlAHEAdQBpAHIAZQBtAGUAbgB0ACAAZgBvAHIAIABmAG8AbgB0AHMAIAB0AG8AIAByAGUAbQBhAGkAbgAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAZABvAGUAcwAgAG4AbwB0ACAAYQBwAHAAbAB5ACAAdABvACAAYQBuAHkAIABkAG8AYwB1AG0AZQBuAHQAIABjAHIAZQBhAHQAZQBkACAAdQBzAGkAbgBnACAAdABoAGUAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlAC4ADQAKAA0ACgBUAEUAUgBNAEkATgBBAFQASQBPAE4ADQAKAFQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYgBlAGMAbwBtAGUAcwAgAG4AdQBsAGwAIABhAG4AZAAgAHYAbwBpAGQAIABpAGYAIABhAG4AeQAgAG8AZgAgAHQAaABlACAAYQBiAG8AdgBlACAAYwBvAG4AZABpAHQAaQBvAG4AcwAgAGEAcgBlACAAbgBvAHQAIABtAGUAdAAuAA0ACgANAAoARABJAFMAQwBMAEEASQBNAEUAUgANAAoAVABIAEUAIABGAE8ATgBUACAAUwBPAEYAVABXAEEAUgBFACAASQBTACAAUABSAE8AVgBJAEQARQBEACAAIgBBAFMAIABJAFMAIgAsACAAVwBJAFQASABPAFUAVAAgAFcAQQBSAFIAQQBOAFQAWQAgAE8ARgAgAEEATgBZACAASwBJAE4ARAAsACAARQBYAFAAUgBFAFMAUwAgAE8AUgAgAEkATQBQAEwASQBFAEQALAAgAEkATgBDAEwAVQBEAEkATgBHACAAQgBVAFQAIABOAE8AVAAgAEwASQBNAEkAVABFAEQAIABUAE8AIABBAE4AWQAgAFcAQQBSAFIAQQBOAFQASQBFAFMAIABPAEYAIABNAEUAUgBDAEgAQQBOAFQAQQBCAEkATABJAFQAWQAsACAARgBJAFQATgBFAFMAUwAgAEYATwBSACAAQQAgAFAAQQBSAFQASQBDAFUATABBAFIAIABQAFUAUgBQAE8AUwBFACAAQQBOAEQAIABOAE8ATgBJAE4ARgBSAEkATgBHAEUATQBFAE4AVAAgAE8ARgAgAEMATwBQAFkAUgBJAEcASABUACwAIABQAEEAVABFAE4AVAAsACAAVABSAEEARABFAE0AQQBSAEsALAAgAE8AUgAgAE8AVABIAEUAUgAgAFIASQBHAEgAVAAuACAASQBOACAATgBPACAARQBWAEUATgBUACAAUwBIAEEATABMACAAVABIAEUAIABDAE8AUABZAFIASQBHAEgAVAAgAEgATwBMAEQARQBSACAAQgBFACAATABJAEEAQgBMAEUAIABGAE8AUgAgAEEATgBZACAAQwBMAEEASQBNACwAIABEAEEATQBBAEcARQBTACAATwBSACAATwBUAEgARQBSACAATABJAEEAQgBJAEwASQBUAFkALAAgAEkATgBDAEwAVQBEAEkATgBHACAAQQBOAFkAIABHAEUATgBFAFIAQQBMACwAIABTAFAARQBDAEkAQQBMACwAIABJAE4ARABJAFIARQBDAFQALAAgAEkATgBDAEkARABFAE4AVABBAEwALAAgAE8AUgAgAEMATwBOAFMARQBRAFUARQBOAFQASQBBAEwAIABEAEEATQBBAEcARQBTACwAIABXAEgARQBUAEgARQBSACAASQBOACAAQQBOACAAQQBDAFQASQBPAE4AIABPAEYAIABDAE8ATgBUAFIAQQBDAFQALAAgAFQATwBSAFQAIABPAFIAIABPAFQASABFAFIAVwBJAFMARQAsACAAQQBSAEkAUwBJAE4ARwAgAEYAUgBPAE0ALAAgAE8AVQBUACAATwBGACAAVABIAEUAIABVAFMARQAgAE8AUgAgAEkATgBBAEIASQBMAEkAVABZACAAVABPACAAVQBTAEUAIABUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUAIABPAFIAIABGAFIATwBNACAATwBUAEgARQBSACAARABFAEEATABJAE4ARwBTACAASQBOACAAVABIAEUAIABGAE8ATgBUACAAUwBPAEYAVABXAEEAUgBFAC4ADQAKAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBwAGEAcgBhAHQAeQBwAGUALgBjAG8AbQAvAGgAZQBsAHAALwBkAGUAcwBpAGcAbgBlAHIAcwAvAGgAdAB0AHAAOgAvAC8AdwB3AHcALgBwAGEAcgBhAHQAeQBwAGUALgBjAG8AbQBQAFQAIABTAGEAbgBzACAAaQBzACAAYQAgAHQAeQBwAGUAIABmAGEAbQBpAGwAeQAgAG8AZgAgAHUAbgBpAHYAZQByAHMAYQBsACAAdQBzAGUALgAgAEkAdAAgAGMAbwBuAHMAaQBzAHQAcwAgAG8AZgAgADgAIABzAHQAeQBsAGUAcwA6ACAAcgBlAGcAdQBsAGEAcgAgAGEAbgBkACAAYgBvAGwAZAAgAHcAZQBpAGcAaAB0AHMAIAB3AGkAdABoACAAYwBvAHIAcgBlAHMAcABvAG4AZABpAG4AZwAgAGkAdABhAGwAaQBjAHMAIABmAG8AcgBtACAAYQAgAHMAdABhAG4AZABhAHIAZAAgAGMAbwBtAHAAdQB0AGUAcgAgAGYAbwBuAHQAIABmAGEAbQBpAGwAeQA7ACAAdAB3AG8AIABuAGEAcgByAG8AdwAgAHMAdAB5AGwAZQBzACAAKAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACkAIABhAHIAZQAgAGkAbgB0AGUAbgBkAGUAZAAgAGYAbwByACAAZABvAGMAdQBtAGUAbgB0AHMAIAB0AGgAYQB0ACAAcgBlAHEAdQBpAHIAZQAgAHQAaQBnAGgAdAAgAHMAZQB0ADsAIAB0AHcAbwAgAGMAYQBwAHQAaQBvAG4AIABzAHQAeQBsAGUAcwAgACgAcgBlAGcAdQBsAGEAcgAgAGEAbgBkACAAYgBvAGwAZAApACAAYQByAGUAIABmAG8AcgAgAHQAZQB4AHQAcwAgAG8AZgAgAHMAbQBhAGwAbAAgAHAAbwBpAG4AdAAgAHMAaQB6AGUAcwAuACAAVABoAGUAIABkAGUAcwBpAGcAbgAgAGMAbwBtAGIAaQBuAGUAcwAgAHQAcgBhAGQAaQB0AGkAbwBuAGEAbAAgAGMAbwBuAHMAZQByAHYAYQB0AGkAdgBlACAAYQBwAHAAZQBhAHIAYQBuAGMAZQAgAHcAaQB0AGgAIABtAG8AZABlAHIAbgAgAHQAcgBlAG4AZABzACAAbwBmACAAaAB1AG0AYQBuAGkAcwB0AGkAYwAgAHMAYQBuAHMAIABzAGUAcgBpAGYAIABhAG4AZAAgAGMAaABhAHIAYQBjAHQAZQByAGkAegBlAGQAIABiAHkAIABlAG4AaABhAG4AYwBlAGQAIABsAGUAZwBpAGIAaQBsAGkAdAB5AC4AIABUAGgAZQBzAGUAIABmAGUAYQB0AHUAcgBlAHMAIABiAGUAcwBpAGQAZQAgAGMAbwBuAHYAZQBuAHQAaQBvAG4AYQBsACAAdQBzAGUAIABpAG4AIABiAHUAcwBpAG4AZQBzAHMAIABhAHAAcABsAGkAYwBhAHQAaQBvAG4AcwAgAGEAbgBkACAAcAByAGkAbgB0AGUAZAAgAHMAdAB1AGYAZgAgAG0AYQBkAGUAIAB0AGgAZQAgAGYAbwBuAHQAcwAgAHEAdQBpAHQAZQAgAHUAcwBlAGEAYgBsAGUAIABmAG8AcgAgAGQAaQByAGUAYwB0AGkAbwBuACAAYQBuAGQAIABnAHUAaQBkAGUAIABzAGkAZwBuAHMALAAgAHMAYwBoAGUAbQBlAHMALAAgAHMAYwByAGUAZQBuAHMAIABvAGYAIABpAG4AZgBvAHIAbQBhAHQAaQBvAG4AIABrAGkAbwBzAGsAcwAgAGEAbgBkACAAbwB0AGgAZQByACAAbwBiAGoAZQBjAHQAcwAgAG8AZgAgAHUAcgBiAGEAbgAgAHYAaQBzAHUAYQBsACAAYwBvAG0AbQB1AG4AaQBjAGEAdABpAG8AbgBzAC4ADQAKAA0ACgBUAGgAZQAgAGYAbwBuAHQAcwAgAG4AZQB4AHQAIAB0AG8AIABzAHQAYQBuAGQAYQByAGQAIABMAGEAdABpAG4AIABhAG4AZAAgAEMAeQByAGkAbABsAGkAYwAgAGMAaABhAHIAYQBjAHQAZQByACAAcwBlAHQAcwAgAGMAbwBuAHQAYQBpAG4AIABzAGkAZwBuAHMAIABvAGYAIAB0AGkAdABsAGUAIABsAGEAbgBnAHUAYQBnAGUAcwAgAG8AZgAgAHQAaABlACAAbgBhAHQAaQBvAG4AYQBsACAAcgBlAHAAdQBiAGwAaQBjAHMAIABvAGYAIABSAHUAcwBzAGkAYQBuACAARgBlAGQAZQByAGEAdABpAG8AbgAgAGEAbgBkACAAcwB1AHAAcABvAHIAdAAgAHQAaABlACAAbQBvAHMAdAAgAG8AZgAgAHQAaABlACAAbABhAG4AZwB1AGEAZwBlAHMAIABvAGYAIABuAGUAaQBnAGgAYgBvAHIAaQBuAGcAIABjAG8AdQBuAHQAcgBpAGUAcwAuACAAVABoAGUAIABmAG8AbgB0AHMAIAB3AGUAcgBlACAAZABlAHYAZQBsAG8AcABlAGQAIABhAG4AZAAgAHIAZQBsAGUAYQBzAGUAZAAgAGIAeQAgAFAAYQByAGEAVAB5AHAAZQAgAGkAbgAgADIAMAAwADkAIAB3AGkAdABoACAAZgBpAG4AYQBuAGMAaQBhAGwAIABzAHUAcABwAG8AcgB0ACAAZgByAG8AbQAgAEYAZQBkAGUAcgBhAGwAIABBAGcAZQBuAGMAeQAgAG8AZgAgAFAAcgBpAG4AdAAgAGEAbgBkACAATQBhAHMAcwAgAEMAbwBtAG0AdQBuAGkAYwBhAHQAaQBvAG4AcwAgAG8AZgAgAFIAdQBzAHMAaQBhAG4AIABGAGUAZABlAHIAYQB0AGkAbwBuAC4AIABEAGUAcwBpAGcAbgAgAC0AIABBAGwAZQB4AGEAbgBkAHIAYQAgAEsAbwByAG8AbABrAG8AdgBhACAAdwBpAHQAaAAgAGEAcwBzAGkAcwB0AGEAbgBjAGUAIABvAGYAIABP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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAA/9IAAAAAAAAAAAAAAAAAAAAA/+kAAAAAAAD/8P/wAAD/8gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//UAAP/q//X/6f/1AAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAD/6AAAAAAAAAAAAAAAAAAA//X/8AAAAAAAAAAAAAAAEP/yABEAAAAAAAAAPAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/yAAD/9AAAAAAAAAAAAAAAAAAAAAAAAP/0//X/6P/wAAD/y//wAAAAAAAAAAD/+gAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+AAEAAAAAAAAAAAAAAAAAAA//UAAAAAAAD/8AAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3AAOAAD/uAAAAAAAAAAAAAAAAAAA//UAAAAHAAb/8//2AAAAAP/QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/6AAAAAD/wgAAAAAAAAAAAAAAAAAA//UAAAAGAAD/8f/wAAAAAP/FAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAA/9IAAAAAAAAAAAAAAAAAAAAA/+gAAP/5AAD/8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/4gAA/9gAAAAAAAAAAAAAAAAAAAAA//AAAP/2AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/7D/8wAA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AAD/8AAAAAAAAAAAAAD/4QAA/8r/sgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP+zAAAAAAAAAAAAAAAAAAAAAAAAAAAAFAAAAAAAAAAAAAAAAAAA/+sAAAAAAAAAAAAA//AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+r/+gAAAAD/7wAA//UAAAAAAAAAAAAAAAD/9AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/y//wAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAAAAAAAAAAAAAAAAAA//r/+gAAAAD/9AAAAAAAAAAAAAAAAAAA/9IAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/9gAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/8AAA/+gAAAAAAAAAAAAA//8AAAAAAAD/8gAA/+kAAAAAAAD/3AAAAAD/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAP/LAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//IAAAAAAAAABQAA//oAAAAAAAAAAAAA/+oAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//oAAAAAAAAAAAAAAB4AAAAAAAAAAAAA//kAAAAAAAD/3QAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/bgAAAAAAAAAAAAAAAAAAAAAAAAAAAAD/3AAA/+kAAAAAAAAAAAAA//UAAAAAAAD/2wAA//UAAP/jAAD/6gAA/8UAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/+YAAAAAAAAAAAAA//AAAAAAAAD/8AAA/+MAAAAAAAAAAAAAAAD/xAAAAAAAAAAAAAAAAAAAAAAAHgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBHAADAAUACgALAA0ADwAQABEAGgAk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AC8AHQArAAAAAAAAAAAALAAtABoAKgAAAC0AAAAtAAAALQAAAAAALAAtACwALQAsAC0ALAAtAAAAAAAAAAAAAAAAACwALQAAACoAAAAqAAAAAAAAAAAAAAAAAAAAKgAsAC0AAAAAAAAAAAAAAAAAAAAAACwALQAAAAwAAAAAAAAAAAAGAAAABwAOAAEAAwK0ABUAAAAYAAAAAAAAAAAAGAAaAAAAGwAAABYAFwAWAAAAAAAAAAAAAAAAAAAAAAAcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAMAAAAAAAAAAAAAAAAACQACAAAAAAADAAQAAwAFAAAABgAAAAcACAAJAAoACwAaAAAAAAAAAAAAAAAAAA8ADAAAAA0ADgAAAAAAAAAAABMAAAAAAAAADwAPAAAAMAAAABAAAAARABIAEwARABQAGgAAAAAAAAAVAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABcAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAAAAAAAAADAAAAAwADAAMAAwADAAAAAwAAAAAAAAAAAAoABAAAAAAAAAAAAAAAAAAAAAAADAANAA0ADQANAAAAAAAAAAAAAAAAAA8ADwAPAA8ADwAAAA8AAAAAAAAAAAARAA8AEQAAAAAAAAAAAAAAAAABAAwAAQAMAAEADAAAAAAAAwAAAAAADQAAAA0AAAANAAAADQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAJABMAAgAAAAIAAAACAAAAAgAAAAAAAAAAAAAAAAAAAAMAAAADAAAAAAANAAUAMAAFADAABQAwAAAAAAAAAAAAAAAAAAAAAAAAAAAABgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAACgALABQACwAUAAsAFAAAAAAAAAAAAAAAAAAGABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAeAAAAAAAAAAAAAAAmACYAAAAlACQAAAAdAAAAAAAeAB8AAAAlAAAAAAAAACUAAAAAAAAAIAAAACEAIgAjACQAIAAlAB8AAAAAAB8AJgAAACYAIAAgAAAAAAAqAAAAKAAAACkALQAAAAAAAAAtAAAAAAAAACoAAAAqACsAKAAsACoALQAAAAAAAAAAAC4AAAAuACoAKgAAACkAAAAoAAAAAAAAAAAAAAAuAC4AAAAtACwAAAAmAC4AIAAqACQALAAfAAAAJgAuACEAKgAeACgAHgAoAAAAAAAlAC0AAAAAACUALQAlAC0AJQAtACUALQAAAAAAHgAoAAAAAAAgACoAIgArACMAKAAkACwAJAAAACUALQAAAAAAHwAAAAAAAAAmAAAAJwApACcAKQAAACUALQAfAAAAAAAAAB8AAAAAAAAAHwAAAAAAHQAAAB0AAAAAACkAAAAAACAAKgAgACoAJQAtAAAAAAAAAC8AAAAAAAAAAAAgACoAIAAqACAAKgAgAAAAJAAsACQALAAkACwAAAAAAB4AKAAAAAAAJQAtAAAAAAAAAAAAJAAsAB8AAAAAAAAACQATAAAAAAAEAA8AAAAXABcAFwAYABgAGQAYABgAGQAAAAAAAAAWAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAPAAAAAAAAAAAAAAAAACQALAAgACoAAAAAAAAAAAAdAAAAAAApAAAAKQAAACkAAAAAACAAKgAgACoAIAAqACAAKgAAAAAAIAAqACAAKgAAACkAAAAAAAAAAAAgACoAIAAqAAAAAAAAAAAAIAAqAAAAAAAAAAAAAAAAAAAAAAAiACsAAwAAAAAAAAAAAAAABgAAAAcAEQABAGgABAAAAC8Ipgh8B/IH4AfWB8wHxgXcBSYFEASuAzACzgK4AqICjALOAn4BwAKMAowBtgGgAYoBKALOAs4CzgLOARICjAD8APwA5gKMAowBoAGKAaABigGgAYoBKAKMAOAAygKMAAEALwAlAEQATgBRALEA5QDyARABEQFLAVMBXgFiAWUBaQFtAXMBewF+AX8BggGPAZ0BngGqAa4BsAGyAbQBtQG2AcEBwwHHAcgBygHWAdcB2gHbAd4B3wHuAhQCIgKdAp4ABQFDAB4BTQAeAVQAHgHWAB4CDwAeAAEBiP+mAAUBQwAYAU0AGAFUABgB1gAYAg8AGAAFATz/+QFF//kBW//5Ab//+QHH//kABQFDABcBTQAXAVQAFwHWABcCDwAXABgBbv/6AXf/+gF6//oBff/6AYn/+gGM//oBmv/6Abz/+gG+//oB6P/6Afj/+gH6//oB/P/6Anr/+gJ+//oCgP/6AoL/+gKG//oCiP/6Aor/+gKM//oClP/6AqL/+gKs//oABQFtACgBdAAoAZEAKAHXACgCEAAoAAUBQwAkAU0AJAFUACQB1gAkAg8AJAACAHAAGwJQABsALwAD/+UAEP/VAGL/5QBv/9UBbf/6AW7/6gF0//oBd//qAXr/6gF8//UBff/qAYn/6gGM/+oBkf/6AZX/9QGa/+oBnP/1Abz/6gG+/+oBwv/1AdD/3AHS/9wB1//6Aej/6gH4/+oB+v/qAfz/6gIA//UCAv/1AgT/9QIQ//oCEv/1Ah7/1QIf/9UCIP/VAnT/9QJ6/+oCfv/qAoD/6gKC/+oChv/qAoj/6gKK/+oCjP/qApT/6gKi/+oCrP/qAAMADAAQAEAAEABgABAABQFtAB4BdAAeAZEAHgHXAB4CEAAeAAUBPP+TAUX/kwFb/5MBv/+TAcf/kwAFATz/sAFF/7ABW/+wAb//sAHH/7AAGAFu//UBd//1AXr/9QF9//UBif/1AYz/9QGa//UBvP/1Ab7/9QHo//UB+P/1Afr/9QH8//UCev/1An7/9QKA//UCgv/1Aob/9QKI//UCiv/1Aoz/9QKU//UCov/1Aqz/9QBfAAP/5QAQ/7gAYv/lAG//uAE8/+UBPv/lAUX/5QFH/+oBSf/wAVf/5QFa/+UBW//lAVz/6gFd/+UBbf/qAW7/1QF0/+oBd//VAXr/1QF7/98BfP/PAX3/1QGD/98Bif/VAYz/1QGR/+oBlf/PAZn/5QGa/9UBm//qAZz/zwGg/98BtP/fAbv/5QG8/9UBvf/lAb7/1QG//+UBwP/fAcH/6gHC/88Bw//qAcf/5QHI/98Bz/+8AdD/uAHR/7wB0v+4Adf/6gHh//AB4//wAeX/qQHo/9UB6f/fAev/3wH3/+UB+P/VAfn/5QH6/9UB+//lAfz/1QH//+oCAP/PAgH/6gIC/88CA//qAgT/zwIQ/+oCEf/qAhL/zwIe/7gCH/+4AiD/uAJz/+oCdP/PAnn/5QJ6/9UCe//wAn7/1QKA/9UCgv/VAoX/5QKG/9UCh//lAoj/1QKJ/+UCiv/VAov/5QKM/9UCk//lApT/1QKh/+UCov/VAqv/5QKs/9UAGAFu/78Bd/+/AXr/vwF9/78Bif+/AYz/vwGa/78BvP+/Ab7/vwHo/78B+P+/Afr/vwH8/78Cev+/An7/vwKA/78Cgv+/Aob/vwKI/78Civ+/Aoz/vwKU/78Cov+/Aqz/vwAFATz/5QFF/+UBW//lAb//5QHH/+UALQAPABAAEP/gABEAEABG//UASP/1AEr/9QBS//UAVP/1AFv/8ABv/+AAqf/1AKr/9QCr//UArP/1AK3/9QCy//UAtP/1ALX/9QC2//UAt//1ALj/9QC6//UAyf/1AMv/9QDN//UAz//1ANH/9QDT//UA1f/1ANf/9QDZ//UA2//1AN3/9QDf//UA/f/1AP//9QEB//UBKP/1Ah7/4AIf/+ACIP/gAiMAEAImABACKgAQAq7/9QB6AAP/2AAMABsAD/+aABD/rAAR/5oAJP+9ACb/0AAq/9AAMv/QADT/0AA3ABQAO//fADz/9AA9/+gAQAAbAET/lwBG/4AASP+AAEr/gABQ/5cAUf+XAFL/gABT/5cAVP+AAFX/lwBW/5cAV//DAFj/lwBZ/4AAWv+AAFv/gABc/4AAXf+AAGAAGwBi/9gAb/+sAIL/vQCD/70AhP+9AIX/vQCG/70Ah/+9AIj/igCJ/9AAlP/QAJX/0ACW/9AAl//QAJj/0ACa/9AAn//0AKL/swCj/7MApP+zAKX/swCm/7MAp/+zAKj/lwCp/4AArv+zAK//swCy/4AAs/+zALr/gAC7/7MAvP+zAL3/swC+/7MAwv+9AMP/swDE/70Axf+zAMb/vQDH/5cAyP/QAMn/gADK/9AAzP/QAM//gADR/4AA1/+AANr/0ADc/9AA3v/QAN//gAD3/7MA+f+XAPv/swD8/9AA/v/QAQD/0AEB/4ABA/+zAQX/lwEJ/7MBC/+zAQ3/lwESABQBE//DARX/swEX/7MBGf+zARv/swEd/5cBHv/0AR//6AEh/+gBI//oASf/0AEo/4ABKv+XASsAFAEs/8MCHv+sAh//rAIg/6wCI/+ZAib/mQIq/5oCrv+AArMAFAK2/4AAAQAN/5IAAgBwABYCUAAWAAIAcAAeAlAAHgAEADf/gQES/4EBK/+BArP/gQAiAEb/9ABI//QASv/0AFL/9ABU//QAqf/0AKr/9ACr//QArP/0AK3/9ACy//QAtP/0ALX/9AC2//QAt//0ALj/9AC6//QAyf/0AMv/9ADN//QAz//0ANH/9ADT//QA1f/0ANf/9ADZ//QA2//0AN3/9ADf//QA/f/0AP//9AEB//QBKP/0Aq7/9AAKAAX/+AAK//gAN/+IARL/iAEr/4gCIf/4AiL/+AIk//gCJf/4ArP/iAAEADf/4gES/+IBK//iArP/4gABAe4ABAAAAPIHtgewB7AHqgekB5IHpAeMB4YHfAekB3IHbAdiB1gHbAdSB2wHSAbKBpwGhgdiBjgGLgeqBigGIgYcBf4F+AYiBiIF8geqB7YHkgd8B3wHfAd8B3wHfAdyB2wHbAdsB2wHbAdsB2wGOAdSBhwGIgYiBiIGIgYiBiIGIgd8B3wHfAdyBhwHcgYcB3IGHAdsB2IHWAdYB1gHWAdsB2wHSAXyB0gF8gdIBfIGygbKBjgGLgYuBi4GygVwBWIFYgUMBQIFcAT8BO4E4ATSBEQFDATuBDYE/AT8BWIFYgTuBO4EMAQqBCQEHgQwBCoEGAQwBBgEMAQSBAgEAgQwBBID/AP8BDAEMAQwBCQD/AP8BAIFYgP8BO4EMAUMBAIE/AViA/wE4AQwBXAEJAVwBCQFcAQkBO4EMATSBBIERAQkBQwEAgUMBPwFYgPuBDAD7gQwBPwE/AT8BQIFAgQwBO4EMATuBDAEEgTuBDAE7gQwBO4EMATuBQwEAgUMBAIFDAQCBXAEJAUMBAIE/AdiB1IGIgeSB5IHkgewA+AD1gewB7AD1gekBiIFDAQCBO4EMAUCBDAEMAQwBO4EMATuBDAE7gQwBO4EMATuBDAE7gQwBDAE7gQwBO4EMATuBDAE0gQSB2wGygacAAEA8gADAAUACgALAA8AEAARABoAHQAkACUAJgAnAC4ALwAyADMANAA1ADcAOQA6ADsAPAA9AD4ARABFAEYASQBRAFIAUwBVAF4AYgBvAIIAgwCEAIUAhgCHAIkAkgCUAJUAlgCXAJgAmgCfAKAAqQC0ALUAtgC3ALgAugDAAMIAxADGAMgAyQDKAMsAzADNANAA7ADuAPAA8gD0APwA/gECAQMBBAEFAQYBBwEQARIBHgEfASEBIwErAT0BQwFEAUcBSQFMAU0BVwFZAVoBWwFcAV0BXgFfAWIBYwFlAWYBZwFqAWsBbAFtAW4BcAF1AXcBeAF5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AhMCFQIXAhkCGwIdAl8CawJtAm8CcQJzAnUCdwJ5AnsCfQJ/AoECgwKFAocCiQKLAo0CjwKRApMClQKXApkCmwKdAp8CoQKjAqUCpwKpAqsCrQKvArECswK1ArcCuQAAAAAALwAAAtQJCgcAAgIDAwUFBwcCAwMEBQIDAgMFBQUFBQUFBQUFAgIFBQUECgYFBQYFBQYGAwMFBQcGBgUGBQUFBgYHBgUFAwMDBQQDBAUEBQUDBQUCAgQDBwUFBQUDBAMFBAcEBAQDAgMFAgMFBQUFAgQEBwMFBQMGBAQFBAQCBQUCAwQEBQgICAQGBgYGBgYIBQUFBQUDAwMDBgYGBgYGBgUGBgYGBgUFBQQEBAQEBAcEBQUFBQICAgIFBQUFBQUFBQUFBQUFBAUEBgQGBAYEBQQFBAUEBgUGBQUFBQUFBQUFBgUGBQYFBgUGBQMCAwIDAgMCBQQFAwUDBQMFAwYFBgUGBQYFBgUICAUDBQMFAwUEBQQFBAUEBQMFAwYFBgUGBQYFBgUFBQQFBAUEAwUGBQUEBQMCAgMEBAIDAwQDAAUHBgUHBAUFAwMDCAkHBQUGBgUFBAYFCAUGBgUGBwYGBgUFBQUHBgYFCAgGBwUFCAUEBQQDBQUGBAUFBAUGBQUFBQQEBAYEBQQGBwQGBAQHBAUFAwQEAgMCBwcFBAQFBgQGBQUFBgUGBAUFBAMEAwUFBwYFBAYFBgUGBAYFBgUIBgkIBwYFBAUEBQQFBAYFCAYGBQYFBQUHBgcGAwUEBgUGBQYFBQQHBgIGBAYECAcFBQYFBgUIBgUEBQQGBQYFBgUGBQYFBQQFBAUEBQQFBAQDBwYGBAUEBgUHBwYFBgUFBAcHBQUGAwYHAgICAwMDBAQEBwoDAwIEBAQEBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQkIBQUGBQUFBQgDBQUFBQUGBQAEAwQCAgIDBAMFBQUDBQUFBAUEBQQFBAUEBgQFBQUFBQUFBAYFBgUGBQYFBwYFBAUEBQQFBAUECAcIBwYFBgUGBQcGBQQDAgUEBQQGBQYFBQMFAwYEBQQFBAICBAQCBAQCAwQEAwQEBAQFBgICAgAACgsIAAMDAwMFBQgIAgMDBAUCBAIEBQUFBQUFBQUFBQIDBQUFBAsGBgYHBQUGBwMDBgUIBwcFBwYFBQcGCAYFBQMEAwUEAwQFBAUFAwUFAgMFAwgFBQUFAwQDBQUHBQUEAwIDBQMDBQUFBQIFBAgEBQUEBwQEBQQEAwYFAwMEBAUICQkEBgYGBgYGCAYFBQUFAwMDAwcHBwcHBwcFBwcHBwcFBgYEBAQEBAQIBAUFBQUCAgICBQUFBQUFBQUFBQUFBQUFBQYEBgQGBAYEBgQGBAcGBwUFBQUFBQUFBQYFBgUGBQcFBwUDAgMCAwIDAwYFBQMFAwUDBQMHBQcFBwUHBQcFCQgGAwYDBgMFBAUEBQQFBAUDBQMHBQcFBwUHBQcFBQUEBQQFBAIFBgUFBAUDAwIEBAQCAwMEBAAGCAcFBwQGBQMDAwkKCAYFBwYGBgQHBQgFBwcGBwgHBwcFBgUFCAYHBgkJBggGBgkGBAUFBAYFBgQFBQUFBgUFBQUEBAUGBQUFBwcFBgQEBwUFBQQFBAIDAwcIBQUFBQYFBwUFBQcGBgUGBQQEBQQGBQgHBQQGBQcFBgUHBQcFCAcKCAgHBgQFBAUFBgUGBQgGBgUGBQYFCAYIBgMGBQYFBwUHBgYFCAcCBgQGBAgIBQUGBQYFCAYFBAYFBwUHBQcFBwUHBQYEBQUFBQUFBgUEBAgGBgUFBAYFCAcHBgYGBgUICAUFBwQHCAICAgMDAwUFBQgLAwMCBAQEBAUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUKCQYFBwUFBQUJBAUFBQUFBwYABQMEAgICAwQDBgUFAwYFBgUFBQYEBQQGBAYEBQUFBQUFBQQHBQcFBwUHBQgGBgQGBAYFBgUGBQkHCQcHBgcFBwUIBgUEAwIFBAYEBwUHBQUDBQMGBQUEBQQCAgMEAgQEAgQEBAQEBAUEBQYCAgIAAAsNCAADAwMEBgYJCQIDAwQGAgQCBAYGBgYGBgYGBgYCAwYGBgUMBgYGBwYGBwcDAwcGCQcIBggHBgYHBgkHBgYDBAMGBAMGBgUGBgQGBgMDBQMJBgYGBgQFAwYFCAUFBQQDBAYDAwYGBgYDBQUJBAUGBAgFBQYEBAMGBQMDBAQFCQkKBQYGBgYGBgkGBgYGBgMDAwMHBwgICAgIBggHBwcHBgYHBgYGBgYGCQUGBgYGAwMDAwYGBgYGBgYGBgYGBgYFBgUGBgYGBgYGBQYFBgUHBgcGBgYGBgYGBgYHBgcGBwYHBgcGAwMDAwMDAwMHBQYDBgMGAwUDBwYHBgcGCAYIBgoJBwQHBAcEBgUGBQYFBgUGAwYDBwYHBgcGBwYHBgYGBQYFBgUDBgcGBgUGAwMCBAQFAwMDBAQABgkHBggFBgYDAwMKCggHBgcGBgYFBwYJBgcHBwcJBwgHBgYGBgkHCAcKCgcIBgYKBgYGBQQGBgcFBgYFBgcGBgYGBQQFBwUGBQgIBQcFBQgFBgYEBQUDAwMICAYFBQYHBQgGBwYHBgcFBgYFBAUEBgYJCAYFBwYIBgcFCAYIBgkHCwkJCAYFBgQGBQYFBwUJBgcGBwYHBgkHCQcDBwYHBgcGBwYHBgkHAwYGBgYJCQYGBwYHBgkHBgUGBQcGBwYIBggGCAYGBQYFBgUGBQcFBQQIBwcFBgUHBgkICAYHBgcFCQkGBgcEBwkCAgIEBAQFBQUIDQMDAgQEBAQGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGCwoHBgcGBgYGCQQGBgYGBggGAAUDBQMCAwQFAwYGBgQHBgcGBgUGBQYFBgUGBgYGBgYGBgYFCAYIBggGCAYIBwYFBgUGBQYFBgUKCAoIBwYHBggGCAcGBQMDBgUGBQcGBwYGAwYDBgUGBQYFAgIEBAIEBAMEBQUEBQUFBQYGAgMCAAAMDgkAAwMEBAcHCQoDAwMEBgMEAwQHBwcHBwcHBwcHAwMGBgYFDQcHBwgGBgcIAwMHBgkICAcIBwcHCAcKBwcHAwUEBgUDBQYFBgYEBgYDAwUECgYGBgYEBQQGBgkGBgUEAwQGAwQHBwcHAwYFCgUGBgQIBQUGBQUDBwYDAwUFBgoKCwUHBwcHBwcKBwYGBgYDAwMDCAgICAgICAYICAgICAcHBwUFBQUFBQkFBgYGBgMDAwMHBgYGBgYGBgYGBgYGBgYGBwUHBQcFBwUHBQcFCAcIBgYGBgYGBgYGBwYHBgcGCAYIBgMDAwMDAwMDBwUGBAYEBgQGBAgGCAYIBggGCAYLCgcEBwQHBAcFBwUHBQcFBwQHBAgGCAYIBggGCAYHBwUHBQcFAwcHBgcFBwQDAgUFBQMEBAUFAAcKCAYJBQcHAwQDCwwJBwcIBwcHBQcGCQYICAcHCQgICAcHBwcJBwgHCwsICQcHCwcFBgUEBwYIBQYGBgYHBgYGBgUFBggGBwYICQUHBQUIBQYGBAYFAwMDCQkGBgYGBwUIBgcGCAcHBQcGBQQGBQcGCggGBQcGCAYIBQgGCAcKCAwKCgcHBQcFBwYHBggGCggIBwcGBwYJBwkHAwcGBwcIBggHBwYJCAMHBQcFCgkGBggGCAYJCAYFBwYIBggGCAYIBggGBwUHBgcGBwYHBgUECQcHBgYFCAYKCQgHBwcHBQkKBwYIBAgKAgICBAQEBgYFCQ4EBAIFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBgwLBwYIBgYGBgoEBgYGBgYIBwAGAwUDAgMEBQQHBgYEBwYHBgcGBwUGBQcFBwUGBgYGBgYGBQgGCAYIBggGCQcHBQcFBwYHBQcFCwgLCAgGCAYIBgkHBgUDAwYFBwUIBwgGBgQHBAcGBgUGBQICBAQDBAUDBAUFBAUFBQUGBwIDAgAADQ8KAAMDBAQHBwoLAwQEBQcDBQMFBwcHBwcHBwcHBwMDBwcHBg4HCAcJBwcICAMDBwYKCAkHCQcHBwgHCwcHBwQFBAcFBAYHBgcHBAcHAwMGBAsHBwcHBAUEBwYKBwYGBQMFBwMEBwcHBwMGBQoFBgcFCQUGBwUFAwcGAwQFBQYLCwsGBwcHBwcICwcHBwcHAwMDAwkICQkJCQkHCQgICAgHBwgGBgYGBgYKBgcHBwcDAwMDBwcHBwcHBwcHBwcHBwYHBgcGBwYIBgcGBwYHBgkICQcHBwcHBwcHBwgHCAcIBwgHCQcDAwMDAwMDAwcGBgQGBAYEBwQIBwgHCAcJBwkHDAsHBAcEBwQHBQcFBwUHBQcEBwQIBwgHCAcIBwgHBwcGBwYHBgMHCAcHBQcEAwMFBQYDBAQFBQAHCgkHCQYIBwMEAwwMCgcHCAcHCAYJBwsHCAgHCAoICQgHBwcHCgcJCAsMCAoHCAwHBgcGBQcHCQYHBwYGCAcHBwcGBQYJBwcHCQkGCQYGCQYHBwUGBQMDAwoKBwYGBwgGCQcHBwgHCAYHBwYFBgUIBwsJBwYIBwkHCQYJBwkHCwkNCwsJBwYHBQcGBwYIBwsICAcIBwgHCggKCAMIBggHCAcJBwgGCggDBwYHBgsKBwcIBwgHCwkHBgcGCAcIBwkHCQcJBwgGBwYHBgcGCAcGBQoJCAcHBggHCwoJBwgIBwYKCwcHCQUJCwMDAwQEBAYGBgoPBAQCBQUFBQcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcNDAgHCQcHBwcLBQcHBwcHCQgABgQGAwMDBAYECAcHBAgHCAcHBggGBwYHBgcGBwcHBwcHBwYJBwkHCQcJBwoJCAYIBggGBwYHBgwJDAkJBwgHCQcKCQcGAwMHBQcGCQcIBwYEBwQHBgcGBwYDAwQEAwQFAwUGBQUGBgYGBwgCAwIAAA4QCwAEBAQFCAgLCwMEBAUHAwUDBQgICAgICAgICAgDBAcHBwYPCAgICQgHCQkDBAkHCwkKCAoIBwgJCAwJBwgEBQQHBgQHCAYHBwQICAQEBwQLCAgICAUGBQgHCgcHBgUDBQcEBAgICAgDBwYLBQcHBQoGBgcGBgQIBwQEBgYHDAwMBggICAgICAwICAgICAMDAwMJCQoKCgoKBwoJCQkJBwgJBwcHBwcHCwYHBwcHBAQEBAgICAgICAgHCAgICAgHCAcIBwgHCAcIBggGCAYJCAkICAcIBwgHCAcJCAkICQgJCAkIAwQDBAMEBAQJBwcEBwQHBAcECQgJCAkICggKCA0MCAUIBQgFBwYHBgcGBwYIBQgFCQgJCAkICQgJCAcIBggGCAYDCAkIBwYIBQQDBQYGAwQEBgUACAsJCAoGCAcDBAQNDgsJCAkICAgGCQgLCAkJCQgLCQoJCAgICAsJCggMDQkKCAgNCAcIBwUIBwkGBwcHBwkHCAcIBgYHCQcIBwsLBwkHBwoHBwgFBwYEBAQKCwgHBwcJBwoICAcKBwkHCAgGBQcFCAcLCggGCQcKCAkHCgcKCAwJDgwLCQgGBwYHBwcHCQcMCQkHCQcICAsICwgDCAcJBwkHCgcIBwsJBAgHCAcMCwgHCQcJBwsJCAYIBwkHCQcKCAoICggIBwgHCAcIBwgHBgUKCQkHCAYJBwwKCggJCAkHCwsICAkFCQsDAwMFBQUHBwYLEAQEAwYGBgYICAgICAgICAgICAgICAgICAgICAgICAgICAgHDgwIBwkHBwcHDAUHBwcHBwoIAAcEBgMDAwUGBAgIBwQICAgHCAcIBwgGCAYIBwgHCAcIBwgGCggKCAoICggKCQgHCAcIBwgHCAcNCg0KCQcJBwoICgkIBgMEBwYIBgkICQgHBAgFCAcIBggGAwMFBQMFBgMFBgYFBgYGBggIAwQDAAAPEQsABAQFBQgIDAwDBAQFCAMFAwUICAgICAgICAgIAwQICAgHEAkJCQoICAkKBAQJCAsKCggKCQgICgkNCQgIBAYFCAYEBwgHCAgFCAgEBAcEDAgICAgFBgUIBwsHBwcFAwUIBAUICAgIBAcGDAYHCAULBgYIBgYECAcEBAYGBw0NDQcJCQkJCQkNCQgICAgEBAQECgoKCgoKCggKCgoKCggICQcHBwcHBwwHCAgICAQEBAQICAgICAgICAgICAgIBwgHCQcJBwkHCQcJBwkHCgkKCAgICAgICAgICQgJCAkICggKCAQEBAQEBAQECQcIBAgECAQIBAoICggKCAoICggODQkFCQUJBQgGCAYIBggGCAUIBQoICggKCAoICggICAcIBwgHBAgJCAgGCAUEAwYGBgQFBQYGAAkMCggLBwkIBAQEDg8LCQgKCQgJBwoIDAgKCgkJCwoKCggJCAgLCQoJDQ4JCwgJDQgHCAcFCAgJBwgIBwcJCAgICAcFBwsHCAcLCwcKBwcLBwgIBQcGBAQECwwIBwcICQcKCAkICggJBwgIBwYHBgkIDAoIBwkICggKBwoICwgNCg8NDAoJBwgGCAcIBwoIDQkKCAkICQgMCQwJBAkHCQgKCAoICQcMCgQJBwkHDQwICAoICggMCQgHCAcKCAoICggKCAoICQcIBwgHCAcJBwcGCwoJCAgHCQgNCwoICgkJBwsMCAgKBQoMAwMDBQUFBwcHCxEEBAMGBgYGCAgICAgICAgICAgICAgICAgICAgICAgICAgICA8NCQgKCAgICA0FCAgICAgLCQAHBAcEAwQFBwUJCAgFCQgJBwgHCQcIBwkHCQcICAgICAgIBwoICggKCAoICwoJBwkHCQcIBwgHDQsNCwoICggKCAsKCAcEBAgGCQcKCAoICAQIBQkHCAcIBwMDBQUDBQYEBQcGBQcHBwYICQMEAwAAEBIMAAQEBQUJCQwNAwQEBggEBgMGCQkJCQkJCQkJCQQECAgIBxEJCQkKCAgKCgUECggNCgsJCwkJCQoJDQoJCQUGBQgHBAgJBwkIBQkIBAQIBQ0ICQkJBQcFCAcLCAcHBgMGCAQFCQkJCQQIBw0GCAgGCwcHCAYGBAkIBAUGBggNDg4HCQkJCQkJDgkICAgIBQUFBQsKCwsLCwsICwoKCgoJCQkICAgICAgNBwgICAgEBAQECQgJCQkJCQgJCAgICAcJBwkICQgJCAkHCQcJBwoJCwkICAgICQgICAoJCgkKCQoICggFBAUEBQQEBAoICAUIBQgFCAUKCAoICggLCQsJDw4JBQkFCQUJBwkHCQcJBwkFCQUKCAoICggKCAoICQkHCQcJBwQJCgkJBwkFBAMGBgcEBQUGBgAJDQsIDAcJCQUFBBAQDAoJCgkJCQcLCA0JCgoKCg0KCwoJCQkJDQoLCQ4PCgwJCQ4JCAkIBggICwcICAgICggJCAkHBgcLCAkICwwICgcHDAcICAYIBwQEBAwMCAgHCAoICwkKCAsJCggJCQcGCAYJCA0LCQcKCAsJCwgLCAsJDgsQDQ0LCQcJBgkICQgKCA0KCggKCAkIDAoMCgUKCAoICgkLCQkIDQsECQgJCA4NCAgKCAoIDQsJBwkICggKCAsJCwkLCQkHCQcJBwkHCQgHBgwKCggJBwoIDQsLCQoJCggNDQkJCwYLDQMDAwUFBQgIBwwSBQUDBgYGBgkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQgQDgoICwgICAgOBggICAgICwkABwUHBAMEBQcFCQkIBQoICQgJBwkHCQcJBwkICAgICAgICQcLCQsJCwkLCQwKCQcJBwkICQcJBw4MDgwLCAoICwkMCgkHBQQIBwkHCgkKCAgFCQUJBwkHCQcDAwUFAwUGBAYHBwYHBwcHCAkDBAMAABEUDQAFBQUGCQkNDgQFBQYJBAYEBgkJCQkJCQkJCQkEBAkJCQcSCgoKCwkJCgwFBQoJDQsMCgwKCQkLCg4KCgkFBgUJBwUICQgJCQUJCQUFCAUOCQkJCQUHBgkIDQkICAYDBgkFBQkJCQkECAcOBwgJBgwHBwkHBwUJCAUFBwcIDg4PBwoKCgoKCg4KCQkJCQUFBQULCwwMDAwMCQwLCwsLCgoKCAgICAgIDggJCQkJBQUFBQkJCQkJCQkJCQkJCQkICQgKCAoICggKCAoICggLCgsJCQkJCQkJCQkKCQoJCgkMCQwJBQUFBQUFBQUKCAkFCQUJBQkFCwkLCQsJDAkMCRAPCgUKBQoFCQcJBwkHCQcJBgkGCwkLCQsJCwkLCQoJCAkICQgECQoJCQcJBgUDBwcHBAUFBwcACg4LCQwICgkFBQUQEQwKCQsKCgoICwkOCQsLCgoNDAwLCgoJCQ0KDAoODwoNCQoPCggJCAYJCQsICQkICAoJCQkJCAcICwkJCA0NCAsICAwICQkGCAcFBQUMDQkICAkLCAsJCgkLCgsICgkIBggHCgkODAkICgkMCQsIDAkMCQ8MEQ4OCwoICQcKCAkICwkOCwsJCggKCQ0LDQsFCggLCQsJDAkKCA4LBQoICggODgkJCwkLCQ4LCQgKCAsJCwkMCQsJCwkKCAkICQgJCAoICAYNCwsJCQgLCA4NDAkLCgoIDQ4KCQsGCw4DAwMGBgYICAgNFAUFAwcHBwcJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJEQ8KCQwJCQkJDwYJCQkJCQwKAAgFBwQDBAYHBQoJCQUKCQoICQgKCAkICggKCAkJCQkJCQkIDAkMCQsJCwkNCwoICggKCAoICggPDA8MCwkLCQwJDQsJCAUFCQcKCAsJDAkJBQkGCggJBwkHAwMGBgQGBwQGBwcGCAcIBwkKAwUDAAASFQ4ABQUFBgoKDg8EBQUGCQQGBAYKCgoKCgoKCgoKBAUJCQkIEwsKCgsKCQsMBQULCQ4MDAoMCwoKDAoPCwoKBQcFCQcFCQoICgkGCgoFBQgFDgoJCgoGCAYKCQ0JCAgGAwYJBQUKCgoKBAkHDwcJCQYNBwgJBwcFCgkFBQcHCQ8PEAgLCwsLCwsPCgoKCgoFBQUFDAwMDAwMDAkMDAwMDAoKCwkJCQkJCQ4ICQkJCQUFBQUKCgkJCQkJCQkKCgoKCAoICwkLCQsJCggKCAoICwsMCgoJCgkKCQoJCwoLCgsKDAoMCgUFBQUFBQUFCwgJBQkFCQUJBQwKDAoMCgwJDAkRDwsGCwYLBgoICggKCAoICgYKBgwKDAoMCgwKDAoKCggKCAoIBAoLCgoICgYFAwcHCAQGBQcHAAoODAoNCAoKBQUFERIOCwoMCwoKCAwKDwoMDAsLDgwMDAoKCgoPCwwLEBALDgoKEAoJCgkHCQkMCAoKCAkMCgkKCggHCAwJCgkNDgkMCAgMCQkKBwkIBQUFDQ4KCAgKCwkMCQsJDAoLCQoJCAcJBwoKDwwKCAsJDAoMCAwJDQoQDBIPDwwKCAoHCgkKCQwJDwwMCQsJCwoOCw4LBQsICwkMCgwKCwkODAULCQsJDw4KCQwJDAkPDAoICgkMCgwKDAkMCQwJCggKCAoICggLCQgHDgwLCQoICwkPDQwKDAoLCA4OCgoMBgwPAwMDBgYGCQkIDhUFBQMHBwcHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCRIQCwkMCQkJCQ8GCQkJCQkNCgAIBQgEAwQGCAUKCgkGCwoLCQoICggKCAoICwkKCQoJCgkKCAwJDAkMCQwJDgwKCAoICgkKCQoJEAwQDAwJDAoMCQ4MCggFBQkHCggLCgwKCQUKBgoJCggKCAMDBgYEBgcEBggIBggICAgKCwMFAwAAExYOAAUFBgYKCg8PBAUFBwoEBwQHCgoKCgoKCgoKCgQFCgoKCBQLCwsMCgoMDQYGCwoPDA0LDQsKCwwLEAwLCgYHBgoIBQkKCQsKBgoKBQUJBhAKCgoKBggGCgkOCQkJBwUHCgUGCgoKCgUJCA8HCQoHDQgICgcHBQoJBQUHCAkQEBEICwsLCwsLEAsKCgoKBgYGBg0MDQ0NDQ0KDQwMDAwLCwsJCQkJCQkPCQoKCgoFBQUFCwoKCgoKCgoKCgoKCgkKCQsJCwkLCQsJCwkLCQwLDQoKCgoKCgoKCgwKDAoMCg0KDAoGBQYFBgUGBQsJCgYKBgoGCgYMCgwKDAoNCg0KEhALBgsGCwYKCAoICggKCAsGCwYMCgwKDAoMCgwKCwoJCgkKCQUKDAoKCAsGBQQHCAgEBgYIBwALDw0KDggLCgYGBhITDgsLDAsKCwgNCg8KDQ0LDA8NDQ0LCwsLDwwODBESDA8LCxELCQoJBwoKDAgKCgkJDAoKCgoJCAkNCQoJDg4JDQkJDgkKCgcJCAUFBQ4PCgkJCgwJDQoLCg0LDAkLCggHCQcLChANCggMCg0KDQkNCg0KEA0TEA8NCwkKCAsJCgkMChAMDAoMCQsKDwwPDAYLCQwKDAoNCwwJDw0FCwkLCRAPCgoMCgwKDwwKCAsJDQoNCg0KDQoNCgsJCwkLCQsJDAkIBw8NDAoKCAwJEA4NCwwLCwkPEAsKDQcNEAQEBAYGBgkJCQ4WBgYEBwcHBwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoTEQsKDQoKCgoQBwoKCgoKDQsACQUIBAQFBggGCwoKBgwKDAkLCQsJCggLCQsJCgoKCgoKCggNCg0KDQoNCg8NCwkLCQsJCwkLCREOEQ4MCgwKDQoPDQoIBgUKCAsJDAoNCgoGCwYLCQoICggEBAYGBAYHBAcICAcICAkICgsEBQQAABQXDwAFBQYHCwsPEAQGBgcKBQcEBwsLCwsLCwsLCwsEBQoKCgkVDAwLDQsKDA0GBgwKEA0NCw0MCgsNCxEMCwsGCAYKCAYJCwkLCgYLCwUFCgYQCwsLCwcIBwsJDwoJCQcFBwoFBgsLCwsFCggQCAoKBw4ICQoICAULCgUGCAgKERESCQwMDAwMDBELCwsLCwYGBgYNDQ0NDQ0NCg4NDQ0NCwsMCQkJCQkJEAkKCgoKBQUFBQsLCwsLCwsKCwsLCwsJCwkMCQwJDAoLCQsJCwkNDA0LCwoLCgsKCwoMCwwLDAsNCw0LBgUGBQYFBgUMCgoGCgYKBgoGDQsNCw0LDQsNCxMRDAcMBwwHCggKCAoICggLBwsHDQsNCw0LDQsNCwsLCQsJCwkFCwwLCggLBwUECAgJBQYGCAgACxANCw8JDAoGBgYTEw8MCw0MCwwJDQsQCg4ODAwQDQ0NCwsLCw8MDgwREg0QCwsSCwkLCggLCg0JCwsKCg0LCwsLCQgJDgoLCQ8PCg0JCQ8JCgsICQgFBgUPDwsKCQsMCg4LDAoOCwwKCwsJCAoIDAsQDgsJDAoOCw0KDgoOCxEOFBEQDQsJCwgLCgsKDQsRDQ0KDAoMCw8MDwwGDAoMCg0LDgsMCRANBQwJDAkREAsKDQoNChANCgkLCg4LDgsNCw4LDgsLCQsJCwkLCQwJCQcQDQwKCwkNChEPDgsNDAwKEBALCw0HDRAEBAQHBwcKCgkPFwYGBAgICAgLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsKFBIMCg4KCgoKEQcKCgoKCg4MAAkGCQUEBQcJBgwLCgYMCwwJCwkLCQsJCwkMCQsKCwoLCgoJDQsNCw4LDgsQDQsJCwkMCQsJCwkSDxIPDQoNCw0LEA0LCQYFCggLCQ0LDQsKBgsHCwkKCQoJBAQHBwQHCAUHCQgHCQkJCQsMBAUEAAAVGBAABgYGBwsLEBEFBgYHCwUIBQcLCwsLCwsLCwsLBQULCwsJFgwMDA4LCw0OBgYNCxEODgwODQsMDgwRDQwLBggGCwkGCgwJCwsHCwsGBgoGEQsLDAsHCQcLChAKCgkHBQcLBgYLCwsLBQoJEQgKCwgPCQkLCAgGDAoGBggIChISEgkMDAwMDAwSDAsLCwsGBgYGDg4ODg4ODgsODg4ODgwMDAoKCgoKChEJCwsLCwUFBQUMCwsLCwsLCwsLCwsLCgwKDAoMCgwKDAkMCQwJDgwOCwsLCwsLCwsLDQsNCw0LDgsPDAYFBgUGBQYGDQoLBgsGCwYLBg4LDgsOCw4LDgsUEg0HDQcNBwsJCwkLCQsJDAcMBw4LDgsOCw4LDgsMCwkLCQsJBQsNCwsJDAcGBAgICQUHBggIAAwRDgsPCQwLBgYGExQQDQwODAwMCQ4LEQsODg0NEQ4ODgwMDAwQDQ4NEhMNEQwMEwwKCwoICwsOCQsLCwsNCwsLDAkICg4KDAoPEAoOCgoQCgsMCAoJBgYGDxAMCwoLDQoOCw0LDgwNCgwLCQgKCAwLEQ8LCQ0LDgwOCg4LDwwSDhUREQ4MCQwIDAoMCg4LEg0NCw0KDAsQDRANBg0LDQsOCw4MDQoRDgUMCgwKEhELCw0LDQsRDgsJDAoOCw4LDgsOCw4LDAoMCgwKDAoNCgkIEQ4NCwsJDQsREA8MDQwNChERDAwOCA4RBAQEBwcHCgoJEBgGBgQICAgICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCxUTDQsOCwsLCxIHCwsLCwsPDAAKBgkFBAUHCQYMDAsHDQwNCgwKDAoLCQwJDAoLCwsLCwsLCQ4LDgsOCw4LEQ4MCgwKDAoMCgwKExATEA4LDgsOCxEOCwkGBQsJDAkOCw4LCwYMBwwKCwkLCQQEBwcFBwgFBwkJBwkJCgkLDAQFBAAAFhkRAAYGBwcMDBESBQYGCAsFCAUIDAwMDAwMDAwMDAUGCwsLChcNDQ0ODAsNDwYGDQsRDw8MDw0MDA8NEg4MDAcIBwsJBgoMCgwLBwwMBgYLBhEMDAwMBwkHDAsQCwoKCAUICwYHDAwMDAULCRIICwsIDwkJCwkJBgwLBgYJCQsSExMKDQ0NDQ0NEw0MDAwMBgYGBg4PDw8PDw8LDw8PDw8MDA0KCgoKCgoRCgsLCwsGBgYGDAwMDAwMDAsMDAwMDAoMCg0KDQoNCg0KDQoNCg4NDgwMCwwLDAsMCw0MDQwNDA8MDwwGBgYGBgYGBg0LCwYLBgsGCwYPDA8MDwwPDA8MFRMNBw0HDQcMCQwJDAkMCQwHDAcPDA8MDwwPDA8MDAwKDAoMCgUMDQwMCQwHBgQICQkFBwcJCQANEg8MEAoNDAYGBhQVEQ0MDw0MDQoPDBIMDw8NDhEPDw8MDQwMEg4PDRMUDhEMDRQNCgwLCAwLDwoMDAsLDgwMDAwKCQoOCwwKEBELDwsKEAoLDAgKCQYGBhARDAsKDA4LDwwNCw8MDgsMDAoICwgNDBIPDAoOCw8MDwsPCxAMEw8WExIPDQoMCQwLDAsODBIODgsNCw0MEQ0RDQYNCw4LDwwPDA0KEg8GDQoNChMRDAsOCw4LEg8MCgwKDwwPDA8MDwwPDA0KDAoMCgwKDQoKCBEPDgsMCg4LEhAPDA4NDQsREQwMDwgPEgQEBAcHBwsLChEZBwcECQkJCQwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAsXEw0LDwsLCwsTCAsLCwsLEA0ACgYKBQQFBwoHDQwLBw0MDQoMCg0KDAoNCg0KDAsMCwwLDAoPDA8MDwwPDBEPDQoNCg0KDQoNChQQFBAODA8MDwwRDwwKBgYLCQ0KDgwPDAsGDAcNCwwKDAoEBAcHBQcJBQgKCQgKCgoJDA0EBgQAABcaEQAGBgcIDQ0SEwUGBggMBQgFCA0NDQ0NDQ0NDQ0FBgwMDAoYDQ0NEAwMDg8GBw4MEg8QDRAODA0PDRMODQ0HCQcMCQYLDAoMDAcMDQYGCwcTDQwMDAgKCAwLEQsLCggFCAwGBw0NDQ0GCwkTCQsMCBAKCgwJCQYNCwYHCQkLExQUCg0NDQ0NDRMNDAwMDAYGBgYPDxAQEBAQDBAPDw8PDQ0OCwsLCwsLEgoMDAwMBgYGBg0NDAwMDAwMDAwMDAwLDAsNCw0LDQsNCg0KDQoQDg8MDAwMDAwMDAwODA4MDgwPDRANBgYGBgYGBwYOCwwHDAcMBwwHDw0PDQ8NEAwQDBUUDggOCA4IDAoMCgwKDAoNCA0IDwwPDA8MDwwPDA0NCg0KDQoGDQ4MDAoNCAYECQkKBQcHCQkADRIPDBEKDQwGBwcVFhEODQ8NDQ0KDwwSDBAQDg4SDxAPDQ0NDRIOEA4UFQ4SDQ0VDQsMCwgMDA8KDQ0LDA8NDA0MCgkLEAsNCxERCw8LCxELDA0ICwoGBgYREg0LCwwOCxAMDgwQDQ4LDQwKCAsJDQwTEAwKDgwQDA8LEAwQDRQQFxMTDw0KDQkNCw0LDwwTDw8MDgsODRIOEg4GDgsODA8MEA0OCxIPBg0LDQsTEgwMDwwPDBIPDAoNCxANEA0QDBAMEAwNCw0LDQsNCw4LCggSDw4MDAoODBMREA0PDQ4LEhMNDA8IDxMEBAQICAgLCwoRGgcHBAkJCQkNDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0MGBQODBAMDAwMFAgMDAwMDBANAAsHCgUEBggKBw0MDAcODQ4LDQsNCwwKDQoNCwwMDAwMDAwKEAwQDBAMEAwSDw0LDQsNCw0LDQsVERURDwwPDRAMEg8MCgYGDAoNChANDw0MBw0IDQsMCgwKBAQICAUICQUICgoICgoKCgwNBAYEAAAYHBIABgYHCA0NExQFBwcIDAUJBQkNDQ0NDQ0NDQ0NBQYMDAwKGg4ODg8NDA8QBgcPDBMQEA0QDg0NEA4UDw0NBwkHDAoHDA0LDQwIDQ0GBgsHEw0NDQ0ICggNCxEMCwsIBggMBgcNDQ0NBgwKEwkLDAkRCgoMCQkGDQwGBwkKCxQUFQoODg4ODg4UDg0NDQ0GBgYGEBAQEBAQEAwQEBAQEA0NDgwMDAwMDBMLDAwMDAYGBgYNDQ0NDQ0NDA0NDQ0NCw0LDgwODA4MDgsOCw4LDw4QDQ0MDQwNDA0MDw0PDQ8NEA0QDQYGBgYGBgcGDwsMBwwHDAcMBxANEA0QDRANEA0WFQ4IDggOCA0KDQoNCg0KDQgNCBANEA0QDRANEA0NDQsNCw0LBg0PDQ0KDQgGBQkJCgYIBwoJAA4TEA0RCw4NBgcHFhcSDw0QDg0OCxANEw0QEA8PExAQEA0ODQ0SDxAPFRYPEg0NFQ4MDQwJDQwQCw0NCwwPDQ0NDQsKCxAMDQwSEgwQCwsRCwwNCQsKBgcGEhINCwsNDwwQDQ4MEQ0PDA0NCwkMCQ4NFBENCw8MEA0QCxAMEQ0VEBgUExAOCw0KDQwNDBANFA8PDA8MDw0TDxMPBg4MDwwQDRANDwwTDwYODA4MFBMNDA8MDwwTEA0LDgsQDRANEA0QDRANDQsNCw0LDQsPDAsJEhAPDA0KDwwUERENDw4PCxMTDQ0QCRAUBQUFCAgIDAwLEhwHBwQJCQkJDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDBkVDgwQDAwMDBUIDAwMDAwRDgALBwsGBQYICwcODQwIDw0PDA0LDQsNCw4LDgwNDA0MDQwNCxANEA0QDRANEhANCw0LDgsOCw4LFREVERANEA0QDRIQDQoGBgwKDgsPDRANDAcNCA4LDQoNCgUFCAgFCAkGCAsKCAsKCwoNDgUGBAAAGR0TAAcHCAgODhMUBQcHCQ0GCQUJDg4ODg4ODg4ODgUGDA0NCxsPDw4QDQ0PEQcHDw0UEREOEQ8NDhEOFQ8ODggKCA0KBwwOCw0NCA0OBwcMBxQODQ4NCQoIDgwSDQwLCQYJDQcIDg4ODgYMChQKDA0JEgoLDQoKBw4MBwcKCgwVFRYLDw8PDw8PFQ4NDQ0NBwcHBxARERERERENEREREREODg8MDAwMDAwUCw0NDQ0HBwcHDg4NDQ0NDQ0NDg4ODgwODA8MDwwPDA4LDgsOCxAPEA4NDQ0NDQ0NDQ8NDw0PDREOEQ4HBwcHBwcHBw8MDQcNBw0HDQcRDhEOEQ4RDRENFxUPCQ8JDwkNCg0KDQoNCg4IDggRDhEOEQ4RDhEODg4LDgsOCwYODw0NCg4IBwUKCgsGCAgKCgAOFBENEgsPDQcHBxcYEw8OEA8ODwsRDRQOEREPEBQRERAODg4OFA8RDxYXEBMODhYODA0MCQ4NEAsODgwNEA4NDg4LCgwQDQ4MEhMMEQwMEgwNDgkMCgcHBxITDgwMDQ8MEQ0PDREODwwODgsJDAoODRQRDgsPDRENEQwRDRIOFhEZFRQRDgsOCg4MDgwQDRUQEA0PDA8OEw8TDwcPDBANEQ4RDg8MFBEGDwwPDBUUDQ0QDBAMFBAOCw4MEQ4RDhENEQ0RDQ4MDgwODA4MDwwLCRMRDw0OCxANFRIRDhAODwwUFA4OEQkRFQUFBQkJCQwMCxMdBwcFCgoKCg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg0aFg8NEQ0NDQ0VCQ0NDQ0NEg4ADAcLBgUGCAsIDw4NCA8ODwwODA4MDgsOCw8MDQ0NDQ0NDgsRDRENEQ0RDRMRDgwODA8MDgwODBYSFhIQDREOEQ0TEQ4LBwcNCg4LEA4RDg0HDggODA4LDgsFBQkJBQgKBgkLCgkLCwsLDg8FBgUAABoeFAAHBwgJDg4UFQYHBwkNBgkGCQ4ODg4ODg4ODg4GBw0NDQscDw8PEQ4NEBEIBxANFBESDhIPDg4RDxYQDg4ICggNCwcNDgwODAgODgcHDAgWDg0ODgkKCQ4MEw0MCwkGCQ0HCA4ODg4GDQsVCgwNCRILCw0KCgcODQcHCgoMFhYXCw8PDw8PDxYPDg4ODggICAgRERISEhISDRIRERERDg8PDQ0NDQ0NFAwMDAwMBwcHBw8ODQ0NDQ0NDQ4ODg4MDgwPDQ8NDw0PDA8MDwwRDxEODgwODA4NDgwQDhAOEA4RDhEOCAcIBwgHBwcQDA0IDQgNCA0IEQ4RDhEOEg0SDRgWDwkPCQ8JDgoOCg4LDgoOCQ4JEQ4RDhEOEQ4RDg4OCw4LDgsGDhAODgoOCQcFCgoLBggICgoADxURDhMLDw4ICAcYGRQQDhEPDg8LEQ4VDhEREBAUERIRDg8ODhQQEhAWFxAUDg8XDw0NDQoODBELDg4MDREODQ4ODAoMEg0ODRQUDREMDBMMDA4KDAoHBwcTFA4MDA4QDRINEA0SDxANDw4LCg0KDw0VEg4LEA0SDhEMEg0SDhYSGhYVEQ8MDgoODA4NEQ4WEBENEA0QDhQQFBAIEA0QDREOEg4QDRURBw8NDw0WFA4MEQ0RDRURDgsPDBEOEQ4SDRINEg0PDA4MDgwODBANCwoUERANDgsQDRYTEg4RDxAMFBYODhEJERUFBQUJCQkNDQwUHggIBQoKCgoODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4NGxcQDRINDQ0NFgkNDQ0NDRIPAAwHCwYFBgkLCA8ODQgQDhANDgwPDA4LDwwPDQ4MDgwODA4LEg0SDRINEg0UEQ8MDwwPDA8MDwwXExcTEQ4SDhINFBEOCwgHDQsPDBEOEQ4NCA4JDwwOCw4LBQUJCQYJCgYJCwsJDAsMCw4PBQcFAAAbHxQABwcICQ8PFRYGCAgJDgYKBgoPDw8PDw8PDw8PBgcODg4MHRAQDxIODhESCAgQDhUSEg8SEA4PEg8WEA8PCAoIDgsIDQ4MDg4JDg8HBw0IFg8ODg4JCwkPDRQODQwJBgkOBwgPDw8PBg0LFgoNDgoTCwsOCwsHDw0HCAsLDRcXGAwQEBAQEBAXDw4ODg4ICAgIEhISEhISEg4SEhISEg8PEA0NDQ0NDRUMDg4ODgcHBwcPDw4ODg4ODg4PDw8PDQ8NEA0QDRANDwwPDA8MEhASDw4ODg4ODg4OEQ4RDhEOEg8SDwgHCAcIBwgHEA0OCA4IDggOCBIPEg8SDxIOEg4ZFxAJEAkQCQ4LDgsOCw4LDwkPCRIPEg8SDxIPEg8PDwwPDA8MBw8RDg4LDwkHBQoLCwYJCAsKAA8WEg4UDBAOCAgIGRoUEA8SEA8QDBIOFg4SEhARFRISEg8PDw8VEBMQFxkRFQ8PGA8NDg0KDw4SDA8PDQ4RDw4PDgwLDRIODw0UFA0SDQ0TDQ4PCg0LBwgHFBUPDQ0PEQ0SDhAOEw8RDQ8PDAoNChAOFhMPDBEOEw8SDRMOEw8XEhsXFhIPDA8LDw0PDRIOFxERDhANEA8UEBUQCBANEQ4SDxIPEA0WEgcQDRANFxUODhEOEQ4WEg4MDw0SDxIPEg4SDhIODw0PDQ8NDw0QDQwKFRIRDg8MEQ4WFBMPERAQDRUWDw4SChIWBQUFCQkJDQ0MFR8ICAULCwsLDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDhwYEA4SDg4ODhcJDg4ODg4TEAANCAwGBQcJDAgQDg4JEA8QDQ8NDw0PDA8MEA0ODg4ODg4ODBIOEg4SDhIOFRIPDQ8NEA0PDQ8NGBMYExIOEg8SDhUSDwwIBw4LDwwSDxIPDggPCQ8NDgwODAUFCQkGCQsGCgwLCgwMDAwPEAUHBQAAHCAVAAcHCQkPDxYXBggICg4GCgYKDw8PDw8PDw8PDwYHDg4ODB4QEBASDw4REwgIEQ4WExMQExEPDxIPFxEQDwkLCQ4LCA4PDA8OCQ8PCAcNCBYPDg8PCQwJDw4UDg0NCgYKDgcJDw8PDwcODBcLDQ4KFAwMDgsLCA8OBwgLCw0XGBkMEBAQEBAQGBAPDw8PCAgICBITExMTExMOExISEhIQEBEODg4ODg4WDA4ODg4ICAgIEA8ODg4ODg4ODw8PDw0PDRAOEA4QDhAMEAwQDBIQEg8PDg8ODw4PDhEPEQ8RDxMPEw8ICAgICAgIBxENDggOCA4IDggTDxMPEw8TDhMOGhgRCREJEQkPDA8MDwwPDBAJDwkSDxIPEg8SDxIPEA8NDw0PDQcPEQ8PDA8JBwULCwwHCQkLCwAQFhMPFAwQDwgICBobFREPEhAQEAwTDxcPExMRERYTExIQEA8PFRETERkaEhYQEBkQDg4NCg8OEgwPDw0OEg8ODw8MCw0TDg8OFBUOEg0NFA0ODwoNDAgIBxUWDw0NDxEOEw4RDhMQEQ4QDwwKDgsQDhcTDwwRDhMPEw0TDhQPGBMcFxcSEAwQCxAOEA4SDxcSEg4RDhEPFhEWEQgRDREPEw8TEBEOFhMHEA4QDhgWDw4SDhIOFxIPDBANEw8TDxMOEw4TDhANDw0PDQ8NEQ4MChYSEQ4PDBEOFxQTEBIQEQ0W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Dw8ZDhAQEBAICAgIERERERERERAREREREQ4RDhIPEg8SDxEOEQ4RDhQSFBEREBEQERAREBMRExETERURFREJCAkICQgJCBMPEAkQCRAJEAkVERURFREVERURHRsSCxILEgsQDRANEA0QDRELEQsUERQRFBEUERQRERENEQ0RDQgRExEQDRELCAYMDA0HCgkMDAASGRURFw4SEAkJCR0eFxMRFBIREg4VERkRFRUTExkVFRQRERERGBMVEhwdExgREhwSDxEPCxEQFQ4REQ8QFBEREREODA4VEBEPFxcPFA4OFg8QEQsPDQgJCBcYEQ8OEBMPFRETEBUREw8REQ4LDwwSERkVEQ4TEBURFQ8VEBYRGxUeGhkUEg4RDBEPEQ8UEBoUFBATDxMRGBMYEwkTDxMQFREVERMPGRQIEg8SDxoZERAUEBQQGRURDhEPFREVERURFREVERIOEQ4RDhEOEg8OCxgUExARDhMQGhcWERQSEw8ZGRERFQsUGQYGBgsLCw8PDhgkCQkGDAwMDBERERERERERERERERERERERERERERERERERERAgGxMQFRAQEBAbCxAQEBAQFhIADgkOBwYICg4JEhEQChMREw8RDhIOEQ4SDhIPERAREBEQEQ4VERURFREVERgUEg4SDhIPEg8SDxwWHBYUERURFREYFBEOCQgQDRIOFBEVERAJEQsRDxENEQ0GBgsLBwoMBwsODQsODg4NERIGCAYAACAlGAAJCQoLEREZGgcJCQsQBwwHCxEREREREREREREHCBAQEA4iExMSFRERFBYJCRQRGRYWEhYTERIVEhsUEhEKDAoQDQkQEQ4REAoREgkJDwkaEhEREQsNCxEPGBAPDgsICxAJChEREREIEA0aDA8QDBYNDhANDQkSEAkJDQ0PGxscDhMTExMTExsSEREREQkJCQkVFhYWFhYWEBYVFRUVEhITEBAQEBAQGQ4QEBAQCQkJCRISEREREREQEREREREPEQ8TEBMQExASDhIOEg4VExURERAREBEQERAUERQRFBEWEhYSCQkJCQkJCQkUDxEJEQkRCREJFhIWEhYSFhEWER4bEwsTCxMLEQ0RDRENEQ0SCxILFREVERURFREVERIRDhEOEQ4IERQREQ0SCwkGDA0OBwoKDQwAEhoVERcOExEJCQkeHxgUEhUTEhMOFREaERYWFBQZFhYVEhISEhkUFhMcHRQZEhIdEhAREAwREBUOEREPEBURERERDg0PFhASEBgYEBUPDhcPEBIMDw0JCQkXGRIPDxEUEBYRExAWEhQQEhEODA8MEhEaFhEOFBAWERUPFhAXEhwWHxsaFRIOEg0SDxIPFREbFBQQFBATEhkTGRMJEw8UERYRFhITEBoVCBMQExAbGREQFBAUEBoVEQ4SDxYRFhEWERYRFhESDhIPEg8SDxMQDgwZFRQQEQ4UEBsYFhIUExQPGRoSERUMFRoGBgYLCwsQEA4YJQoKBg0NDQ0REREREREREREREREREREREREREREREREREREQIRwTEBYQEBAQGwsQEBAQEBcTAA8JDggGCAsOChMREQoTEhMQEg8SDhEOEg4TEBEQERAREBEOFhEWERYRFhEZFRIOEg4TDxIPEg8dFx0XFREWERYRGRURDgkJEQ0SDhUSFhIRCRILEg8RDhEOBgYLCwcLDQgLDg0LDg4PDhETBggGAAAhJhkACQkKCxISGhsHCQkMEQcMBwwSEhISEhISEhISBwgREREOIxMTExYSERQWCQkUERoWFxIXFBISFRMbFBISCg0KEQ0JEBIPERELERIJCRAKGhISEhELDgsSEBgRDw4LBwsRCQoSEhISCBAOGw0QEQwXDg4RDQ0JEhAJCQ0NEBwcHQ4TExMTExMcExISEhIJCQkJFhYXFxcXFxEXFRUVFRISFBAQEBAQEBoPEREREQkJCQkTEhISEhISERISEhISDxIPExATEBMQEw8TDxMPFhMWEhIREhESERIRFBEUERQRFhIWEgkJCgkJCQkJFBARChEKEQoRChYSFhIWEhcSFxIfHBQLFAsUCxIOEg4SDhIOEgsSCxUSFRIVEhUSFRISEg4SDhIOCBIUERIOEgsJBg0NDggKCg0NABMaFhIYDxMSCQoJHyAZFBIWExITDxYSGxIWFhQVGhYXFhITEhIaFBcUHR4VGRITHRMQEhAMEhEWDhISEBAVEhISEg8NDxYRExAYGRAWDw8YEBESDBAOCQkJGBkSEA8SFBAXEhQRFxMUEBISDwwQDRMSGxcSDxQRFxIWEBcRFxIcFiAcGxYTDxINEhASEBURHBUVERQQFBIaFBoUCRQQFREWEhYSFBAaFgkTEBMQHBoSERURFREbFhIOExAWEhYSFxIXEhcSEw8SDxIPEg8UEA8MGRYUERIPFRAbGBcSFRMUEBoaEhIWDBYbBgYGCwsLEBAPGSYKCgYNDQ0NEhISEhISEhISEhISEhISEhISEhISEhISEhISESIdFBEWERERERwMEREREREXEwAPCQ8IBggLDgoTEhELFBIUEBIPEw8SDxMPExASERIREhESDhcSFxIXEhcSGRYTDxMPExATEBMQHRgdGBYRFhIXEhkWEg8JCREOEw8WEhYSEQoSCxMQEg4SDgYGCwsHCw0IDA4ODA8ODw4SEwYJBgAAIicaAAkJCgsTExocBwoKDBEIDAcMExMTExMTExMTEwcJERERDyQUFBMWEhIVFwkKFRIbFxcTFxQSExYTHBUTEwoNChEOChESDxIRCxITCQkQChwTEhISDA4MEhAZEhAPDAgMEQkKExMTEwgRDhsNEBEMGA4OEQ0NCRMRCQoNDhAcHR4PFBQUFBQUHRMSEhISCQkJCRYXFxcXFxcRFxYWFhYTExQREREREREbDxEREREJCQkJExMSEhISEhESEhISEhASEBQRFBEUERMPEw8TDxYUFhISERIREhESERUSFRIVEhcTFxMJCQkJCQkKCRUQEgoSChIKEgoXExcTFxMXEhcSIB0UDBQMFAwSDhIOEg4SDhMMEwwWEhYSFhIWEhYSExMPEw8TDwgTFRISDhMMCQcNDQ4ICwoODQATGxcSGQ8UEgkKCh8hGhUTFhQTFA8XEhsSFxcVFRsXFxYTExMTGxUXFR4fFRoTFB4TERIRDRIRFg8SEhARFhISEhIPDhAXEhMQGRoRFhAQGBAREw0QDgkJCRkaExAQEhURFxIUERcTFRETEg8NEA0UEhwYEg8VERcSFxAXERgTHRchHBwWEw8TDhMQExAWEhwVFhEVERUTGhUaFQkUEBUSFxIXExURGxYJFBEUER0bEhEWERYRGxYSDxMQFxIXEhcSFxIXEhQQExATEBMQFRAPDRoWFRESDxURHBkYExYUFRAbHBMSFwwWHAcHBwwMDBERDxonCgoGDQ0NDRMTExMTExMTExMTExMTExMTExMTExMTExMTExEjHhQRFxEREREdDBERERERGBQAEAoPCAcICw8KFBISCxUTFRETEBQQEg8TDxQREhESERIREg8XEhcSFxIXEhoWFBAUEBQQExATEB4YHhgWEhcTFxIaFhIPCQkSDhMPFhMXExIKEwwTEBIPEg8HBwwMBwsNCAwPDgwPDw8PEhQGCQYAACMoGgAJCQsMExMbHAgKCgwSCA0HDBMTExMTExMTExMICRISEg8lFBQUFxMSFRgKChUSHBgYFBgVExMXFB0WFBMLDQsSDgoRExATEgsTEwkJEQocExMTEwwPDBMRGhIQEAwJDBIJCxMTExMIEQ4cDhESDRkPDxIODgkTEQkKDg4RHR4fDxQUFBQUFB4UExMTEwoKCgoXGBgYGBgYEhgXFxcXFBQVERERERERHBASEhISCQkJCRQTExMTExMSExMTExMQExAUERQRFBEUEBQQFBAXFRcTExITEhMSExIVExUTFRMYExgTCgkKCQoJCgkVERIKEgoSChIKGBMYExgTGBMYEyEeFQwVDBUMEw8TDxMPEw8TDBMMFxMXExcTFxMXExQTEBMQExAJExUTEw8TDAkHDg4PCAsLDg4AFBwXExkPFBMKCgogIhoVExcUExQPFxMcExgYFRYcGBgXFBQTExsWGBUfIBYbExQfFBETEQ0TEhcPExMREhcTExMTEA4QGBITERoaERcQEBkREhMNEQ8JCgkaGxMREBMWERgTFRIYFBYRFBMPDRENFBMdGBMPFhIYExcRGBIZEx4YIh0cFxQQEw4UERQRFxIdFhYSFREVExsWGxYKFREWEhgTGBMVERwXCRQRFBEeHBMSFhIWEhwXEw8UERgTGBMYExgTGBMUEBMQExATEBURDw0bFxUSEw8WEh0aGBMWFBURHBwUExcNFx0HBwcMDAwRERAbKAoKBg4ODg4TExMTExMTExMTExMTExMTExMTExMTExMTExMSJB8VEhgSEhISHgwSEhISEhkUABAKDwgHCQwPCxQTEgsVExURExAUEBMPFBAUERMSExITEhMPGBMYExgTGBMbFxQQFBAUERQRFBEfGR8ZFxIYExgTGxcTDwoJEg4UEBcTGBMSChMMFBETDxMPBwcMDAgMDggMDw8MEA8QDxMUBwkGAAAkKRsACgoLDBQUHB0ICgoNEggNCA0UFBQUFBQUFBQUCAkSEhIQJhUVFRcTExYYCgoWExwYGRQZFRMUFxQeFhQUCw4LEg8KEhMQExILExQKChELHRQTExMMDwwTERoTERAMCQwSCgsUFBQUCRIPHQ4REg0ZDw8SDg4KFBIKCg4OER4fIBAVFRUVFRUeFRMTExMKCgoKGBgZGRkZGRIZFxcXFxQUFRISEhISEh0QEhISEgoKCgoUFBMTExMTEhMTExMTERMRFRIVEhUSFRAVEBUQFxUYExMSExITEhMSFhMWExYTGBQYFAoKCgoKCgoKFhETCxMLEwsTCxgUGBQYFBkTGRMiHxUMFQwVDBMPEw8TDxMPFAwUDBcTFxMXExcTFxMUFBAUEBQQCRQWExMPFAwKBw4ODwgLCw4OABQdGBMaEBUTCgsKISMbFhQYFRQVEBgTHRMYGBYWHBgZGBQVFBQcFhkWHyAXHBQVIBQSExINExIYEBMTERMXExMTExAOERgTFBIbGxIYEREaERIUDREPCgoKGhwUERETFhIZExYSGRQWEhQTEA0RDhUTHRkTEBYSGRMYERkSGRQfGCMeHRgVEBQOFBEUERcTHhcXEhYSFhQcFhwWChYRFhMYExkUFhIdGAkVEhUSHh0TEhcSFxIdGBMQFBEYExgTGRMZExkTFREUERQRFBEWEhANHBgWEhMQFxIeGhkUFxUWERwdFBMYDRgeBwcHDAwMEhIQGykLCwcODg4OFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUEiUgFhIYEhISEh8NEhISEhIZFQARChAIBwkMEAsVExMLFhQWEhQRFRETEBUQFRITEhMSExITEBkTGRMZExkTHBgVERURFREUERQRIBogGhgTGRMZExwYExAKChMPFRAXFBgUEwsUDBQRExATEAcHDAwIDA4IDRAPDRAQEA8TFQcJBwAAJSocAAoKCwwUFB0eCAoKDRMIDQgNFBQUFBQUFBQUFAgJExMTECcWFhUYFBMXGQsLFxMdGRkVGRYUFRgVHxcVFAsOCxMPChIUERQTDBQUCgoSCx4UFBQUDRANFBIbExERDQkNEwoLFBQUFAkSDx4OEhMNGg8QEw8PChQSCgsPDxIfHyAQFhYWFhYWHxUUFBQUCwsLCxgZGRkZGRkTGRgYGBgVFRYSEhISEhIdERMTExMKCgoKFRQUFBQUFBMUFBQUFBEUERYSFhIWEhURFREVERgWGBQUExQTFBMUExcUFxQXFBkUGRQLCgsKCwoLChcSEwsTCxMLEwsZFBkUGRQZFBkUIiAWDRYNFg0UEBQQFBAUEBUNFQ0YFBgUGBQYFBgUFRQRFBEUEQkUFxQUEBUNCgcODxAJDAsPDgAVHhkUGxAWFAsLCyIkHBcUGBYUFhAZFB4UGRkXFx0ZGRgVFRUUHRcZFiAiFxwVFSEVEhQSDhQTGBAUFBITGBQUFBQRDxEZExQSGxwSGBERGxITFA4REAoKChscFBIRFBcSGRQWExoVFxIVFBAOEg4VFB4aFBAXExkUGRIZExoUIBkkHx4YFREVDxUSFRIYEx8XGBMXEhYUHRcdFwsWEhcTGRQZFRYSHhgJFhIWEh8dFBMYExgTHhgUEBUSGRQZFBkUGRQZFBURFBEUERQRFhIQDhwYFxMUEBcTHxsaFRgVFxIdHhUUGQ0YHgcHBw0NDRISERwqCwsHDw8PDxQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBMmIRYTGRMTExMgDRMTExMTGhUAEQsQCQcJDBALFhQTDBYUFhIUERURFBAVERYSFBMUExQTFBAZFBkUGRQZFBwYFREVERYRFRIVEiEbIRsYExkUGRQcGBQQCwoTDxURGBQZFBMLFQ0VEhQQFBAHBw0NCAwPCQ0QDw0QEBEQFBYHCQcAACYsHQAKCgwNFRUdHwgLCw0TCQ4IDRUVFRUVFRUVFRUIChMTExEoFhYWGRQUFxoLCxcUHhoaFRoXFBUZFh8XFRUMDgwTEAsTFREUEwwUFQoKEgsfFRQVFA0QDRQSHBQSEQ0JDRMKDBUVFRUJExAfDxITDhsQEBMPDwoVEwoLDw8SICAhERYWFhYWFiAWFBQUFAsLCwsZGhoaGhoaExoZGRkZFRUXExMTExMTHhETExMTCgoKChUVFBQUFBQTFBQUFBQSFRIWExYTFhMWERYRFhEZFhkVFBMUExQTFBMXFBcUFxQaFRoVCwoLCgsKCwoXEhQLFAsUCxQLGhUaFRoVGhQaFCMhFw0XDRcNFBAUEBQQFBAVDRUNGRQZFBkUGRQZFBUVERURFREJFRcUFBAVDQoHDw8QCQwMDw8AFh4ZFBwRFhQLCwsjJR0XFRkWFRYRGRQfFRoaFxgeGhoZFRYVFR4XGhchIxgdFRYiFhMUEw4VExkRFRUSExkVFBQVEQ8SGhQVExwdExkSEhsSExUOEhAKCwocHRUSEhQYExoUFxMaFRgTFRURDhIPFhQfGhURFxMaFBkSGhMbFSEaJSAfGRYRFQ8VEhUSGRQgGBgTFxMXFR0XHRcLFxIYFBoVGhUXEx4ZChYTFhMgHhQTGBMYEx8ZFREVEhoVGhUaFBoUGhQWEhUSFRIVEhcTEQ4dGRcUFREYEx8cGhUYFhcSHh8VFRkOGR8HBwcNDQ0SEhEdLAsLBw8PDw8VFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUTJyIXExoTExMTIQ0TExMTExsWABILEQkHCQ0RDBYVFAwXFRcTFRIWEhURFhEWExQTFBMUExURGhQaFBoUGhQdGRYSFhIWEhYSFhIiGyIbGRQaFRoUHRkVEQsKFBAWERkVGhUUCxUNFhIVEBUQBwcNDQgNDwkNERANEREREBUWBwoHAAAnLR0ACgoMDRUVHiAJCwsOFAkOCA4VFRUVFRUVFRUVCQoUFBQRKhcXFhoVFBgaCwsXFB8aGxYbFxUWGRYgGBYVDA8MFBALExUSFRQMFRUKChMLIBUVFRUNEA0VEx0UEhEOCQ4UCgwVFRUVCRMQHw8TFA4bEBEUDw8KFhMKCw8QEyEhIhEXFxcXFxchFhUVFRULCwsLGhobGxsbGxQbGRkZGRYWFxMTExMTEx8SFBQUFAoKCgoWFRUVFRUVFBUVFRUVEhUSFxMXExcTFhIWEhYSGhcaFRUUFRQVFBUUGBUYFRgVGhUaFQsKCwoLCgsKFxMUCxQLFAsUCxoVGhUaFRsVGxUkIRcNFw0XDRUQFRAVEBUQFg0WDRkVGRUZFRkVGRUWFREVERURChUYFRUQFg0KCA8PEQkMDBAPABYfGhUcERcVCwsLJCYdFxYaFxUXERoVHxUbGxcYHxobGhYWFhYeGBsYIiQZHhYXIxYTFRMOFRQZERUVExMZFRUVFRIQEhsUFRMdHRMaEhIcExQVDhIQCgsKHR4VExIVGBMbFRcUGxYYExYVEQ4TDxcVIBsVERgUGxUaExsUHBUiGiYhIBoWEhYQFhMWExkUIRkZFBgTGBUeGB4YCxcTGBQaFRsWGBMfGgoXExcTIR8VFBkUGRQfGRURFhMbFRsVGxUbFRsVFxIWEhYSFhIYExEOHhoYFBURGBQgHRsWGRcXEx8gFhUaDhogCAgIDQ0NExMSHi0MDAcPDw8PFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFCgjFxQaFBQUFCEOFBQUFBQcFwASCxEJCAoNEQwXFRQMGBUYExYSFxIVERYSFxMVFBUUFRQVERsVGxUbFRsVHhoXEhcSFxIWExYTIxwjHBoUGxUbFR4aFRELChQQFhIaFRoVFAsWDRYTFREVEQgIDQ0JDQ8JDhEQDhEREhEVFwcKBwAAKC4eAAsLDA0WFh8hCQsLDhQJDgkOFhYWFhYWFhYWFgkKFBQUESsXFxcaFRUYGgsMGBUgGxsWGxgVFhoXIRkWFgwPDBQQCxQWEhYUDRUWCwsTDCAWFRYVDhEOFhMdFBMSDgkOFAsMFhYWFgoUECAPExQOHBERFBAQCxYUCwsQEBMhIiMRFxcXFxcXIhcVFRUVCwsLCxobGxsbGxsUGxoaGhoWFhgUFBQUFBQgEhQUFBQLCwsLFhYVFRUVFRQVFhYWFhMWExcUFxQXFBcSFxIXEhoYGhYVFBUUFRQVFBgVGBUYFRoWGxYLCwwLCwsMCxgTFQwVDBUMFQwbFhsWGxYbFRsVJSIYDhgOGA4VERURFREVERYOFg4aFhoWGhYaFhoWFhYSFhIWEgoWGBUVERYOCwgPEBEJDQwQDwAXIBsVHRIXFQsMDCUnHhgWGhcWFxIbFSAWGhoYGSAaGxoWFxYWHxkbGCMlGR8WFyQXFBUUDxYUGhIWFhMUGhUVFRYSEBMbFBYUHR4UGhMTHRMUFg8SEQsLCx0fFhMTFRkUGxUYFBwWGRQWFhIPEw8XFSEcFhIZFBsWGxMbFBwWIhsnISAaFxIWEBYTFhMaFSIZGhQZFBgWHxkfGQsYExkVGxYbFhgUIBoKFxQXFCIgFRQaFBoUIBoWEhcTGhYaFhsVGxUbFRcTFhMWExYTGBQSDx8aGRUWEhkUIR0cFhoXGBMgIBYWGw4aIQgICA4ODhMTEh4uDAwHEBAQEBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhQpIxgUGxQUFBQiDhQUFBQUHBcAEwsSCQgKDRIMFxYVDRgWGBQWExcTFhIXEhcUFRQVFBUUFhIbFRsVGxUbFR8aFxMXExcSFxMXEyQdJB0aFRsWGxUfGhYSCwsVEBcSGhYaFhUMFg4XExYRFhEICA4OCQ0QCQ4SEQ4SERIRFhcICgcAACkvHwALCw0OFhYgIQkLCw4VCQ8JDxYWFhYWFhYWFhYJCxUVFRIsGBgXGxYVGRwMDBkVIBwcFxwYFhcbFyIZFxYMEAwVEQsUFhIWFQ0WFgsLFAwhFhYWFg4RDhYUHhUTEg4KDhULDBYWFhYKFBEhEBQVDx0RERUQEAsXFAsMEBAUIiMkEhgYGBgYGCMXFhYWFgwMDAwbHBwcHBwcFRwbGxsbFxcYFBQUFBQUIRIVFRUVCwsLCxcWFhYWFhYVFhYWFhYTFhMYFBgUGBQXEhcSFxIbGBsWFhUWFRYVFhUZFhkWGRYcFhwXDAsMCwwLDAsZFBUMFQwVDBUMHBYcFhwWHBYcFiYjGA4YDhgOFhEWERYRFhEXDhcOGxYbFhsWGxYbFhcWEhYSFhIKFhkWFhEXDgsIEBARCg0NEBAAFyEbFh4SGBYMDAwmKB8ZFxsYFxgSGxYhFhwcGRogHBwbFxcXFyAZHBkkJRogFxgkFxQWFA8WFRsSFhYUFRoWFhYWEhATHBUWFB4fFBsTEx0TFRYPExELCwseIBYUExYZFBwWGRUcFxkUFxYSDxQQGBYiHBYSGRUcFhsUHBUdFiMcKCIhGxcSFxAXFBcUGxYiGhoVGRQZFiAZIBkMGRQaFRwWHBcZFCEbChgUGBQjIRYVGhUaFSEbFhIXExwWHBYcFhwWHBYYExcTFxMXExkUEg8gGxkVFhIaFSIeHBcaGBkUICEXFhsPGyIICAgODg4UFBMfLwwMCBAQEBAWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYVKiQZFRwVFRUVIw4VFRUVFR0YABMMEgoICg4SDRgWFQ0ZFxkUFxMYExYSFxIYFBYVFhUWFRYSHBYcFhwWHBYgGxgTGBMYExcTFxMkHSQdGxUcFhwWIBsWEgwLFREXEhsWHBYVDBcOFxQWEhYSCAgODgkOEAoOEhEOEhITEhYYCAoIAAAqMCAACwsNDhcXICIJDAwPFQkPCQ8XFxcXFxcXFxcXCQsVFRUSLRkZGBsXFhocDAwaFiEcHRcdGRYXGxgjGhcXDRANFREMFBcTFxUNFxcLCxQMIhcXFxcOEg4XFB8VFBMPCw8VCw0XFxcXChURIhAUFQ8dERIVERELFxULDBERFCMkJRIZGRkZGRkkGBcXFxcMDAwMGxwdHR0dHRUdGxsbGxcXGRQUFBQUFCETFRUVFQsLCwsYFxcXFxcXFRcXFxcXFBcUGRQZFBkVGBMYExgTGxkbFxcVFxUXFRcVGhcaFxoXHBccFwwLDAsMCwwLGhQWDBYMFgwWDBwXHBccFx0XHRcnJBkOGQ4ZDhYSFhIWEhYSFw4XDhsXGxcbFxsXGxcXFxMXExcTChcaFxYSFw4LCBAREgoNDREQABgiHBcfExgWDAwMJykgGhccGRcZExwXIhcdHRoaIRwdHBcYFxchGh0ZJSYaIBcYJhgUFxQQFxUcExcXFBUbFxcWFxMRFB0VFxUfIBUbExQeFBUXEBQSCwwLHyAXFBQWGhUdFxkVHRgaFRcXExAUEBgWIh0XExoVHRccFB0WHhckHCkjIhwYExcRFxQXFBsWIxsbFRoVGRchGiEaDBkUGhYcFx0XGRUiHAsZFBkUJCEXFRsVGxUiHBcTGBQdFx0XHRcdFx0XGBQXFBcUFxQZFRMQIBsaFhcTGhUjHx0XGxgaFCEiFxccDxwiCAgIDg4OFBQTIDAMDAgRERERFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFSslGRUcFRUVFSQPFRUVFRUeGAAUDBIKCAoOEg0ZFxYNGRcZFRcUGBQXExgTGRQXFRcVFxUXEx0XHRcdFx0XIBsYFBgUGBQYFBgUJh4mHhwWHRcdFyAbFxMMCxYRGBMbFxwXFgwXDhgUFxIXEggIDg4JDhEKDxISDxMSExIXGAgLCAAAKzEgAAsLDQ4XFyEjCQwMDxYKDwkPFxcXFxcXFxcXFwkLFhYWEy4ZGRgcFxYaHQ0NGhYiHR0YHRoXGBwYJBsYFw0QDRYSDBUXExcWDhcYDAsVDSMYFxcXDxIPFxUgFhQTDwoPFgsNFxcXFwoVEiMRFRYPHhISFhERDBgVCwwRERUkJSYTGRkZGRkZJBkXFxcXDQ0NDRwdHR0dHR0WHRwcHBwYGBkVFRUVFRUiExYWFhYMDAwMGBgXFxcXFxYXFxcXFxQXFBkVGRUZFRgTGBMYExwZHBcXFhcWFxYXFhoXGhcaFx0YHRgNDA0MDQwNCxoVFg0WDRYNFg0dGB0YHRgdFx0XKCUaDxoPGg8XEhcSFxIXEhgPGA8cFxwXHBccFxwXGBcTFxMXEwsXGhcXEhgPCwgRERIKDg0REQAYIh0XHxMZFw0NDSgqIBoYHBkYGRMdFyMXHR0aGyIdHRwYGBgYIhseGiYnGyEYGSYYFRcVEBcWHBMXFxUWHBcXFxcTERQdFhgVICAVHBQUHxQWGBAUEgwMCyAhGBUUFxsVHRcaFh4YGxUYFxMQFREZFyMeFxMaFh0XHRUdFh4XJR0qJCMcGRMYERgVGBUcFyQbGxYaFRoYIRshGw0aFRsWHRcdGBoVIhwLGRUZFSQiFxYbFhsWIxwXExgUHRcdFx0XHRcdFxkUGBQYFBgUGhUTECEcGxYXExsWJCAeGBwZGhUiIxgXHQ8cIwgICA8PDxUVEyExDQ0IERERERcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxYsJhoWHRYWFhYlDxYWFhYWHhkAFAwTCggLDhMNGRcWDhoYGhUYFBkUFxMZExkVFxYXFhcWFxMdFx0XHRcdFyEcGRQZFBkUGBQYFCYfJh8cFh0XHRchHBcTDQwWEhkTHBgdGBYNGA8YFRcTFxMICA8PCQ4RCg8TEg8TExQSFxkICwgAACwyIQAMDA0PGBgiJAoMDA8WChAJEBgYGBgYGBgYGBgKCxYWFhMvGhoZHRgXGx4NDRsXIx4eGR4aFxgdGSQbGRgNEQ0WEgwWGBQYFg4YGAwMFQ0kGBgYGA8TDxgVIBcVFA8KDxYMDRgYGBgKFhIjERUWEB8SExYREQwYFgwNERIVJSUnExoaGhoaGiUZGBgYGA0NDQ0dHh4eHh4eFh4dHR0dGRkaFhYWFhYWIxQWFhYWDAwMDBkYGBgYGBgWGBgYGBgVGBUaFhoWGhYZFBkUGRQdGh0YGBYYFhgWGBYbGBsYGxgeGB4YDQwNDA0MDQwbFRcNFw0XDRcNHhgeGB4YHhgeGCkmGg8aDxoPFxMXExcTFxMYDxgPHRgdGB0YHRgdGBkYFBgUGBQLGBsYFxMYDwwJERETCg4NEhEAGSMdGCATGhcNDQ0pKyEbGB0aGBoTHRgjGB4eGxsjHh4dGRkYGCIbHhsnKBwiGBknGRYYFhAYFh0TGBgVFhwYGBgYFBIVHhcYFiAhFh0UFCAVFhgQFRMMDAwgIhgVFRgbFh4YGhYeGRsWGRgTEBURGRgkHhgTGxYeGB0VHhcfGCYeKyUkHRkUGBIZFRkVHRclHBwWGxYbGCIbIhsNGhUbFx4YHhgbFiMdCxoWGhYlIxgWHBYcFiMdGBMZFR4YHhgeGB4YHhgZFBgVGBUYFRsWExAiHRsXGBMcFiQgHxgcGRsVIyQZGB0QHSQJCQkPDw8VFRQhMg0NCBEREREYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgWLScaFh4WFhYWJg8WFhYWFh8ZABQNEwoJCw8TDRoYFw4bGBsWGBUZFBgTGRQaFhgWGBYYFhgTHhgeGB4YHhgiHRkUGRQaFRkVGRUnICcgHRceGB4YIh0YEw0MFxIZFB0YHhgXDRgPGRUYExgTCQkPDwoPEQoPExIPFBMUExgaCAsIAAAtNCIADAwODxkZIyUKDQ0QFwoQChAZGRkZGRkZGRkZCgwXFxcUMBoaGh0YFxweDQ0bFyQeHxkfGxgZHRolHBkZDhEOFxINFhgUGBcOGBkMDBYNJRkYGBgPEw8YFiEXFRQQCxAXDA4ZGRkZCxYTJBEWFxAgExMXEhIMGRYMDRISFiYmJxQaGhoaGhomGhgYGBgNDQ0NHh4fHx8fHxcfHR0dHRkZGxYWFhYWFiQUFxcXFwwMDAwZGRgYGBgYFxgYGBgYFRgVGhYaFhoWGhQaFBoUHRseGBgXGBcYFxgXHBgcGBwYHhkeGQ0MDQwNDA0MGxYXDRcNFw0XDR4ZHhkeGR8YHxgqJxsPGw8bDxgTGBMYExgTGQ8ZDx0YHRgdGB0YHRgZGRQZFBkUCxkcGBgTGQ8MCRESEwoODhIRABokHhghFBoYDQ0NKiwiGxkeGhkaFB4YJBgfHxscJB4fHRkaGRkjHB8bJykcIxkaKBoWGBYRGBceFBgYFRcdGBgYGBQSFR8XGRYhIhYeFRUgFRcZERUTDA0MISMZFRUYHBYfGBsXHxkcFhkYFBEWERoYJR8YFBwXHxgeFh8XIBknHiwmJR4aFBkSGRYZFh0YJhwdFxwWGxkjHCMcDRsWHBceGB8ZGxYkHgsaFhoWJiQYFx0XHRckHhgUGRUfGB8YHxgfGB8YGhUZFRkVGRUbFhQRIx4cFxgUHBclIR8ZHRobFiQlGRgeEB4lCQkJDw8PFhYUIjQNDQgSEhISGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZFy4oGxcfFxcXFycQFxcXFxcgGgAVDRQLCQsPFA4aGBcOGxkbFhkVGhUYFBoUGhYYFxgXGBcYFB8YHxgfGB8YIx4aFRoVGhUaFRoVKCAoIB4YHxkfGCMeGBQNDBcTGhQdGR4ZFw0ZDxoWGBQYFAkJDw8KDxILEBQTEBQUFBMYGggLCAAALjUjAAwMDg8ZGSQlCg0NEBcKEQoQGRkZGRkZGRkZGQoMFxcXFDEbGxoeGRgcHw0NHBgkHx8aHxsYGh4aJhwaGQ4RDhcTDRcZFRkXDxkZDAwWDSUZGRkZEBMQGRYiGBUVEAsQFwwOGRkZGQsXEyUSFhcRIBMUFxISDBkXDA0SEhYnJygUGxsbGxsbJxoZGRkZDQ0NDR4fHx8fHx8XHx4eHh4aGhsXFxcXFxclFRcXFxcMDAwMGhkZGRkZGRcZGRkZGRUZFRsXGxcbFxoVGhUaFR4bHhkZFxkXGRcZFxwZHBkcGR8ZHxkNDA0MDQwNDBwWGA0YDRgNGA0fGR8ZHxkfGR8ZKycbEBsQGxAYExgTGBMYExoQGhAeGR4ZHhkeGR4ZGhkVGRUZFQsZHBkYExoQDAkSEhQLDg4SEgAaJR8ZIRQbGA0NDSstIxwZHhsZGxQfGSUZHx8cHSQfHx4aGhoZJBwgHCgqHSMaGykaFxkXERkXHhQZGRYXHhkZGRkVEhUfGBkXIiMXHhUVIRYXGREWEwwNDCIjGRYVGRwXHxkcFyAaHBcaGRQRFhIbGSYgGRQcFyAZHxYgGCEZKB8tJiUeGhUaEhoWGhYeGCcdHRccFxwZJBwkHA0cFh0YHxkfGhwXJR4MGxcbFyclGRcdFx0XJR4ZFBoWHxkfGR8ZHxkfGRsVGRUZFRkVHBcUESMeHBgZFB0XJiIgGR0bHBYkJRoZHxEeJgkJCRAQEBYWFSM1Dg4IEhISEhkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRcvKRwXHxcXFxcnEBcXFxcXIRsAFQ0UCwkLDxQOGxkYDxwZHBcZFRsVGRQaFRsXGRcZFxkXGRQfGR8ZHxkfGSMeGxUbFRsWGhYaFikhKSEeGB8ZHxkjHhkUDQwYExoVHhkfGRgNGhAaFhkUGRQJCRAQCg8SCxAUExAUFBUUGRsJDAgAAC82IwANDQ4QGhokJgoNDREYCxEKERoaGhoaGhoaGhoKDBgYGBQyHBsbHxkYHSAODh0YJSAgGiAcGRofGycdGhoOEg4YEw0XGRUZGA8ZGg0NFw4mGhkZGRAUEBkXIxgWFRALEBgNDhoaGhoLFxMmEhYYESEUFBgTEw0aFw0NExMWJygpFBwcHBwcHCgbGRkZGQ4ODg4fICAgICAgGCAfHx8fGhocFxcXFxcXJRUYGBgYDQ0NDRoaGRkZGRkYGRkZGRkWGRYcFxwXHBcbFRsVGxUfHB8ZGRgZGBkYGRgdGR0ZHRkgGiAaDg0ODQ4NDg0dFxgOGA4YDhgOIBogGiAaIBkgGSwoHBAcEBwQGRQZFBkUGRQaEBoQHxkfGR8ZHxkfGRoaFRoVGhUMGh0ZGRQaEA0JEhMUCw8OExIAGyYfGSIVGxkODg4sLiMdGh8cGhsVHxkmGSAgHR0lICAfGhsaGiUdIBwpKx4kGhsqGxcZFxEZGB8VGhoWGB4ZGRkZFRMWIBgaFyMjFx8WFiIWGBoRFhQNDQ0iJBoWFhkdFyAZHBggGh0XGhkVERcSGxknIRkVHRggGR8XIBghGiggLicmHxsVGhMaFxoXHhknHh4YHRccGiQdJB0OHBcdGCAZIBocFyYfDBwXHBcoJRkYHhgeGCYfGRUaFiAaIBogGSAZIBkbFhoWGhYaFhwXFREkHx0YGRUdGCcjIRoeGx0XJSYaGR8RHycJCQkQEBAXFxUkNg4OCRMTExMaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoYMCocGCAYGBgYKBAYGBgYGCEbABYNFQsJDBAVDhsZGA8cGhwXGhYbFhkVGxUcFxkYGRgZGBkVIBkgGSAZIBkkHxsWGxYbFhsWGxYqIioiHxkgGiAZJB8ZFQ4NGBMbFR8aIBoYDhoQGxcZFBkUCQkQEAoQEwsRFRQRFRQVFBkbCQwJAAAwNyQADQ0PEBoaJScKDQ0RGAsRChEaGhoaGhoaGhoaCwwYGBgVMxwcGx8aGR0gDg4dGSYgIRshHRkbHxsoHhsaDxIPGBQNGBoWGhgPGhoNDRcOJxoaGhoQFBAaFyMZFhURCxEYDQ8aGhoaCxgUJxMXGBEiFBQYExMNGxgNDhMTFygpKhUcHBwcHBwpGxoaGhoODg4OICAhISEhIRghHx8fHxsbHBgYGBgYGCYWGBgYGA0NDQ0bGhoaGhoaGBoaGhoaFhoWHBgcGBwYGxYbFhsWHxwgGhoYGhgaGBoYHRodGh0aIBohGg4NDg0ODQ4NHRcZDhkOGQ4ZDiAaIBogGiEaIRotKR0QHRAdEBkUGRQZFBkUGxAbEB8aHxofGh8aHxobGhUaFRoVDBodGhkUGxANCRMTFAsPDxMTABsnIBojFRwZDg4OLC8kHRsgHBocFSAaJxohIR0eJiAhIBsbGxslHiEdKiweJRscKxsYGhgSGhggFRoaFxgfGhoaGhYTFiEZGhgjJBggFhYjFxgaEhcUDQ0NIyUaFxYaHhghGh0YIRseGBsaFRIXEhwaJyEaFR4YIRogFyEZIhopIC8oJyAbFhsTGxcbFx8ZKB4fGB0YHRolHiUeDh0XHhkgGiEbHRgmIAwcGBwYKSYaGB8YHxgnIBoVGxchGiEaIRohGiEaHBYbFhsWGxYdGBUSJSAeGRoVHhgoIyEbHxwdFyYnGxogESAnCQkJEBAQFxcWJDcODgkTExMTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGDEqHRghGBgYGCkRGBgYGBgiHAAWDhULCQwQFQ8cGhkPHRodGBsWHBYaFRsWHBgaGBoYGhgaFSEaIRohGiEaJSAcFhwWHBcbFxsXKyMrIyAZIRohGiUgGhUODRkUGxYfGiAaGQ4bEBsXGhUaFQkJEBAKEBMLERUUERUVFhUaHAkMCQAAMTglAA0NDxAbGyYoCw4OERkLEgoRGxsbGxsbGxsbGwsNGRkZFTQdHRwgGhkeIQ4OHhknISIbIh0aGyAcKR4bGw8TDxkUDhgaFhoZEBobDQ0XDigbGhsaERURGhgkGRcWEQwRGQ0PGxsbGwwYFCgTFxkSIhQVGRMTDRsYDQ4TFBcpKisVHR0dHR0dKRwaGhoaDg4ODiAhIiIiIiIZIiAgICAbGx0YGBgYGBgnFhkZGRkNDQ0NGxsaGhoaGhkaGhoaGhcbFx0YHRgdGBwWHBYcFiAdIBoaGRoZGhkaGR4aHhoeGiEbIRsODQ4NDg0ODR4XGQ4ZDhkOGQ4hGyEbIRsiGiIaLiodER0RHREaFRoVGhUaFRsRGxEgGiAaIBogGiAaGxsWGxYbFgwbHhoaFRsRDQoTExULDw8UEwAcJyEaJBYdGg4ODi0wJR4bIB0bHRYhGigbISEeHychIiAbHBsbJh4iHistHyYbHCwcGBoYEhsZIBYbGxcZIBoaGhsWFBchGRsYJCUYIBcXIxcZGxIXFQ0ODSQmGxcXGh4YIhodGSIbHhgbGxYSGBMcGigiGxYeGSIaIRgiGSMbKiEwKSggHBYbFBsYGxggGikfHxkeGB4bJh4mHg4dGB4ZIRohGx4YJyAMHRgdGCknGhkfGR8ZKCAbFhwXIRshGyIaIhoiGhwXGxcbFxsXHhgWEiYgHhkaFh8ZKSQiGx8cHhcnKBsbIRIgKAoKChERERgYFiU4Dw8JExMTExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxkyKx0ZIRkZGRkqERkZGRkZIxwAFw4WDAoMEBUPHRoZEB4bHhgbFxwXGxYcFh0YGhkaGRoZGxYiGiIaIhoiGiYgHBccFx0XHBccFywjLCMgGiEbIhomIBoWDg0ZFBwWIBshGxkOGxEcGBsVGxUKChERCxATDBEVFBEWFRYVGh0JDAkAADI5JgANDQ8RGxsnKQsODhIZCxILEhsbGxsbGxsbGxsLDRkZGRY1HR0dIRsaHyIPDx8aKCIiHCIeGxwhHCkfHBsPEw8ZFA4ZGxcbGRAbGw0NGA8pGxsbGxEVERsYJRoXFhEMERkNDxsbGxsMGRUoExgZEiMVFRkUFA0cGQ0OFBQYKissFh0dHR0dHSodGxsbGw8PDw8hIiIiIiIiGSIhISEhHBweGRkZGRkZKBcZGRkZDQ0NDRwbGxsbGxsZGxsbGxsXGxcdGR0ZHRkdFx0XHRchHSEbGxkbGRsZGxkfGx8bHxsiGyIbDw0PDQ8NDw0fGBoPGg8aDxoPIhsiGyIbIhsiGy8rHhEeER4RGxUbFRsVGxUcERwRIRshGyEbIRshGxwbFhsWGxYMGx8bGxUcEQ0KExQVDBAPFBMAHCghGyQWHRsPDw8uMSYfHCEdHB0WIRsoGyIiHx8oIiIhHB0cHCcfIh4sLiAmHB0tHBkbGRIbGSAWGxsYGSAbGxsbFxQXIhobGSUmGSEXFyQYGRsSGBUNDg0lJxsYFxsfGSIbHhkjHB8ZHBsWEhgTHRspIxsWHxkiGyEYIhojGysiMSopIR0XHBQcGBwYIBoqICAZHxkeGycfJx8PHhgfGiIbIhweGSghDR0ZHRkqKBsZIBkgGSggGxYcGCIbIhsiGyIbIhsdFxwXHBccFx4ZFhImIR8aGxYfGSklIxwgHR8YKCkcGyESISkKCgoREREYGBcmOQ8PCRQUFBQbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsZMyweGSIZGRkZKxIZGRkZGSMdABcOFgwKDBEWDx0bGhAeGx4ZHBcdFxsWHRcdGRsZGxkbGRsWIhsiGyIbIhsmIR0XHRcdGBwYHBgtJC0kIRoiGyIbJiEbFg8NGhUdFyEbIhsaDxwRHBgbFhsWCgoREQsRFAwSFhUSFhYXFhsdCQ0JAAAzOyYADg4QERwcJyoLDg4SGgsSCxIcHBwcHBwcHBwcCw0aGhoWNh4eHSEbGh8iDw8fGigiIx0jHhscIR0qIBwcEBMQGhUOGRwXGxoQGxwODhgPKRwbHBsRFREbGSUaGBcSDBIaDhAcHBwcDBkVKRQYGhIkFRYaFBQOHBkODxQUGCsrLRYeHh4eHh4rHRsbGxsPDw8PIiIjIyMjIxojISEhIRwdHhkZGRkZGSkXGhoaGg4ODg4dHBsbGxsbGhsbGxsbGBwYHhkeGR4ZHRcdFx0XIR4iHBsaGxobGhsaHxsfGx8bIhwjHA8ODw4PDg8OHxgaDxoPGg8aDyIcIhwiHCMbIxswLB4RHhEeERsVGxUbFRsVHBEcESEbIRshGyEbIRscHBccFxwXDRwfGxsVHBEOChQUFgwQEBQUAB0pIhslFx4bDw8PLzImHxwiHhweFyIbKRwjIx8gKCIjIh0dHBwoICMfLS8gJxwdLh0ZGxkTHBoiFhwcGBohHBsbHBcUGCMaHBkmJhkiGBglGBocExgVDg4OJSccGBgbIBkjGx8aIx0gGR0cFxMZFB0bKiMcFh8aIxsiGSMaJBwsIjIrKSIdFxwUHBkcGSEbKyAhGh8ZHxwnHycfDx8ZIBoiHCMcHxkpIg0eGR4ZKykbGiEaIRopIhwWHRgjHCMcIxsjGyMbHRgcGBwYHBgfGRcTJyIgGhwWIBoqJSMcIR4fGCgpHRwiEiIqCgoKERERGRkXJzsPDwkUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGjQtHxojGhoaGiwSGhoaGhokHgAYDxYMCg0RFhAeHBoQHxwfGRwYHRgcFh0XHhkbGhsaGxocFiMbIxsjGyMbJyIdGB0YHhgdGB0YLiUuJSIbIxwjGyciHBYPDhoVHRchHCIcGg8cER0ZHBYcFgoKERELERQMEhYVEhcWFxYcHgoNCQAANDwnAA4OEBEcHCgqCw8PEhoMEwsSHBwcHBwcHBwcHAsNGhoaFzceHh4iHBsgIw8PIBspIyQdJB8cHSIeKyAdHBAUEBoVDxocFxwaERwcDg4ZDyocHBwcEhYSHBkmGxgXEgwSGg4QHBwcHAwaFSoUGRoTJBYWGhQUDh0aDg8UFRksLC4XHh4eHh4eLB4cHBwcDw8PDyIjJCQkJCQaJCIiIiIdHR8aGhoaGhopFxoaGhoODg4OHRwcHBwcHBocHBwcHBgcGB4aHhoeGh4XHhceFyIfIhwcGhwaHBocGiAcIBwgHCMcIx0PDg8ODw4PDiAZGw8bDxsPGw8jHCMcIxwkHCQcMC0fEh8SHxIcFhwWHBYcFh0SHRIiHCIcIhwiHCIcHRwXHBccFw0cIBwcFh0SDgoUFRYMEBAVFAAeKiMcJhceHA8PDzAzJyAdIh4dHhcjHCocIyMgICkjJCIdHh0dKSAkHy4vISgdHi4eGhwaExwaIhccHBkaIhwcHBwXFRgjGx0ZJicaIhgYJRkaHRMZFg4ODiYoHRkYHCAaJBwfGiQdIBodHBcTGRQeHCskHBcgGiQcIxkkGyUcLSMzKyoiHhcdFR0ZHRkiGywhIRogGh8cKCAoIA8fGSAbIxwjHR8ZKiINHhoeGiwpHBohGiEaKiIcFx0ZIxwjHCQcJBwkHB4YHRgdGB0YHxkXEygiIBscFyEaKyYkHSEeIBkpKh0cIxMiKwoKChISEhkZGCc8Dw8KFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBo1Lh8aIxoaGhotEhoaGhoaJR4AGA8XDAoNERcQHhwbER8dHxkdGB4YHBceFx4aHBocGhwaHBckHCQcJBwkHCgiHhgeGB4ZHhkeGS4lLiUiGyMcJBwoIhwXDw4bFR4XIhwjHBsPHRIeGRwXHBcKChISCxEUDBIXFhIXFxgWHB4KDQoAADU9KAAODhASHR0pKwwPDxMbDBMLEx0dHR0dHR0dHR0MDhsbGxc4Hx8eIxwbICQPDyAbKiQkHiQgHB0jHiwhHh0QFBAbFg8aHRgdGxEcHQ4OGQ8rHRwdHBIWEh0aJxsZGBINEhsOEB0dHR0NGhYrFBkbEyUWFxsVFQ4dGg4PFRUZLC0uFx8fHx8fHy0eHBwcHA8PDw8jJCQkJCQkGyQjIyMjHh4fGhoaGhoaKhgbGxsbDg4ODh4dHBwcHBwbHB0dHR0ZHRkfGh8aHxoeGB4YHhgjHyMdHBscGxwbHBsgHCAcIBwkHSQdDw4PDg8ODw4gGRsPGw8bDxsPJB0kHSQdJBwkHDEtIBIgEiASHBYcFhwWHBYdEh0SIx0jHSMdIx0jHR4dGB0YHRgNHSAcHBYdEg4KFBUXDBEQFRUAHisjHCcXHxwPEA8xNCggHSMfHR8XIxwrHSQkICEqJCQjHh4dHSkhJCAuMCEpHR8vHhocGhQdGyMXHR0ZGyIdHBwdGBUZJBsdGicoGiMZGSYZGx0UGRYODw4nKR0ZGRwhGiQcIBslHiEaHh0XFBoUHxwrJR0XIRskHSMaJBslHS4kNCwrIx4YHRUeGh4aIhwsISIbIBogHSkhKSEPIBohGyQdJB0gGiojDR8aHxotKhwbIhsiGysjHRceGSQdJB0kHCQcJBwfGR0ZHRkdGSAaFxQpIyEbHRchGywnJR0iHyAZKiseHSMTIysKCgoSEhIaGhgoPRAQChUVFRUdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0bNi8gGyQbGxsbLRMbGxsbGyUfABkPFwwKDRIXEB8dGxEgHSAaHRkfGR0XHhgfGhwbHBscGx0XJBwkHCQcJBwpIx8ZHxkfGR4ZHhkvJi8mIxwkHSQcKSMdFw8OGxYeGCMdJB0bDx0SHhodFx0XCgoSEgwSFQwTFxYTGBcYFx0fCg0KAAA2PikADg4QEh0dKiwMDw8TGwwTDBMdHR0dHR0dHR0dDA4bGxsYOSAfHyMdHCEkEBAhHCskJR4lIB0eIx8tIR4dEBUQGxYPGx0YHRsRHR4ODhoQLB4dHR0SFxIdGigcGRgTDRMbDhAdHR0dDRsWLBUaGxMmFhcbFRUOHhsOEBUVGi0uLxggICAgICAuHx0dHR0QEBAQJCQlJSUlJRslIyMjIx4eIBsbGxsbGysYGxsbGw4ODg4eHh0dHR0dGx0dHR0dGR0ZIBsgGyAbHxgfGB8YIyAkHR0bHRsdGx0bIR0hHSEdJB4lHhAOEA8QDhAOIRocEBwQHBAcECQeJB4kHiUdJR0yLiASIBIgEh0XHRcdFx0XHhIeEiMdIx0jHSMdIx0eHRgdGB0YDR0hHR0XHhIOChUVFw0REBYVAB8rJB0nGB8dEBAQMjUpIR4kIB4fGCQdLB0lJSEiKyQlJB4fHh4qISUhLzEiKh4fMB8bHRsUHRskGB0dGhsjHR0dHRgVGSUcHhooKRskGRknGhseFBkXDg8OKCoeGhkdIRslHSAbJR4hGx4dGBQaFR8dLCUdGCEbJR0kGiUcJh0vJDUtLCQfGB4VHhoeGiMcLSIjGyEbIR4qISohECAaIhwkHSUeIRorJA4gGyAbLisdGyMbIxssJB0YHholHSUdJR0lHSUdHxkeGR4ZHhkhGhgUKiQhHB0YIhstKCUeIx8hGissHh0kEyQsCgoKEhISGhoYKT4QEAoVFRUVHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dGzcwIBslGxsbGy4TGxsbGxsmHwAZEBgN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Fe8VAnKy8BUBcbQAFRAVAnKwCtCwERCwDdCwDS+0bw1/DQJxsv8NAXG0qg26DQJdsQwK9LLzDAFdQQ0AAwAMABMADAAjAAwAMwAMAEMADABTAAwABnG0AwwTDAJysmUMAXFBEQAmAAwANgAMAEYADABWAAwAZgAMAHYADACGAAwAlgAMAAhytOUM9QwCcUEJAKQADAC0AAwAxAAMANQADAAEckEPAHMADACDAAwAkwAMAKMADACzAAwAwwAMANMADAAHcUEJAKMADACzAAwAwwAMANMADAAEXbLiDAFdsgsGDBESObJbCwFdsnYLAXGyZQsBcbIODQYREjmyWQ4BXUERACkADgA5AA4ASQAOAFkADgBpAA4AeQAOAIkADgCZAA4ACHKwERCxEgr0QQ0AowASALMAEgDDABIA0wASAOMAEgDzABIABl20AxITEgJysmUSAXFBEQAmABIANgASAEYAEgBWABIAZgASAHYAEgCGABIAlgASAAhytOUS9RICcUEJAKQAEgC0ABIAxAASANQAEgAEckEPAHMAEgCDABIAkwASAKMAEgCzABIAwwASANMAEgAHcUEJACMAEgAzABIAQwASAFMAEgAEcbQCEhISAnGyExIDERI5tEkTWRMCXbJlEwFxsqUTAXGyEBEDERI5QREAKQAQADkAEABJABAAWQAQAGkAEAB5ABAAiQAQAJkAEAAIcrSGEJYQAl20JhA2EAJxsg8TEBESObJmDwFdss8YAV1ZALAARViwBS8bsQUVPlmwAEVYsAwvG7EMFT5ZsABFWLACLxuxAg0+WbAARViwEi8bsRINPlmyBgUCERI5sAYvsAHcQQkAwAABANAAAQDgAAEA8AABAARdQQ0AAAABABAAAQAgAAEAMAABAEAAAQBQAAEABnG0gAGQAQJysAYQsAjcsjAIAV2wBhCwCtCyDwEGERI5skYPAV2wARCwFNCwARCwFty2vxbPFt8WA120PxZPFgJdMDE3IxUjETMVNzUzFT8BMw8BHwEjJyMVI80wUFAwPxqDVH4sNIpeih0/4eEB9OIFe3UD1MkhKOLhfwABAAAAAAJ1ArwAFgPisAorWLsAEwAJABQABCuyEBQBcbSAFJAUAl2wFBCwAdCyEBMBcbSAE5ATAl2wExCwBNCwExCwBtyywAYBXbATELAI0LATELAP3LIADwFdsp8P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) format(\"truetype\");\n}\n\n@font-face {\n font-weight: 800;\n font-family: \"PTSans-Bold\";\n font-style: normal;\n src: url(data:font/ttf;base64,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AAgAAgAMAAMAbAB8AmEAAQADAEQAUgE3AAYAAAAEAFQAPAAiAA4AAwACACgAXgABAEAAAAABAAAADQADAAIAFABKAAEARAAAAAEAAAANAAEAAQARAAMAAQAwAAEAEgAAAAEAAAANAAEAAQBSAAMAAQAYAAEAEgAAAAEAAAANAAEAAQBEAAIAAQATABwAAAAEAAAAAQAIAAEAGgABAAgAAgAMAAYCTwACAHwCTwACAFIAAQABADEAAQAAAAEACAABAAYAzwABAAEAVgAEAAAAAQAIAAEAGgABAAgAAgAMAAYCzAACAE8CywACAEwAAQABAEkAAQAAAAEACAACAAwAAwB7AHQAdQABAAMAFAAVABYABAAAAAEACAABAK4AAwBqACwADAADABgAEAAIAIAAAwJWABcAgAADAi4AFwCAAAMAEgAXAAYANgAuACYAHgAWAA4AfgADAlYAFwB/AAMCVgAVAH4AAwIuABcAfwADAi4AFQB+AAMAEgAXAH8AAwASABUABgA6ADAAJgAeABYADgAIAAMCVgATAAgAAwIuABMACAADABIAEwIrAAQCVgATABMCKwAEAi4AEwATAisABAASABMAEwABAAMAEwAUABYAAQAAAAEACAABAAYAvAABAAIBvQG+AAEAAAABAAgAAgASAAYCqQKqAncCeAKrAqwAAQAGAaUBpgGrAawBvQG+AAEAAAABAAgAAgAOAAQBKQEqASsBLAABAAQBDAENARABEQAGAAAAAgBqAAoAAwABABIAAQByAAAAAQAAAA0AAQAlAEUARwBJAEsATgBPAFcAoQCyAM8A0QDhAOMA5gDtAPEA8wD1AREBEwElASwBagF9AYoBkwGYAaABsgHOAeACFgJgAnACywLMAs4AAwABABgAAQASAAAAAQAAAA0AAQABATcAAQEIACQAJQAmACcAKAApACoAKwAsAC0ALgAvADAAMQAyADMANAA1ADYANwA4ADkAOgA7ADwAPQCCAIMAhACFAIYAhwCIAIkAigCLAIwAjQCOAI8AkACRAJIAkwCUAJUAlgCXAJgAmgCbAJwAnQCeAJ8AoADCAMQAxgDIAMoAzADOANAA0gDUANYA2ADaANwA3gDgAOIA5ADmAOgA6gDsAO4A8ADyAPQA9gD4APoA/AD+AQABAgEEAQYBCAEKAQwBDgEQARIBFAEWARgBGgEcAR4BHwEhASMBJwEpASsBOwE8AT0BPgE/AUABQQFCAUMBRAFFAUYBRwFIAUkBSgFLAUwBTQFOAU8BUAFRAVIBUwFUAVUBVgFXAVgBWQFaAVsBXAFdAV4BXwFgAWEBYgFjAWQBZQFmAWcBaAGXAZkBmwGdAZ8BoQGjAaUBpwGpAasBrQGvAbEBswG1AbcBuQG7Ab0BvwHBAcMBxQHHAckBywHNAc8B0QHTAdQB1gHYAdoB3AHeAeEB4wHlAecB6QHrAe0B7wHxAfMB9QH3AfkB+wH9Af8CAQIDAgUCBwIJAgsCDQIPAhECEwIVAhcCGQIbAh0CXwJrAm0CbwJxAnMCdQJ3AnkCewJ9An8CgQKDAoUChwKJAosCjQKPApECkwKVApcCmQKbAp0CnwKhAqMCpQKnAqkCqwKtAq8CsQKzArUCtwK5AAMAAAABAAgAAQAMAAMAIgAcABYAAQADABQBvQG+AAICegKsAAICeQKrAAICwQB7AAEAAAABAAgAAgAyABYCwAK/AHQAdQLOASUBKQEqASsBLALNAqcCqAKpAqoCdwJ4ArsCvAK9Ar4CzwABABYABQAKABUAFgBPAFYBDAENARABEQEwAUABjgGlAaYBqwGsAiECIgIkAiUCLgAAAu4AMgAAAAAA/QAAAP0AAAEmAFYBkgBaAjcAEwI3AEUDSAAzAy4AXAD+AFoBRwA8AUcACwF6ACgCDwArAPwAJQFoADYA9gAqAZj/6AI3ACgCNwA/AjcARQI3AE4CNwATAjcARAI3ADQCNwA8AjcAPQI3AC0BDQBdASIATQIPACgCDwArAg8AJwHGABcEIwBJAl0AAAJPADwCLwAmAocAPAIKADwB/AA8AmEAJgKLADwBHQBKAU7/6QJsADwCAgA8AyAAPAKRADwCngAmAjwAPAKeACYCWgA8AhIAGwI4AAsCcwA5Alr/9wNeAAACeQAKAlD//gIbABsBRAA8Aaj/6AFEAB0B9AAUAbwAAAE8ADwB8AAXAhgAOQGxACECGwAhAfwAIQFBAAsCGAAhAiEAOQENADEBDP/wAesAOQEmAD0DJQA5AiEAOQIZACECHAA5AhgAIQFfADkBpgAZAV0ABQIaADQB3f/yAtH/+AINAAgB3v/3AcoAHwFzACsA4wA8AXMAIwIPABwA/QAAASUALAI3AFQCNwAzAjcABQI3//IA4wA8AhIAMQHfADwDQQA3AaQAKgHoAB0CDwAtAWgANgKyAD4BuwA8AbUAPAIPACsBnAAyAZwAOAExADwCOQA0AhEAGgD9AC0BTAA8AZwAKQGjACIB6AAiA3AAJQOHACUDiQAwAcYAFwJdAAACXQAAAl0AAAJdAAACXQAAAl0AAANe/+MCLwAmAgoAPAIKADwCCgA8AgoAPAEd/+oBHQAxAR3/3AEd/9oCnf/6ApEAPAKeACYCngAmAp4AJgKeACYCngAmAg8ANgKeACYCcwA5AnMAOQJzADkCcwA5AlD//gI8ADwCdgAMAfAAFwHwABcB8AAXAfAAFwHwABcB8AAXAxEAFwGxACEB/AAhAfwAIQH8ACEB/AAhAQ3//gENAEYBDf/iAQ3/0wIzACUCIQA5AhkAIQIZACECGQAhAhkAIQIZACECDwArAhgAIQIaADQCGgA0AhoANAIaADQB3v/3AhwAOQHe//cCXQAAAfAAFwJdAAAB8AAXAl0AAAHwABcCLwAmAbEAIQIvACYBsQAhAi8AJgGxACEChwA8An8AIQKd//oCJgAhAgoAPAH8ACECCgA8AfwAIQIKADwB/AAhAgoAPAH8ACECYQAmAhgAIQJhACYCGAAhAmEAJgIYACECiwA8AiH/0wKrAAICLP/6AR3/5wEN/+UBHQAWAQ4ADQEdADkBDQBGAU7/6QEM/+YCbAA8AesAOQICADwBJgA9AgIAPAEmAD0CAgA8ASYAPQINAAMBPwAGApEAPAIhADkCkQA8AiEAOQKRADwCIQA5Ap4AJgIZACECngAmAhkAIQOTACYDSQAhAloAPAFfADkCWgA8AV8AOQJaADwBXwAhAhIAGwGmABkCEgAbAaYAGQISABsBpgAZAhIAGwGmABkCOAALAV0ABQI4AAsBaAAFAnMAOQIaADQCcwA5AhoANAJzADkCGgA0AnMAOQIaADQCcwA5AhoANAJQ//4CGwAbAcoAHwIbABsBygAfAhsAGwHKAB8A+QAMAjf/zAJhACYCGAAhAhIAGwGmABkCOAALAV0ABQEM//AA3wAmAbgAPAHBADwBzQA8AR4APAFWADwBXgA8AcQAPAHLADwAAv7PAkkADAMKADoCuAATAgoAPALkAAsBygA8AkEAJgISABsBHQBKASgAEwFO/+kDp//zA8IAPAL2AAsCbAA8Ajj/9wJ/ADwCXQAAAjoAPAJPADwBygA8ArMAAAIKADwDR//5Ag4AEgKaADwCmgA8AmwAPAJv//MDIAA8AosAPAKeACYCfwA8AjwAPAIvACYCOAALAjj/9wMiABoCeQAKAqoAPAJeAC4DXQA8A48APAKY//wDHgA8AjkAPAI+ABQDgQA8AkQABQHwABcCGQAhAfkAOQF4ADkCOP/+AfwAIQK1//oBsAAWAiEAOQIhADkB6QA5AgP/7wKaADkCGQA5AhkAIQIUADkCHAA5AbEAIQGiAAEB3v/3ArwAHAINAAgCLwA5AfkAIQLyADkDDwA5Ahv/+wK/ADkB6gA5AcsAFwLeADkB9wAKAfwAIQIm//QBeAA5AckAJQGmABkBDQA0AT4AFQEM//AC+v/vAxAAOQIm//QB6QA5Ad7/9wIUADkCiwAAAhv/+wKeACYCGQAhAnX/8wIP//kCyAA8Ak4AOQKLAAACG//7AjwAPAIcADkBygA8AXgAOQH8AAABngAAAkYAPAIWADkDWf/5Atf/+gIOABIBsAAWAnsAPAIPADkCzAA8AksAOQK0AAAB9v/yAs8AAAIc//sCuAA8AjcAOQNTADwCmAA5A8IAPAM2ADkDbAAmAsUAIAIvACYBsQAhAjgACwGiAAECUP/+Aev/+QJQ//4B6//5ApsACgIeAAgDRgALAocAAQKLAC4CIgAhAoUALgIYACACXgA8AiEAOQMaAAAChwAGAxoAAAKHAAYBHQBKAmMAPAH1ADkCi//zAib/7wKLADwCGQA5AqsAPAJAADkCXgAuAfkAIQNOADwCxgA5AQYAQgJdAAAB8AAXAl0AAAHwABcDXv/jAxEAFwIKADwB/AAhAnYAJQH8ACICdgAlAfwAIQNH//kCtf/6Ag4AEgGwABMCJAAiAeQACgKaADwCIQA5ApoAPAIhADkCngAmAhkAIQKeACYCGQAhAp4AJgIZACECPgAUAcsAFwI4//cB3v/3Ajj/9wHe//cCOP/3Ad7/9wJeAC4B+QAhAcoAPAF4ADkDHgA8Ar8AOQJ5AAoCDQAIAg4AKAGwACECev/zAgP/7wNeAAAC0f/4AqwAPAI+ADkClQA8Ak4AOQJsADwB6wA5AyAAPAMlADkCPAA8AhwAOQKgADwBaAA2ApQAbQM0AG0A3wAmAN8AJgDfACYBjAAmAYwAJgGMACYB/QAoAf0AKAHEAEkDKQA1BNAAMwEzAB0BMwAiALj/WwGcACkBnAAyAZwAOAGcABICNwACAjcALQI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcCNwAXAjcAFwI3ABcB9ABJBAMAPAO0AB0CWAAsAhoAEgKOADwCDwAUAg8AKwIPAAUCD//7A1kAIwFw/8ICDwAeAg8AKwIPACICDwAoAg8AGwK4ADwCTgA5AAL+fQH1ADwBTAA8AdwAPAELADwA3wAmAScAPAF4ADwB6gA8AV4APAJPADwCGAA5AfwAPAFBAAsCXv/vAiz/+gJeAC4B+QAhAjj/9wHe//cCPgAUAcsAFwIOABIBsAAWAi8AJgGxACECXQAAAfAAFwIKADwB/AAhAgoAPAH8ACECCgA8AfwAIQIOABIBsAAWAp4AJgIZACECngAmAhkAIQKeACYCGQAhAp4AJgIZACEDHgA8Ar8AOQI+ABQBywAXAj4AFAHLABcCQQAmAckAJQJEAAUB9wAKAkQABQH3AAoDgQA8At4AOQOBADwC3gA5Ap3/8wIz/+8CmgA8AiEAOQKeACYCGQAhAx4APAK/ADkCDgAoAbAAIQEdADkBDQBGAfwAPAGYADkCLwAmAbEAIQKHADwCGwAhAosAPAIhADkCAgA8ASYAPQI4AAsBXQAFAlr/9wHd//ICDgASAbUADgIOABIBtQAOAN8AJgDfACYBjAAmAYwAJgD+AFoBkgBaAZwAKQELADwBfwA8AdoAPAHlADwBfwA8AgUAPAHPADwB9wA8Ac4APAIpAAwCUQAMALwAzAEGAEIAuP8WAAAAAAAAA7UAAAO1AAADtQAAA7UAAATYAAAFHAAAB2IAAAsHAAALiwAADrkAAA8NAAAQGAAAEQgAABNXAAAUcgAAFkkAABbRAAAXZAAAF8gAABnxAAAazAAAHEcAAB6hAAAgqQAAIk4AACTqAAAlpgAAKlcAACzDAAAtiwAALgcAAC7TAAAvKwAAMAcAADJDAAA2aAAAOLYAADwXAAA+aAAAQLsAAEHfAABCvAAARigAAEckAABHsAAASUUAAEtCAABL+QAAT8oAAFNcAABWKQAAWAAAAFreAABdbwAAYCEAAGDDAABiYQAAZB0AAGeZAABq8AAAbOoAAG8dAABvywAAcD0AAHCgAAByFAAAclAAAHMUAAB1vQAAd2MAAHk6AAB7WwAAfiIAAH9xAACBdAAAgzMAAIOfAACD8wAAhlwAAId4AACKBQAAi7gAAI5MAACQTwAAkhIAAJMIAACWOgAAl3IAAJkJAACa3AAAnUsAAKBgAACitQAApTYAAKeRAACn8gAAqk0AAKtsAACrbAAArHsAAK5PAACwCwAAtGEAALcRAAC3hwAAu5cAALz3AADAdwAAw4YAAMVKAADFiAAAxZgAAMnwAADKbgAAzNcAAM3wAADOEAAAzjAAAM7xAADQPQAA0PwAANEQAADRzwAA0e8AANOAAADVWQAA1dUAANZNAADWvQAA2OkAANl1AADZ2QAA2kkAANqNAADbFQAA4KgAAOKLAADnPgAA544AAOfWAADoLgAA6JIAAOjuAADpSgAA6aYAAOn+AADsgQAA7MUAAO0lAADtfQAA7eEAAO45AADunQAA76gAAPN0AADz2AAA9DQAAPSoAAD1JAAA9XgAAPaxAAD4iAAA+QAAAPlYAAD5zAAA+gwAAPqUAAD7KAAA/rQAAQKaAAEC9gABA1YAAQOaAAEEDgABBGIAAQSuAAEE+gABBYIAAQdOAAEHigABB94AAQhCAAEIogABCOYAAQlSAAEKRAABDlMAAQ6zAAEPAwABD1sAAQ/PAAEQJwABEg8AARJvAAESxwABEyMAARNvAAET+wABFTkAARc4AAEXvAABGBQAARhYAAEYuAABGQwAARmAAAEZzAABGiAAARowAAEcfwABHMcAAR0TAAEdZwABHb8AASABAAEiagABItoAASMaAAEjRgABI4YAASPyAAEkQgABJJIAASTOAAElFgABJToAASaOAAEovQABKQ0AASlpAAErWAABLh8AAS5vAAEvAAABL0wAAS9wAAEvuAABMBAAATBQAAEwqAABMOwAATE8AAExgAABMgAAATMuAAE07QABNVEAATWlAAE17QABNk0AATapAAE2+QABN2UAATfRAAE4UQABOL0AATrKAAE9nQABPfUAAT59AAE+1QABPx0AAT+NAAE/6QABQD0AAUCJAAFAwQABQQEAAUYcAAFL6QABTEEAAUytAAFN4AABT2cAAU/DAAFQGwABUIcAAVDzAAFRCwABUSMAAVGrAAFSIwABUpsAAVMH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AAsADAANAA4ADwAQABEAEgATABQAFQAWABcAGAAZABoAGwAcAB0AHgAfACAAIQAiACMAJAAlACYAJwAoACkAKgArACwALQAuAC8AMAAxADIAMwA0ADUANgA3ADgAOQA6ADsAPAA9AD4APwBAAEEAQgBDAEQARQBGAEcASABJAEoASwBMAE0ATgBPAFAAUQBSAFMAVABVAFYAVwBYAFkAWgBbAFwAXQBeAF8AYABhAQIAowCEAIUAvQCWAOgAhgCOAIsAnQCpAKQBAwCKANoAgwCTAPIA8wCNAJcAiADDAN4A8QCeAKoA9QD0APYAogCtAMkAxwCuAGIAYwCQAGQAywBlAMgAygDPAMwAzQDOAOkAZgDTANAA0QCvAGcA8ACRANYA1ADVAGgA6wDtAIkAagBpAGsAbQBsAG4AoABvAHEAcAByAHMAdQB0AHYAdwDqAHgAegB5AHsAfQB8ALgAoQB/AH4AgACBAOwA7gC6AQQBBQEGAQcBCAEJAP0A/gEKAQsA/wEAAQwBDQEOAQEBDwEQAREBEgETARQBFQEWARcBGAD4APkBGQEaARsBHAEdAR4BHwEgASEBIgD6ANcBIwEkASUBJgEnASgBKQEqASsBLADiAOMBLQEuAS8BMAExATIBMwE0ATUBNgCwALEBNwE4ATkBOgE7ATwBPQE+AT8BQAD7APwA5ADlAUEBQgFDAUQBRQFGAUcBSAFJAUoBSwFMAU0BTgC7AU8BUAFRAVIA5gDnAVMApgFUAVUBVgFXAVgBWQFaAVsA2ADhANsA3ADdAOAA2QDfAVwBXQFeAJsBXwFgAWEBYgFjAWQBZQFmAWcBaAFpAWoBawFsAW0BbgFvAXABcQFyAXMBdAF1AXYBdwF4AXkBegF7AXwBfQF+AX8BgAGBAYIBgwGEAYUBhgGHAYgBiQGKAYsBjAGNAY4BjwGQAZEBkgGTAZQBlQGWAZcBmAGZAZoBmwGcAZ0BngGfAaABoQGiAaMBpAGlAaYBpwGoAakBqgGrAawBrQGuAa8BsAGxAbIBswG0AbUBtgG3AbgBuQG6AbsBvAG9Ab4BvwHAAcEBwgHDAcQBxQHGAccByAHJAcoBywHMAc0BzgHPAdAB0QHSAdMB1AHVAdYB1wHYAdkB2gHbAdwB3QHeAd8B4AHhAeIB4wHkAeUB5gHnAegB6QHqAesB7AHtAe4B7wHwAfEB8gHzAfQB9QH2AfcB+AH5AfoB+wH8Af0B/gH/AgACAQICAgMCBAIFAgYCBwIIAgkCCgILAgwCDQIOAg8CEAIRAhICEwIUAhUCFgIXAhgCGQIaAhsCHAIdAh4CHwIgAiECIgIjAiQCJQImAicCKAIpAioCKwIsAi0CLgIvAjACMQIyAjMCNAI1AjYCNwI4AjkCOgI7AjwCPQI+Aj8CQAJBAkIAsgCzALYAtwDEALQAtQDFAIIAwgCHAKsAxgC+AL8AvAJDAkQCRQJGAkcCSAJJAkoCSwJMAk0CTgJPAlACUQJSAlMCVAJVAlYCVwJYAlkCWgJbAlwCXQJeAl8CYAJhAmICYwCMAmQAmACaAJkA7wJlAKUAkgCcAKcAjwCUAJUAuQJmAmcCaAJpAmoCawJsAm0CbgJvAnACcQJyAnMCdAJ1AnYCdwJ4AnkCegJ7AnwCfQJ+An8CgAKBAoICgwKEAoUChgKHAogCiQKKAosCjAKNAo4CjwKQApECkgKTApQClQKWApcCmAKZApoCmwKcAp0CngKfAqACoQKiAqMCpAKlAqYCpwKoAqkCqgKrAqwCrQKuAq8CsAKxArICswK0ArUCtgK3ArgCuQK6ArsCvAK9Ar4CvwLAAsECwgLDAsQCxQLGAscCyALJAsoCywLMAs0CzgLPAtAC0QDAAMEC0gLTAtQHdW5pMDBBMAd1bmkwMEFEB0FtYWNyb24HYW1hY3JvbgZBYnJldmUGYWJyZXZlB0FvZ29uZWsHYW9nb25lawtDY2lyY3VtZmxleAtjY2lyY3VtZmxleAZEY2Fyb24GZGNhcm9uBkRjcm9hdAdFbWFjcm9uB2VtYWNyb24KRWRvdGFjY2VudAplZG90YWNjZW50B0VvZ29uZWsHZW9nb25lawZFY2Fyb24GZWNhcm9uC0djaXJjdW1mbGV4C2djaXJjdW1mbGV4DEdjb21tYWFjY2VudAxnY29tbWFhY2NlbnQLSGNpcmN1bWZsZXgLaGNpcmN1bWZsZXgESGJhcgRoYmFyB0ltYWNyb24HaW1hY3JvbgdJb2dvbmVrB2lvZ29uZWsLSmNpcmN1bWZsZXgLamNpcmN1bWZsZXgMS2NvbW1hYWNjZW50DGtjb21tYWFjY2VudAZMYWN1dGUGbGFjdXRlDExjb21tYWFjY2VudAxsY29tbWFhY2NlbnQGTGNhcm9uBmxjYXJvbgZOYWN1dGUGbmFjdXRlDE5jb21tYWFjY2VudAxuY29tbWFhY2NlbnQGTmNhcm9uBm5jYXJvbgdPbWFjcm9uB29tYWNyb24NT2h1bmdhcnVtbGF1dA1vaHVuZ2FydW1sYXV0BlJhY3V0ZQZyYWN1dGUMUmNvbW1hYWNjZW50DHJjb21tYWFjY2VudAZSY2Fyb24GcmNhcm9uBlNhY3V0ZQZzYWN1dGULU2NpcmN1bWZsZXgLc2NpcmN1bWZsZXgIVGNlZGlsbGEIdGNlZGlsbGEGVGNhcm9uBnRjYXJvbgdVbWFjcm9uB3VtYWNyb24GVWJyZXZlBnVicmV2ZQVVcmluZwV1cmluZw1VaHVuZ2FydW1sYXV0DXVodW5nYXJ1bWxhdXQHVW9nb25lawd1b2dvbmVrBlphY3V0ZQZ6YWN1dGUKWmRvdGFjY2VudAp6ZG90YWNjZW50BWxvbmdzB3VuaTAxRjQHdW5pMDFGNQxTY29tbWFhY2NlbnQMc2NvbW1hYWNjZW50DFRjb21tYWFjY2VudAx0Y29tbWFhY2NlbnQHdW5pMDIzNwlhZmlpNTc5MjkJYWN1dGVjb21iB3VuaTAzOTQHdW5pMDNBOQlhZmlpMTAwMjMJYWZpaTEwMDUxCWFmaWkxMDA1MglhZmlpMTAwNTMJYWZpaTEwMDU0CWFmaWkxMDA1NQlhZmlpMTAwNTYJYWZpaTEwMDU3CWFmaWkxMDA1OAlhZmlpMTAwNTkJYWZpaTEwMDYwCWFmaWkxMDA2MQlhZmlpMTAwNjIJYWZpaTEwMTQ1CWFmaWkxMDAxNwlhZmlpMTAwMTgJYWZpaTEwMDE5CWFmaWkxMDAyMAlhZmlpMTAwMjEJYWZpaTEwMDIyCWFmaWkxMDAyNAlhZmlpMTAwMjUJYWZpaTEwMDI2CWFmaWkxMDAyNwlhZmlpMTAwMjgJYWZpaTEwMDI5CWFmaWkxMDAzMAlhZmlpMTAwMzEJYWZpaTEwMDMyCWFmaWkxMDAzMwlhZmlpMTAwMzQJYWZpaTEwMDM1CWFmaWkxMDAzNglhZmlpMTAwMzcJYWZpaTEwMDM4CWFmaWkxMDAzOQlhZmlpMTAwNDAJYWZpaTEwMDQxCWFmaWkxMDA0MglhZmlpMTAwNDMJYWZpaTEwMDQ0CWFmaWkxMDA0NQlhZmlpMTAwNDYJYWZpaTEwMDQ3CWFmaWkxMDA0OAlhZmlpMTAwNDkJYWZpaTEwMDY1CWFmaWkxMDA2NglhZmlpMTAwNjcJYWZpaTEwMDY4CWFmaWkxMDA2OQlhZmlpMTAwNzAJYWZpaTEwMDcyCWFmaWkxMDA3MwlhZmlpMTAwNzQJYWZpaTEwMDc1CWFmaWkxMDA3NglhZmlpMTAwNzcJYWZpaTEwMDc4CWFmaWkxMDA3OQlhZmlpMTAwODAJYWZpaTEwMDgxCWFmaWkxMDA4MglhZmlpMTAwODMJYWZpaTEwMDg0CWFmaWkxMDA4NQlhZmlpMTAwODYJYWZpaTEwMDg3CWFmaWkxMDA4OAlhZmlpMTAwODkJYWZpaTEwMDkwCWFmaWkxMDA5MQlhZmlpMTAwOTIJYWZpaTEwMDkzCWFmaWkxMDA5NAlhZmlpMTAwOTUJYWZpaTEwMDk2CWFmaWkxMDA5NwlhZmlpMTAwNzEJYWZpaTEwMDk5CWFmaWkxMDEwMAlhZmlpMTAxMDEJYWZpaTEwMTAyCWFmaWkxMDEwMwlhZmlpMTAxMDQJYWZpaTEwMTA1CWFmaWkxMDEwNglhZmlpMTAxMDcJYWZpaTEwMTA4CWFmaWkxMDEwOQlhZmlpMTAxMTAJYWZpaTEwMTkzCWFmaWkxMDE0NglhZmlpMTAxOTQJYWZpaTEwMTQ3CWFmaWkxMDE5NQlhZmlpMTAxNDgJYWZpaTEwMTk2B3VuaTA0OEEHdW5pMDQ4Qgd1bmkwNDhDB3VuaTA0OEQHdW5pMDQ4RQd1bmkwNDhGCWFmaWkxMDA1MAlhZmlpMTAwOTgHdW5pMDQ5Mgd1bmkwNDkzB3VuaTA0OTQHdW5pMDQ5NQd1bmkwNDk2B3VuaTA0OTcHdW5pMDQ5OAd1bmkwNDk5B3VuaTA0OUEHdW5pMDQ5Qgd1bmkwNDlDB3VuaTA0OUQHdW5pMDQ5RQd1bmkwNDlGB3VuaTA0QTAHdW5pMDRBMQd1bmkwNEEyB3VuaTA0QTMHdW5pMDRBNAd1bmkwNEE1B3VuaTA0QTYHdW5pMDRBNwd1bmkwNEE4B3VuaTA0QTkHdW5pMDRBQQd1bmkwNEFCB3VuaTA0QUMHdW5pMDRBRAd1bmkwNEFFB3VuaTA0QUYHdW5pMDRCMAd1bmkwNEIxB3VuaTA0QjIHdW5pMDRCMwd1bmkwNEI0B3VuaTA0QjUHdW5pMDRCNgd1bmkwNEI3B3VuaTA0QjgHdW5pMDRCOQd1bmkwNEJBB3VuaTA0QkIHdW5pMDRCQwd1bmkwNEJEB3VuaTA0QkUHdW5pMDRCRgd1bmkwNEMwB3VuaTA0QzMHdW5pMDRDNAd1bmkwNEM1B3VuaTA0QzYHdW5pMDRDNwd1bmkwNEM4B3VuaTA0QzkHdW5pMDRDQQd1bmkwNENCB3VuaTA0Q0MHdW5pMDRDRAd1bmkwNENFB3VuaTA0Q0YHdW5pMDREMAd1bmkwNEQxB3VuaTA0RDIHdW5pMDREMwd1bmkwNEQ0B3VuaTA0RDUHdW5pMDRENgd1bmkwNEQ3B3VuaTA0RDgJYWZpaTEwODQ2B3VuaTA0REEHdW5pMDREQgd1bmkwNERDB3VuaTA0REQHdW5pMDRERQd1bmkwNERGB3VuaTA0RTAHdW5pMDRFMQd1bmkwNEUyB3VuaTA0RTMHdW5pMDRFNAd1bmkwNEU1B3VuaTA0RTYHdW5pMDRFNwd1bmkwNEU4B3VuaTA0RTkHdW5pMDRFQQd1bmkwNEVCB3VuaTA0RUMHdW5pMDRFRAd1bmkwNEVFB3VuaTA0RUYHdW5pMDRGMAd1bmkwNEYxB3VuaTA0RjIHdW5pMDRGMwd1bmkwNEY0B3VuaTA0RjUHdW5pMDRGNgd1bmkwNEY3B3VuaTA0RjgHdW5pMDRGOQd1bmkwNEZDB3VuaTA0RkQHdW5pMDUxMAd1bmkwNTExB3VuaTA1MTIHdW5pMDUxMwd1bmkwNTFDB3VuaTA1MUQHdW5pMDUyNAd1bmkwNTI1B3VuaTA1MjYHdW5pMDUyNwd1bmkxRTMwB3VuaTFFMzEHdW5pMUUzRQd1bmkxRTNGB3VuaTFFNTQHdW5pMUU1NQd1bmkxRTlFB3VuaTIwMTEHdW5pMjA4MQd1bmkyMDgyB3VuaTIwODMHdW5pMjA4NARFdXJvB3VuaTIwQjQHdW5pMjBCNgd1bmkyMEI3B3VuaTIwQjkHdW5pMjBCQQd1bmkyMEJCB3VuaTIwQkMHdW5pMjBCRAd1bmkyMEJFB3VuaTIwQkYHdW5pMjBDMAd1bmkyMEMxB3VuaTIwQzIHdW5pMjBDMwd1bmkyMEM0B3VuaTIwQzUHdW5pMjBDNgd1bmkyMEM3B3VuaTIwQzgHdW5pMjBDOQd1bmkyMENBB3VuaTIwQ0IHdW5pMjBDQwd1bmkyMENEB3VuaTIwQ0UHdW5pMjBDRglhZmlpNjEyODkJYWZpaTYxMzUyCWVzdGltYXRlZAd1bmkyMjE1B3VuaTJDNjcHdW5pMkM2OAd1bmlGNDAxB3VuaUY0MDYHdW5pRjQwNwd1bmlGNDA4B3VuaUY0MDkHdW5pRjQwQQd1bmlGNDBCB3VuaUY0MEMHdW5pRjQwRAd1bmlGNDBFB3VuaUY0ODYHdW5pRjQ4Nwd1bmlGNDg4B3VuaUY0ODkHdW5pRjQ5RQd1bmlGNDlGB3VuaUY0QzYHdW5pRjRDNwd1bmlGNENDB3VuaUY0Q0QHdW5pRjRENgd1bmlGNEQ3C3VuaTA0OTguYWx0C3VuaTA0OTkuYWx0DXVuaTA0QUEuYWx0MDINdW5pMDRBQi5hbHQwMgd1bmlGNTBFB3VuaUY1MEYHdW5pRjUxMAd1bmlGNTExB3VuaUY1MTIHdW5pRjUxMwd1bmlGNTE0B3VuaUY1MTUHdW5pRjUxNgd1bmlGNTE3B3VuaUY1MTgHdW5pRjUxOQd1bmlGNTFBB3VuaUY1MUIHdW5pRjUxQwd1bmlGNTFEB3VuaUY1MUUHdW5pRjUxRgd1bmlGNTIwB3VuaUY1MjEHdW5pRjUyMgd1bmlGNTIzB3VuaUY1MjQHdW5pRjUyNQd1bmlGNTI2B3VuaUY1MjcHdW5pRjUyOAd1bmlGNTI5B3VuaUY1MkEHdW5pRjUyQgd1bmlGNTJDB3VuaUY1MkQHdW5pRjUyRQd1bmlGNTJGB3VuaUY1MzAHdW5pRjUzMQd1bmlGNTMyB3VuaUY1MzMHdW5pRjUzNAd1bmlGNTM1B3VuaUY1MzYHdW5pRjUzNwd1bmlGNTM4B3VuaUY1MzkNYWZpaTEwMDU1LmFsdA1hZmlpMTAxMDMuYWx0C3VuaTA0OTIuYWx0C3VuaTA0OTMuYWx0C3VuaTA0QUEuYWx0C3VuaTA0QUIuYWx0B3VuaUY1NDAHdW5pRjU0MQd1bmlGNTQyB3VuaUY1NDMHdW5pRjU0NAd1bmlGNTQ1B3VuaUY1NDYHdW5pRjU0Nwd1bmlGNTQ4B3VuaUY1NDkHdW5pRjU0QQd1bmlGNTRCB3VuaUY1NEMHdW5pRjU0RAd1bmlGNjJDB3VuaUY2MkQHdW5pRjYyRQd1bmlGNjJGB3VuaUY2MzQHdW5pRjYzNQ1vbmUubnVtZXJhdG9yB3VuaUY2QzMHdW5pRjZDOQd1bmlGNkNBB3VuaUY2Q0IHdW5pRjZDRQd1bmlGNkNGB3VuaUY2RDAHdW5pRjZEMQd1bmlGNkQ0B2Nhcm9uLmwFbC52YXIMZnJhY3Rpb24uYWx0AAAAAAAADwC6AAMAAQQJAAAAZi4IAAMAAQQJAAEADi36AAMAAQQJAAIACC3yAAMAAQQJAAMAPi20AAMAAQQJAAQAGC2cAAMAAQQJAAUAJC14AAMAAQQJAAYAFi1iAAMAAQQJAAcAVi0MAAMAAQQJAAgAGCz0AAMAAQQJAAkARCywAAMAAQQJAAoJCiOmAAMAAQQJAAsALiN4AAMAAQQJAAwATiMqAAMAAQQJAA0i7gA8AAMAAQQJAA4APAAAAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATABfAHcAZQBiAEMAbwBwAHkAcgBpAGcAaAB0ACAAKABjACkAIAAyADAAMQAwACwAIABQAGEAcgBhAFQAeQBwAGUAIABMAHQAZAAuACAAKABoAHQAdABwADoALwAvAHcAdwB3AC4AcABhAHIAYQB0AHkAcABlAC4AYwBvAG0ALwBwAHUAYgBsAGkAYwApACwAIAB3AGkAdABoACAAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAcwAgACIAUABUACAAUwBhAG4AcwAiACwAIAAiAFAAVAAgAFMAZQByAGkAZgAiACAAYQBuAGQAIAAiAFAAYQByAGEAVAB5AHAAZQAiAC4ADQAKAA0ACgBUAGgAaQBzACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAGkAcwAgAGwAaQBjAGUAbgBzAGUAZAAgAHUAbgBkAGUAcgAgAHQAaABlACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACwAIABWAGUAcgBzAGkAbwBuACAAMQAuADEAIABUAGgAaQBzACAAbABpAGMAZQBuAHMAZQAgAGkAcwAgAGMAbwBwAGkAZQBkACAAYgBlAGwAbwB3ACwAIABhAG4AZAAgAGkAcwAgAGEAbABzAG8AIABhAHYAYQBpAGwAYQBiAGwAZQAgAHcAaQB0AGgAIABhACAARgBBAFEAIABhAHQAOgAgAGgAdAB0AHAAOgAvAC8AcwBjAHIAaQBwAHQAcwAuAHMAaQBsAC4AbwByAGcALwBPAEYATAANAAoADQAKAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQANAAoAUwBJAEwAIABPAFAARQBOACAARgBPAE4AVAAgAEwASQBDAEUATgBTAEUAIABWAGUAcgBzAGkAbwBuACAAMQAuADEAIAAtACAAMgA2ACAARgBlAGIAcgB1AGEAcgB5ACAAMgAwADAANwANAAoALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAC0ALQAtAA0ACgANAAoAUABSAEUAQQBNAEIATABFAA0ACgBUAGgAZQAgAGcAbwBhAGwAcwAgAG8AZgAgAHQAaABlACAATwBwAGUAbgAgAEYAbwBuAHQAIABMAGkAYwBlAG4AcwBlACAAKABPAEYATAApACAAYQByAGUAIAB0AG8AIABzAHQAaQBtAHUAbABhAHQAZQAgAHcAbwByAGwAZAB3AGkAZABlACAAZABlAHYAZQBsAG8AcABtAGUAbgB0ACAAbwBmACAAYwBvAGwAbABhAGIAbwByAGEAdABpAHYAZQAgAGYAbwBuAHQAIABwAHIAbwBqAGUAYwB0AHMALAAgAHQAbwAgAHMAdQBwAHAAbwByAHQAIAB0AGgAZQAgAGYAbwBuAHQAIABjAHIAZQBhAHQAaQBvAG4AIABlAGYAZgBvAHIAdABzACAAbwBmACAAYQBjAGEAZABlAG0AaQBjACAAYQBuAGQAIABsAGkAbgBnAHUAaQBzAHQAaQBjACAAYwBvAG0AbQB1AG4AaQB0AGkAZQBzACwAIABhAG4AZAAgAHQAbwAgAHAAcgBvAHYAaQBkAGUAIABhACAAZgByAGUAZQAgAGEAbgBkACAAbwBwAGUAbgAgAGYAcgBhAG0AZQB3AG8AcgBrACAAaQBuACAAdwBoAGkAYwBoACAAZgBvAG4AdABzACAAbQBhAHkAIABiAGUAIABzAGgAYQByAGUAZAAgAGEAbgBkACAAaQBtAHAAcgBvAHYAZQBkACAAaQBuACAAcABhAHIAdABuAGUAcgBzAGgAaQBwACAAdwBpAHQAaAAgAG8AdABoAGUAcgBzAC4ADQAKAA0ACgBUAGgAZQAgAE8ARgBMACAAYQBsAGwAbwB3AHMAIAB0AGgAZQAgAGwAaQBjAGUAbgBzAGUAZAAgAGYAbwBuAHQAcwAgAHQAbwAgAGIAZQAgAHUAcwBlAGQALAAgAHMAdAB1AGQAaQBlAGQALAAgAG0AbwBkAGkAZgBpAGUAZAAgAGEAbgBkACAAcgBlAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGYAcgBlAGUAbAB5ACAAYQBzACAAbABvAG4AZwAgAGEAcwAgAHQAaABlAHkAIABhAHIAZQAgAG4AbwB0ACAAcwBvAGwAZAAgAGIAeQAgAHQAaABlAG0AcwBlAGwAdgBlAHMALgAgAFQAaABlACAAZgBvAG4AdABzACwAIABpAG4AYwBsAHUAZABpAG4AZwAgAGEAbgB5ACAAZABlAHIAaQB2AGEAdABpAHYAZQAgAHcAbwByAGsAcwAsACAAYwBhAG4AIABiAGUAIABiAHUAbgBkAGwAZQBkACwAIABlAG0AYgBlAGQAZABlAGQALAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUAIABwAHIAbwB2AGkAZABlAGQAIAB0AGgAYQB0ACAAYQBuAHkAIAByAGUAcwBlAHIAdgBlAGQAIABuAGEAbQBlAHMAIABhAHIAZQAgAG4AbwB0ACAAdQBzAGUAZAAgAGIAeQAgAGQAZQByAGkAdgBhAHQAaQB2AGUAIAB3AG8AcgBrAHMALgAgAFQAaABlACAAZgBvAG4AdABzACAAYQBuAGQAIABkAGUAcgBpAHYAYQB0AGkAdgBlAHMALAAgAGgAbwB3AGUAdgBlAHIALAAgAGMAYQBuAG4AbwB0ACAAYgBlACAAcgBlAGwAZQBhAHMAZQBkACAAdQBuAGQAZQByACAAYQBuAHkAIABvAHQAaABlAHIAIAB0AHkAcABlACAAbwBmACAAbABpAGMAZQBuAHMAZQAuACAAVABoAGUAIAByAGUAcQB1AGkAcgBlAG0AZQBuAHQAIABmAG8AcgAgAGYAbwBuAHQAcwAgAHQAbwAgAHIAZQBtAGEAaQBuACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABkAG8AZQBzACAAbgBvAHQAIABhAHAAcABsAHkAIAB0AG8AIABhAG4AeQAgAGQAbwBjAHUAbQBlAG4AdAAgAGMAcgBlAGEAdABlAGQAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAGYAbwBuAHQAcwAgAG8AcgAgAHQAaABlAGkAcgAgAGQAZQByAGkAdgBhAHQAaQB2AGUAcwAuAA0ACgANAAoARABFAEYASQBOAEkAVABJAE8ATgBTAA0ACgAiAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAdABoAGUAIABzAGUAdAAgAG8AZgAgAGYAaQBsAGUAcwAgAHIAZQBsAGUAYQBzAGUAZAAgAGIAeQAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACAAYQBuAGQAIABjAGwAZQBhAHIAbAB5ACAAbQBhAHIAawBlAGQAIABhAHMAIABzAHUAYwBoAC4AIABUAGgAaQBzACAAbQBhAHkAIABpAG4AYwBsAHUAZABlACAAcwBvAHUAcgBjAGUAIABmAGkAbABlAHMALAAgAGIAdQBpAGwAZAAgAHMAYwByAGkAcAB0AHMAIABhAG4AZAAgAGQAbwBjAHUAbQBlAG4AdABhAHQAaQBvAG4ALgANAAoADQAKACIAUgBlAHMAZQByAHYAZQBkACAARgBvAG4AdAAgAE4AYQBtAGUAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABuAGEAbQBlAHMAIABzAHAAZQBjAGkAZgBpAGUAZAAgAGEAcwAgAHMAdQBjAGgAIABhAGYAdABlAHIAIAB0AGgAZQAgAGMAbwBwAHkAcgBpAGcAaAB0ACAAcwB0AGEAdABlAG0AZQBuAHQAKABzACkALgANAAoADQAKACIATwByAGkAZwBpAG4AYQBsACAAVgBlAHIAcwBpAG8AbgAiACAAcgBlAGYAZQByAHMAIAB0AG8AIAB0AGgAZQAgAGMAbwBsAGwAZQBjAHQAaQBvAG4AIABvAGYAIABGAG8AbgB0ACAAUwBvAGYAdAB3AGEAcgBlACAAYwBvAG0AcABvAG4AZQBuAHQAcwAgAGEAcwAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGIAeQAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAuAA0ACgANAAoAIgBNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuACIAIAByAGUAZgBlAHIAcwAgAHQAbwAgAGEAbgB5ACAAZABlAHIAaQB2AGEAdABpAHYAZQAgAG0AYQBkAGUAIABiAHkAIABhAGQAZABpAG4AZwAgAHQAbwAsACAAZABlAGwAZQB0AGkAbgBnACwAIABvAHIAIABzAHUAYgBzAHQAaQB0AHUAdABpAG4AZwAgAC0ALQAgAGkAbgAgAHAAYQByAHQAIABvAHIAIABpAG4AIAB3AGgAbwBsAGUAIAAtAC0AIABhAG4AeQAgAG8AZgAgAHQAaABlACAAYwBvAG0AcABvAG4AZQBuAHQAcwAgAG8AZgAgAHQAaABlACAATwByAGkAZwBpAG4AYQBsACAAVgBlAHIAcwBpAG8AbgAsACAAYgB5ACAAYwBoAGEAbgBnAGkAbgBnACAAZgBvAHIAbQBhAHQAcwAgAG8AcgAgAGIAeQAgAHAAbwByAHQAaQBuAGcAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIAB0AG8AIABhACAAbgBlAHcAIABlAG4AdgBpAHIAbwBuAG0AZQBuAHQALgANAAoADQAKACIAQQB1AHQAaABvAHIAIgAgAHIAZQBmAGUAcgBzACAAdABvACAAYQBuAHkAIABkAGUAcwBpAGcAbgBlAHIALAAgAGUAbgBnAGkAbgBlAGUAcgAsACAAcAByAG8AZwByAGEAbQBtAGUAcgAsACAAdABlAGMAaABuAGkAYwBhAGwAIAB3AHIAaQB0AGUAcgAgAG8AcgAgAG8AdABoAGUAcgAgAHAAZQByAHMAbwBuACAAdwBoAG8AIABjAG8AbgB0AHIAaQBiAHUAdABlAGQAIAB0AG8AIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgANAAoADQAKAFAARQBSAE0ASQBTAFMASQBPAE4AIAAmACAAQwBPAE4ARABJAFQASQBPAE4AUwANAAoAUABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGgAZQByAGUAYgB5ACAAZwByAGEAbgB0AGUAZAAsACAAZgByAGUAZQAgAG8AZgAgAGMAaABhAHIAZwBlACwAIAB0AG8AIABhAG4AeQAgAHAAZQByAHMAbwBuACAAbwBiAHQAYQBpAG4AaQBuAGcAIABhACAAYwBvAHAAeQAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAsACAAdABvACAAdQBzAGUALAAgAHMAdAB1AGQAeQAsACAAYwBvAHAAeQAsACAAbQBlAHIAZwBlACwAIABlAG0AYgBlAGQALAAgAG0AbwBkAGkAZgB5ACwAIAByAGUAZABpAHMAdAByAGkAYgB1AHQAZQAsACAAYQBuAGQAIABzAGUAbABsACAAbQBvAGQAaQBmAGkAZQBkACAAYQBuAGQAIAB1AG4AbQBvAGQAaQBmAGkAZQBkACAAYwBvAHAAaQBlAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALAAgAHMAdQBiAGoAZQBjAHQAIAB0AG8AIAB0AGgAZQAgAGYAbwBsAGwAbwB3AGkAbgBnACAAYwBvAG4AZABpAHQAaQBvAG4AcwA6AA0ACgANAAoAMQApACAATgBlAGkAdABoAGUAcgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAG4AbwByACAAYQBuAHkAIABvAGYAIABpAHQAcwAgAGkAbgBkAGkAdgBpAGQAdQBhAGwAIABjAG8AbQBwAG8AbgBlAG4AdABzACwAIABpAG4AIABPAHIAaQBnAGkAbgBhAGwAIABvAHIAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuAHMALAAgAG0AYQB5ACAAYgBlACAAcwBvAGwAZAAgAGIAeQAgAGkAdABzAGUAbABmAC4ADQAKAA0ACgAyACkAIABPAHIAaQBnAGkAbgBhAGwAIABvAHIAIABNAG8AZABpAGYAaQBlAGQAIABWAGUAcgBzAGkAbwBuAHMAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABtAGEAeQAgAGIAZQAgAGIAdQBuAGQAbABlAGQALAAgAHIAZQBkAGkAcwB0AHIAaQBiAHUAdABlAGQAIABhAG4AZAAvAG8AcgAgAHMAbwBsAGQAIAB3AGkAdABoACAAYQBuAHkAIABzAG8AZgB0AHcAYQByAGUALAAgAHAAcgBvAHYAaQBkAGUAZAAgAHQAaABhAHQAIABlAGEAYwBoACAAYwBvAHAAeQAgAGMAbwBuAHQAYQBpAG4AcwAgAHQAaABlACAAYQBiAG8AdgBlACAAYwBvAHAAeQByAGkAZwBoAHQAIABuAG8AdABpAGMAZQAgAGEAbgBkACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUALgAgAFQAaABlAHMAZQAgAGMAYQBuACAAYgBlACAAaQBuAGMAbAB1AGQAZQBkACAAZQBpAHQAaABlAHIAIABhAHMAIABzAHQAYQBuAGQALQBhAGwAbwBuAGUAIAB0AGUAeAB0ACAAZgBpAGwAZQBzACwAIABoAHUAbQBhAG4ALQByAGUAYQBkAGEAYgBsAGUAIABoAGUAYQBkAGUAcgBzACAAbwByACAAaQBuACAAdABoAGUAIABhAHAAcAByAG8AcAByAGkAYQB0AGUAIABtAGEAYwBoAGkAbgBlAC0AcgBlAGEAZABhAGIAbABlACAAbQBlAHQAYQBkAGEAdABhACAAZgBpAGUAbABkAHMAIAB3AGkAdABoAGkAbgAgAHQAZQB4AHQAIABvAHIAIABiAGkAbgBhAHIAeQAgAGYAaQBsAGUAcwAgAGEAcwAgAGwAbwBuAGcAIABhAHMAIAB0AGgAbwBzAGUAIABmAGkAZQBsAGQAcwAgAGMAYQBuACAAYgBlACAAZQBhAHMAaQBsAHkAIAB2AGkAZQB3AGUAZAAgAGIAeQAgAHQAaABlACAAdQBzAGUAcgAuAA0ACgANAAoAMwApACAATgBvACAATQBvAGQAaQBmAGkAZQBkACAAVgBlAHIAcwBpAG8AbgAgAG8AZgAgAHQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAgAG0AYQB5ACAAdQBzAGUAIAB0AGgAZQAgAFIAZQBzAGUAcgB2AGUAZAAgAEYAbwBuAHQAIABOAGEAbQBlACgAcwApACAAdQBuAGwAZQBzAHMAIABlAHgAcABsAGkAYwBpAHQAIAB3AHIAaQB0AHQAZQBuACAAcABlAHIAbQBpAHMAcwBpAG8AbgAgAGkAcwAgAGcAcgBhAG4AdABlAGQAIABiAHkAIAB0AGgAZQAgAGMAbwByAHIAZQBzAHAAbwBuAGQAaQBuAGcAIABDAG8AcAB5AHIAaQBnAGgAdAAgAEgAbwBsAGQAZQByAC4AIABUAGgAaQBzACAAcgBlAHMAdAByAGkAYwB0AGkAbwBuACAAbwBuAGwAeQAgAGEAcABwAGwAaQBlAHMAIAB0AG8AIAB0AGgAZQAgAHAAcgBpAG0AYQByAHkAIABmAG8AbgB0ACAAbgBhAG0AZQAgAGEAcwAgAHAAcgBlAHMAZQBuAHQAZQBkACAAdABvACAAdABoAGUAIAB1AHMAZQByAHMALgANAAoADQAKADQAKQAgAFQAaABlACAAbgBhAG0AZQAoAHMAKQAgAG8AZgAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAG8AcgAgAHQAaABlACAAQQB1AHQAaABvAHIAKABzACkAIABvAGYAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUAIABzAGgAYQBsAGwAIABuAG8AdAAgAGIAZQAgAHUAcwBlAGQAIAB0AG8AIABwAHIAbwBtAG8AdABlACwAIABlAG4AZABvAHIAcwBlACAAbwByACAAYQBkAHYAZQByAHQAaQBzAGUAIABhAG4AeQAgAE0AbwBkAGkAZgBpAGUAZAAgAFYAZQByAHMAaQBvAG4ALAAgAGUAeABjAGUAcAB0ACAAdABvACAAYQBjAGsAbgBvAHcAbABlAGQAZwBlACAAdABoAGUAIABjAG8AbgB0AHIAaQBiAHUAdABpAG8AbgAoAHMAKQAgAG8AZgAgAHQAaABlACAAQwBvAHAAeQByAGkAZwBoAHQAIABIAG8AbABkAGUAcgAoAHMAKQAgAGEAbgBkACAAdABoAGUAIABBAHUAdABoAG8AcgAoAHMAKQAgAG8AcgAgAHcAaQB0AGgAIAB0AGgAZQBpAHIAIABlAHgAcABsAGkAYwBpAHQAIAB3AHIAaQB0AHQAZQBuAA0ACgBwAGUAcgBtAGkAcwBzAGkAbwBuAC4AIAANAAoADQAKADUAKQAgAFQAaABlACAARgBvAG4AdAAgAFMAbwBmAHQAdwBhAHIAZQAsACAAbQBvAGQAaQBmAGkAZQBkACAAbwByACAAdQBuAG0AbwBkAGkAZgBpAGUAZAAsACAAaQBuACAAcABhAHIAdAAgAG8AcgAgAGkAbgAgAHcAaABvAGwAZQAsACAAbQB1AHMAdAAgAGIAZQAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAGUAbgB0AGkAcgBlAGwAeQAgAHUAbgBkAGUAcgAgAHQAaABpAHMAIABsAGkAYwBlAG4AcwBlACwAIABhAG4AZAAgAG0AdQBzAHQAIABuAG8AdAAgAGIAZQAgAGQAaQBzAHQAcgBpAGIAdQB0AGUAZAAgAHUAbgBkAGUAcgAgAGEAbgB5ACAAbwB0AGgAZQByACAAbABpAGMAZQBuAHMAZQAuACAAVABoAGUAIAByAGUAcQB1AGkAcgBlAG0AZQBuAHQAIABmAG8AcgAgAGYAbwBuAHQAcwAgAHQAbwAgAHIAZQBtAGEAaQBuACAAdQBuAGQAZQByACAAdABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABkAG8AZQBzACAAbgBvAHQAIABhAHAAcABsAHkAIAB0AG8AIABhAG4AeQAgAGQAbwBjAHUAbQBlAG4AdAAgAGMAcgBlAGEAdABlAGQAIAB1AHMAaQBuAGcAIAB0AGgAZQAgAEYAbwBuAHQAIABTAG8AZgB0AHcAYQByAGUALgANAAoADQAKAFQARQBSAE0ASQBOAEEAVABJAE8ATgANAAoAVABoAGkAcwAgAGwAaQBjAGUAbgBzAGUAIABiAGUAYwBvAG0AZQBzACAAbgB1AGwAbAAgAGEAbgBkACAAdgBvAGkAZAAgAGkAZgAgAGEAbgB5ACAAbwBmACAAdABoAGUAIABhAGIAbwB2AGUAIABjAG8AbgBkAGkAdABpAG8AbgBzACAAYQByAGUAIABuAG8AdAAgAG0AZQB0AC4ADQAKAA0ACgBEAEkAUwBDAEwAQQBJAE0ARQBSAA0ACgBUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUAIABJAFMAIABQAFIATwBWAEkARABFAEQAIAAiAEEAUwAgAEkAUwAiACwAIABXAEkAVABIAE8AVQBUACAAVwBBAFIAUgBBAE4AVABZACAATwBGACAAQQBOAFkAIABLAEkATgBEACwAIABFAFgAUABSAEUAUwBTACAATwBSACAASQBNAFAATABJAEUARAAsACAASQBOAEMATABVAEQASQBOAEcAIABCAFUAVAAgAE4ATwBUACAATABJAE0ASQBUAEUARAAgAFQATwAgAEEATgBZACAAVwBBAFIAUgBBAE4AVABJAEUAUwAgAE8ARgAgAE0ARQBSAEMASABBAE4AVABBAEIASQBMAEkAVABZACwAIABGAEkAVABOAEUAUwBTACAARgBPAFIAIABBACAAUABBAFIAVABJAEMAVQBMAEEAUgAgAFAAVQBSAFAATwBTAEUAIABBAE4ARAAgAE4ATwBOAEkATgBGAFIASQBOAEcARQBNAEUATgBUACAATwBGACAAQwBPAFAAWQBSAEkARwBIAFQALAAgAFAAQQBUAEUATgBUACwAIABUAFIAQQBEAEUATQBBAFIASwAsACAATwBSACAATwBUAEgARQBSACAAUgBJAEcASABUAC4AIABJAE4AIABOAE8AIABFAFYARQBOAFQAIABTAEgAQQBMAEwAIABUAEgARQAgAEMATwBQAFkAUgBJAEcASABUACAASABPAEwARABFAFIAIABCAEUAIABMAEkAQQBCAEwARQAgAEYATwBSACAAQQBOAFkAIABDAEwAQQBJAE0ALAAgAEQAQQBNAEEARwBFAFMAIABPAFIAIABPAFQASABFAFIAIABMAEkAQQBCAEkATABJAFQAWQAsACAASQBOAEMATABVAEQASQBOAEcAIABBAE4AWQAgAEcARQBOAEUAUgBBAEwALAAgAFMAUABFAEMASQBBAEwALAAgAEkATgBEAEkAUgBFAEMAVAAsACAASQBOAEMASQBEAEUATgBUAEEATAAsACAATwBSACAAQwBPAE4AUwBFAFEAVQBFAE4AVABJAEEATAAgAEQAQQBNAEEARwBFAFMALAAgAFcASABFAFQASABFAFIAIABJAE4AIABBAE4AIABBAEMAVABJAE8ATgAgAE8ARgAgAEMATwBOAFQAUgBBAEMAVAAsACAAVABPAFIAVAAgAE8AUgAgAE8AVABIAEUAUgBXAEkAUwBFACwAIABBAFIASQBTAEkATgBHACAARgBSAE8ATQAsACAATwBVAFQAIABPAEYAIABUAEgARQAgAFUAUwBFACAATwBSACAASQBOAEEAQgBJAEwASQBUAFkAIABUAE8AIABVAFMARQAgAFQASABFACAARgBPAE4AVAAgAFMATwBGAFQAVwBBAFIARQAgAE8AUgAgAEYAUgBPAE0AIABPAFQASABFAFIAIABEAEUAQQBMAEkATgBHAFMAIABJAE4AIABUAEgARQAgAEYATwBOAFQAIABTAE8ARgBUAFcAQQBSAEUALgANAAoAaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAC8AaABlAGwAcAAvAGQAZQBzAGkAZwBuAGUAcgBzAC8AaAB0AHQAcAA6AC8ALwB3AHcAdwAuAHAAYQByAGEAdAB5AHAAZQAuAGMAbwBtAFAAVAAgAFMAYQBuAHMAIABpAHMAIABhACAAdAB5AHAAZQAgAGYAYQBtAGkAbAB5ACAAbwBmACAAdQBuAGkAdgBlAHIAcwBhAGwAIAB1AHMAZQAuACAASQB0ACAAYwBvAG4AcwBpAHMAdABzACAAbwBmACAAOAAgAHMAdAB5AGwAZQBzADoAIAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACAAdwBlAGkAZwBoAHQAcwAgAHcAaQB0AGgAIABjAG8AcgByAGUAcwBwAG8AbgBkAGkAbgBnACAAaQB0AGEAbABpAGMAcwAgAGYAbwByAG0AIABhACAAcwB0AGEAbgBkAGEAcgBkACAAYwBvAG0AcAB1AHQAZQByACAAZgBvAG4AdAAgAGYAYQBtAGkAbAB5ADsAIAB0AHcAbwAgAG4AYQByAHIAbwB3ACAAcwB0AHkAbABlAHMAIAAoAHIAZQBnAHUAbABhAHIAIABhAG4AZAAgAGIAbwBsAGQAKQAgAGEAcgBlACAAaQBuAHQAZQBuAGQAZQBkACAAZgBvAHIAIABkAG8AYwB1AG0AZQBuAHQAcwAgAHQAaABhAHQAIAByAGUAcQB1AGkAcgBlACAAdABpAGcAaAB0ACAAcwBlAHQAOwAgAHQAdwBvACAAYwBhAHAAdABpAG8AbgAgAHMAdAB5AGwAZQBzACAAKAByAGUAZwB1AGwAYQByACAAYQBuAGQAIABiAG8AbABkACkAIABhAHIAZQAgAGYAbwByACAAdABlAHgAdABzACAAbwBmACAAcwBtAGEAbABsACAAcABvAGkAbgB0ACAAcwBpAHoAZQBzAC4AIABUAGgAZQAgAGQAZQBzAGkAZwBuACAAYwBvAG0AYgBpAG4AZQBzACAAdAByAGEAZABpAHQAaQBvAG4AYQBsACAAYwBvAG4AcwBlAHIAdgBhAHQAaQB2AGUAIABhAHAAcABlAGEAcgBhAG4AYwBlACAAdwBpAHQAaAAgAG0AbwBkAGUAcgBuACAAdAByAGUAbgBkAHMAIABvAGYAIABoAHUAbQBhAG4AaQBzAHQAaQBjACAAcwBhAG4AcwAgAHMAZQByAGkAZgAgAGEAbgBkACAAYwBoAGEAcgBhAGMAdABlAHIAaQB6AGUAZAAgAGIAeQAgAGUAbgBoAGEAbgBjAGUAZAAgAGwAZQBnAGkAYgBpAGwAaQB0AHkALgAgAFQAaABlAHMAZQAgAGYAZQBhAHQAdQByAGUAcwAgAGIAZQBzAGkAZABlACAAYwBvAG4AdgBlAG4AdABpAG8AbgBhAGwAIAB1AHMAZQAgAGkAbgAgAGIAdQBzAGkAbgBlAHMAcwAgAGEAcABwAGwAaQBjAGEAdABpAG8AbgBzACAAYQBuAGQAIABwAHIAaQBuAHQAZQBkACAAcwB0AHUAZgBmACAAbQBhAGQAZQAgAHQAaABlACAAZgBvAG4AdABzACAAcQB1AGkAdABlACAAdQBzAGUAYQBiAGwAZQAgAGYAbwByACAAZABpAHIAZQBjAHQAaQBvAG4AIABhAG4AZAAgAGcAdQBpAGQAZQAgAHMAaQBnAG4AcwAsACAAcwBjAGgAZQBtAGUAcwAsACAAcwBjAHIAZQBlAG4AcwAgAG8AZgAgAGkAbgBmAG8AcgBtAGEAdABpAG8AbgAgAGsAaQBvAHMAawBzACAAYQBuAGQAIABvAHQAaABlAHIAIABvAGIAagBlAGMAdABzACAAbwBmACAAdQByAGIAYQBuACAAdgBpAHMAdQBhAGwAIABjAG8AbQBtAHUAbgBpAGMAYQB0AGkAbwBuAHMALgANAAoADQAKAFQAaABlACAAZgBvAG4AdABzACAAbgBlAHgAdAAgAHQAbwAgAHMAdABhAG4AZABhAHIAZAAgAEwAYQB0AGkAbgAgAGEAbgBkACAAQwB5AHIAaQBsAGwAaQBjACAAYwBoAGEAcgBhAGMAdABlAHIAIABzAGUAdABzACAAYwBvAG4AdABhAGkAbgAgAHMAaQBnAG4AcwAgAG8AZgAgAHQAaQB0AGwAZQAgAGwAYQBuAGcAdQBhAGcAZQBzACAAbwBmACAAdABoAGUAIABuAGEAdABpAG8AbgBhAGwAIAByAGUAcAB1AGIAbABpAGMAcwAgAG8AZgAgAFIAdQBzAHMAaQBhAG4AIABGAGUAZABlAHIAYQB0AGkAbwBuACAAYQBuAGQAIABzAHUAcABwAG8AcgB0ACAAdABoAGUAIABtAG8AcwB0ACAAbwBmACAAdABoAGUAIABsAGEAbgBnAHUAYQBnAGUAcwAgAG8AZgAgAG4AZQBpAGcAaABiAG8AcgBpAG4AZwAgAGMAbwB1AG4AdAByAGkAZQBzAC4AIABUAGgAZQAgAGYAbwBuAHQAcwAgAHcAZQByAGUAIABkAGUAdgBlAGwAbwBwAGUAZAAgAGEAbgBkACAAcgBlAGwAZQBhAHMAZQBkACAAYgB5ACAAUABhAHIAYQBUAHkAcABlACAAaQBuACAAMgAwADAAOQAgAHcAaQB0AGgAIABmAGkAbgBhAG4AYwBpAGEAbAAgAHMAdQBwAHAAbwByAHQAIABmAHIAbwBtACAARgBlAGQAZQByAGEAbAAgAEEAZwBlAG4AYwB5ACAAbwBmACAAUAByAGkAbgB0ACAAYQBuAGQAIABNAGEAcwBzACAAQwBvAG0AbQB1AG4AaQBjAGEAdABpAG8AbgBzACAAbwBmACAAUgB1AHMAcwBpAGEAbgAgAEYAZQBkAGUAcgBhAHQAaQBvAG4ALgAgAEQAZQBzAGkAZwBuACAALQAgAEEAbABlAHgAYQBuAGQAcgBhACAASwBvAHIAbwBsAGsAbwB2AGEAIAB3AGkAdABoACAAYQBzAHMAaQBzAHQAYQBuAGMAZQAgAG8AZgAgAE8AbABnAGEAIABVAG0AcABlAGwAZQB2AGEAIABhAG4AZAAgAHMAdQBw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ALEAFACzABQAuwAUALwAFAC9ABQAvgAUAMIANwDDABQAxAA3AMUAFADGADcAxwAUAOUAFAD3ABQA+QAUAPsAFAEDABQBBQAUAQcAFAEJABQBDQAUARUAFAEZABQBGwAUAR0AFAEfACgBIAAUASEAKAEiABQBIwAoASQAFAEqABQBSQA3AU8AFAFeABQBbwAUAX4AFAGpABQBqgAUAcUAFAHGABQB4QA3AeMANwHlAEcB7QAUAe4AFAILABQCDAAUAiH/dAIjACgCJgAoAnsANwABAYj/iAAFATz/ugFF/7oBW/+6Ab//ugHH/7oABQFtAAYBdAAGAZEABgHXAAYCEAAGAAUBQwAeAU0AHgFUAB4B1gAeAg8AHgAFAW0AKAF0ACgBkQAoAdcAKAIQACgABQFDACgBTQAoAVQAKAHWACgCDwAoAAIAcAANAlAADQAqAAP/8wAQ/+oAYv/zAG//6gFu//UBd//1AXr/9QF8//oBff/1AYn/9QGM//UBlf/6AZr/9QGc//oBvP/1Ab7/9QHC//oB0P/tAdL/7QHo//UB+P/1Afr/9QH8//UCAP/6AgL/+gIE//oCEv/6Ah7/6gIf/+oCIP/qAnT/+gJ6//UCfv/1AoD/9QKC//UChv/1Aoj/9QKK//UCjP/1ApT/9QKi//UCrP/1AAMADAAIAEAACABgAAgABQFtAB4BdAAeAZEAHgHXAB4CEAAeAAUBPP+NAUX/jQFb/40Bv/+NAcf/jQAYAW7/+gF3//oBev/6AX3/+gGJ//oBjP/6AZr/+gG8//oBvv/6Aej/+gH4//oB+v/6Afz/+gJ6//oCfv/6AoD/+gKC//oChv/6Aoj/+gKK//oCjP/6ApT/+gKi//oCrP/6AF8AA//zABD/3ABi//MAb//cATz/8gE+//IBRf/yAUf/9QFJ//cBV//yAVr/8gFb//IBXP/1AV3/8gFt//UBbv/qAXT/9QF3/+oBev/qAXv/7wF8/+cBff/qAYP/7wGJ/+oBjP/qAZH/9QGV/+cBmf/yAZr/6gGb//UBnP/nAaD/7wG0/+8Bu//yAbz/6gG9//IBvv/qAb//8gHA/+8Bwf/1AcL/5wHD//UBx//yAcj/7wHP/94B0P/bAdH/3gHS/9sB1//1AeH/9wHj//cB5f/UAej/6gHp/+8B6//vAff/8gH4/+oB+f/yAfr/6gH7//IB/P/qAf//9QIA/+cCAf/1AgL/5wID//UCBP/nAhD/9QIR//UCEv/nAh7/3AIf/9wCIP/cAnP/9QJ0/+cCef/yAnr/6gJ7//cCfv/qAoD/6gKC/+oChf/yAob/6gKH//ICiP/qAon/8gKK/+oCi//yAoz/6gKT//IClP/qAqH/8gKi/+oCq//yAqz/6gAYAW7/3wF3/98Bev/fAX3/3wGJ/98BjP/fAZr/3wG8/98Bvv/fAej/3wH4/98B+v/fAfz/3wJ6/98Cfv/fAoD/3wKC/98Chv/fAoj/3wKK/98CjP/fApT/3wKi/98CrP/fAAUBPP/yAUX/8gFb//IBv//yAcf/8gA8AAX/9gAK//YADP/2ABD/8ABA//YARv/7AEj/+wBK//sAUv/7AFT/+wBX//kAWf/pAFr/7wBb//gAXP/pAGD/9gBv//AAqf/7AKr/+wCr//sArP/7AK3/+wCy//sAtP/7ALX/+wC2//sAt//7ALj/+wC6//sAv//pAMH/6QDJ//sAy//7AM3/+wDP//sA0f/7ANP/+wDV//sA1//7ANn/+wDb//sA3f/7AN//+wD9//sA///7AQH/+wET//kBKP/7ASz/+QIe//ACH//wAiD/8AIh//YCIv/2AiMACgIk//YCJf/2AiYACgKu//sCtv/pAHwAA//YAAUAFAAKABQADAANAA0AEAAP/5EAEP+AABH/kQAk/7IAJv/ZACr/2QAy/9kANP/ZADcAFAA5/98AOv/iADv/0QA8/7oAPf/PAEAADQBE/5cARv+AAEj/gABK/4AAUP+XAFH/lwBS/4AAU/+XAFT/gABV/5cAVv+XAFf/zwBY/5cAWf+AAFr/gABb/4AAXP+AAF3/gABgAA0AYv/YAG//gABwABAAgv+yAIP/sgCE/7IAhf+yAIb/sgCH/7IAiP+JAIn/2QCU/9kAlf/ZAJb/2QCX/9kAmP/ZAJr/2QCf/7oAov++AKT/vgCo/5cAqf+AALL/gACz/74Auv+AALv/vgC8/74Avf++AML/sgDD/74AxP+yAMb/sgDH/5cAyP/ZAMn/gADK/9kAzP/ZAM//gADR/4AA1/+AANr/2QDc/9kA3v/ZAN//gAD3/74A+f+XAPv/vgD8/9kA/v/ZAQD/2QEB/4ABA/++AQX/lwEJ/74BDf+XARIAFAET/88BFf++ARn/vgEb/74BHf+XAR7/ugEf/88BIf/PASP/zwEn/9kBKP+AASr/lwErABQBLP/PAh7/gAIf/4ACIP+AAiEAFAIiABQCI/+NAiQAFAIlABQCJv+NAir/kQJQABACrv+AArMAFAK1/98Ctv+AAAIAcAALAlAACwACAHAAHgJQAB4ABAA3/44BEv+OASv/jgKz/44AIgBG//QASP/0AEr/9ABS//QAVP/0AKn/9ACq//QAq//0AKz/9ACt//QAsv/0ALT/9AC1//QAtv/0ALf/9AC4//QAuv/0AMn/9ADL//QAzf/0AM//9ADR//QA0//0ANX/9ADX//QA2f/0ANv/9ADd//QA3//0AP3/9AD///QBAf/0ASj/9AKu//QACgAF/9cACv/XADf/iAES/4gBK/+IAiH/1wIi/9cCJP/XAiX/1wKz/4gABAA3/+IBEv/iASv/4gKz/+IAAgAN/3wCIf90AAEB9gAEAAAA9greCtAK0ArCCrwKngqMCp4KegpwCmoKYApWCkwKLgpWChwKVgoSCWwI3giQCkwH8gfoCsIH4gfcB74HuAfcB9wHsgeoB6IHnAeiB5YKwgreCowKcApwCnAKcApwCnAKYApWClYKVgpWClYKVgpWB/IKHAfcB9wH3AfcB9wH3AeiB9wHogpwCnAKcApgCmAKYAd8ClYKTAouCi4KLgduCi4KVgpWChIHZAoSB2QKEgdkCWwHqAlsB6gH8gfoB5YH6AeWB+gHlglsB6gG0gbEBsQGQgY4BtIGLgYgBhIGBAViBkIGIAVUBi4GLgbEBsQGIAYgBU4FSAVCBTwFTgU2BTAFTgUwBU4FJgUcBU4FFgUQBRAFTgVOBU4FQgUQBRAGxAUQBiAFTgZCBi4GxAUQBhIFTgbSBUIG0gVCBtIFQgYgBU4GBAUmBG4FQgZCBkIGLgbEBGAFTgRgBU4GLgYuBi4GOAY4BU4GIAVOBiAFTgUWBiAFTgYgBU4GIAVOBiAGQgZCBkIG0gVCBkIGLgpMChwH3AqMCowKjArQBEYEOArQCtAEOAQOB9wGQgYgBU4GOAVOBU4FTgYgBU4GIAVOBiAFTgYgBU4GIAVOBiAFTgVOBiAFTgYgBU4GIAVOBgQFJgpWA/gD5glsCN4HogABAPYAAwAFAAoACwANAA8AEAARABoAJAAlACYAJwAuAC8AMgAzADQANQA3ADkAOgA7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AbcBuQG7Ab0BvwHBAcMBxQHHAckBywHNAc8B0QHTAdQB1gHYAdoB3AHeAeEB4wHlAecB6QHrAe0B7wHxAfMB9QH3AfkB+wH9Af8CAQIDAgUCBwIJAgsCDQIPAhECEwIVAhcCGQIbAh0CXwJrAm0CbwJxAnMCdQJ3AnkCewJ9An8CgQKDAoUChwKJAosCjQKPApECkwKVApcCmQKbAp0CnwKhAqMCpQKnAqkCqwKtAq8CsQKzArUCtwK5AAAAAAAwAAAC1AkLBwACAgMEBQUIBwIDAwMFAgMCBAUFBQUFBQUFBQUCAwUFBQQKBgUFBgUFBgYCAwUFCAYGBQYFBQUGBggGBQUDBAMFBAMEBQQFBQMFBQICBAMIBQUFBQMEAwUEBwUFBQMCAwUCAwUFBQUCBQQIBAUFAwYEBAUEBAMFBQIDBAQFCAgIBAYGBgYGBggFBQUFBQICAgIGBgYGBgYGBQYGBgYGBQUGBAQEBAQEBwQFBQUFAgICAgUFBQUFBQUFBQUFBQUFBQUGBAYEBgQFBAUEBQQGBgYFBQUFBQUFBQUGBQYFBgUGBQYFAgICAgICAwIFBAUDBQMFAwUDBgUGBQYFBgUGBQkIBQMFAwUDBQQFBAUEBQQFAwUDBgUGBQYFBgUGBQUFBQUFBQUCBQYFBQQFAwICBAQEAwMDBAQABQcGBQcEBQUCAgMICQcFBQYGBQUEBgUIBQYGBQYIBgYGBQUFBQgGBgYICAYHBQUIBQQFBQMFBQYEBQUEBQYFBQUFBAQFBgUFBQYHBQYEBAcFBQUDBAQCAgIHBwUEBQUGBQYFBgUGBQYFBQUEAwUEBQUIBwUEBgUGBQYEBgUGBQgGCQcIBgUEBQQFBAUEBgUIBgYFBgUFBQcGBwYCBgUGBQYFBgUGBQgGAgYEBgQIBwUFBgUGBQgGBQQFBQYFBgUGBQYFBgUFBAUFBQUFBQYFBAMHBgYFBQQGBQgHBgUGBQUECAgFBQYDBgcCAgIEBAQFBQQHCwMDAgQEBAQFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFCQkFBQYFBQUFCAMFBQUFBQYFAAUDBAICAwMEAwUFBQMFBQYFBQUFBAUEBQQGBAUFBQUFBQUEBgUGBQYFBgUHBgUEBQQFBAUFBQUIBwgHBgUGBQYFBwYFBAICBQQFBAYFBgUFAwUDBgQFBAUEAgIEBAIEBAIDBAQDBQQFBAUFAgICAAAKDAgAAwMDBAYGCAgDAwMEBQMEAgQGBgYGBgYGBgYGAwMFBQUFCgYGBQYFBQYGAgMGBQgGBwUHBgUGBgYJBgYFAwQDBQQDBQUEBQUDBQUCAwUDCAUFBQUEBAMFBQcGBQUEAgQFAwMGBgYGAgUFCAQFBQQHBAQFBAQDBgYDAwQEBQkJCQUGBgYGBgYJBQUFBQUCAgICBwYHBwcHBwUHBgYGBgYGBwUFBQUFBQgEBQUFBQICAgIFBQUFBQUFBQUFBQUFBQUFBgUGBQYFBQQFBAUEBgYHBQUFBQUFBQUFBgUGBQYFBgUHBQICAgICAgMDBgUFAwUDBQMFAwYFBgUGBQcFBwUJCAYEBgQGBAUEBQQFBAUEBgMGBAYFBgUGBQYFBgUGBQUFBQUFAgYGBQUEBgMDAgQEBQMDBAUFAAYIBwUHBAYFAgIDCQkIBgYGBgUGBAcFCAUGBgYGCAYHBgUFBgYIBgcGCAkHBwUGCAYFBQUEBgUHBAUFBQUGBQUFBQQEBQYGBgUICAUHBAUHBQUFBAUEAgMDBwcFBQUFBgUHBQYFBwYGBQUFBQQFBAYFCQcFBAYFBwYHBQcFBwYJBwoICQcFBAYEBgUGBQYGCAcHBQYFBgUIBggGAgYFBwYGBQcGBgUIBwIGBQYFCQgFBQYFBgUIBwUEBQUGBQYFBwUHBQcFBgUGBQYFBgUGBQUEBwcGBgUEBgUJBwcGBwYGBQgIBQUGBAcIAgICBAQEBQUFCAwDAwIEBAQEBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBQoKBgUHBQUFBQkEBQUFBQUHBgAFAwUDAgMEBQQGBQUDBgUGBQYFBgUFBAUEBgUFBQUFBQUFBAcFBwUHBQcFBwcGBQYFBgUGBQYFCAcIBwcGBgUHBQcHBQQCAgUEBQQGBQYFBQMGAwYFBQQFBAICBAQDBAQDBAUFBAUFBQUGBgICAgAACw4IAAMDAwQGBgkJAwQEBAYDBAMEBgYGBgYGBgYGBgMDBgYGBQwHBwYHBgYHBwMEBwYJBwcGBwcGBwcHCgcHBgQFBAYFAwYGBAYFBAYGAwMGAwgGBgYGBAUDBgUIBgYFBQMEBgMDBgYGBgMGBQkFBgYECAUFBgUFAwYGAwQFBQYKCgoFBwcHBwcHCgYGBgYGAwMDAwcHBwcHBwcGBwcHBwcHBwcGBgYGBgYJBQUFBQUDAwMDBgYGBgYGBgYGBgYGBgYGBgcGBwYHBgYEBgQGBAcHBwYGBQYFBgUGBQcGBwYHBgcGCAYDAwMDAwMEAwcGBgMGAwYDBgQHBgcGBwYHBgcGCgkHBAcEBwQGBQYFBgUGBQYDBwQHBgcGBwYHBgcGBwYFBgUGBQMGBwYGBQcDAwIFBQUDBAQFBQAGCQgGCAUHBgMDBAsLCQcHBwcGBwUIBgoGBwcHBwkHBwcGBgcHCQcIBwkKBwkGBwoGBgYGBQYFCAUGBgYGCAYGBgYEBQYHBgYGCQkGCAUFCAYFBgUFBQMEAwgJBgYGBgcGBwYHBggGBwYGBgUEBgUGBgoIBgUHBggGCAYIBggGCQcLCQoIBgUHBQcGBwYHBgkHBwYHBgcGCQgJCAMHBgcGBwYIBgcGCQgDBwYHBgoJBgUHBgcGCggGBQYGBwYHBgcGBwYHBgcFBwYHBgcGBwYFBAkIBwYGBQcGCggIBgcGBwYJCAYGBwQHCQMCAgUEBQYGBQkOBAQCBQUFBQYGBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwYLCgcGBwYGBgYJBAYGBgYGCAYABgQFAwIDBAUEBwYGBAcGBwYHBgcFBgUGBQcGBgUGBQYFBgUHBgcGBwYHBgkIBwUHBQcFBgYGBgoICggHBgcGBwYJCAYFAwMGBAYFBwYHBgYDBwMHBQYFBgUDAgQEAwQFAwQFBQQGBQYFBwcCAwIAAAwPCQADAwQFBwcKCgMEBAUGAwQDBQcHBwcHBwcHBwcDAwYGBgUMBwcHCAYGBwcDBAcGCQcIBwgHBgcHBwoIBwYEBQQGBQQGBgUGBgQGBgMDBgQJBgYGBgQFBAYFCQcGBgUDBAYDBAcHBwcDBgYKBQYGBAgFBQYFBQQHBgMEBQUGCwsLBQcHBwcHBwsHBgYGBgMDAwMIBwgICAgIBggHBwcHBwcIBgYGBgYGCQUGBgYGAwMDAwYGBgYGBgYGBgYGBgYGBgYHBgcGBwYHBQcFBwUICAgGBgYGBgYGBgYHBgcGBwYHBggGAwMDAwMDBAMHBgYEBgQGBAYEBwYHBgcGCAYIBgsKBwQHBAcEBgUGBQYFBgUHBAcEBwYHBgcGBwYHBgcGBgYGBgYDBwcGBgUHBAMDBQUGAwQEBQYABwkIBgkGBwYDAwQLDAkHBwcHBwcGCAYKBggIBwgJBwgHBwcHBwoICAcKCwgKBwcKBwYGBgUHBgkFBgYGBggGBgYGBQUGCQcHBgkJBggGBgkGBgcFBQUDBAMJCQcGBgYIBggGCAYJBwgGBwYGBQYFBwYKCQYFCAYJBwgGCQYIBwoIDAoLCQcFBwUHBgcGCAcKCAgHCAYHBgoICggDBwYIBwcGCAcHBgoJAwcGBwYLCQYGCAYIBgoJBgUGBggGCAYIBggGCAYHBgcGBwYHBgcGBgUKCAgHBgUIBgoJCAcIBwcGCQkHBggECAoDAwMFBQUGBgUKDwQEAgUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGDAsHBggGBgYHCgQGBgYGBggHAAYEBgMDBAUGBAcGBgQHBgcGBwYHBgYFBwUHBgYGBgYGBgYFCAYIBggGCAYKCAcGBwYHBQcGBwYKCQoJCAcIBggGCggGBQMDBgUHBQgGBwYGBAcEBwUGBQYFAwMFBQMFBQMFBgYFBgYGBgcHAgMCAAANEAoAAwMEBQcHCwsDBAQFBwMFAwUHBwcHBwcHBwcHBAQHBwcGDggIBwgGBggIBAUIBwoICAcICAcICAgMCAgHBAYEBwYEBgcGBwcFBwcDAwcECwcHBwcFBQUHBgoHBgYFAwUHAwQHBwcHAwcGCwYHBwUJBgYHBQUEBwcDBAUGBwsMDAYICAgICAgLBwYGBgYEBAQECQgICAgICAcICAgICAgHCAYGBgYGBgoGBwcHBwMDAwMHBwcHBwcHBwcHBwcHBgcGCAYIBggGBwYHBgcGCAgJBwYHBgcGBwYHCAcIBwgHCAcJBwQDAwQEAwUDCAcHBAcEBwQHBAgHCAcIBwgHCAcLCwgFCAUIBQcFBwUHBQcFBwUIBQgHCAcIBwgHCAcIBwYHBgcGBAcIBwcFCAUDAwYGBgQEBQYGAAgKCQYKBggHBAMFDA0KCAcICAcIBgkGCwcICAgICggICAcHCAcLCAkICwwJCgcHDAgGBwYFBwcJBgcHBgcJBwcHBwYFBgkHBwYJCgcJBgYKBwcHBQYFAwQDCgoHBgYHCAcIBwgHCQgIBwcHBgUHBQgHCwkHBggHCQcJBwkHCQcLCQ0LDAkHBggFCAcIBwgHCwkIBwgHCAcKCQoJBAgHCAcIBwkHCAYLCQMIBggGCwoGBwgHCAcLCQcGBwcIBwgHCAcIBwgHBwYHBgcGBwYIBgYFCgkIBwcGCAcMCgkHCQgIBwoLBwcIBQkLAwMDBQUGBwcGCxAEBAIFBQUFBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBw4MCAcJBwcHBwsFBwcHBwcJCAAHBAYDAwQFBgUIBwYFCAcIBwcGBwYHBgcGCAYGBwYHBgcHBggHCAcIBwgHCgkHBgcGCAYIBwgHDAoMCgkHCAcIBwoJBwYEAwYFBwYIBwgHBwQIBQgGBwYHBgMDBQUDBQUDBQYGBQcGBwYHCAIDAgAADhELAAQEBAYICAwLBAUFBQcEBQMGCAgICAgICAgICAQEBwcHBg8ICAgJBwcICQQFCQcLCQkICQgHCAkIDAkICAUGBQcGBAcIBggHBQgIBAQHBAsIBwgIBQYFCAcKBwcHBQMFBwQECAgICAMHBwwGBwcFCgYGBwYGBAgHBAUGBgcMDQ0GCAgICAgIDAgHBwcHBAQEBAkJCQkJCQkHCQkJCQkICAkHBwcHBwcLBgcHBwcEBAQECAgHBwcHBwcICAgICAcIBwgHCAcIBwgGCAYIBgkJCQgHBwcHBwcHBwgICAgICAkICQgEBAQEBAQFBAkHBwQHBAcEBwQJCAkICQgJBwkHDAwIBQgFCAUHBgcGBwYHBggFCAUJCAkICQgJCAkICAgHCAcIBwQICAgHBggFBAMGBgYEBQUGBgAICwoHCgYIBwQEBQ0NCwkICQgICAYJBwwHCQkJCQsJCQkICAgICwkKCAwNCQsICA0IBwgHBQgHCgYICAcHCQgHBwgGBgcKBwgHCgsICgcGCgcHCAUGBgQEBAsLCAcHBwkICQgJBwoICQgICAYFBwYIBwwKBwYJBwoICgcKCAoIDAkNDAwKCAYIBggHCAcJCAwJCQgJCAkICwkLCQQJBwkICQgKCAgHDAoECAcIBwwLBwcJBwkHDAoHBggHCQgJCAkHCQgJCAgGCAcIBwgHCAcGBQsKCQcHBgkHDAoKCAkICQcLCwgICQUJCwMDAwYGBgcHBgsRBAQDBgYGBggICAgICAgICAgICAgICAgICAgICAgICAgICAcODQgICQcHBwgMBQcHBwcHCggABwUHBAMEBQcFCAgHBQkICAcIBwgGBwYIBggHBwcHBwcHBwYJBwkHCQgJBwsKCAYIBggGCAcIBw0KDQoJCAkICQcLCgcGBAQHBggGCQgJCAcECAUIBwcGBwYDAwYGBAYGBAUHBwUHBgcGCAgDBAMAAA8SCwAEBAQGCQkNDAQFBQYIBAUEBgkJCQkJCQkJCQkEBAgICAcQCQkICggICQoEBQkIDAoKCQoJCAgKCQ0JCAgFBgUIBwUHCAYICAUICAQEBwQMCAkICAUGBQgHCwcHBwYDBggEBAkJCQkDCAcNBggIBQoHBwgGBgUJCAQFBgYIDQ4OBwkJCQkJCQ0ICAgICAQEBAQKCgoKCgoKCAoKCgoKCAkJBwcHBwcHDAYICAgIBAQEBAkICQkJCQkICQgICAgHCAcJBwkHCQcIBggGCAYKCgoICAgICAgICAgJCAkICQgKCAoIBAQEBAQEBQQJBwgECAQIBAgFCggKCAoICgkKCQ4NCQUJBQkFCAYIBggGCAYJBQgFCggKCAoICggJCAgIBwgHCAcECQkICAYIBQQDBwcHBAUFBwcACQwKCAsHCQgEBAUODgsJCQoJCQkHCggNCAoKCQkMCgoKCQgICQwJCgkMDQoMCQkNCQcICAYJCAoGCAgHCAoICQgIBgYHCwcICAwMCAsHBwsICAgGBwYEBAQLDAgHBwgKCAoJCQgLCQoICQgHBggGCQgNCwgGCggLCQoICwgKCQ0KDgwNCwgGCAYIBwgHCggNCgoICggJCAwKDAoECQgKCAoICgkJCA0LBAkHCQcNDAgICQgJCA0KCAYIBwoICggKCQoJCgkJBwkHCQcJBwkIBwYMCwkICAYKCA0LCgkKCQkHDAwJCAoFCgwDAwMGBgYICAcMEgUFAwYGBgYJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkIDw4JCAoICAgIDQYICAgICAoJAAgFBwQDBAYHBQkICAUJCAkICQcJBwgGCAYJBwgICAgICAgGCgkKCQoJCgkMCwkHCQcJBwkICQgNCw0LCggKCAoJDAsIBgQECAYIBgoICggIBAgFCQcIBggGAwMGBgQGBgQGBwcGCAcIBwgJAwQDAAAQFAwABAQFBgkJDQ0EBQUGCAQGBAcJCQkJCQkJCQkJBAUICAgHEQkJCQoICAoKBAUJCA0KCwkLCQgJCgkOCgkJBQcFCAcFCAkGCQgFCQkEBAgFDAkJCQkFBwUJCAsIBwcGBAYIBAUJCQkJBAgIDQcICAYLBwcIBwcFCQgEBQcHCA4ODgcJCQkJCQkOCQgICAgEBAQECgoLCwsLCwgLCgoKCgkJCggICAgICA0GCAgICAQEBAQJCQkJCQkJCAkJCQkJBwkHCQgJCAkICQYJBgkGCgoKCQgICAgICAgICgkKCQoJCgkKCQQEBAQEBAUECQgIBQgFCAUIBQoJCgkKCQsJCwkPDQkFCQUJBQgHCAcIBwgHCQYJBgoJCgkKCQoJCgkJCQcJBwkHBAkKCQgHCQUEBAcHBwUFBgcHAAkMCwgMBwkIBAQFDw8MCQkKCQkJBwsIDQgKCgkKDQoLCgkJCQkNCgsKDg8LDAkJDgkICQgGCQgLBwkJBwgLCQkJCQYGBwsICQgMDAkLCAcMCAgJBgcHBAUEDA0JBwcJCgkLCQoICwoKCQkJBwYIBwkJDgwIBwoICwkLCAwJCwkNCw8NDgsJBgkGCQgJCAsJDQoKCQoJCgkNCg0KBAoICgkKCQsKCggOCwQJCAkIDg0ICAoICggNCwgHCQgKCQoJCwkLCQsJCQcJBwkHCQcKCAcGDAsKCAgHCggOCwsJCwkJCA0MCQkLBgsNBAQEBgYGCAgHDRQFBQMHBwcHCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCQkJCBAPCgkKCAgICA4GCAgICAgLCQAIBQgEBAUGCAYJCQgFCgkKCAkHCQcIBwkGCQgICAgICAgIBwsJCwkLCQsJDAsJBwkHCQcJCAkIDgwODAsJCgkLCQwLCAcEBAgHCQYKCQoJCAUJBQkICAcIBwQEBgYEBgcEBggIBggHCAcJCQMEAwAAERUNAAQEBQcKCg4OBAYGBgkEBgQHCgoKCgoKCgoKCgUFCQkJCBIKCgoLCQkKCwQGCgkOCwsKCwoJCgsKDwsKCgYHBgkIBQgJBwkJBQkJBAQIBQ4JCQkJBggGCQgMCAgIBgQGCQQFCgoKCgQJCA4HCAkGDAgHCQcHBQoJBAYHBwgPDw8ICgoKCgoKDwoJCQkJBAQEBAsLCwsLCwsJCwsLCwsKCgsICAgICAgNBwkJCQkEBAQECgkJCQkJCQkJCQkJCQgJCAoICggKCAoHCgcKBwsLCwkJCQkJCQkJCQoJCgkKCQsJCwkEBAQEBAQGBAoICQUJBQkFCQULCQsJCwkLCQsJEA4KBgoGCgYJCAkICQgJCAoGCgYLCQsJCwkLCQsJCgoICggKCAQKCgkJCAoGBAQHCAgFBgYICAAKDQwJDQgKCQQFBhAQDQoKCwoKCggMCQ4JCwsKCw4LCwsKCgoKDgsMCg4PCw0KCg8KCAkJBgoJDAcJCQgJCwkJCQkHBwgMCAoJDA0JDAgIDAkJCQYICAQFBA0NCQgICQsJCwkLCQwKCwkKCQgGCQcKCQ8MCQcLCQwKDAkMCQwKDgsQDg8MCgcKBwoICggLCQ4LCwkLCQoJDgsOCwQKCQsJCwkMCgoJDgwECggKCA8NCQkLCQsJDgwJBwkICwkLCQsJCwkLCQoICggKCAoICgkIBg0MCwkJBwsJDwwMCgsKCggODgoJCwYLDgQEBAcHBwkJCA4VBQUDBwcHBwoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgkREAoJCwkJCQkPBgkJCQkJDAoACQYIBQQFBggGCgkJBQoJCgkKCAoICQcKBwoICQkJCQkJCQcLCQsJCwkLCQ0MCggKCAoICgkKCQ8MDwwLCgsJCwkNDAkHBAQJBwoHCwkLCQkFCgYKCAkHCQcEBAcHBAcHBQcICAcJCAkICQoDBAMAABIWDgAFBQUHCgoPDwUGBgcJBQYEBwoKCgoKCgoKCgoFBQkJCQgTCwoKCwkJCwwFBgsJDgwMCgwLCgoLCxALCwoGCAYJCAYJCQgJCQYJCQQECQUOCQoJCQYIBgkJDAkICAcEBwkFBQoKCgoECgkPCAkJBgwICAkHBwUKCgUGBwgJEBAQCAsLCwsLCxAKCQkJCQUFBQUMDAwMDAwMCQwLCwsLCwoLCQkJCQkJDggJCQkJBAQEBAoJCgoKCgoJCgkJCQkICQgLCQsJCwkKCAoICggLDAwJCQkJCQkJCQkLCQsJCwkMCQwJBQQFBAUEBgQLCQkFCQUJBQkGDAkMCQwJDAoMChAPCwYLBgsGCggKCAoICggKBgoGCwkLCQsJCwkLCQsKCAoICggECgsJCggKBgQECAgIBQYGCAgACw4NCQ0ICgoFBQYREQ4LCgwLCgoIDAkPCQwMCwsODAwMCgoKCg4LDAsPEAwOCgoQCgkKCQcKCQwICQkJCQwJCgkJCAgIDAkKCQ4OCgwJCA0JCQoHCAgEBgQODgoJCAkMCgwKCwkNCwwKCgkIBwkHCgoPDQkICwkNCwwJDQkNCg8LEQ8QDQoICggLCQsJDAoPDAwKDAoLCQ4LDgsFCwkMCgwJDAoLCQ8NBAsJCwkQDgkJCwkLCQ8MCQgKCQwJDAkMCgwKDAoKCAoICggKCAsJCAcODAsJCQgLCRAMDAoMCgsJDg4KCQwGDA8EBAQHBwcJCQgPFgYGAwcHBwcKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoJEhELCgwJCQkJDwcJCQkJCQ0KAAkGCQUEBQcJBgoJCQYLCQsJCggKCAkICggLCQkJCQkJCQkIDAoMCgwKDAoODAoICggKCAoJCgkQDRANDAoMCQwKDgwJCAUECQcKCAsJDAkJBQoGCwkJCAkIBAQHBwUHBwUHCQkHCQgJCAoLAwQDAAATFw4ABQUGCAsLEA8FBgYHCgUHBQgLCwsLCwsLCwsLBQYKCgoJFAwLCwwKCgwMBQYMCg8MDQsNCwsLDAsQDAsLBggGCggGCQoICgoGCgoFBQkGDwoLCgoHCAYKCQ4KCQkHBAcKBQYLCwsLBAoJEAgJCgcNCAgKCAgGCwoFBggICREREQkMDAwMDAwRCwoKCgoFBQUFDQwNDQ0NDQoNDAwMDAsLDAkJCQkJCQ8ICgoKCgUFBQULCgsLCwsLCgsKCgoKCQoJDAkMCQwJCwgLCAsIDAwNCgoKCgoKCgoKDAoMCgwKDAoNCgUFBQUFBQYFDAkKBgoGCgYKBgwKDAoMCg0LDQsSEAsHCwcLBwsICwgLCAsICwcLBwwKDAoMCgwKDAoLCwkLCQsJBQsMCgsICwYFBAgJCQUHBwkJAAsPDQoOCQsLBQUGEhIPDAsMDAsLCQ0KEAoMDAwMDwwNDAsLCwsPDA0MERINDwsLEQsJCwoHCwoNCAoKCQoNCgsKCggICQ0KCwoPDwoOCQkOCgoKBwkIBQYFDg8KCQkKDAoNCwwKDgsMCgsKCQcKCAsKEA4KCAwKDgsNCg4KDQsQDRIQEQ4LCAsICwkLCQ0KEAwMCgwKDAoPDA8MBQwKDQoMCg0LDAoQDQUMCQwJEQ8KCgwKDAoQDQoICgkMCgwKDQsNCw0LCwkLCQsJCwkMCgkHDw4MCgoIDAoQDg0LDQsMCQ8PCwoNBw0QBAQECAgICgoJDxcGBgQICAgICwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLChQSCwoMCgoKChAHCgoKCgoNCwAKBgkFBAYHCQcLCgoGDAoMCgsJCwkKCAsIDAkKCgoKCgoKCA0LDQsNCw0LDw4LCQsJCwkLCgsKEQ4RDg0LDAoNCw8OCggFBQoICwgMCgwKCgYLBgsJCggKCAQECAgFCAgFBwkJBwoJCgkLCwQFBAAAFBkPAAUFBggLCxEQBQcHCAsFBwUICwsLCwsLCwsLCwUGCwsLCRUMCwsNCgoMDQUHDAoQDQ0LDQwLCwwMEQ0LCwYIBgoJBgoLCQsKBgsLBQUKBhALCwsLBwkGCwoOCgoJBwUHCwUGCwsLCwULChEICgsHDgkJCwgIBgsLBQcICAoSEhIJDAwMDAwMEQsKCgoKBQUFBQ0NDQ0NDQ0LDQwMDAwLCw0KCgoKCgoQCQoKCgoFBQUFCwsLCwsLCwsLCwsLCwoLCgwKDAoMCgsJCwkLCQ0NDQsKCgoKCgoKCgwLDAsMCw0LDgsFBQUFBQUHBQwKCgYKBgoGCwYNCw0LDQsNCw0LEhEMBwwHDAcLCQsJCwkLCQsHCwcMCwwLDAsMCwwLCwsJCwkLCQULDAsLCQsGBQQJCQkGBwcJCQAMEA4KDwkMCwUFBxMTDwwLDAwLCwkOChELDQ0MDBANDQwLCwsLEA0ODBESDRALCxILCgsKBwsKDgkLCwoKDQoLCgsJCQoOCgsKDxALDgoJDwoKCwcJCQUGBQ8PCwoKCw0LDQsNCw4MDQsLCwkHCggMCxEPCwkNCw4MDgoOCw4LEQ0TEBIOCwkLCQsKCwoNCxENDQsNCwwLEA0QDQUMCg0LDQoOCwwKEQ4FDAoMChEQCgoNCg0KEQ4LCQsKDQsNCw0LDQsNCwsJCwoLCgsKDAoJBxAODQsLCQwKEQ4OCw0MDAoQEAsLDQcNEAQEBAgICAoKCRAZBgYECAgICAsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwoVEwwLDQsLCwsRBwsLCwsLDgwACgcKBQQGCAoHCwsKBgwLDAoLCgsJCwkLCQwKCgoKCgoKCwkNCw0LDQsNCxAOCwkLCQwJCwoLChIPEg8NCw0LDQsQDgsJBQUKCAsJDQsNCwoGCwYMCgsJCwkEBAgIBQgIBQgJCggKCQoJCwwEBQQAABUaEAAFBQYIDAwSEQUHBwgLBQgFCQwMDAwMDAwMDAwGBgsLCwoWDQwMDgsLDQ0FBw0LEA0ODA4NCwsNDRINDAwHCQcLCQcKCwkLCwcLCwYGCgYRCwwLCwcJBwsKDwsKCggFCAsFBgwMDAwFCwoSCQoLCA4JCQsJCQYMCwUHCQkKEhMTCg0NDQ0NDRIMCwsLCwUFBQUODQ4ODg4OCw4NDQ0NDAwNCgoKCgoKEAkLCwsLBgYGBgwLDAwMDAwLDAsLCwsKCwoNCg0KDQoMCQwJDAkODQ4MCwsLCwsLCwsNCw0LDQsNCw8LBQYFBQUGBwYNCgsGCwYLBgsHDQsNCw0LDgwODBMSDQcNBw0HCwkLCQsJCwkMBwsIDQsNCw0LDQsNCwwMCgwKDAoFDA0LCwkLBwYFCQkKBgcHCQoADBAPCxAKDAsFBgcUFBANDA0NDAwKDwsSCw0NDQ0QDQ4NDAwLDBENDg0SEw4QDAwTDAoLCggMCw8JCwsKCw4LDAsLCQkKDwsMCw8QCw8KCg8LCwwICgkGBwYQEAwKCgsOCw4MDQsPDA4LDAsKCAsJDAsSDwsJDQsPDA8LDwsPDBIOFBESDwwJDAkMCwwLDgsSDg4LDQsNCxEOEQ4FDQsODA0LDgwNCxIPBQ0KDQoSEAsLDQsNCxIPCwkMCg0LDQsODA4MDgwMCgwKDAoMCg0LCggQDw0LCwkNCxIPDgwODA0KEBEMCw4IDhEFBQUICAgLCwkRGgYGBAkJCQkMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLFhQNCw4LCwsLEggLCwsLCw8MAAsHCgYFBggKBwwLCwcNCw0LDAoMCgsJDAkNCgsLCwsLCwsJDgwODA4MDgwQDwwKDAoMCgwLDAsTDxMPDgwOCw4MEA8LCQUGCwkMCQ4LDQsLBgsHDQoLCQsJBQUICAUICQYICgoICwoLCgwNBAUEAAAWGxEABgYGCQwMEhIGBwcIDAYIBQkMDAwMDAwMDAwMBgYMDAwKFw0NDA4LCw4OBgcOCxIODw0PDQwNDQ0TDg0MBwkHCwoHCwwKDAsHDAwFBgsGEQwMDAwHCQgLCg8LCgoIBQgMBgYMDAwMBQwLEgkLDAgPCgoMCQkHDQwGBwkJCxMUFAoNDQ0NDQ0TDAsLCwsGBgYGDw4PDw8PDwwPDQ0NDQ0NDgsLCwsLCxEKCwsLCwUFBQUMDAwMDAwMDAwLCwsLCgwKDQsNCw0LDAoMCgwKDg4PDAsLCwsLCwsLDgwODA4MDgwPDAYFBgUGBQcGDgsLBgsGCwYMBw4MDgwODA8MDwwUEg0HDQcNBwwJDAkMCQwJDQgNCA0LDQsNCw0LDQsNDAoMCgwKBgwODAwJDQgGBQoKCgYICAoKAA0RDwsQCg0MBgcHFRURDg0ODQ0NCg8LEgwPDw4OEg4PDg0MDQ0SDg8NExQPEQ0NFAwLDAsIDQsPCgsLCgsOCwwLDAoJCg8LDAsQEQwPCwoQCwsMCAoJBQcGEREMCgoLDgwPDA4MEA0ODA0MCggLCQ0LExAMCg4MEA0PCxAMDwwTDxUSExAMCQ0JDQsNCw8MEg4ODA4MDQwSDhIOBg0LDgwOCw8NDQsTEAUNCw0LExELCw4LDgsSDwwKDAsPCw8LDwwPDA8MDQoNCg0KDQoNCwoIEQ8ODAwKDgsTDw8NDw0OCxIRDQwPCA8SBQUFCQkJCwsKEhsHBwQJCQkJDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMCxcVDQwODAwMDBMIDAwMDAwPDQALBwoGBQYICwgNDAsHDQwNCw0KDQoMCgwKDQsLCwsLCwsMCg8MDwwPDA8MEQ8NCg0KDQoMCwwLFBAUEA8MDwsPDBEPDAoGBQsJDAkODA4MCwYNCA0KDAoMCgUFCQkGCQkGCAoLCAsKCwoMDQQFBAAAFxwRAAYGBwkNDRMTBggICQwGCAYJDQ0NDQ0NDQ0NDQYHDAwMChgODg0ODAwODwcIDgwSDw8NDw4MDQ4OFA4ODAcKBwwKBwsMCgwMBwwNBgYLBxMNDAwMCAoIDQsRDAsLCQUJDAYHDQ0NDQUMCxMKCwwIEAoKDAkJBw0MBggJCgsUFRUKDg4ODg4OFA0MDAwMBwcHBw8PDw8PDw8MDw4ODg4ODQ4LCwsLCwsSCgwMDAwGBgYGDA0MDAwMDAwMDQ0NDQsMCw4LDgsOCw0KDQoNCg4PDw0MDAwMDAwMDA4MDgwODA8NEA0HBgcGBwYIBg4LDAcMBwwHDAcPDQ8NDw0PDA8MFRMOCA4IDggMCgwKDAoMCg0IDQgODQ4NDg0ODQ4NDgwLDAsMCwYNDgwMCg0IBgUKCgsHCAgKCwANEhAMEQoNDAcHCBYWEQ4NDw4NDgoPDBMMDw8ODhIPDw8NDQ0NEg4QDhQVDxINDRUNCwwMCQ0MEAoNDQsMDw0MDQwKCgsQDA0MEhIMEQsLEQwMDQkLCgYHBhISDQsLDA8MDwwODBAODwwNDAoJCwoNDBQRDAoPDBAOEAwRDBANFA8WExQQDQoNCg4LDgsPDBMPDw0PDA4NEg8SDwcODA8NDw0QDQ4MExAGDgsOCxQSDAwODA4MExAMCg0LDw0PDQ8MDwwPDA0LDQsNCw0LDgwKCRIRDwwMCg8MFBEQDQ8ODgsSEw0MDwgPEwUFBQkJCQwMChMcBwcECQkJCQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQ0NDQwYFg4MDwwMDAwUCAwMDAwMEA4ADAgLBgUHCQsIDgwMBw4NDgwNCw0LDAoNCg4LDAwMDAwMDAoPDA8MDwwPDBIRDQsNCw0LDQwNDBURFREPDQ8NDwwSEQwKBwYMCQ0KDgwPDQwHDQgOCwwKDAoFBQkJBgkJBgkLCwkMCwwLDQ4EBgQAABgeEgAGBgcKDg4UFAYICAkNBgkGCg4ODg4ODg4ODg4GBw0NDQsZDw4NEA0MDxAHCA8MExAQDhAODQ0PDhUPDg0ICggMCwgMDQoMDAgMDQYGDAcUDQ0NDAgKCA0LEQ0LCwkFCQ0GBw4ODg4FDQwUCgwNCRELCg0KCgcODQYICgoMFRYWCw8PDw8PDxUNDQ0NDQcHBwcQEBAQEBAQDRAPDw8PDg4PDAwMDAwMEwoMDAwMBgYGBg0NDQ0NDQ0NDQ0NDQ0LDQsPDA8MDwwNCg0KDQoQDxANDQwNDA0MDQwPDA8MDwwQDRANBwYHBgcGCAYPDAwHDAcMBw0IEA0QDRANEA0QDRYUDggOCA4IDQoNCg0KDQoOCA0JDw0PDQ8NDw0PDQ4NCw0LDQsGDg8MDQoNCAYFCwsLBwgICwsADhMRDRILDg0HBwgWFxIPDhAPDg4LEA0UDRAQDw8TEBAQDg0NDhMPEA8VFhATDg4WDgwNDAkODBEKDQ0MDBANDQ0NCgoLEQ0NDBITDREMCxIMDA0JCwoGBwYSEw0MCw0QDRANDw0RDhANDg0LCQwKDg0VEQ0KDw0RDhEMEQ0RDhQQFxQVEQ0KDQoODA4MEA0UEBANDw0ODRMQExAHDwwQDRANEA4PDBQRBg8MDwwVEw0MDwwPDBQRDQoNDBANEA0QDRANEA0OCw4LDgsOCw8MCwkTEQ8NDQoPDBUREA4QDg8MExQODRAJEBQFBQUKCgoMDAsTHgcHBAoKCgoODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4MGRcODRANDQ0NFQkNDQ0NDREOAAwICwYFBwkMCA4NDAgODQ8MDgsOCw0KDQoPDA0MDQwNDA0KEA0QDRANEA0TEQ4LDgsOCw4MDgwWEhYSEA4QDRANExENCgcGDAoNChAMEA0MBw0IDgsNCw0LBQUKCgYKCgYJCwwJDAsMCw0OBQYEAAAZHxMABgYHCg4OFRQGCAgJDQYJBgoODg4ODg4ODg4OBwcNDQ0LGg8PDhANDQ8RBwgQDRQREQ4RDw0OEA8WEA8NCAsIDQsIDA0LDQ0IDQ4HBwwHFQ4NDg0JCwkNDBINDAwJBgkNBgcODg4OBg0MFQsMDQkRCwsNCgoIDg0GCAoKDBYXFwsPDw8PDw8WDg0NDQ0HBwcHEBEREREREQ0REBAQEA8OEAwMDAwMDBQLDQ0NDQcHBwcODg0NDQ0NDQ0NDQ0NDA4MDwwPDA8MDgsOCw4LEBAQDg0NDQ0NDQ0NDw0PDQ8NEQ4RDgcHBwcHBwgHEAwNBw0HDQcNCBEOEQ4RDhENEQ0XFQ8JDwkPCQ0LDQsNCw0LDgkOCRANEA0QDRANEA0PDQwNDA0MBg4PDQ0LDgkHBgsLDAcJCQsLAA8TEQ0TCw4NBwcIFxgTEA4QDw4PCxENFQ0RERAQFBEREA4ODg4UEBEPFhcRFA4OFg8MDQ0JDg0RCw4ODA0RDQ0ODgsKDBENDg0TFA0SDAsSDQ0OCQsLBwgHExQODAwOEA0RDRANEg8QDQ4OCwkNCg8NFRINCxANEg8RDRIOEQ4VERgVFhIOCw4KDwwPDBEOFRAQDhANDw4UEBQQBw8NEA4QDREODw0VEgcPDA8MFhQNDRANEA0VEQ0LDgwRDhEOEQ0RDRENDgsODA4MDgwPDQsJFBIQDQ0LEA0WEhEOEQ8QDBQVDg4RCREVBgYGCgoKDQ0LFB8ICAUKCgoKDg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODg4ODRoYDw0QDQ0NDRUJDQ0NDQ0RDwANCAwHBgcJDAkPDQ0IDw4PDQ4MDgsNCw4LDwwNDQ0NDQ0NCxENEQ0RDRENFBIOCw4LDgsPDQ8NFhIWEhEOEQ4RDRQSDQsHBw0KDgsQDREODQcOCQ8MDQsNCwYGCgoGCgoHCgwMCg0MDQwODwUHBQAAGiAUAAcHCAoPDxYVBwkJCg4HCQYLDw8PDw8PDw8PDwcIDg4ODBsPDw4QDQ0QEQcJEA0VEREPEQ8NDxAQFhAPDggLCA0MCA0OCw4NCA4OBwcNCBUODg4OCQsJDgwTDQwMCgYKDgcIDw8PDwYODBYLDQ4JEgwLDgsLCA8OBwkLCw0XFxgMDw8PDw8PFg4NDQ0NBwcHBxEREREREREOERAQEBAPDxANDQ0NDQ0UCw0NDQ0HBwcHDg4ODg4ODg4ODg4ODgwODA8NDw0QDQ4LDgsOCxAREQ4NDQ0NDQ0NDRAOEA4QDhEOEQ4HBwcHBwcJBxANDQgNCA0IDggRDhEOEQ4RDhEOGBYPCQ8JDwkNCw0LDQsNCw8JDwkQDhAOEA4QDhAODw4MDgwODAYPEA4NCw8JBwYLDAwHCQkMDAAPFBINEwwPDQcHCRgZFBAPEQ8PDwwSDRUOEREQEBUREREPDg8PFRASEBYYERUPDxcPDQ4NCg4NEQsODg0NEQ4ODg4LCwwSDQ8NExQOEg0MEw0NDgoMCwcIBxQUDg0MDhEOEQ4QDhMPEQ4PDgwKDQsPDhYTDgsRDhMPEg0TDhIPFhEZFRcSDgsPCw8NDw0RDhYREQ4RDhAOFREVEQcPDREOEQ4SDxANFhIHDw0PDRYUDQ0QDRANFREOCw4NEQ4RDhEOEQ4RDg8MDwwPDA8MEA0MChUSEA4OCxANFhMSDxEPEA0VFQ8OEQkRFQYGBgoKCg0NDBUgCAgFCwsLCw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw0bGRAOEQ4ODg4WCg4ODg4OEg8ADQkMBwYICg0JDw4NCBAOEA0PDA8MDgsOCw8NDQ0NDQ0NDgsRDhEOEQ4RDhUSDwwPDA8MDw0PDRcTFxMRDxEOEQ4VEg4LBwcNCw4LEA4RDg0IDwkQDA4LDgsGBgoKBwoLBwoMDQoNDA0MDg8FBwUAABshFAAHBwgLDw8XFgcJCQoOBwoHCw8PDw8PDw8PDw8HCA4ODgwdEBAPEg4OERIICREOFhISDxIQDhAREBcREA8JCwkODAkNDwwPDgkODwcHDQgVDw8PDgkMCQ8NEw4NDAoGCg4HCA8PDw8GDg0WCw0OChMMDA4LCwgPDgcJCwsNGBgYDBAQEBAQEBcPDg4ODggICAgSEhISEhISDhIREREREA8RDQ0NDQ0NFQwODg4OBwcHBw8PDw8PDw8ODw8PDw8NDw0QDRANEA0PDA8MDwwSERIPDg4ODg4ODg4RDhEOEQ4SDxIPCAcIBwgHCQcRDQ4IDggOCA4JEg8SDxIPEg8SDxgXEAkQCRAJDgwODA4MDgwPCRAKEQ8RDxEPEQ8RDxAPDA8MDwwHDxEODgwQCQcGDAwMCAkJDAwAEBUTDhQMEA4ICAkZGhQRDxIQDxAMEw4XDhISEREWEhISDw8QDxYREhAYGRIWDxAYEA0PDgoPDhMMDw8NDhIPDw4PDAsNEw4PDhQVDxMNDBQODg8KDAwHCQcVFQ8NDQ4SDxIPEQ4TEBIPDw8MCg4LEA4XFA4MEQ4TEBMOEw8TDxcSGhYYEw8MEAsQDRANEg8XERIPEQ4QDxUSFRIIEQ4SDxIPEhAQDhcTCBANEA0XFQ4OEQ4RDhcTDgwPDRIPEg8SDxIPEg8QDA8NDw0PDRAODAoWExEODgwRDhcTEhASEBENFhUPDxIKEhYGBgYLCwsODgwWIQgIBQsLCwsPDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8PDw8OHBoQDxIODg4OFwoODg4ODhMQAA4JDQcGCAoNCRAPDgkQDxAODw0QDA4MDwwQDQ4ODg4ODg4MEg8SDxIPEg8WExAMEAwQDBAOEA4YFBgUEg8SDxIPFhMODAgHDgsPDBIPEg8OCBAJEA0ODA4MBgYLCwcLCwcKDQ0KDg0ODA8QBQgFAAAcIxUABwcICxAQGBcHCQkLDwcKBwsQEBAQEBAQEBAQCAgPDw8NHhEREBIPDhESCAkRDhYSExATEQ8QEhEYEhEPCQwJDgwJDg8MDw4JDxAICA4IFxAPDw8KDAoPDRQPDQ0KBgoPBwgQEBAQBg8NFwwODwoTDAwPDAwJEA8HCQwMDhkZGQ0REREREREYEA8PDw8ICAgIEhITExMTEw8TEhISEhEQEg4ODg4ODhYMDg4ODggICAgQEA8PDw8PDw8PDw8PDQ8NEQ4RDhEOEAwQDBAMEhISDw8ODw4PDg8OEQ8RDxEPEhATEAgICAgICAkIEQ4OCA4IDggPCRIQEhASEBMPEw8aGBEKEQoRCg8MDwwPDA8MEAoQChIPEg8SDxIPEg8RDw0PDQ8NBxARDw8MEAoIBgwNDQgKCg0NABAWEw8VDRAPCAgJGhsVERASERARDRMPFw8TExESFhITEhAQEBAWEhMRGBoTFxAQGRAODw4LEA4TDA8PDg4TDw8PDwwMDRQPEA4VFg8UDg0VDg4PCw0MCAkIFRYPDg0PEg8TDxIPFBESDxAPDQsODBAPGBQPDBIPFBATDhQPExAYExsXGRQQDBAMEQ4RDhMPFxISDxIPERAWEhYSCBEOEg8SDxMQEQ4YFAgRDhEOGBYPDhIOEg4XEw8MDw4TDxMPEw8TDxMPEA0QDRANEA0RDg0LFxQSDw8MEg4YFBMQExERDhYXEA8TChIXBgYGCwsLDg4NFyMJCQUMDAwMEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQDh0bEQ8SDw8PDxgKDw8PDw8TEQAOCQ0HBggLDgoRDw4JERARDhANEA0PDBAMEQ4PDg8ODw4PDBMPEw8TDxMPFxQQDRANEA0QDhAOGRUZFRMQEw8TDxcUDwwICA4LEAwSDxIQDggQChENDwwPDAYGCwsHCwwHCw0OCw4NDg0PEQUIBQAAHSQWAAcHCQwQEBgYBwkJCw8HCgcMEBAQEBAQEBAQEAgIDw8PDR8SERATDw8SEwgKEg8XExMRExEPEBMRGRIREAkMCQ8NCQ4QDRAPCRAQCAgOCRcQEBAQCgwKEA4VDw4NCwcLDwcJEBAQEAcPDhgMDg8KFA0NDwwMCREPBwoMDA4aGhoNEhISEhISGRAPDw8PCAgICBMTExMTExMPExMTExMRERIODg4ODg4XDQ8PDw8ICAgIEBAQEBAQEA8QEBAQEA4QDhIOEg4SDhANEA0QDRMTExAPDw8PDw8PDxIQEhASEBMQFBAICAgICAgKCBIODwkPCQ8JDwkTEBMQExATEBMQGxgRChEKEQoPDA8MDwwPDBAKEAoTEBMQExATEBIQERANEA0QDQcQEhAPDBAKCAYNDQ0ICgoNDQARFxQPFQ0RDwgIChscFhIQExIREQ0UDxgPExMSEhcTExMREBAQGBIUEhkbExgRERoRDhAPCxAPFA0QEA4PExAQEBANDA4UDxAPFhcQFA4NFQ8PEAsNDAgJCBYXEA4ODxMQExASDxURExAREA0LDwwRDxkVDw0SDxURFA8VEBQQGRMcGBkVEA0QDBEOEQ4TEBgTExATEBIQFxMXEwgSDxMQExAUERIPGRUIEg4SDhkXDw8SDxIPGBQPDRAOExATEBMQExATEBENEA4QDhAOEg8NCxgUEg8PDRIPGRUUERMREg4XFxEQEwoTGAYGBgsLCw8PDRckCQkFDAwMDBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEA8eGxEQEw8PDw8ZCw8PDw8PFBEADwoOCAYJCw4KERAPCRIQEg8QDhENDw0QDRIODw8PDw8PDw0TEBMQExATEBgUEQ0RDRENEQ8RDxoVGhUTEBMQExAYFA8NCAgPDBANExATEA8JEAoRDg8NDw0GBgsLBwwMCAsODgsPDQ8NEBEFCAUAAB4lFwAICAkMEREZGAgKCgsQCAsHDBEREREREREREREICRAQEA4gEhERExAPEhQIChMPGBQUERQSEBETEhoTEhAKDQoPDQkPEA0QDwkQEQgIDwkYERAQEAsNChEOFhAODgsHCxAICREREREHEA4ZDQ8QCxUNDRAMDAkREAgKDA0PGhsbDhISEhISEhoREBAQEAgICAgUFBQUFBQUEBQTExMTEhETDw8PDw8PGA0PDw8PCAgICBAREBAQEBAQEBEREREOEA4SDxIPEg8RDRENEQ0TExQREA8QDxAPEA8SEBIQEhAUERQRCAgICAgICggTDw8JDwkPCRAKFBEUERQRFBAUEBsZEgsSCxILEA0QDRANEA0RChELExETERMRExETERIQDhAOEA4HERIQEA0RCggHDQ0OCQoLDg4AEhcVEBYOERAICAocHRYTERMSEREOFRAZEBQUExMYFBQTERERERgTFBIaGxQYEREbEQ8QDwsRDxUNEBAPDxQQEBAQDQwOFBARDxYXEBUPDhYPDxELDg0ICggXFxEPDhAUEBQQExAVEhQQERAOCw8MERAaFhANExAVEhUPFhAVERoUHRgaFRENEQwSDxIPFBAZExQQExASERgTGBMIEg8UERQQFBESDxkVCBIPEg8aGBAPEw8TDxkVEA0QDxQQFBAUEBQQFBARDhEOEQ4RDhIPDgsYFRMPEA0TDxoWFREUEhMPGBgREBQLFBkHBwcMDAwPDw4YJQkJBgwMDAwREREREREREREREREREREREREREREREREREREPHxwSEBQQEBAQGgsQEBAQEBUSAA8KDggHCQsPCxEQDwkSERIPEQ4RDhANEQ0SDxAPEA8QDxANFBAUEBQQFBAYFREOEQ4RDhEPEQ8bFhsWFBEUEBQQGBUQDQgIDwwRDRMQFBEPCREKEg4QDRANBwcMDAgMDAgLDg8LEA4PDhESBggGAAAfJhcACAgJDBISGhkICgoMEAgLCA0SEhISEhISEhISCAkQEBAOIRMSERQQEBMUCAoTEBkUFBIUExASExMbFBIRCg0KEA4KDxENERAKEREICA8JGBERERELDQsRDxYQDw4MBwwQCAkSEhISBxAPGg0PEAsVDg4QDQ0JEhAICg0NDxscHA4TExMTExMbERAQEBAICAgIFRQUFBQUFBAUExMTExISFA8PDw8PDxgNEBAQEAgICAgREREREREREBERERERDxEPEw8TDxMPEQ0RDRENFBQVERAQEBAQEBAQExETERMRFBEVEQgICQgICAoIEw8QCRAJEAkQChQRFBEUERQRFBEcGhMLEwsTCxANEA0QDRANEgsSCxMRExETERMRExESEQ4RDhEOCBITERANEgsIBw4ODgkLCw4OABIYFhAXDhIQCAkKHR4YExIUExISDhUQGhAVFRMTGRQUFBIREhIZFBUTGhwVGRISHBIPERAMEhAVDRERDxAVEREREQ0NDxYQERAYGBEWDw4XEBARDA4NCAoIGBgRDw8RFBEUERQQFhIUERIRDgwQDRIRGxcQDRQQFhIVEBYRFhIaFR4aGxYRDRINEg8SDxURGhQUERQRExEYFBgUCBMQFBEUERUSExAaFggTDxMPGxgQEBMQExAaFRANEQ8VERURFBEUERQREg4SDxIPEg8TEA4MGRYUEBANFBAbFhUSFBITDxkYEhEVCxQZBwcHDAwMEBAOGSYKCgYNDQ0NEhISEhISEhISEhISEhISEhISEhISEhISEhISECAdExEUEBAQEBsLEBAQEBAWEgAQCg8IBwkMDwsSERAKExETEBIPEg4QDRENEw8QEBAQEBAQDRQRFBEUERQRGRYSDhIOEg4SEBIQHBccFxURFREUERkWEA0ICBANEQ0UERQREAkSCxMPEA4QDgcHDAwIDA0IDA8PDBAOEA4REgYIBgAAICcYAAgICQ0SEhsaCAoKDBEIDAgNEhISEhISEhISEgkJERERDyITExIUERATFQkLFBAaFRUSFRMREhQTHBQTEQoOChAOChARDhEQChERCAgPCRoRERERCw0LEQ8XEA8ODAcMEQgJEhISEgcRDxsNEBEMFg4OEQ0NChIRCAsNDRAcHR0PExMTExMTHBIRERERCQkJCRUVFRUVFRURFRQUFBQTEhQQEBAQEBAZDhAQEBAICAgIEhEREREREREREREREQ8RDxMQExATEBIOEg4SDhQUFRIREBEQERAREBMRExETERURFhIJCAkICQgLCBQPEAkQCRAJEQoVERURFREVERURHRsTCxMLEwsRDRENEQ0RDRILEgwUERQRFBEUERQRExEOEQ4RDggSExERDRILCAcODg8JCwsODwATGRYRGA8SEQkJCx4fGBQSFBMSEw8WERsRFRUUFBoVFRQSEhISGhQWExwdFRkSEhwTEBEQDBIQFg4RERAQFREREREODQ8WEBIQGBkRFxAOFxAQEgwPDQgKCBgZEhAPERURFREUERcTFRESEQ8MEA0TERsXEQ4UERcTFhAXERYSGxUfGhwXEg4SDRMQExAVERsVFREVERMRGRUZFQkUEBUSFREWEhMQGxcIExATEBwZERAUEBQQGxYRDhEPFREVERURFREVERIOEg8SDxIPExAPDBkXFBERDhQQHBcWEhUTFA8aGhIRFgwVGgcHBw0NDRAQDhonCgoGDQ0NDRISEhISEhISEhISEhISEhISEhISEhISEhISEhAhHhMRFREREREbDBERERERFhMAEAsPCQcJDBALExEQChMSExASDxIOEQ4SDhMQERAREBEQEQ4VERURFREVERkXEg4SDhIPExATEBwXHBcVEhURFREZFxEOCQgQDRIOFBEVERAJEgsTDxEOEQ4HBw0NCA0NCQwPEAwRDxAPEhMGCAYAACEpGQAICAoNExMcGwgLCwwRCAwIDRMTExMTExMTExMJChEREQ8jFBQSFRERFBUJCxQRGhYWExYUERMVFBwVFBILDgsRDwoQEg4SEQsSEgkJEAobEhISEgwODBIQGBEQDwwHDBEIChMTExMHERAbDhARDBcPDhEODgoTEQgLDg4QHR4eDxQUFBQUFBwSEREREQkJCQkWFhYWFhYWERYVFRUVFBMVEBAQEBAQGg4RERERCQkJCRISEhISEhIREhISEhIQEhAUEBQQFBASDhIOEg4VFRYSEREREREREREUEhQSFBIVEhcSCQkJCQkJCwkUEBEKEQoRChELFhIWEhYSFhIWEh4cFAwUDBQMEQ4RDhEOEQ4TDBMMFRIVEhUSFRIVEhQSDxIPEg8IExQSEQ4TDAkHDw8PCQsMDw8AExoXERgPExEJCgsfIBkUExUUExQPFxEcERYWFBUaFRYVExITExoVFxQdHhYaExMeExASEQwTERcOEhIQERYSEhISDg4QFxESERkaEhgQDxgRERIMDw4JCwkZGhIQEBIVEhYSFREYExUSExIPDBEOExIcGBEOFREYExcRGBIXExwWIBsdFxIOEw4UEBQQFhIcFRUSFRIUEhoVGhUJFBEVEhUSFxMUERwXCRQQFBAcGhERFBEUERwXEQ4SEBYSFhIWEhYSFhITDxMQExATEBQRDwwaGBUREQ4VERwYFxMWExQQGhsTEhYMFhsHBwcNDQ0REQ8bKQoKBg4ODg4TExMTExMTExMTExMTExMTExMTExMTExMTExMRIh8UEhYRERERHAwRERERERcTABELEAkHCgwQDBQSEQsUEhQRExATDxEOEg4UEBEREREREREOFhIWEhYSFhIaGBMPEw8TDxMRExEeGB4YFhMWEhYSGhgRDgkJEQ0SDhUSFRIRChMMFBARDhEOBwcNDQgNDgkNEBANEQ8RDxIUBgkGAAAiKhoACQkKDhMTHRwJCwsNEgkMCA4TExMTExMTExMTCQoSEhIPJBUUExYRERQWCQsVERsWFhMWFBITFRQdFhQSCw4LEQ8LERIPEhELEhMJCREKGxMSEhIMDgwSEBkSEA8NCA0SCQoTExMTCBIQHA4REgwXDw8SDg4KExIJCw4OER4fHw8VFRUVFRUdExEREREJCQkJFxYWFhYWFhIWFRUVFRQTFRERERERERsPEREREQkJCQkTExISEhISEhISEhISEBIQFREVERUREw8TDxMPFhYXExERERERERERFBIUEhQSFhMXEwkJCQkJCQsJFRERChEKEQoSCxYTFhMWExYSFhIfHRQMFAwUDBIOEg4SDhIOEwwTDBUSFRIVEhUSFRIUEg8SDxIPCBMUEhIOEwwJCA8PEAoMDA8QABQaGBEZEBMSCQoLICEaFRMWFRMUEBgRHRIXFxUVGxYWFhMTExMbFhcVHR8WGxMUHxQREhENExEYDxMTERIXEhISEg8PEBcSExEZGxIYEQ8ZERETDQ8OCQsJGhoTERASFhIWEhUSGBQWEhMSEA0RDhQSHRkSDxYSGBQYERgSGBMdFyEcHhgTDxMPFBEUERcSHBYWExYSFRMbFhsWCRURFhMWEhcUFREdGAkVERURHRsRERURFREdGBIPExAXExcTFhIWEhYSFA8TEBMQExAVERANGxgWEhIPFRIdGRcUFhQVERsbExIXDBYcCAgIDQ0NEREPHCoKCgYODg4OExMTExMTExMTExMTExMTExMTExMTExMTExMTESMgFBIWEhISEh0NEhISEhIYFAARCxAJCAoNEQwUEhELFRMVERMQFA8SDxMPFRERERERERESDxYSFhIWEhYSGxgUDxQPEw8UERQRHxkfGRcTFxMWEhsYEg8JCREOEw8WEhYTEQoTDBQQEg8SDwgIDQ0JDg4JDRAQDRIQERATFAYJBgAAIysaAAkJCg4UFB0cCQsLDRIJDQkOFBQUFBQUFBQUFAkKEhISECUVFRQWEhIVFwkMFhIcFxcUFxUTExYVHhYVEwsPCxIQCxETDxMSCxMTCQkRCh0TExMTDA8MExEZEhEQDQgNEgkKFBQUFAgTER0PERINGBAPEg4OCxQTCQwODxEfICAQFRUVFRUVHhQSEhISCQkJCRcXFxcXFxcSFxYWFhYVFBYREREREREbDxISEhIJCQkJFBMTExMTExITExMTExETERURFREVERQPFA8UDxYWFxMSEhISEhISEhUTFRMVExcTGBMJCQoJCQkMCRYREgoSChIKEgsXExcTFxMXExcTIB0VDBUMFQwTDxMPEw8TDxQMEw0WExYTFhMWExYTFRMQExATEAkUFRMTDxMMCQgPEBAKDAwQEAAUGxgSGhAUEwkKDCEiGxYUFhUUFRAYEh0SFxcWFhwXFxYUFBMUHBYYFR8gFxwUFB8UERISDRQSGA8TExESFxMTExMPDxEZEhQSGxwTGREQGRISEw0QDwkLCRsbExERExcTFxMWEhkVFxMUExANEg4UEx4ZEg8WEhkVGBIZExgUHhciHR8ZFA8UDxURFREXEx0XFxMXExUTGxcbFwkVEhcTFxMYFBUSHhkJFREVER4bEhIWEhYSHRgSDxMRFxMXExcTFxMXExQQFBEUERQRFRIQDRwZFhISDxYSHhkYFBcVFhEcHRQTGA0XHQgICA4ODhISEBwrCwsGDg4ODhQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBIkIRUTFxISEhIeDRISEhISGBUAEgwRCQgKDREMFRMSCxUTFRIUERQQEg8UDxUREhISEhISEg8XExcTFxMXExwZFBAUEBQQFBIUEh8ZHxkXFBcTFxMcGRIPCQkSDhQPFhMXExIKEwwVERIPEg8ICA4OCQ4OCQ0REQ0SEBIQExUHCQYAACQsGwAJCQsOFBQeHQkMDA4TCQ0JDxQUFBQUFBQUFBQKChMTExAmFhUUFxMSFRcKDBYTHRcZFRgWExQXFh8XFRMMDwwSEAsSEw8TEgwTFAkJEgsdFBMTEw0PDRMRGhMREA0IDRMJCxQUFBQIExEeDxITDRkQEBMPDwsUEwkMDw8SICEhEBYWFhYWFh8UExMTEwoKCgoYFxkZGRkZExgXFxcXFRUXEhISEhISHA8SEhISCQkJCRQUExMTExMTExMTExMRExEWEhYSFhIUDxQPFA8XFxgUExITEhMSExIVExUTFRMXFBkUCgkKCgoJDAkWEhMLEwsTCxMLFxQXFBcUGRMZEyEeFg0WDRYNEw8TDxMPEw8UDRQNFxMXExcTFxMXExUTEBMQExAJFBUTEw8UDQkIEBARCgwNEBEAFRwZExsQFBMKCwwiIxsWFBcWFRUQGRMeExgYFhYdFxkXFRQUFB0XGRYfIRgdFBUgFRITEg4UEhkQFBQSEhgTExMTDw8RGRMUEhscExkRERoSEhQOEA8JCwkbHBQSERMXExgTFxMaFRcTFRMQDhIPFRMfGhMQFxMaFRkSGhMZFB8YIx0gGhQPFA8VEhUSGBQeFxcUFxMWFB0XHRcKFhIXFBcTGRUWEh4aCRYSFhIfHBMSFxIXEh4ZExAUERgUGBQZExgTGBMVERQRFBEUERYSEA4dGRcTExAXEh8aGRUYFRYSHR0VExgNGB4ICAgODg4SEhAdLAsLBw8PDw8UFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQUFBQSJSIWExgTExMTHw0TExMTExkVABIMEQoICw4SDRUTEgwWFBYSFBEVERMQFA8WEhMSExITEhMQGRMZExgTGRMdGRURFREUEBUSFRIgGiAaGBQYFBkTHRkTEAoJEg8UDxcTFxQTCxQNFhETEBMQCAgODgkODwoOEREOExESERQVBwkHAAAlLhwACQkLDxUVHx4JDAwOFAkNCQ8VFRUVFRUVFRUVCgsUFBQRJxYVFRcTEhYYCwwXEx4YGRUZFhQVFxYgFxYUDBAMExAMEhQQFBIMFBQKChILHRQUFBQNDw0UEhsTEhEOCA4UCQsVFRUVCBQSHxASFA0aEBAUDw8LFRQJDA8QEiEhIREWFhYWFhYgFRMTExMLCwsLGBgZGRkZGRQZFxcXFxYVFxISEhISEh0QEhISEgoKCgoVFBQUFBQUFBQUFBQUEhQSFhIWEhYSFRAVEBUQFxgYFBMSExITExMSFhQWFBYUGBQZFQsKCwoLCgwKFxITCxMLEwsTDBgUGBQYFBkUGRQiHxYNFg0WDRQPFA8UDxQPFQ0VDRcUFxQXFBcUFxQWFBEUERQRCRUWFBQPFQ0KCBAREQsNDRERABYdGhMbERUUCwsMIyQcFxUYFhUVERoTHxMYGBcXHhgZFxUVFRUeFxkWHyEZHRUVIRUSExMOFRIaEBQUEhMZFBQUFBAPEhkTFRMbHRQaEhEbExIUDhEPCgwKHB0UEhIUGBQZFBcUGhYYFBUUEQ4TDxYUIBsTEBgUGhYaExsUGhUfGSMeIBoVEBUPFhIWEhkUHxgYFBgUFhQdGB0YCxcTGBQYFBkVFhMfGgkWEhYSIB0TEhcTFxMfGhMQFBIYFBgUGRQZFBkUFREVEhUSFRIWExEOHRoXExMQFxMgGxkVGBYXEh4dFRQZDRgeCAgIDw8PExMRHi4LCwcPDw8PFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVFRUVEyYjFhQYFBQUFCAOFBQUFBQaFgATDBIKCAsOEg0VFBIMFhUWExUSFRETEBUQFhITEhMSExITEBkUGRQZFBkUHRoVERURFREVExUTIRshGxkVGBQZFB0aExALChIPFRAXFBgUEwsVDRYSExATEAgIDw8JDw8KDhISDhMRExEUFgcJBwAAJi8dAAoKCw8WFiAfCgwMDhQKDgkQFhYWFhYWFhYWFgoLFBQUESgXFhUZFBMXGQsMGBQeGRkWGRcUFRgXIRgXFAwQDBMRDBMUEBQTDBQVCgoTCx8UFBQUDRANFBIbFBIRDgkOFAoLFhYWFgkUEiAQExQOGhERFBAQDBYUCg0QEBMhIiIRFxcXFxcXIRUUFBQUCwsLCxkZGRkZGRkUGRgYGBgXFhgTExMTExMeEBMTExMKCgoKFRQUFBQUFBQUFBQUFBIUEhcTFxMXExUQFRAVEBkYGRUUExQTFBMUExcUFxQXFBkVGhULCgsKCwoMChgTFAsUCxQLFAwZFBkUGRQZFBkUIyAXDRcNFw0UEBQQFBAUEBYNFQ4YFBgUGBQYFBcUFxQRFBEUEQkWFxQUEBUNCggRERILDQ0REQAWHhoUHBEWFAsLDCQlHRgWGBcWFhEaFCAUGRkYGB4ZGRgWFRUWHhgaFyEjGR4WFiIWExQTDhYTGhAUFBMTGRQUFBQQEBIbFBUTHR4UGhMRHBMTFQ4REAoMCh0eFRMSFBkUGRQYFBsWGRQWFBEOExAWFCEcFBAYFBsWGhMbFRoWIBklHyEbFRAVEBcTFxMZFSAZGRUZFBcVHhkeGQsXExkVGRQaFhcTIBsKFxMXEyEeFBMYExgTIBoUEBUSGRQZFBkUGRQZFBYRFhIWEhYSFxMRDh4aGBQUEBgTIRsaFhkWGBMeHxYUGg4ZHwgICA8PDxMTER8vDAwHEBAQEBYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhMnJBcUGRQUFBQhDhQUFBQUGhYAEw0SCggLDhMNFhQTDBcVFxMWEhYRFBAVEBcTFBMUExQTFBAZFBkUGRQZFB4aFhEWERYRFhMWEyIcIhwZFRkUGRQeGhQQCwoTEBUQGRQZFRQLFQ0XEhQRFBEICA8PCg8QCg8SEg8UEhMSFRcHCgcAACcwHQAKCgsQFhYhIAoNDQ8VCg4KEBYWFhYWFhYWFhYKCxUVFRIpGBcWGRQUGBkLDRgUHxoaFhoXFRYYFyIZFxUNEQ0UEQwTFBEVFA0VFQoKEwsgFRUVFA0QDhUTHBQTEg4JDhUKCxYWFhYJFRMgEBMVDhsRERUQEAwWFQoNEBATIiMjEhgYGBgYGCIWFBQUFAsLCwsaGhoaGhoaFRoYGBgYFxYZExMTExMTHxEUFBQUCgoKChYVFRUVFRUVFBUVFRUTFRMYExgTGBMWERYRFhEZGRoVFBQUFBQUFBQYFRgVGBUZFRsWCwoLCwsKDQoYExQLFAsUCxQMGhUaFRoVGhUaFSQhFw0XDRcNFRAVEBUQFRAWDhYOGBUYFRgVGBUYFRcVEhUSFRIKFhgVFRAWDgoJERISCw0OEhIAFx4bFB0SFxULDA0kJh4YFhkYFhcSGxQhFRoaGBgfGRoZFhYWFh8ZGxgiJBofFhYjFhMUFA8WFBsRFRUTFBoVFRQVERATGxQWEx0fFRsTEhwUFBUPEhAKDAoeHxUTExQZFRoVGRUcFxkVFhUSDxQQFxUhHBURGRUcFxsUHBUbFiEaJiAiHBYRFhAXExcTGhUhGRkVGRQYFR8ZHxkLGBQZFRkVGxYYEyEcChgTGBMiHxQUGRQZFCEbFREVExoVGhUaFRoVGhUWEhYTFhMWExgTEg8fGxkUFREZFCIcGxYaFxgTHyAWFRoOGiAJCQkPDw8UFBIgMAwMBxAQEBAWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYWFhYUKCUXFRoVFRUVIQ4VFRUVFRsXABQNEwoJDA8TDhcUFA0YFhgTFhMWEhURFhEYExQUFBQUFBURGhUaFRoVGhUfGxYSFhIXEhYUFhQjHCMcGhYaFRoVHxsVEQsKFBAWERkVGRUUCxYOFxMVERURCQkPDwoQEAoPEhMPFBIUEhYXBwoHAAAoMR4ACgoMEBcXIiEKDQ0PFQoOChAXFxcXFxcXFxcXCwwVFRUSKhgXFhoVFBgaCw0ZFSAaGxcbGBUWGRgiGRgWDRENFBINFBURFRQNFRULCxQLIBYVFRUOEQ4WEx0VExIPCQ8VCgwXFxcXCRUTIREUFQ4cEhEVEBAMFxUKDRARFCMkJBIYGBgYGBgiFhUVFRULCwsLGxobGxsbGxUbGRkZGRgXGRQUFBQUFB8RFBQUFAsLCwsXFhUVFRUVFRUWFhYWExUTGBQYFBgUFhEWERYRGhobFhUUFRQVFBUUGBUYFRgVGhUbFgsLCwsLCw0LGRQVCxULFQsVDRoWGhYaFhsVGxUlIhgOGA4YDhURFREVERURFw4WDhkWGRYZFhkWGRYYFhIWEhYSChcYFRURFg4LCRISEgsODhISABcfHBUdEhcVCwwNJSYeGRcaGBcXEhwVIhUaGhkZIBobGhcWFhcgGRsYIiQbIBcXJBcUFRQPFxQcERYWExUbFRUVFRERExwVFhQeHxUbExIdFBQWDxIRCw0LHh8WExMVGhUbFRkVHBgaFhcVEg8UERcVIh0VERkVHRccFB0WHBciGyYhIxwWERYRGBQYFBsWIhoaFhoVGBUgGiAaCxgUGhYaFRsXGBQiHAoYFBgUIh8VFBkUGRQiHBURFhMaFhoWGxUbFRsVFxIXExcTFxMYFBIPIBsZFRURGRUiHRsXGhgZFCAgFxUbDhohCQkJEBAQFBQSIDEMDAcQEBAQFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFCkmGBYaFRUVFSIPFRUVFRUcGAAUDRMLCQwPFA4XFRQNGBYYFBcTFxIVERYRGBQVFBUUFRQVERsVGxUbFRsVIBsXEhcSFxIXFBcUJB0kHRsXGxYbFSAbFRELCxQQFhEaFRoVFQsWDhgTFREVEQkJEBAKEBALDxMTDxUTFBIWGAgKBwAAKTMfAAoKDBAXFyIhCg0NEBYKDwoRFxcXFxcXFxcXFwsMFhYWEysZGBcbFRUZGwwOGRUhGxsXGxkWFxoZIxoYFg0RDRUSDRQWERYVDRYWCwsUDCEWFhYWDhEOFhQeFhQTDwkPFgoMFxcXFwkWFCIRFBYPHBISFhERDRcWCg4RERQkJSUTGRkZGRkZIxcVFRUVDAwMDBsbGxsbGxsWGxoaGhoYFxoUFBQUFBQgERUVFRULCwsLFxYWFhYWFhYWFhYWFhQWFBkUGRQZFBcRFxEXERsaGxcVFRUVFRUVFRkWGRYZFhsWHBcMCwwLDAsOCxkUFQwVDBUMFg0bFhsWGxYbFhsWJiIZDhkOGQ4WERYRFhEWERcOFw8aFhoWGhYaFhoWGBYTFhMWEwoXGRYWERcOCwkSEhMMDg4TEwAYIB0VHhMYFgwMDiYnHxkXGhkXGBMcFSIWGxsZGiEbGxoXFxcXIRocGSMlGyEXGCUYFBYVDxcVHBIWFhQVGxYWFhYREhQcFhcUHiAWHRQTHhUVFw8TEQsNCx8gFxQUFhsWGxYaFh0YGxYXFhMPFREYFiMeFhIaFh0YHBUdFh0XIxsnIiQdFxIXEhgUGBQbFiIbGxYaFRkWIRshGwwZFRsXGxYcGBkUIx0LGRQZFCMgFRUaFRoVIhwWEhYUGxYbFhsWGxYbFhgTFxQXFBcUGRQTDyEdGhYWEhoVIx4cGBsYGRQhIRcWHA8bIgkJCRAQEBUVEyEzDQ0IERERERcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxcXFxUqJxkWGxYWFhYjDxYWFhYWHRgAFQ4UCwkMDxQOGBYVDRkXGRQXFBgTFhIXERkUFRUVFRUVFhIbFhsWGxYbFiEdGBMYExgTGBUYFSUeJR4bFxsWGxYhHRYSDAsVERcSGxYbFhUMFw4ZFBYSFhIJCRAQChARCxATFBAVExUTFxgICwgAACo0IAALCwwRGBgjIgsODhAWCw8KERgYGBgYGBgYGBgLDBYWFhMsGRkXGxYVGhsMDhoWIhwcGBwZFhgaGSQbGRcOEg4VEw0VFxIXFQ0WFwsLFQwhFxYXFw4SDxYUHhYUExAKEBYLDBgYGBgKFhQjEhUWDx0TEhYREQ0YFgsOERIVJSYmExkZGRkZGSQXFhYWFgwMDAwcHBwcHBwcFhwaGhoaGRgaFRUVFRUVIRIVFRUVCwsLCxgXFhYWFhYWFhYWFhYUFxQZFRkVGRUXEhcSFxIbGxwXFhUWFRYVFhUaFhoWGhYbFxwXDAsMCwwLDgsaFRYMFgwWDBYNHBccFxwXHBYcFiYjGQ4ZDhkOFhIWEhYSFhIYDxgPGhYaFhoWGhYaFhkXExcTFxMKGBoWFhIYDwsJEhMTDA4PExMAGSEdFh8TGBYMDA4nKCAaGBsZGBkTHRYjFhwcGhoiGxwbGBcYGCIbHRkkJhwiGBgmGBUWFRAYFR0SFxcVFRwXFhYXEhIUHRYXFR8hFx4VEx8VFRcQExILDQsgIRcVFBYbFxwWGhYeGRsXGBYTEBURGBYkHxYSGxYeGR0VHhcdGCQcKCMlHhcSGBIZFRkVHBcjGxsXGxYZFyEbIRsMGhUbFxsXHRgZFSQeCxkVGRUkIRYVGhUaFSMdFhIXFBwXHBccFhwWHBYYExgUGBQYFBkVExAiHhsWFhIbFSQeHRgcGRoVIiEYFxwPHCIJCQkREREVFRMiNA0NCBEREREYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgVKygZFxsWFhYWJA8WFhYWFh0ZABUOFAsJDBAVDxkXFQ0ZFxkVGBQYExYSFxIZFRYVFhUWFRYSHBYcFhwWHBYiHhgTGBMYExgVGBUmHyYfHBgcFxwWIh4WEgwLFREXEhsXGxcWDBgPGRQWEhYSCQkREQsREQsQFBQQFhMVExcZCAsIAAArNSAACwsNERgYJCMLDg4QFwsPCxIYGBgYGBgYGBgYDAwXFxcULhoZGBwWFhocDA4bFiIcHRkdGhcYGxolGxkXDhIOFhMOFRcTFxYOFxcMDBUNIxcXFxcPEg8XFR8XFRQQChAXCw0YGBgYChcVJBIVFw8eExMXEhINGBcLDhISFSYnJxQaGhoaGholGBYWFhYMDAwMHRwdHR0dHRcdGxsbGxkZGxUVFRUVFSITFhYWFgwMDAwYFxcXFxcXFxcXFxcXFRcVGhUaFRoVGBMYExgTHBsdGBYWFhYWFhYWGhcaFxoXHBcdGAwMDAwMDA4MGxUWDRYNFg0XDhwXHBccFx0XHRcnJBoPGg8aDxcSFxIXEhcSGA8YDxsXGxcbFxsXGxcZFxQXFBcUCxgaFxcSGA8MChMTFAwPDxMUABkhHhYgFBkXDA0OKCkhGxgbGhkZFB4WJBcdHRsbIhwdGxkYGBgiGx0aJScdIhgZJxkVFxUQGBYeEhcXFRYdFxcWFxMSFR4XGBUgIhceFRQgFhYYEBQSDA4MISIYFRUXHBcdFxsXHxkcFxkXFBAWEhkXJR8XEhsXHxkeFh8XHhglHSkjJh4YExgSGRUZFR0XJBwcFxwXGhciHCIcDBoWHBgcFx0ZGhYkHwsaFRoVJSIWFhsWGxYkHhcSGBUdFx0XHRcdFx0XGRQYFRgVGBUaFRQQIh4bFxcTGxYlHx0ZHBkbFSIjGRcdDxwjCgoKERERFhYTIzUNDQgSEhISGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYGBgYFiwpGhccFxcXFyUQFxcXFxceGQAWDhQLCg0QFQ8ZFxYOGhgaFhgVGRQXEhgTGhUWFhYWFhYXEh0XHRcdFx0XIh4ZFBkUGRQZFhkWJyAnIB0YHRcdFyIeFxMMDBYSGBMcFxwXFg0YDxoVFxMXEwoKERELERILEBQVEBYUFhQYGggLCAAALDYhAAsLDRIZGSUkCw4OERcLEAsSGRkZGRkZGRkZGQwNFxcXFC8aGhgcFxYbHQwPGxcjHR4ZHhoXGRwaJhwaGA4TDhYUDhYYExcWDhgYDAwWDSMYGBgXDxMPGBUgFxUUEAoQFwsNGRkZGQoXFSUSFRcQHhMTFxISDRkXCw8SEhUnKCgUGhoaGhobJhgXFxcXDAwMDB0dHh4eHh4XHhwcHBwaGRwWFhYWFhYjExYWFhYMDAwMGRgYGBgYGBcYGBgYGBUYFRoWGhYbFhgTGBMYExwcHRgXFhcWFxYXFhsYGxgbGB0YHhgMDAwMDAwPDBsWFw0XDRcNFw4dGB0YHRgeGB4YKCUaDxoPGg8XExcTFxMXExkPGRAcGBwYHBgcGBsYGhgUGBQYFAsZGxgXExkPDAoTFBQNDw8UFAAaIh8XIRQZFwwNDykqIRsZHBoZGhQeFyUXHR0bGyMdHhwZGBkZIxweGyYoHSMZGScaFhgWERkWHhMYGBYWHRgYFxgTEhUfFxkWISIYHxYUIBYWGBEUEwwODCIjGBYVFx0YHhgcFx8aHRgZGBQRFhIaGCYgFxMcFyAaHhYgGB8ZJR0qJCcfGBMZEhoWGhYdGCUcHRgcGBsYIxwjHAwbFh0YHRgeGRsWJR8MGhYaFiYjFxYcFhwWJR4XExgVHRgdGB4YHhgeGBkUGRUZFRkVGxYUESMfHBcXExwWJiAeGR0aGxYjIxkYHhAdJAoKChERERYWFCQ2Dg4IEhISEhkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRkZGRYtKhoYHRcXFxcmEBcXFxcXHxoAFg8VDAoNERYPGhgWDhsYGxYZFRkUFxMYExoWFxYXFhcWFxMeGB4YHhgeGCMfGRQZFBkUGhYaFicgJyAdGR0YHhgjHxcTDAwWEhgTHBcdGBcNGQ8aFRcTFxMKChERCxISDBEVFREXFBYUGBoIDAgAAC03IgALCw0SGhomJQsPDxEYCxALEhoaGhoaGhoaGhoMDRgYGBQwGxsZHRcXGx0MDxwXJB4eGh4bGBocGyccGxgPEw8XFA4WGBMYFw4YGQwMFg0kGRgYGBATEBgVIBgWFREKERgLDRoaGhoKGBYlExYYEB8UFBgTEw4aGAsPExMWKCkpFBsbGxsbGycZFxcXFwwMDAweHh4eHh4eGB4cHBwcGxocFhYWFhYWIxMXFxcXDAwMDBkZGBgYGBgYGBgYGBgWGBYbFhsWGxYZExkTGRMdHR4ZFxcXFxcXFxcbGBsYGxgdGR8ZDAwMDAwMDwwcFhcNFw0XDRgOHhkeGR4ZHhgeGCkmGxAbEBsQGBMYExgTGBMaEBoQHBgcGBwYHBgcGBsYFRgVGBULGhsYGBMaEAwKFBQVDQ8QFBUAGiMfFyEVGhgMDQ8qKyIcGh0bGhsVHxcmGB4eHBwkHR4dGhkaGiQcHxsnKR4kGhooGhYYFxEaFx8TGRkWFx4YGBgYExMWIBgZFyEjGCAWFSEWFxkRFRMMDgwiIxkWFhgdGB4YHBggGx0YGhgVERcTGhgnIRgTHRggGh8XIBgfGiYeKyUnIBkTGhMbFhsWHhgmHR0ZHRgbGSQdJB0MHBcdGR0YHxobFyYgDBsWGxYnIxcXHBccFyYfGBMZFh4ZHhkeGB4YHhgaFRoWGhYaFhsXFREkIBwYGBMdFycgHxoeGxwWJCQaGB4QHiUKCgoSEhIXFxQkNw4OCBMTExMaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoXLisbGB0YGBgYJxEYGBgYGB8bABcPFQwKDREWEBsYFw4bGRsXGhYaFRgTGRMbFhcXFxcXFxgTHhgeGB4YHhgkIBoVGhUaFRoWGhYoISghHhkeGR4YJCAYEwwMFxIZEx0YHRkXDRoQGxUYFBgUCgoSEgsSEwwRFRYRFxUXFRkbCAwIAAAuOSMADAwOEhoaJyUMDw8RGAwRCxMaGhoaGhoaGhoaDA0YGBgVMRwbGh4YFxweDQ8dGCUeHxofHBgaHRwoHRsZDxQPFxQPFxkUGRcPGBkMDBcOJRkZGRkQExAZFiEYFhURChEYDA0aGhoaChgWJhMWGBEgFBQYExMOGhgMDxMTFigqKhUcHBwcHBwoGhgYGBgNDQ0NHx4fHx8fHxgfHR0dHRsaHRcXFxcXFyQUFxcXFwwMDAwaGRkZGRkZGBkZGRkZFhkWHBccFxwXGhQaFBoUHh0fGRgXGBcYFxgXHBgcGBwYHhkfGQ0MDQwNDA8MHRcYDhgOGA4YDx4ZHhkeGR8ZHxkqJxwQHBAcEBgTGBMYExgTGhAaER0ZHRkdGR0ZHRkbGRUZFRkVCxocGBgTGhAMChQVFQ0QEBUVABskIBgiFRsYDQ4PKywjHRodHBobFSAYJxgfHx0dJR4fHRoaGholHR8cKCofJRoaKRsXGRcRGhcgFBkZFxgeGBkYGRQTFiAYGhcjJBkgFxUiFxcZERUTDA4MIyQZFxYYHhkfGR0YIRseGRoZFREXExsZJyEYFB0YIRsgFyEZIBonHywmKCEaFBoTGxcbFx8ZJx4eGR4ZHBklHiUeDRwXHhkeGB8bHBcnIQwcFxwXKCQYFx0XHRcnIBgUGRYfGR8ZHxkfGR8ZGhUaFhoWGhYcFxURJSAdGBgUHRgoIR8aHhsdFyUlGhkfER4mCgoKEhISFxcVJTkODggTExMTGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaGhoaFy8sHBkeGBgYGCcRGBgYGBggGwAXDxYMCg4RFxAbGRcPHBkcFxoWGhUYFBoUHBcYFxgXGBcYFB8ZHxkfGR8ZJSAaFRoVGxUbFxsXKSIpIh8aHxkfGSUgGBQNDBcTGhQeGR4ZGA4aEBwWGBQYFAoKEhIMEhMMEhYWEhgVFxUZGwkMCAAALzojAAwMDhMbGycmDA8PEhkMEQwTGxsbGxsbGxsbGw0OGRkZFTIcHBoeGRgdHg0QHRgmHx8bHxwYGx0cKR4cGQ8UDxgVDxcZFBkYDxkaDQwXDiUaGRkZERQQGRYiGRYWEQsRGQwOGxsbGwsZFycUFxkRIBUVGRMTDhsZDBATFBcpKisVHBwcHBwcKRoZGRkZDQ0NDR8fHx8fHx8ZHx0dHR0cGx4XFxcXFxclFBgYGBgNDQ0NGhoZGRkZGRkZGRkZGRYZFhwXHBccFxoUGhQaFB4eHxoZGBkYGRgZGB0ZHRkdGR4aIBoNDQ0NDQ0QDB0XGA4YDhgOGQ8fGh8aHxofGR8ZKygcERwRHBEYFBgUGBQYFBsQGxEdGR0ZHRkdGR0ZHBkWGRYZFgwbHRkYFBsQDAoVFRYNEBAVFgAcJSEZIxYbGA0OECwtJB0bHhwbHBYgGScYHx8dHSYeHx4bGhsbJh4gHCgrHyUbGyobFxkYEhsYIRQaGhcYHxkZGRkUFBYhGRoYIyUZIRcWIxcYGhIVFA0PDCQlGhcWGR8ZHxkeGSEcHxkbGRYSGBMbGSgiGBQeGSIcIRgiGSEbKB8tJykhGhQbFBwXHBcfGSceHxoeGRwaJR4lHg0dGB8aHxkgGxwYKCEMHBccFyklGRgeGB4YJyEYFBoXHxofGh8ZHxkfGRsWGxYbFhsWHBgWEiUhHhkZFB4YKSIgGx8cHRcmJRsZIBEfJwoKChMTExgYFSY6Dg4JExMTExsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxgwLRwZHxkZGRkoERkZGRkZIRwAGBAWDQoOEhcQHBkYDxwaHBgbFhsWGBQaFBwXGRgZGBkYGBQfGR8ZHxkfGSUhGxYbFhsVGxcbFyojKiMfGh8aHxklIRkUDQ0YExoUHhkeGhgOGxAcFhgVGBUKChMTDBMTDRIWFxIYFhgWGhwJDAkAADA7JAAMDA4TGxsoJwwQEBIZDBEMFBsbGxsbGxsbGxsNDhkZGRYzHRwbHxkYHR8NEB4ZJiAgGyAdGRseHSkeHBoQFBAYFQ8YGhUaGA8ZGg0MGA4nGhoaGhEUERoXIxkXFhILEhkMDhsbGxsLGRcoFBcZESEVFRkUFA8bGQwQFBQXKisrFh0dHR0dHSkbGRkZGQ0NDQ0gICAgICAgGSAeHh4eHBseGBgYGBgYJhUYGBgYDQ0NDRsaGhoaGhoZGhoaGhoXGhcdGB0YHRgbFRsVGxUfHyAaGRgZGBkYGRgdGR0ZHRkfGiEaDQ0ODQ0NEAweGBkOGQ4ZDhkPIBogGiAaIBogGiwoHREdER0RGRQZFBkUGRQbERsRHhoeGh4aHhoeGhwaFhoWGhYMGx0ZGRQbEQwLFRYWDhARFhYAHCUhGSQWHBkNDhAtLiQeGx8dGxwWIRkoGSAgHh4mHyAfGxsbGyceIR0pLCAmGxwrHBgaGBIbGCEVGhoXGCAZGhkaFRQXIhkbGCQmGSEXFiMYGBoSFhQNDwwkJhoXFxkfGiAaHhkiHB8aGxoWEhgUHBopIxkVHhkiHCEYIxohGykgLicqIhsVGxQcGBwYIBooHx8aHxodGiYfJh8NHRgfGh8ZIRwdGCkiDB0YHRgpJhkYHhgeGCghGRUaFyAaIBogGiAaIBocFhsXGxcbFx0YFhImIR4ZGRUeGCkjIRwgHB4YJicbGiARICcLCwsTExMYGBYnOw8PCRQUFBQbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsbGxsYMS4dGh8ZGRkZKRIZGRkZGSEcABgQFw0LDhIYERwaGA8dGh0YGxccFhkVGxUdGBkYGRgZGBkVIBogGiAaIBomIRwWHBYcFhwYHBgrIysjIBsgGiAaJiEZFQ0NGBMbFR8aHxoZDhsRHRcZFRkVCwsTEwwTFA0SFxcSGRYYFhscCQwJAAAxPCUADAwOFBwcKSgMEBATGgwSDBQcHBwcHBwcHBwcDQ4aGhoWNB4dGyAZGR4gDhAeGScgIRwhHhocHx4qHx0aEBUQGRYPGBoVGhkQGhsNDRgOJxsaGhoRFREaFyMaFxYSCxIaDA4cHBwcCxoXKRUYGhIiFhUaFBQPHBoMEBQVGCssLBYeHh4eHh4qGxkZGRkODg4OISAhISEhIRohHx8fHx0cHxgYGBgYGCYVGRkZGQ0NDQ0cGxoaGhoaGhoaGhoaFxoXHhgeGB4YGxUbFRsVIB8hGxkZGRkZGRkZHhoeGh4aIBshGw4NDg0ODRANHhgZDhkOGQ4aECAbIBsgGyEaIRotKR4RHhEeERoVGhUaFRoVHBEcEh8aHxofGh8aHxodGhYaFhoWDBweGhoVHBENCxYWFw4RERYWAB0mIhkkFhwaDg8QLi8lHhwfHhwdFiIZKRohIR4fJyAhHxwbHBwnHyEeKi0hJxwcLBwYGhkSHBkiFRsbGBkhGhoaGhUUFyIaGxklJhoiGBYkGRkbEhYVDRANJSYbGBcaIBohGh8aIx0gGhwaFhIZFB0aKiQaFR8aIx0iGSMaIhwqIS8oKyMbFRwUHRgdGCEbKSAgGyAaHhsnICcgDh4ZIBsgGiEcHhkpIw0eGB4YKiYZGR8ZHxkpIhoVGxghGyEbIRohGiEaHBYcFxwXHBceGRYSJyIfGhoVHxkqIyIcIB0eGCcnHBohEiAoCwsLExMTGRkWKDwPDwkUFBQUHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcGTIuHRogGhoaGioSGhoaGhoiHQAZEBcNCw4SGBEdGhkQHhseGRwXHBYaFRsVHhgZGRkZGRkaFSEaIRohGiEaJyIcFhwWHBYcGRwZLCQsJCEcIRshGiciGhUODRkUGxUgGiAbGQ4cER4XGhUaFQsLExMMFBQNExcYExkXGRcbHQkNCQAAMj4mAA0NDxQcHCopDRAQExoNEgwUHBwcHBwcHBwcHA0PGhoaFzUeHhwgGhkeIQ4RHxooISIdIh4bHB8eKyAeGxAVEBkWEBkbFhsZEBsbDQ0ZDygbGxsbEhURGxgkGhgXEwsTGg0PHBwcHAsbGCoVGBoSIxYWGhUVDxwaDREVFRgsLS0XHh4eHh4eKxwaGhoaDg4ODiEhIiIiIiIaIh8fHx8eHSAZGRkZGRknFhkZGRkNDQ0NHBsbGxsbGxobGxsbGxgbGB4ZHhkeGBwWHBYcFiAgIRwaGRoZGhkaGR4bHhseGyEbIhwODQ4ODg0RDR8ZGg8aDxoPGhAhGyEbIRsiGyIbLioeEh4SHhIbFRsVGxUbFRwRHBIfGx8bHxsfGx8bHhsXGxcbFwwcHhsbFRwRDQsWFhcOERIXFwAdJyMaJRcdGw4PES8wJh8cIB4dHhciGioaISEfHyghIiAdHBwcKCAiHisuISgcHS0dGRsZExwZIxYbGxgaIRsbGxsWFRgjGhwZJicbIxkXJRkZHBMXFQ0QDSYnHBgYGiEbIhsfGiQeIRsdGxcTGRUdGyskGhYgGiQdIxkkGyMcKyEwKSwjHBYcFR4ZHhkhGyogIRsgGx4bKCAoIA4fGSEcIRsiHR4ZKiQNHhkeGSsnGhkgGSAZKiMaFhsYIRshGyIbIhsiGx0XHBgcGBwYHhkXEygjIBoaFiAaKyQiHSEeHxkoKB0bIhIhKQsLCxQUFBkZFyg+Dw8JFRUVFRwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBkzLx4bIRoaGhorEhoaGhoaIx4AGREYDQsPExkSHhsZEB4cHhkcGB0XGhYcFh4ZGhkaGRoZGhYiGyIbIhsiGygjHRcdFx0XHRkdGS0lLSUhHCEbIhsoIxoWDg0ZFBwWIBshGxoPHBEeGBoWGhYLCxQUDRQVDRMYGBMaFxkXHB4JDQkAADM/JgANDQ8VHR0rKg0RERMbDRINFR0dHR0dHR0dHR0ODxsbGxc2Hx4dIRoaHyEPESAaKSIiHSIfGx0gHywgHhsRFhEaFxAZGxYbGhAbHA4OGQ8pHBscGxIWEhsYJRsYFxMMExsNDx0dHR0MGxgqFRkbEiMXFhsVFRAdGw0RFRUZLS4uFx8fHx8fHywdGhoaGg8PDw8iIiIiIiIiGyIgICAgHh0gGRkZGRkZKBYaGhoaDg4ODh0cGxsbGxsbGxsbGxsYHBgfGR8ZHxkdFh0WHRYhISIcGhoaGhoaGhofGx8bHxshHCMcDw4PDg8OEQ4gGRoPGg8aDxsQIhwiHCIcIhsiGy8rHxIfEh8SGxYbFhsWGxYdEh0SIBsgGyAbIBsgGx4bFxsXGxcNHR8bGxYdEg4LFhcYDxESFxcAHigkGiYXHRsPDxEwMScgHSAfHR4XIxorGyIiICApISIgHR0dHSkgIx8rLiIpHR0uHhkbGhMdGiMWHBwZGiIbGxscFhUYJBsdGiYoGyQZFyUaGhwTFxYOEA4nKBwZGBshGyIbIBskHiEbHRwXExoVHhssJRsWIBslHiMaJRwkHSsiMSotJB0WHRUeGR4ZIhwrISEcIRsfHCkhKSEPHxohHCEbIx0fGiskDR8ZHxksKBoaIBogGisjGxYcGSIcIhwiGyIbIhsdFx0YHRgdGB8aFxMpJCAbGxYgGiwlIx0iHiAZKSkdHCISIioLCwsUFBQaGhcpPxAQCRUVFRUdHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0aNDAfGyEbGxsbLBMbGxsbGyQeABoRGA4LDxMZEh4bGhAfHB8aHRgdFxsWHRYfGRoaGhoaGhsWIhsiGyIbIhspJB0XHRcdFx4aHhouJS4lIh0iHCIbKSQbFg8OGhUdFiEbIRwaDx0SHxgbFhsWCwsUFA0VFQ4UGBkUGhgaGBweCg0JAAA0QCcADQ0PFR0dLCoNEREUGw0TDRUdHR0dHR0dHR0dDg8bGxsYNx8fHSIbGiAiDxEgGyoiIx4jHxweIR8tIR8cERYRGhcQGhwXHBoRHBwODhoPKhwcHBwSFhIcGSUbGRgTDBMbDQ8dHR0dDBwZKxYZGxMkFxcbFRUQHhwNERUWGS4vLxgfHx8fHx8tHRsbGxsPDw8PIyIjIyMjIxsjISEhIR8eIRoaGhoaGikXGhoaGg4ODg4dHBwcHBwcGxwcHBwcGRwZHxofGh8aHRcdFx0XIiEjHRsaGxobGhsaIBwgHCAcIhwkHQ8ODw4PDhEOIBobDxsPGw8bESIcIhwiHCMcIxwwLB8SHxIfEhwWHBYcFhwWHhIeEyEcIRwhHCEcIRwfHBgcGBwYDR0gHBwWHhIODBcXGA8SEhgYAB4oJBsmGB4cDw8RMTInIB4hHx4fGCQbLBsjIyAgKiIjIR4dHh4qISMgLS8jKh4eLx4aHBoUHhokFhwcGRsjHBwcHBcWGSQbHRonKRwlGRgmGhodFBgWDhEOKCkdGRkbIhwjHCEbJR8iHB4cGBQaFh4cLSYbFiEbJR8kGiUcJB0sIzIrLiUdFx4WHxofGiMcLCIiHCIcIBwpIikiDyAaIh0iHCQeIBosJQ4fGh8aLSkbGiEaIRosJBsWHRkjHCMcIxwjHCMcHhgeGR4ZHhkgGhgUKiUhGxsWIRstJSQeIh8gGioqHhwjEyIrDAwMFRUVGhoYKkAQEAoVFRUVHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dHR0dGjUxHxwiGxsbGy0TGxsbGxskHwAaERkODA8UGRIfHBoRIB0gGh4ZHhgbFh0XHxobGhsaGxobFiMcIxwjHCMcKiUeGB4YHhgeGh4aLyYvJiMdIxwjHColGxYPDhoVHRciHCIcGw8eEh8ZGxcbFwwMFRUNFRUOFBkZFBsYGhgdHwoOCgAANUEoAA0NEBUeHi0rDRERFBwNEw0WHh4eHh4eHh4eHg4PHBwcGDggHx4iGxogIg8RIRsqIiQeJCAcHiEgLiIfHREWERsYERocFx0bERwdDg4aECsdHB0cExYTHRkmHBkYFAwUHA0QHh4eHgwcGSwWGhwTJRcXHBYWEB4cDRIWFhovMDAYICAgICAgLh4bGxsbDw8PDyMiJCQkJCQcJCEhISEfHiEaGhoaGhoqFxsbGxsODg4OHh0cHBwcHBwcHR0dHRkdGSAaIBogGh4XHhceFyIiIx0bGxsbGxsbGyAcIBwgHCIdJB0PDg8ODw4RDiEaGxAbEBsQHBEiHSIdIh0kHCQcMS0gEyATIBMcFhwWHBYcFh4THhMhHSEdIR0hHSEdHx0YHRgdGA0eIBwcFh4TDgwXGBgPEhMYGAAfKSUbJxgfHA8PETIzKCEeIiAeHxglGywcIyMhISoiJCIeHh4eKyIkIC0wIyoeHjAfGhwbFB4bJRcdHRobIxwcHB0XFhklHB4bKCodJRoYJxsbHRQYFg4RDigqHRoZHCMdJBwhHCYfIx0eHRgUGxYfHC0nHBciHCYfJRsmHSUeLSMzLC4mHhceFh8aHxojHSwiIx0iHCAdKiIqIg8gGyMdIxwkHyAbLSYOIBogGi4qGxshGyEbLCUcFx0aIx0jHSQcJBwkHB4YHhkeGR4ZIBsYFColIhwcFyIbLiYkHiMfIRoqKx4dJBMjKwwMDBUVFRsbGCtBEBAKFhYWFh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHhs2MiAdIxwcHBwtFBwcHBwcJR8AGxIZDgwQFBoTHxwaESAdIBseGR4YHBceFyAaGxsbGxsbHBckHCQcJBwkHColHhgeGB8YHxsfGzAnMCcjHiMdJBwqJRwXDw4aFh4XIh0iHRsQHhMgGRwXHBcMDBUVDRUWDhQZGhQbGRsYHR8KDgoAADZDKQAODhAWHx8tLA4SEhQcDhMNFh8fHx8fHx8fHx8PEBwcHBk5ISAeIxwbISMPEiEcKyMkHyQhHR8iIS8iIB0SFxIbGBEbHRcdGxEdHQ8OGxArHR0dHRMXEx0aJxwaGRQMFBwOEB8fHx8MHRotFxocEyUYGBwWFhAfHQ4SFhcaMDExGSEhISEhIS8eHBwcHA8PDw8kIyQkJCQkHCQiIiIiIB8iGxsbGxsbKhcbGxsbDw8PDx4dHR0dHR0cHR0dHR0aHRohGyEbIRseFx4XHhcjIyQeHBscGxwbHBshHSEdIR0jHSUeDw8PDw8PEg4hGxwQHBAcEBwRIx0jHSMdJB0kHTEtIRMhEyETHRcdFx0XHRcfEx8TIh0iHSIdIh0iHSAdGR0ZHRkNHyEdHRcfEw4MGBgZDxITGBkAIComHCgZHx0PEBIyNCkhHyIhHyAZJRwtHCQkISIrIyQiHx4fHysiJSEvMSQrHx8wHxsdGxQfGyUXHR0aHCQdHR0dFxcaJhweGykqHSYaGSgbGx4UGRcPEQ4pKh4aGh0jHSQdIhwmICMdHx0ZFBsWHx0uJxwXIhwnICUbJx0mHy4kNCwvJh4XHxcgGyAbJB0tIyMdIx0hHSsjKyMPIRsjHiMdJR8hGy4mDiEbIRsvKhwbIhsiGy0lHBceGiQdJB0kHSQdJB0fGR8aHxofGiEbGRQrJiIcHBciHC8nJR8kICEbKysfHSQTJCwMDAwVFRUbGxgsQxERChYWFhYfHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8bNzMgHSMcHBwcLhQcHBwcHCYgABsSGg4MEBQaEyAdGxEhHiEbHxofGRwXHhchGxwbHBscGxwXJB0kHSQdJB0rJh8ZHxkfGR8bHxswKDAoJB4kHSQdKyYcFw8PGxYeFyMdIx0cEB8TIRocGBwYDAwVFQ4WFg4VGhoVHBkbGR4gCg4KAAA3RCkADg4QFh8fLi0OEhIVHQ4UDhYfHx8fHx8fHx8fDxAdHR0ZOiEhHyMdHCIkEBIiHCwkJR8lIR0fIiEvIyEeEhcSHBgRGx0YHhwSHR4PDxsQLB4eHh0TFxMeGigdGhkUDBQdDhAfHx8fDB0aLhcbHRQmGBgdFxcRHx0OEhcXGzAyMhkhISEhISEvHx0dHR0QEBAQJSQlJSUlJR0lIiIiIiEfIxsbGxsbGysYHBwcHA8PDw8fHh4eHh4eHR0eHh4eGh4aIRshGyEbHxgfGB8YIyMlHh0cHRwdHB0cIh0iHSIdJB4mHxAPEA8QDxIPIhscEBwQHBAdEiQeJB4kHiUeJR4yLiETIRMhEx0XHRcdFx0XHxMfFCIeIh4iHiIeIh4hHhkeGR4ZDh8iHR0XHxMPDBgZGRATExkZACArJh0pGSAdEBASMzUqIh8jIR8hGSYdLh0lJSIiLCQlIx8fHx8sIyYhLzIlLB8gMSAbHhwVHxwmGB4eGxwlHh4dHhgXGicdHxwpKx4mGxkoHBweFRkXDxEPKiseGxodJB4lHiMdJyAkHh8eGRUcFyAdLygdGCMdJyAmHCgeJh8vJTUtMCcfGB8XIRshGyUeLiQkHiMdIR4sJCwkECIcJB4kHiYgIRwvJw4hGyEbLysdHCMcIxwuJh0YHhslHiUeJR4lHiUeIBkfGh8aHxohHBkVLCYjHR0YIxwvKCYgJCAiGywsHx4lFCQtDAwMFhYWHBwZLUQREQoXFxcXHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHx8fHDg0IR4kHR0dHS8UHR0dHR0mIAAcEhoPDBAVGxMhHRwSIR8hHB8aIBkdGB8YIRsdHB0cHRwdGCUeJR4lHiUeLCYgGSAZIBkgHCAcMSgxKCUfJR4lHiwmHRgQDxwWHxgjHiQeHBAfEyEaHRgd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) format(\"truetype\");\n}\n\n.g42-checkbox, .form-check-input, .g42-radio {\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background-color, border-color, color;\n position: relative;\n width: var(--spacing-14);\n height: var(--spacing-14);\n margin: 0;\n border: var(--spacing-1) solid Hsl(var(--g42-border-primary));\n border-radius: var(--spacing-2);\n background-color: Hsl(var(--g42-bg-01));\n -webkit-appearance: none;\n}\n\n.g42-checkbox:disabled, .form-check-input:disabled, .g42-radio:disabled {\n border-color: Hsl(var(--g42-border-secondary));\n background-color: Hsl(var(--g42-border-secondary));\n}\n\n.g42-checkbox:focus, .form-check-input:focus, .g42-radio:focus {\n outline: 1px dashed Hsl(var(--g42-label-tertiary));\n outline-offset: 0;\n}\n\n.g42-checkbox::after, .form-check-input::after, .g42-radio::after {\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: transform, background-color;\n position: absolute;\n top: calc(var(--spacing-1) * -1);\n left: calc(var(--spacing-1) * -1);\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-14);\n height: var(--spacing-14);\n font-size: var(--spacing-9);\n font-family: \"io-icons\";\n transform: scale(0);\n content: \"\\e91b\";\n}\n\n.g42-checkbox:hover:not(:disabled):not(:checked)::after, .form-check-input:hover:not(:disabled):not(:checked)::after, .g42-radio:hover:not(:disabled):not(:checked)::after {\n color: Hsl(var(--g42-label-tertiary));\n transform: scale(1);\n}\n\n.g42-checkbox:checked, .form-check-input:checked, .g42-radio:checked {\n border-color: Hsl(var(--g42-interactive-primary));\n background-color: Hsl(var(--g42-interactive-primary));\n}\n\n.g42-checkbox:checked::after, .form-check-input:checked::after, .g42-radio:checked::after {\n color: Hsl(var(--g42-white));\n transform: scale(1);\n}\n\n.g42-checkbox:checked:disabled, .form-check-input:checked:disabled, .g42-radio:checked:disabled {\n border-color: Hsl(var(--g42-border-secondary));\n background-color: Hsl(var(--g42-border-secondary));\n}\n\n.g42-checkbox:checked:disabled::after, .form-check-input:checked:disabled::after, .g42-radio:checked:disabled::after {\n color: Hsl(var(--g42-label-tertiary));\n}\n\n.g42-checkbox + label, .form-check-input + label, .g42-radio + label {\n display: inline-flex;\n}\n\n.g42-radio {\n border-radius: 50%;\n}\n\n.g42-radio::after {\n top: calc(50% - var(--spacing-10) / 2);\n left: calc(50% - var(--spacing-10) / 2);\n width: var(--spacing-10);\n height: var(--spacing-10);\n border-radius: 50%;\n content: \"\";\n}\n\n.g42-radio:hover:not(:disabled):not(:checked)::after {\n background-color: Hsl(var(--g42-border-primary));\n}\n\n.g42-radio:checked {\n border-color: Hsl(var(--g42-interactive-primary));\n background-color: transparent;\n}\n\n.g42-radio:checked::after {\n background-color: Hsl(var(--g42-interactive-primary));\n}\n\n.g42-radio:checked:disabled::after {\n background-color: Hsl(var(---g42-label-secondary));\n}\n\n.g42-input, input[type=\"text\"] {\n padding: var(--spacing-2) var(--spacing-4);\n border: 1px solid Hsl(var(--g42-border-primary));\n border-radius: var(--spacing-4);\n color: Hsl(var(--g42-label-primary));\n font-size: var(--g42-font-size);\n font-family: var(--g42-font-family);\n line-height: calc(var(--spacing-16) + var(--spacing-2));\n background-color: transparent;\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: border-color;\n}\n\n.g42-input::-webkit-search-cancel-button, input[type=\"text\"]::-webkit-search-cancel-button {\n display: none;\n}\n\n.g42-input:focus, input:focus[type=\"text\"], .g42-input:focus-visible, input:focus-visible[type=\"text\"], .g42-input:hover, input:hover[type=\"text\"] {\n border-color: Hsl(var(--g42-interactive-primary));\n outline: 0;\n}\n\n.g42-input::placeholder, input[type=\"text\"]::placeholder {\n color: Hsl(var(--g42-label-tertiary));\n}\n\n.g42-toggle, .switch {\n position: relative;\n display: flex;\n min-height: var(--spacing-16);\n padding: var(--spacing-4) 0 var(--spacing-4) var(--spacing-24);\n border-radius: var(--spacing-8);\n line-height: var(--spacing-16);\n cursor: pointer;\n}\n\n.g42-toggle:focus span, .switch:focus span {\n outline-color: Hsl(var(--g42-label-tertiary));\n}\n\n.g42-toggle:hover:not(.disabled) .slider::before, .switch:hover:not(.disabled) .slider::before {\n transform: translateX(var(--spacing-8));\n}\n\n.g42-toggle input, .switch input {\n position: absolute;\n display: none;\n}\n\n.g42-toggle input:checked ~ .slider, .switch input:checked ~ .slider {\n background-color: Hsl(var(--g42-interactive-primary));\n}\n\n.g42-toggle input:checked ~ .slider::before, .switch input:checked ~ .slider::before {\n background-color: Hsl(var(--g42-white));\n transform: translateX(var(--spacing-8));\n}\n\n.g42-toggle .slider, .switch .slider {\n position: absolute;\n left: 0;\n width: calc(var(--spacing-24) - var(--spacing-4));\n height: var(--spacing-12);\n margin-top: var(--spacing-2);\n border-radius: var(--spacing-8);\n background-color: Hsl(var(--g42-border-primary));\n outline: 1px dashed transparent;\n outline-offset: 0;\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: all;\n}\n\n.g42-toggle .slider::before, .switch .slider::before {\n position: absolute;\n top: var(--spacing-2);\n left: var(--spacing-2);\n width: var(--spacing-8);\n height: var(--spacing-8);\n border-radius: 50%;\n background-color: Hsl(var(--g42-bg-01));\n content: \"\";\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: all;\n}\n\n.g42-toggle.disabled input:checked ~ .slider, .disabled.switch input:checked ~ .slider {\n background-color: Hsl(var(--g42-border-secondary));\n}\n\n.g42-toggle.disabled input:checked ~ .slider::before, .disabled.switch input:checked ~ .slider::before {\n background-color: Hsl(var(--g42-label-tertiary));\n}\n\n.g42-toggle.disabled .slider, .disabled.switch .slider {\n background-color: Hsl(var(--g42-border-secondary));\n}\n\n.g42-toggle.disabled .slider::before, .disabled.switch .slider::before {\n background-color: Hsl(var(--g42-label-tertiary));\n}\n\n@font-face {\n font-weight: normal;\n font-family: \"io-icons\";\n font-style: normal;\n src: url(data:font/ttf;base64,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) format(\"truetype\");\n}\n\n[class^=\"icon-\"], [class*=\" icon-\"] {\n font-weight: normal;\n font-style: normal;\n font-variant: normal;\n line-height: 1;\n text-transform: none;\n speak: never;\n -webkit-font-smoothing: antialiased;\n -moz-osx-font-smoothing: grayscale;\n}\n\n.icon, .add-workspace::before,\n.add-application::before,\n.workspace-tab-popup::before, .workspace-tab-popup .icon-angle-left, .add-workspace h5.btn::before, .add-workspace .workspace__icon, .add-application button.btn:before {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.icon i:before, .add-workspace::before i:before, .add-application::before i:before, .workspace-tab-popup::before i:before, .workspace-tab-popup .icon-angle-left i:before, .add-workspace h5.btn::before i:before, .add-workspace .workspace__icon i:before, .add-application button.btn:before i:before {\n font-family: \"io-icons\";\n}\n\n.icon-box-8 {\n width: var(--spacing-8);\n height: var(--spacing-8);\n}\n\n.icon-box-12 {\n width: var(--spacing-12);\n height: var(--spacing-12);\n}\n\n.icon-box-14 {\n width: calc(var(--spacing-16) - var(--spacing-2));\n height: calc(var(--spacing-16) - var(--spacing-2));\n}\n\n.icon-box-16 {\n width: var(--spacing-16);\n height: var(--spacing-16);\n}\n\n.icon-box-24 {\n width: var(--spacing-24);\n height: var(--spacing-24);\n}\n\n.icon-workspace:before, .add-workspace .workspace__icon:before {\n content: \"\\e900\";\n}\n\n.icon-unlock:before {\n content: \"\\e901\";\n}\n\n.icon-link:before, .link-icon:before {\n content: \"\\e902\";\n}\n\n.icon-trash-can:before {\n content: \"\\e903\";\n}\n\n.icon-system-minimize:before {\n content: \"\\e904\";\n}\n\n.icon-folder:before {\n content: \"\\e905\";\n}\n\n.icon-system-maximize:before {\n content: \"\\e906\";\n}\n\n.icon-ellipsis:before {\n content: \"\\e907\";\n}\n\n.icon-system-close:before {\n content: \"\\e908\";\n}\n\n.icon-star:before {\n content: \"\\e909\";\n}\n\n.icon-star-full:before {\n content: \"\\e90a\";\n}\n\n.icon-circle-xmark-full:before {\n content: \"\\e90b\";\n}\n\n.icon-sliders:before {\n content: \"\\e90c\";\n}\n\n.icon-add:before, .add-application button.btn:before {\n content: \"\\e90d\";\n}\n\n.icon-chevron-down:before {\n content: \"\\e90e\";\n}\n\n.icon-lock:before {\n content: \"\\e90f\";\n}\n\n.icon-application:before {\n content: \"\\e910\";\n}\n\n.icon-layout:before {\n content: \"\\e911\";\n}\n\n.icon-restore:before {\n content: \"\\e912\";\n}\n\n.icon-group:before {\n content: \"\\e913\";\n}\n\n.icon-floppy:before {\n content: \"\\e914\";\n}\n\n.icon-delete-left:before {\n content: \"\\e915\";\n}\n\n.icon-close:before {\n content: \"\\e916\";\n}\n\n.icon-circle-xmark:before {\n content: \"\\e917\";\n}\n\n.icon-chevron-up:before {\n content: \"\\e918\";\n}\n\n.icon-chevron-right:before {\n content: \"\\e919\";\n}\n\n.icon-chevron-left:before, .workspace-tab-popup .icon-angle-left:before {\n content: \"\\e91a\";\n}\n\n.icon-check:before {\n content: \"\\e91b\";\n}\n\n.icon-feedback:before {\n content: \"\\e91c\";\n}\n\n.icon-pop-out:before {\n content: \"\\e924\";\n}\n\n.icon-minimize:before {\n content: \"\\e928\";\n}\n\n.icon-resize:before {\n content: \"\\e92a\";\n}\n\n.icon-bell:before {\n content: \"\\e92e\";\n}\n\n.icon-user:before {\n content: \"\\e930\";\n}\n\n.icon-sticky-off:before {\n content: \"\\e932\";\n}\n\n.icon-sticky-off-hover:before {\n content: \"\\e933\";\n}\n\n.icon-sticky-on:before {\n content: \"\\e93b\";\n}\n\n.icon-sticky-on-hover:before {\n content: \"\\e943\";\n}\n\n.icon-cog:before {\n content: \"\\e949\";\n}\n\n.icon-expand:before {\n content: \"\\e91d\";\n}\n\n.icon-collapse:before {\n content: \"\\e91e\";\n}\n\n.g42-list-item, .list-group-item, .add-workspace h5.btn, .add-application button.btn, .save-workspace h5 {\n position: relative;\n display: flex;\n align-items: center;\n padding: var(--spacing-4) 0;\n color: Hsl(var(--g42-label-primary));\n font-size: var(--g42-font-size);\n line-height: var(--spacing-16);\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background-color;\n}\n\n.g42-list-item:hover, .list-group-item:hover, .add-workspace h5.btn:hover, .add-application button.btn:hover, .save-workspace h5:hover {\n background-color: Hsl(var(--g42-bg-03));\n}\n\n.g42-list-item:focus, .list-group-item:focus, .add-workspace h5.btn:focus, .add-application button.btn:focus, .save-workspace h5:focus, .g42-list-item:focus-visible, .list-group-item:focus-visible, .add-workspace h5.btn:focus-visible, .add-application button.btn:focus-visible, .save-workspace h5:focus-visible {\n outline: 1px dashed Hsl(var(--g42-label-tertiary));\n outline-offset: 0;\n}\n\n.g42-list-item.active, .active.list-group-item, .add-workspace h5.active.btn, .add-application button.active.btn, .save-workspace h5.active {\n background-color: Hsl(var(--g42-highlight-neutral));\n}\n\n.g42-list-item.active:hover, .active.list-group-item:hover, .add-workspace h5.active.btn:hover, .add-application button.active.btn:hover, .save-workspace h5.active:hover {\n background-color: Hsl(var(--g42-bg-03));\n}\n\n.g42-list-item.active .icon, .active.list-group-item .icon, .add-workspace h5.active.btn .icon, .add-application button.active.btn .icon, .save-workspace h5.active .icon, .g42-list-item.active .add-workspace::before, .active.list-group-item .add-workspace::before, .add-workspace h5.active.btn .add-workspace::before, .add-application button.active.btn .add-workspace::before, .save-workspace h5.active .add-workspace::before,\n.g42-list-item.active .add-application::before,\n.active.list-group-item .add-application::before,\n.add-workspace h5.active.btn .add-application::before,\n.add-application button.active.btn .add-application::before,\n.save-workspace h5.active .add-application::before,\n.g42-list-item.active .workspace-tab-popup::before,\n.active.list-group-item .workspace-tab-popup::before,\n.add-workspace h5.active.btn .workspace-tab-popup::before,\n.add-application button.active.btn .workspace-tab-popup::before,\n.save-workspace h5.active .workspace-tab-popup::before, .g42-list-item.active .workspace-tab-popup .icon-angle-left, .workspace-tab-popup .g42-list-item.active .icon-angle-left, .active.list-group-item .workspace-tab-popup .icon-angle-left, .workspace-tab-popup .active.list-group-item .icon-angle-left, .add-workspace h5.active.btn .workspace-tab-popup .icon-angle-left, .workspace-tab-popup .add-workspace h5.active.btn .icon-angle-left, .add-application button.active.btn .workspace-tab-popup .icon-angle-left, .workspace-tab-popup .add-application button.active.btn .icon-angle-left, .save-workspace h5.active .workspace-tab-popup .icon-angle-left, .workspace-tab-popup .save-workspace h5.active .icon-angle-left, .g42-list-item.active .add-workspace h5.btn::before, .add-workspace .g42-list-item.active h5.btn::before, .active.list-group-item .add-workspace h5.btn::before, .add-workspace .active.list-group-item h5.btn::before, .add-workspace h5.active.btn h5.btn::before, .add-application button.active.btn .add-workspace h5.btn::before, .add-workspace .add-application button.active.btn h5.btn::before, .save-workspace h5.active .add-workspace h5.btn::before, .add-workspace .save-workspace h5.active h5.btn::before, .g42-list-item.active .add-workspace .workspace__icon, .add-workspace .g42-list-item.active .workspace__icon, .active.list-group-item .add-workspace .workspace__icon, .add-workspace .active.list-group-item .workspace__icon, .add-workspace h5.active.btn .workspace__icon, .add-application button.active.btn .add-workspace .workspace__icon, .add-workspace .add-application button.active.btn .workspace__icon, .save-workspace h5.active .add-workspace .workspace__icon, .add-workspace .save-workspace h5.active .workspace__icon, .g42-list-item.active .add-application button.btn:before, .add-application .g42-list-item.active button.btn:before, .active.list-group-item .add-application button.btn:before, .add-application .active.list-group-item button.btn:before, .add-workspace h5.active.btn .add-application button.btn:before, .add-application .add-workspace h5.active.btn button.btn:before, .add-application button.active.btn button.btn:before, .save-workspace h5.active .add-application button.btn:before, .add-application .save-workspace h5.active button.btn:before {\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: opacity;\n}\n\n.g42-list-item.active .icon-clue::before, .active.list-group-item .icon-clue::before, .add-workspace h5.active.btn .icon-clue::before, .add-application button.active.btn .icon-clue::before, .save-workspace h5.active .icon-clue::before {\n background-color: transparent;\n}\n\n.g42-list-item.active .icon-check, .active.list-group-item .icon-check, .add-workspace h5.active.btn .icon-check, .add-application button.active.btn .icon-check, .save-workspace h5.active .icon-check {\n opacity: 1;\n}\n\n.g42-list-item .icon-check, .list-group-item .icon-check, .add-workspace h5.btn .icon-check, .add-application button.btn .icon-check, .save-workspace h5 .icon-check {\n font-size: var(--spacing-8);\n opacity: 0;\n}\n\n.g42-list-item .title, .list-group-item .title, .add-workspace h5.btn .title, .add-application button.btn .title, .save-workspace h5 .title {\n flex-grow: 1;\n margin-left: var(--spacing-4);\n font-size: var(--g42-font-size);\n line-height: var(--spacing-16);\n}\n\n.g42-list-item .description, .list-group-item .description, .add-workspace h5.btn .description, .add-application button.btn .description, .save-workspace h5 .description {\n margin-top: calc(var(--spacing-4) * -1);\n margin-left: var(--spacing-4);\n padding-bottom: var(--spacing-6);\n padding-left: var(--spacing-24);\n color: Hsl(var(---g42-label-secondary));\n font-size: var(--g42-font-size);\n}\n\n.g42-list-header, .workspace-tab-popup h5, .add-workspace h3, .add-application .col h5,\n.add-application label {\n display: flex;\n padding: var(--spacing-8) 0 var(--spacing-2) var(--spacing-8);\n color: Hsl(var(--g42-label-secondary));\n font-size: var(--g42-font-size);\n}\n\n.g42-list-row {\n display: flex;\n flex-grow: 1;\n align-items: center;\n}\n\n.g42-context-menu {\n z-index: 100;\n border: var(--spacing-1) solid Hsl(var(--g42-border-secondary));\n border-radius: var(--border-radius-4);\n overflow: hidden;\n background-color: Hsl(var(--g42-bg-primary));\n box-shadow: var(--g42-overlay-shadow);\n}\n\n.g42-context-menu .g42-list-item, .g42-context-menu .list-group-item, .g42-context-menu .add-workspace h5.btn, .add-workspace .g42-context-menu h5.btn, .g42-context-menu .add-application button.btn, .add-application .g42-context-menu button.btn, .g42-context-menu .save-workspace h5, .save-workspace .g42-context-menu h5 {\n padding-right: var(--spacing-12);\n padding-left: var(--spacing-12);\n cursor: default;\n}\n\n.g42-context-menu .g42-list-item.disabled, .g42-context-menu .disabled.list-group-item, .g42-context-menu .add-workspace h5.disabled.btn, .add-workspace .g42-context-menu h5.disabled.btn, .g42-context-menu .add-application button.disabled.btn, .add-application .g42-context-menu button.disabled.btn, .g42-context-menu .save-workspace h5.disabled, .save-workspace .g42-context-menu h5.disabled {\n color: Hsl(var(--g42-label-tertiary));\n pointer-events: none;\n}\n\ndiv.g42-list-item, div.list-group-item {\n flex-direction: column;\n padding: var(--spacing-1) var(--spacing-12);\n}\n\nbutton.g42-list-item, button.list-group-item, .add-application button.btn {\n width: 100%;\n border: 0;\n background-color: transparent;\n}\n\n.level {\n padding-left: var(--spacing-12);\n}\n\n.level .g42-list-item, .level .list-group-item, .level .add-workspace h5.btn, .add-workspace .level h5.btn, .level .add-application button.btn, .add-application .level button.btn, .level .save-workspace h5, .save-workspace .level h5 {\n margin-left: calc(var(--spacing-12) * -1);\n padding-left: var(--spacing-8);\n}\n\n.level .g42-list-header, .level .workspace-tab-popup h5, .workspace-tab-popup .level h5, .level .add-workspace h3, .add-workspace .level h3, .level .add-application .col h5, .add-application .col .level h5,\n.level .add-application label, .add-application .level label {\n padding-left: 0;\n}\n\n.loader-wrapper {\n display: flex;\n flex-direction: column;\n gap: 1rem;\n align-items: center;\n justify-content: center;\n flex-grow: 1;\n}\n\n.loader-wrapper .loader {\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n background: radial-gradient(farthest-side, #999d9e 94%, rgba(0, 0, 0, 0)) center top/4px 4px no-repeat, conic-gradient(rgba(0, 0, 0, 0) 15%, #999d9e);\n -webkit-mask: radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 4px), #000 0);\n}\n\n.loader-wrapper.active .loader, .loader-wrapper .loader.active {\n animation: s3 1.5s infinite linear;\n}\n\n.loader-wrapper .loader-text {\n margin: 0 auto;\n padding: 0 0.833rem;\n overflow: hidden;\n color: var(--t42-content-color-muted);\n text-align: center;\n text-overflow: ellipsis;\n}\n\n@keyframes s3 {\n to {\n transform: rotate(1turn);\n }\n}\n\nh1, h2, h3, h4, h5, h6 {\n font-weight: normal;\n line-height: 1;\n}\n\np {\n line-height: var(--spacing-16);\n}\n\n.pt-1 {\n padding-top: var(--spacing-1);\n}\n\n.pt-2 {\n padding-top: var(--spacing-2);\n}\n\n.pt-4 {\n padding-top: var(--spacing-4);\n}\n\n.pt-6 {\n padding-top: var(--spacing-6);\n}\n\n.pt-8 {\n padding-top: var(--spacing-8);\n}\n\n.pt-12 {\n padding-top: var(--spacing-12);\n}\n\n.pt-16 {\n padding-top: var(--spacing-16);\n}\n\n.pt-24 {\n padding-top: var(--spacing-24);\n}\n\n.pt-32 {\n padding-top: var(--spacing-32);\n}\n\n.pt-40 {\n padding-top: var(--spacing-40);\n}\n\n.pe-1 {\n padding-right: var(--spacing-1);\n}\n\n.pe-2 {\n padding-right: var(--spacing-2);\n}\n\n.pe-4 {\n padding-right: var(--spacing-4);\n}\n\n.pe-6 {\n padding-right: var(--spacing-6);\n}\n\n.pe-8 {\n padding-right: var(--spacing-8);\n}\n\n.pe-12 {\n padding-right: var(--spacing-12);\n}\n\n.pe-16 {\n padding-right: var(--spacing-16);\n}\n\n.pe-24 {\n padding-right: var(--spacing-24);\n}\n\n.pe-32 {\n padding-right: var(--spacing-32);\n}\n\n.pe-40 {\n padding-right: var(--spacing-40);\n}\n\n.pb-1 {\n padding-bottom: var(--spacing-1);\n}\n\n.pb-2 {\n padding-bottom: var(--spacing-2);\n}\n\n.pb-4 {\n padding-bottom: var(--spacing-4);\n}\n\n.pb-6 {\n padding-bottom: var(--spacing-6);\n}\n\n.pb-8 {\n padding-bottom: var(--spacing-8);\n}\n\n.pb-12 {\n padding-bottom: var(--spacing-12);\n}\n\n.pb-16 {\n padding-bottom: var(--spacing-16);\n}\n\n.pb-24 {\n padding-bottom: var(--spacing-24);\n}\n\n.pb-32 {\n padding-bottom: var(--spacing-32);\n}\n\n.pb-40 {\n padding-bottom: var(--spacing-40);\n}\n\n.ps-1 {\n padding-left: var(--spacing-1);\n}\n\n.ps-2 {\n padding-left: var(--spacing-2);\n}\n\n.ps-4 {\n padding-left: var(--spacing-4);\n}\n\n.ps-6 {\n padding-left: var(--spacing-6);\n}\n\n.ps-8 {\n padding-left: var(--spacing-8);\n}\n\n.ps-12 {\n padding-left: var(--spacing-12);\n}\n\n.ps-16 {\n padding-left: var(--spacing-16);\n}\n\n.ps-24 {\n padding-left: var(--spacing-24);\n}\n\n.ps-32 {\n padding-left: var(--spacing-32);\n}\n\n.ps-40 {\n padding-left: var(--spacing-40);\n}\n\n.mt-1 {\n margin-top: var(--spacing-1);\n}\n\n.mt-2 {\n margin-top: var(--spacing-2);\n}\n\n.mt-4 {\n margin-top: var(--spacing-4);\n}\n\n.mt-6 {\n margin-top: var(--spacing-6);\n}\n\n.mt-8 {\n margin-top: var(--spacing-8);\n}\n\n.mt-12 {\n margin-top: var(--spacing-12);\n}\n\n.mt-16 {\n margin-top: var(--spacing-16);\n}\n\n.mt-24 {\n margin-top: var(--spacing-24);\n}\n\n.mt-32 {\n margin-top: var(--spacing-32);\n}\n\n.mt-40 {\n margin-top: var(--spacing-40);\n}\n\n.me-1 {\n margin-right: var(--spacing-1);\n}\n\n.me-2 {\n margin-right: var(--spacing-2);\n}\n\n.me-4 {\n margin-right: var(--spacing-4);\n}\n\n.me-6 {\n margin-right: var(--spacing-6);\n}\n\n.me-8 {\n margin-right: var(--spacing-8);\n}\n\n.me-12 {\n margin-right: var(--spacing-12);\n}\n\n.me-16 {\n margin-right: var(--spacing-16);\n}\n\n.me-24 {\n margin-right: var(--spacing-24);\n}\n\n.me-32 {\n margin-right: var(--spacing-32);\n}\n\n.me-40 {\n margin-right: var(--spacing-40);\n}\n\n.mb-1 {\n margin-bottom: var(--spacing-1);\n}\n\n.mb-2 {\n margin-bottom: var(--spacing-2);\n}\n\n.mb-4 {\n margin-bottom: var(--spacing-4);\n}\n\n.mb-6 {\n margin-bottom: var(--spacing-6);\n}\n\n.mb-8 {\n margin-bottom: var(--spacing-8);\n}\n\n.mb-12 {\n margin-bottom: var(--spacing-12);\n}\n\n.mb-16 {\n margin-bottom: var(--spacing-16);\n}\n\n.mb-24 {\n margin-bottom: var(--spacing-24);\n}\n\n.mb-32 {\n margin-bottom: var(--spacing-32);\n}\n\n.mb-40 {\n margin-bottom: var(--spacing-40);\n}\n\n.ms-1 {\n margin-left: var(--spacing-1);\n}\n\n.ms-2 {\n margin-left: var(--spacing-2);\n}\n\n.ms-4 {\n margin-left: var(--spacing-4);\n}\n\n.ms-6 {\n margin-left: var(--spacing-6);\n}\n\n.ms-8 {\n margin-left: var(--spacing-8);\n}\n\n.ms-12 {\n margin-left: var(--spacing-12);\n}\n\n.ms-16 {\n margin-left: var(--spacing-16);\n}\n\n.ms-24 {\n margin-left: var(--spacing-24);\n}\n\n.ms-32 {\n margin-left: var(--spacing-32);\n}\n\n.ms-40 {\n margin-left: var(--spacing-40);\n}\n\n.ms-auto {\n margin-left: auto;\n}\n\n.me-auto {\n margin-right: auto;\n}\n\n.opacity-1 {\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: opacity;\n opacity: 1;\n}\n\n.opacity-0 {\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: opacity;\n opacity: 0;\n}\n\n.flex, .form-check, .save-workspace {\n display: flex;\n}\n\n.flex-column, .save-workspace {\n flex-direction: column;\n}\n\n.flex-grow {\n flex-grow: 1;\n}\n\n.flex-shrink {\n flex-shrink: 1;\n}\n\n.ai-center, .form-check {\n align-items: center;\n}\n\n.jc-center {\n justify-content: center;\n}\n\n.jc-between {\n justify-content: space-between;\n}\n\n.jc-around {\n justify-content: space-around;\n}\n\n.jc-evenly {\n justify-content: space-evenly;\n}\n\n.jc-stretch {\n justify-content: stretch;\n}\n\n.dark {\n --g42-active-subtab: var(--g42-bg-02);\n}\n\n.light {\n --g42-active-subtab: var(--g42-white);\n}\n\n.add-workspace::before,\n.add-application::before,\n.workspace-tab-popup::before, .workspace-tab-popup .icon-angle-left, .add-workspace h5.btn::before, .add-workspace .workspace__icon, .add-application button.btn:before, .add-button::before, .link-icon {\n font-family: \"io-icons\";\n font-size: var(--spacing-14);\n height: var(--spacing-16);\n width: var(--spacing-16);\n margin-right: var(--spacing-4);\n}\n\n#root {\n border: var(--spacing-1) solid Hsl(var(--g42-bg-04));\n display: flex;\n width: 100vw;\n height: 100vh;\n flex: 1;\n max-width: -webkit-fill-available;\n max-height: -webkit-fill-available;\n}\n\nbody {\n height: 100vh;\n width: 100vw;\n display: flex;\n}\n\n.form-check-input {\n margin-right: var(--spacing-4);\n}\n\n.form-check {\n line-height: var(--spacing-16);\n}\n\n.switch {\n padding: var(--spacing-4) 0 var(--spacing-4) calc(var(--spacing-32) + var(--spacing-8));\n}\n\n.switch .slider {\n left: var(--spacing-16);\n}\n\n.mb-2:has(.switch) {\n background-color: Hsl(var(--g42-bg-02));\n border-bottom: var(--spacing-1) solid Hsl(var(--g42-border-primary));\n padding-top: var(--spacing-4);\n padding-bottom: var(--spacing-4);\n}\n\n.lm_root {\n position: relative;\n}\n\n.lm_row {\n display: flex;\n background-color: Hsl(var(--g42-bkd-00));\n}\n\n.lm_content {\n position: relative;\n}\n\n.lm_dragging,\n.lm_dragging * {\n cursor: move;\n user-select: none;\n}\n\n.lm_tab, .lm_tabs, .lm_controls, .lm_header {\n display: flex;\n align-items: center;\n}\n\n.lm_header > * {\n flex-shrink: 0;\n}\n\n.lm_controls {\n margin-top: calc(var(--spacing-8) * -1);\n}\n\n.lm_controls li {\n color: Hsl(var(--g42-label-secondary));\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background-color, color;\n}\n\n.lm_controls li:hover {\n color: Hsl(var(--g42-label-primary));\n background-color: Hsl(var(--g42-bg-02));\n}\n\n.lm_controls li.lm_close::before {\n content: \"\\e908\";\n}\n\n.lm_controls li.lm_close:hover {\n color: Hsl(var(--g42-white));\n background-color: Hsl(var(--g42-red));\n}\n\n.lm_controls:has(.workspace_content) {\n margin-top: calc(var(--spacing-2) * -1);\n}\n\n.lm_controls:has(.workspace_content) li:hover {\n background-color: Hsl(var(--g42-bg-00));\n}\n\n.lm_controls:has(.workspace_content) li.lm_add_button:hover {\n background-color: Hsl(var(--g42-bg-03));\n}\n\n.lm_controls:has(.workspace_content) .lm_maximise::before {\n width: var(--spacing-24);\n height: var(--spacing-24);\n content: \"\\e92a\";\n}\n\n.lm_tabs {\n flex-shrink: 1;\n min-width: 0;\n}\n\n.lm_tab {\n position: relative;\n width: 180px;\n min-width: 0;\n height: 26px;\n margin-right: calc(var(--spacing-2) + 1px);\n padding: 0 var(--spacing-12);\n border-radius: var(--border-radius-4);\n color: Hsl(var(--g42-label-secondary));\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background-color, color,box-shadow;\n}\n\n.lm_tab:hover {\n color: Hsl(var(--g42-label-primary));\n background-color: Hsl(var(--g42-bg-03));\n}\n\n.lm_tab::before {\n position: absolute;\n left: calc(var(--spacing-2) * -1);\n width: 1px;\n height: var(--spacing-12);\n background-color: Hsl(var(--g42-border-primary));\n content: \"\";\n}\n\n.lm_tab:first-of-type::before {\n background-color: transparent;\n}\n\n.lm_tab:last-of-type::after {\n position: relative;\n right: calc(var(--spacing-14) * -1);\n width: 1px;\n height: var(--spacing-12);\n background-color: Hsl(var(--g42-bg-03));\n content: \"\";\n}\n\n.lm_tab .icon-lock::before {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n font-size: 10px;\n font-family: \"io-icons\";\n content: \"\";\n content: \"\\e90f\";\n}\n\n.lm_title {\n position: relative;\n width: 100%;\n overflow: hidden;\n line-height: var(--spacing-16);\n white-space: nowrap;\n cursor: default;\n -webkit-mask-image: linear-gradient(to right, Hsla(var(--g42-bg-00), 1) 0%, Hsla(var(--g42-bg-00), 1) 85%, Hsla(var(--g42-bg-00), 0) 95%, Hsla(var(--g42-bg-00), 0) 100%);\n}\n\n.lm_active {\n border-top-left-radius: var(--border-radius-6);\n border-top-right-radius: var(--border-radius-6);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n background-color: Hsl(var(--g42-bg-04));\n height: var(--spacing-32);\n}\n\n.lm_active:hover {\n height: var(--spacing-32);\n background-color: Hsl(var(--g42-bg-04));\n}\n\n.lm_active::before,\n.lm_active + .lm_tab::before, .lm_active:last-of-type::after {\n background-color: transparent;\n}\n\n.lm_active .lm_title,\n.lm_active .icon-ellipsis-vert {\n color: Hsl(var(--g42-label-primary));\n}\n\n.lm_active .lm_left,\n.lm_active .lm_right {\n position: absolute;\n bottom: 0;\n z-index: 1;\n width: var(--spacing-8);\n height: var(--spacing-8);\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: box-shadow;\n transition-duration: 80ms;\n}\n\n.lm_active .lm_left {\n left: -8px;\n border-bottom-right-radius: var(--border-radius-6);\n box-shadow: 1px 2px 0 1px Hsl(var(--g42-bg-04));\n opacity: 0;\n}\n\n.lm_active .lm_right {\n right: -8px;\n border-bottom-left-radius: var(--border-radius-6);\n box-shadow: -2px 2px 0 1px Hsl(var(--g42-bg-04));\n opacity: 0;\n}\n\n.lm_active .lm_close_tab {\n opacity: 1;\n}\n\n.lm_tabdropdown::before, .lm_minimise::before, .lm_maximise::before, .lm_close::before {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-32);\n height: var(--spacing-32);\n font-size: 16px;\n font-family: \"io-icons\";\n content: \"\";\n width: var(--spacing-40);\n}\n\n.lm_maximise::before {\n content: \"\\e906\";\n}\n\n.lm_minimise::before {\n content: \"\\e904\";\n}\n\n.lm_restore::before {\n content: \"\\e912\";\n}\n\n.lm_popout {\n margin-left: auto;\n}\n\n.lm_popout::before {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-24);\n height: var(--spacing-24);\n font-size: 16px;\n font-family: \"io-icons\";\n content: \"\";\n content: \"\\e924\";\n}\n\n.lm_pinned {\n width: auto;\n height: 25px;\n margin-right: var(--spacing-6);\n padding: 0 var(--spacing-8);\n background-color: Hsl(var(--g42-bg-02));\n border-radius: var(--border-radius-6);\n}\n\n.lm_pinned:hover, .lm_pinned.lm_active {\n height: 25px;\n background-color: Hsl(var(--g42-bg-04));\n}\n\n.lm_pinned::after {\n content: none;\n}\n\n.lm_pinned .icon-ellipsis-vert {\n display: none;\n}\n\n.lm_pinned .lm_close_tab {\n width: 0;\n visibility: hidden;\n}\n\n.lm_splitter {\n position: relative;\n z-index: 20;\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background;\n background-color: Hsl(var(--g42-bg-01));\n}\n\n.lm_splitter:hover {\n background-color: Hsl(var(--g42-highlight-Interactive));\n}\n\n.lm_splitter.lm_dragging {\n background-color: Hsl(var(--g42-interactive-primary));\n}\n\n.lm_splitter.lm_vertical .lm_drag_handle {\n position: absolute;\n width: 100%;\n cursor: ns-resize;\n}\n\n.lm_splitter.lm_horizontal {\n float: left;\n height: 100%;\n}\n\n.lm_splitter.lm_horizontal .lm_drag_handle {\n position: absolute;\n height: 100%;\n cursor: ew-resize;\n}\n\n.lm_dropTargetIndicator {\n position: absolute;\n overflow: hidden;\n background-color: Hsl(var(--g42-interactive-primary));\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: all;\n opacity: 0.35;\n z-index: 20;\n}\n\n.lm_drop_tab_placeholder {\n width: calc(var(--spacing-16) * 7);\n border-top-right-radius: var(--border-radius-4);\n border-top-left-radius: var(--border-radius-4);\n}\n\n.lm_inner {\n min-width: var(--spacing-16);\n width: 100%;\n height: 100%;\n position: relative;\n top: 0;\n left: 0;\n}\n\n.lm_dragProxy {\n position: absolute;\n z-index: 30;\n cursor: move;\n}\n\n.lm_header:where(.header_double) {\n font-size: calc(var(--g42-font-size) + var(--spacing-1));\n height: 40px;\n padding-top: var(--spacing-4);\n padding-left: var(--spacing-4);\n border-bottom: var(--spacing-4) solid Hsl(var(--g42-bg-04));\n background-color: Hsl(var(--g42-bg-01));\n background-image: linear-gradient(0deg, Hsla(var(--g42-bg-00), 1) 0%, Hsla(var(--g42-bg-00), 0) 55%);\n}\n\n.lm_header:where(.header_double) .lm_active:not(.lm_pinned) .lm_left,\n.lm_header:where(.header_double) .lm_active:not(.lm_pinned) .lm_right {\n opacity: 1;\n}\n\n.lm_header:not(.header_double) {\n height: 26px;\n padding-top: var(--spacing-2);\n padding-left: var(--spacing-4);\n background-color: Hsl(var(--g42-bg-01));\n}\n\n.lm_header:not(.header_double) .lm_tab {\n width: auto;\n height: var(--spacing-24);\n max-width: 150px;\n padding: 0 var(--spacing-8);\n}\n\n.lm_header:not(.header_double) .lm_tab .lm_title {\n padding-right: var(--spacing-12);\n}\n\n.lm_header:not(.header_double) .lm_tab:hover {\n background-color: Hsl(var(--g42-bg-01));\n}\n\n.lm_header:not(.header_double) .lm_active {\n background-color: Hsl(var(--g42-active-subtab));\n}\n\n.lm_header:not(.header_double) .lm_active .lm_left,\n.lm_header:not(.header_double) .lm_active .lm_right {\n display: none;\n}\n\n.lm_header:not(.header_double) .lm_active:hover {\n background-color: Hsl(var(--g42-active-subtab));\n}\n\n.lm_header:not(.header_double) .lm_controls {\n margin-top: calc(var(--spacing-2) * -1);\n}\n\n.lm_header:not(.header_double) .lm_controls li:not(.lm_add_button) {\n border-radius: var(--spacing-2);\n color: Hsl(var(--g42-label-secondary));\n}\n\n.lm_header:not(.header_double) .lm_tabdropdown, .lm_header:not(.header_double) .lm_minimise, .lm_header:not(.header_double) .lm_maximise, .lm_header:not(.header_double) .lm_close, .lm_header:not(.header_double) .lm_popout {\n margin-right: var(--spacing-2);\n}\n\n.lm_header:not(.header_double) .lm_tabdropdown::before, .lm_header:not(.header_double) .lm_minimise::before, .lm_header:not(.header_double) .lm_maximise::before, .lm_header:not(.header_double) .lm_close::before, .lm_header:not(.header_double) .lm_popout::before {\n width: calc(var(--spacing-24) - var(--spacing-4));\n height: calc(var(--spacing-24) - var(--spacing-4));\n}\n\n.lm_header:not(.header_double) .lm_restore::before {\n content: \"\\e928\";\n}\n\n.lm_close_tab,\n.lm_add_button {\n margin-left: auto;\n border-radius: 50%;\n color: Hsl(var(--g42-label-secondary));\n transition-timing-function: cubic-bezier(0.45, 0, 0.15, 1);\n transition-duration: 240ms;\n transition-property: background-color, color;\n}\n\n.lm_close_tab::before,\n.lm_add_button::before {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n font-size: 14px;\n font-family: \"io-icons\";\n content: \"\";\n content: \"\\e916\";\n}\n\n.lm_close_tab:hover, .lm_close_tab.active,\n.lm_add_button:hover,\n.lm_add_button.active {\n color: Hsl(var(--g42-label-primary));\n background-color: Hsl(var(--g42-bg-02));\n opacity: 1;\n}\n\n.lm_close_tab {\n opacity: 0.6;\n}\n\n.lm_add_button {\n display: flex;\n align-items: center;\n justify-content: center;\n height: calc(var(--spacing-24) - var(--spacing-4));\n width: calc(var(--spacing-24) - var(--spacing-4));\n margin-left: var(--spacing-4);\n}\n\n.lm_add_button::before {\n content: \"\\e90d\";\n}\n\n.logo_type {\n display: block;\n width: var(--spacing-16);\n height: var(--spacing-24);\n margin-right: var(--spacing-8);\n margin-left: var(--spacing-8);\n background-image: var(--g42-logo-icon);\n background-repeat: no-repeat;\n background-position: center;\n}\n\n.tab-item-v2 {\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n min-width: 0;\n}\n\n.icon-ellipsis-vert {\n margin-right: var(--spacing-4);\n}\n\n.icon-ellipsis-vert::before {\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n font-size: var(--spacing-16);\n font-family: \"io-icons\";\n content: \"\\e900\";\n}\n\n.move_area {\n flex-grow: 1;\n flex-shrink: 1;\n min-width: var(--spacing-12);\n height: 100%;\n}\n\n.workspaces-system-popup,\n.popup {\n position: fixed;\n z-index: 100;\n width: auto;\n height: auto;\n background-color: Hsl(var(--g42-bg-00));\n visibility: hidden;\n user-select: none;\n}\n\n.renderer-mode-transparent .lm_row {\n background-color: transparent;\n}\n\n.renderer-mode-keycolor .lm_dropTargetIndicator {\n opacity: 1;\n}\n\n.renderer-mode-keycolor .add-workspace,\n.renderer-mode-keycolor .add-application,\n.renderer-mode-keycolor .workspace-tab-popup {\n box-shadow: none;\n border-radius: 0;\n}\n\n.loading-animation {\n background-color: Hsl(var(--g42-bg-00));\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n}\n\n.loading-animation .wrapper {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-8);\n}\n\n.loading-animation .text {\n color: Hsl(var(--g42-label-primary));\n font-family: calc(--g42-font-family);\n font-size: 13px;\n font-weight: normal;\n text-transform: none;\n}\n\n.loading-animation .inner {\n display: none;\n}\n\n.loading-animation .mid {\n width: 2rem;\n height: 2rem;\n border-radius: 50%;\n background: radial-gradient(farthest-side, #999d9e 94%, rgba(0, 0, 0, 0)) center top/4px 4px no-repeat, conic-gradient(rgba(0, 0, 0, 0) 15%, #999d9e);\n -webkit-mask: radial-gradient(farthest-side, rgba(0, 0, 0, 0) calc(100% - 4px), #000 0px);\n position: static;\n margin: 0;\n animation: s3 1.5s infinite linear;\n}\n\n.loading-animation .mid .ball {\n display: none;\n}\n\n@keyframes s3 {\n to {\n transform: rotate(1turn);\n }\n}\n\n.add-workspace,\n.add-application,\n.workspace-tab-popup {\n background-color: Hsl(var(--g42-bg-primary));\n box-shadow: var(--spacing-2) var(--spacing-2) var(--spacing-4) Hsl(var(--g42-bg-01));\n border: var(--spacing-1) solid Hsl(var(--g42-border-primary));\n position: relative;\n display: flex;\n flex-direction: column;\n border-radius: var(--spacing-8);\n overflow: hidden;\n}\n\n.add-workspace::after,\n.add-application::after,\n.workspace-tab-popup::after {\n position: absolute;\n content: \"\";\n background-color: Hsl(var(--g42-border-secondary));\n height: calc(var(--spacing-16) + var(--spacing-4));\n width: calc(var(--spacing-16) + var(--spacing-4));\n display: block;\n left: calc(var(--spacing-1) * -1);\n top: calc((var(--spacing-16) + var(--spacing-4)) * -1);\n border-top-left-radius: var(--spacing-8);\n border-top-right-radius: var(--spacing-8);\n}\n\n.add-workspace::before,\n.add-application::before,\n.workspace-tab-popup::before {\n position: absolute;\n left: var(--spacing-1);\n top: calc(var(--spacing-16) * -1);\n z-index: 1;\n}\n\n.add-workspace .mb-2,\n.add-application .mb-2,\n.workspace-tab-popup .mb-2 {\n margin-bottom: 0;\n}\n\n.add-workspace .list-group-item h5,\n.add-application .list-group-item h5,\n.workspace-tab-popup .list-group-item h5 {\n font-size: var(--g42-font-size);\n line-height: var(--spacing-16);\n}\n\n.add-workspace .list-group-item .close-icon,\n.add-application .list-group-item .close-icon,\n.workspace-tab-popup .list-group-item .close-icon {\n font-family: \"io-icons\";\n font-size: var(--spacing-14);\n position: relative;\n display: flex;\n align-items: center;\n justify-content: center;\n width: var(--spacing-16);\n height: var(--spacing-16);\n margin-left: auto;\n border-radius: 50%;\n}\n\n.add-workspace .list-group-item .close-icon::before,\n.add-application .list-group-item .close-icon::before,\n.workspace-tab-popup .list-group-item .close-icon::before {\n position: relative;\n top: var(--spacing-1);\n color: Hsl(var(--g42-label-secondary));\n content: \"\\e916\";\n}\n\n.add-workspace .list-group-item .close-icon:hover,\n.add-application .list-group-item .close-icon:hover,\n.workspace-tab-popup .list-group-item .close-icon:hover {\n background-color: Hsl(var(--g42-bg-02));\n}\n\n.add-workspace .list-group-item .close-icon:hover::before,\n.add-application .list-group-item .close-icon:hover::before,\n.workspace-tab-popup .list-group-item .close-icon:hover::before {\n color: Hsl(var(--g42-label-secondary));\n}\n\n.add-workspace .list-group-item:hover,\n.add-application .list-group-item:hover,\n.workspace-tab-popup .list-group-item:hover {\n color: Hsl(var(--g42-label-primary));\n text-decoration: none;\n}\n\n.workspace-tab-popup .list-group-item {\n padding-left: var(--spacing-16);\n padding-right: var(--spacing-16);\n}\n\n.workspace-tab-popup .list-group-item i {\n order: 2;\n margin-left: auto;\n}\n\n.workspace-tab-popup .list-group-item i.icon-floppy::before, .workspace-tab-popup .list-group-item i.icon-lock::before, .workspace-tab-popup .list-group-item i.icon-cancel::before {\n content: \"\";\n}\n\n.workspace-tab-popup button.btn-icon {\n background-color: transparent;\n position: absolute;\n border: 0;\n color: Hsl(var(--g42-label-primary));\n padding: 0;\n margin-top: var(--spacing-8);\n right: var(--spacing-12);\n z-index: 1;\n}\n\n.workspace-tab-popup h5 + hr {\n display: none;\n}\n\n.workspaces-system-popup {\n margin-top: calc(var(--spacing-24) - var(--spacing-2));\n background-color: transparent;\n}\n\n.add-workspace .row:nth-child(1) {\n display: none;\n}\n\n.add-workspace .row:nth-child(2) {\n order: 2;\n}\n\n.add-workspace .row:nth-child(3) {\n order: 1;\n}\n\n.add-workspace h3 {\n line-height: var(--spacing-16);\n padding-bottom: var(--spacing-4);\n}\n\n.add-workspace h5.btn {\n color: Hsl(var(--g42-label-secondary));\n padding-left: var(--spacing-16);\n border-top: var(--spacing-1) solid Hsl(var(--g42-border-secondary));\n}\n\n.add-workspace .workspace {\n display: flex;\n align-items: center;\n padding: 0 var(--spacing-16);\n flex-grow: 1;\n}\n\n.add-application .row:nth-child(1) {\n order: 1;\n}\n\n.add-application .row:nth-child(2) {\n order: 4;\n}\n\n.add-application .row:nth-child(3) {\n order: 2;\n}\n\n.add-application .row:nth-child(3) .col {\n padding: var(--spacing-4) var(--spacing-12);\n}\n\n.add-application .row:nth-child(4) {\n order: 3;\n}\n\n.add-application .col h5,\n.add-application label {\n line-height: var(--spacing-16);\n padding-bottom: var(--spacing-6);\n}\n\n.add-application .btn-group {\n display: flex;\n}\n\n.add-application .applications {\n overflow: auto;\n max-height: 200px;\n}\n\n.add-application .applications .list-group-item {\n padding-left: var(--spacing-16);\n}\n\n.add-application .input-group input {\n width: 100%;\n}\n\n.save-workspace .row:nth-child(1) .col h5 {\n padding-bottom: var(--spacing-8);\n}\n\n.save-workspace .row:nth-child(2) {\n padding: var(--spacing-4) var(--spacing-16);\n padding-top: var(--spacing-16);\n}\n\n.save-workspace .row:nth-child(3) {\n order: 4;\n padding: 0 var(--spacing-16);\n}\n\n.save-workspace .row:nth-child(3) .col:nth-child(2) {\n padding: var(--spacing-8) 0 var(--spacing-16);\n}\n\n.save-workspace .row:nth-child(4) {\n padding: 0 var(--spacing-16);\n order: 3;\n}\n\n.save-workspace .invalid-feedback {\n line-height: var(--spacing-16);\n padding-bottom: 0;\n}\n\n.save-workspace .form-control {\n width: 100%;\n}\n\n.save-workspace h5 {\n padding-left: var(--spacing-16);\n background-color: Hsl(var(--g42-bg-02));\n border-bottom: var(--spacing-1) solid Hsl(var(--g42-border-primary));\n}\n\n.save-workspace .form-check {\n padding: var(--spacing-4) 0;\n}\n\n.empty-container-background {\n background-color: Hsl(var(--g42-app-content-bg));\n display: flex;\n align-items: center;\n justify-content: center;\n height: 100%;\n}\n\n.add-button {\n background-color: transparent;\n border: 0;\n color: Hsl(var(--g42-label-secondary));\n width: var(--spacing-16);\n height: var(--spacing-16);\n padding: 0;\n}\n\n.add-button::before {\n display: flex;\n align-items: center;\n justify-content: center;\n content: \"\\e90d\";\n}\n\n.icon-cancel::before {\n content: \"\\e916\";\n}\n\n.lock-options-list {\n width: 200px;\n}\n\n.channels-link {\n margin-right: var(--spacing-4);\n color: Hsl(var(--g42-label-primary));\n border-radius: var(--border-radius-4);\n overflow: hidden;\n flex-shrink: 0;\n}\n\n.link-icon {\n margin-right: 0;\n font-size: var(--spacing-16);\n}\n\n@media only screen and (-webkit-min-device-pixel-ratio: 1.25) {\n #root {\n border-right-width: 2px !important;\n border-bottom-width: 2px !important;\n height: 100%;\n width: 100%;\n }\n}\n"],"names":[],"sourceRoot":""} \ No newline at end of file diff --git a/angular/start/workspace/static/js/377.541f86b8.chunk.js b/angular/start/workspace/static/js/377.541f86b8.chunk.js new file mode 100644 index 0000000..c713b7d --- /dev/null +++ b/angular/start/workspace/static/js/377.541f86b8.chunk.js @@ -0,0 +1,220 @@ +"use strict"; +(self.webpackChunkdev_workspaces_frame = self.webpackChunkdev_workspaces_frame || []).push([ + [377], + { + 377: function (t, e, n) { + (n.r(e), + n.d(e, { + getCLS: function () { + return m; + }, + getFCP: function () { + return g; + }, + getFID: function () { + return h; + }, + getLCP: function () { + return y; + }, + getTTFB: function () { + return F; + } + })); + var i, + a, + r = function () { + return "" + .concat(Date.now(), "-") + .concat(Math.floor(8999999999999 * Math.random()) + 1e12); + }, + o = function (t) { + return { + name: t, + value: arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : -1, + delta: 0, + entries: [], + id: r(), + isFinal: !1 + }; + }, + u = function (t, e) { + try { + if (PerformanceObserver.supportedEntryTypes.includes(t)) { + var n = new PerformanceObserver(function (t) { + return t.getEntries().map(e); + }); + return (n.observe({ type: t, buffered: !0 }), n); + } + } catch (t) {} + }, + s = !1, + c = !1, + f = function (t) { + s = !t.persisted; + }, + p = function () { + (addEventListener("pagehide", f), + addEventListener("beforeunload", function () {})); + }, + d = function (t) { + var e = arguments.length > 1 && void 0 !== arguments[1] && arguments[1]; + (c || (p(), (c = !0)), + addEventListener( + "visibilitychange", + function (e) { + var n = e.timeStamp; + "hidden" === document.visibilityState && + t({ timeStamp: n, isUnloading: s }); + }, + { capture: !0, once: e } + )); + }, + l = function (t, e, n, i) { + var a; + return function () { + (n && e.isFinal && n.disconnect(), + e.value >= 0 && + (i || e.isFinal || "hidden" === document.visibilityState) && + ((e.delta = e.value - (a || 0)), + (e.delta || e.isFinal || void 0 === a) && (t(e), (a = e.value)))); + }; + }, + m = function (t) { + var e, + n = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + i = o("CLS", 0), + a = function (t) { + t.hadRecentInput || ((i.value += t.value), i.entries.push(t), e()); + }, + r = u("layout-shift", a); + r && + ((e = l(t, i, r, n)), + d(function (t) { + var n = t.isUnloading; + (r.takeRecords().map(a), n && (i.isFinal = !0), e()); + })); + }, + v = function () { + return ( + void 0 === i && + ((i = "hidden" === document.visibilityState ? 0 : 1 / 0), + d(function (t) { + var e = t.timeStamp; + return (i = e); + }, !0)), + { + get timeStamp() { + return i; + } + } + ); + }, + g = function (t) { + var e, + n = o("FCP"), + i = v(), + a = u("paint", function (t) { + "first-contentful-paint" === t.name && + t.startTime < i.timeStamp && + ((n.value = t.startTime), (n.isFinal = !0), n.entries.push(t), e()); + }); + a && (e = l(t, n, a)); + }, + h = function (t) { + var e = o("FID"), + n = v(), + i = function (t) { + t.startTime < n.timeStamp && + ((e.value = t.processingStart - t.startTime), + e.entries.push(t), + (e.isFinal = !0), + r()); + }, + a = u("first-input", i), + r = l(t, e, a); + a + ? d(function () { + (a.takeRecords().map(i), a.disconnect()); + }, !0) + : window.perfMetrics && + window.perfMetrics.onFirstInputDelay && + window.perfMetrics.onFirstInputDelay(function (t, i) { + i.timeStamp < n.timeStamp && + ((e.value = t), + (e.isFinal = !0), + (e.entries = [ + { + entryType: "first-input", + name: i.type, + target: i.target, + cancelable: i.cancelable, + startTime: i.timeStamp, + processingStart: i.timeStamp + t + } + ]), + r()); + }); + }, + S = function () { + return ( + a || + (a = new Promise(function (t) { + return ["scroll", "keydown", "pointerdown"].map(function (e) { + addEventListener(e, t, { once: !0, passive: !0, capture: !0 }); + }); + })), + a + ); + }, + y = function (t) { + var e, + n = arguments.length > 1 && void 0 !== arguments[1] && arguments[1], + i = o("LCP"), + a = v(), + r = function (t) { + var n = t.startTime; + (n < a.timeStamp + ? ((i.value = n), i.entries.push(t)) + : (i.isFinal = !0), + e()); + }, + s = u("largest-contentful-paint", r); + if (s) { + e = l(t, i, s, n); + var c = function () { + i.isFinal || (s.takeRecords().map(r), (i.isFinal = !0), e()); + }; + (S().then(c), d(c, !0)); + } + }, + F = function (t) { + var e, + n = o("TTFB"); + ((e = function () { + try { + var e = + performance.getEntriesByType("navigation")[0] || + (function () { + var t = performance.timing, + e = { entryType: "navigation", startTime: 0 }; + for (var n in t) + "navigationStart" !== n && + "toJSON" !== n && + (e[n] = Math.max(t[n] - t.navigationStart, 0)); + return e; + })(); + ((n.value = n.delta = e.responseStart), + (n.entries = [e]), + (n.isFinal = !0), + t(n)); + } catch (t) {} + }), + "complete" === document.readyState + ? setTimeout(e, 0) + : addEventListener("pageshow", e)); + }; + } + } +]); +//# sourceMappingURL=377.541f86b8.chunk.js.map diff --git a/angular/start/workspace/static/js/377.541f86b8.chunk.js.map b/angular/start/workspace/static/js/377.541f86b8.chunk.js.map new file mode 100644 index 0000000..e2e4838 --- /dev/null +++ b/angular/start/workspace/static/js/377.541f86b8.chunk.js.map @@ -0,0 +1 @@ +{"version":3,"file":"static/js/377.541f86b8.chunk.js","mappings":"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","sources":["../node_modules/web-vitals/dist/web-vitals.es5.min.js"],"sourcesContent":["var t,n,e=function(){return\"\".concat(Date.now(),\"-\").concat(Math.floor(8999999999999*Math.random())+1e12)},i=function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:-1;return{name:t,value:n,delta:0,entries:[],id:e(),isFinal:!1}},a=function(t,n){try{if(PerformanceObserver.supportedEntryTypes.includes(t)){var e=new PerformanceObserver((function(t){return t.getEntries().map(n)}));return e.observe({type:t,buffered:!0}),e}}catch(t){}},r=!1,o=!1,s=function(t){r=!t.persisted},u=function(){addEventListener(\"pagehide\",s),addEventListener(\"beforeunload\",(function(){}))},c=function(t){var n=arguments.length>1&&void 0!==arguments[1]&&arguments[1];o||(u(),o=!0),addEventListener(\"visibilitychange\",(function(n){var e=n.timeStamp;\"hidden\"===document.visibilityState&&t({timeStamp:e,isUnloading:r})}),{capture:!0,once:n})},l=function(t,n,e,i){var a;return function(){e&&n.isFinal&&e.disconnect(),n.value>=0&&(i||n.isFinal||\"hidden\"===document.visibilityState)&&(n.delta=n.value-(a||0),(n.delta||n.isFinal||void 0===a)&&(t(n),a=n.value))}},p=function(t){var n,e=arguments.length>1&&void 0!==arguments[1]&&arguments[1],r=i(\"CLS\",0),o=function(t){t.hadRecentInput||(r.value+=t.value,r.entries.push(t),n())},s=a(\"layout-shift\",o);s&&(n=l(t,r,s,e),c((function(t){var e=t.isUnloading;s.takeRecords().map(o),e&&(r.isFinal=!0),n()})))},d=function(){return void 0===t&&(t=\"hidden\"===document.visibilityState?0:1/0,c((function(n){var e=n.timeStamp;return t=e}),!0)),{get timeStamp(){return t}}},v=function(t){var n,e=i(\"FCP\"),r=d(),o=a(\"paint\",(function(t){\"first-contentful-paint\"===t.name&&t.startTime1&&void 0!==arguments[1]&&arguments[1],r=i(\"LCP\"),o=d(),s=function(t){var e=t.startTime;e 0 && i[i.length - 1]) && + (6 === s[0] || 2 === s[0]) + ) { + a = 0; + continue; + } + if ( + 3 === s[0] && + (!i || (s[1] > i[0] && s[1] < i[3])) + ) { + a.label = s[1]; + break; + } + if (6 === s[0] && a.label < i[1]) { + ((a.label = i[1]), (i = s)); + break; + } + if (i && a.label < i[2]) { + ((a.label = i[2]), a.ops.push(s)); + break; + } + (i[2] && a.ops.pop(), a.trys.pop()); + continue; + } + s = t.call(e, a); + } catch (c) { + ((s = [6, c]), (r = 0)); + } finally { + n = i = 0; + } + if (5 & s[0]) throw s[1]; + return { value: s[0] ? s[1] : void 0, done: !0 }; + } + } + function _(e, t, n) { + if (n || 2 === arguments.length) + for (var r, i = 0, o = t.length; i < o; i++) + (!r && i in t) || + (r || (r = Array.prototype.slice.call(t, 0, i)), (r[i] = t[i])); + return e.concat(r || Array.prototype.slice.call(t)); + } + var C = { STRING: 1, NUMBER: 2, TIMESTAMP: 3, OBJECT: 4 }; + function I(e) { + return e.type === C.TIMESTAMP + ? "timestamp" + : e.type === C.NUMBER + ? "number" + : e.type === C.STRING + ? "string" + : e.type === C.OBJECT + ? "object" + : "unknown"; + } + function S(e) { + return e.constructor === Date + ? "timestamp" + : "number" === typeof e + ? "number" + : "string" === typeof e + ? "string" + : "object" === typeof e + ? "object" + : "string"; + } + function E(e) { + var t = {}, + n = I(e); + if ("object" === n) { + var r = Object.keys(e.value).reduce(function (t, n) { + var r = S(e.value[n]); + if ("object" === r) { + var i = W(e.value[n]); + t[n] = { + type: "object", + description: "", + context: {}, + composite: i + }; + } else t[n] = { type: r, description: "", context: {} }; + return t; + }, {}); + t.composite = r; + } + return ( + (t.name = T(e.path.join("/") + "/" + e.name)), + (t.type = n), + (t.description = e.description), + (t.context = {}), + t + ); + } + function W(e) { + return Object.keys(e).reduce(function (t, n) { + var r = S(e[n]); + return ( + (t[n] = + "object" === r + ? { + type: "object", + description: "", + context: {}, + composite: W(e[n]) + } + : { type: r, description: "", context: {} }), + t + ); + }, {}); + } + function T(e) { + return "undefined" !== typeof e && e.length > 0 && "/" !== e[0] + ? "/" + e + : e; + } + function A(e) { + return "timestamp" === I(e) ? Date.now() : P(e.value); + } + function P(e) { + return "object" !== typeof e + ? e + : Object.keys(e).reduce(function (t, n) { + var r = e[n]; + return ( + "object" === typeof r && r.constructor !== Date + ? (t[n] = P(r)) + : r.constructor === Date + ? (t[n] = new Date(r).getTime()) + : r.constructor === Boolean + ? (t[n] = r.toString()) + : (t[n] = r), + t + ); + }, {}); + } + function M(e) { + return e.reduce(function (e, t) { + return e.concat(Array.isArray(t) ? M(t) : t); + }, []); + } + function R(e) { + return e.sort(function (e, t) { + return e.state ? (t.state ? t.state - e.state : -1) : 1; + })[0]; + } + function O(e) { + var t = ""; + return ( + e.forEach(function (e, n, r) { + var i = e.path.join("."); + n === r.length - 1 + ? (t += i + "." + e.name + ": " + e.description) + : (t += i + "." + e.name + ": " + e.description + ","); + }), + t.length > 100 ? t.slice(0, 100) + "..." : t + ); + } + function D(e) { + var t = M(e.root.getAggregateState()), + n = R(t); + return { description: O(t), value: n.state }; + } + function L(e, t) { + var n, + r, + i = this; + if (!e || "object" !== typeof e) + throw new Error("Connection is required parameter"); + var o = function (i) { + var o; + ((n = new Promise(function (e) { + o = e; + })), + (r = e.domain("metrics")).onJoined(function (e) { + !e && o && (o(), (o = void 0)); + var t = { + type: "define", + metrics: [ + { + name: "/State", + type: "object", + composite: { + Description: { + type: "string", + description: "" + }, + Value: { type: "number", description: "" } + }, + description: "System state", + context: {} + } + ] + }; + (r.send(t), e && a(i)); + }), + r.join({ + system: t.system, + service: t.service, + instance: t.instance + })); + }, + a = function (e) { + s(e.root); + }, + s = function e(t) { + (c(t), + t.metrics.forEach(function (e) { + d(e); + }), + t.subSystems.forEach(function (t) { + e(t); + })); + }, + c = function (e) { + return k(i, void 0, void 0, function () { + var t, i; + return x(this, function (o) { + switch (o.label) { + case 0: + return void 0 === e.parent ? [2] : [4, n]; + case 1: + return ( + o.sent(), + (t = { + name: T( + e.path.join("/") + + "/" + + e.name + + "/State" + ), + type: "object", + composite: { + Description: { + type: "string", + description: "" + }, + Value: { + type: "number", + description: "" + } + }, + description: "System state", + context: {} + }), + (i = { type: "define", metrics: [t] }), + r.send(i), + [2] + ); + } + }); + }); + }, + u = function (t, o) { + return k(i, void 0, void 0, function () { + var i, a, s; + return x(this, function (c) { + switch (c.label) { + case 0: + return [4, n]; + case 1: + return ( + c.sent(), + (i = { + type: "publish", + values: [ + { + name: T( + t.path.join("/") + + "/" + + t.name + + "/State" + ), + value: { + Description: o.description, + Value: o.state + }, + timestamp: Date.now() + } + ] + }), + r.send(i), + (a = D(t)), + (s = { + type: "publish", + peer_id: e.peerId, + values: [ + { + name: "/State", + value: { + Description: a.description, + Value: a.value + }, + timestamp: Date.now() + } + ] + }), + r.send(s), + [2] + ); + } + }); + }); + }, + d = function (e) { + return k(i, void 0, void 0, function () { + var t, i, o; + return x(this, function (a) { + switch (a.label) { + case 0: + return ((t = h(e)), [4, n]); + case 1: + return ( + a.sent(), + (i = E(t)), + (o = { type: "define", metrics: [i] }), + r.send(o), + "undefined" !== typeof t.value && p(t), + [2] + ); + } + }); + }); + }, + l = function (e) { + return k(i, void 0, void 0, function () { + var t; + return x(this, function (r) { + switch (r.label) { + case 0: + return ((t = h(e)), [4, n]); + case 1: + return (r.sent(), p(t), [2]); + } + }); + }); + }, + p = function (e) { + if (f()) { + var t = A(e), + n = { + type: "publish", + values: [ + { + name: T(e.path.join("/") + "/" + e.name), + value: t, + timestamp: Date.now() + } + ] + }; + return r.sendFireAndForget(n); + } + return Promise.resolve(); + }, + h = function (e) { + var t = b({}, e); + return ( + "object" === typeof e.value && + null !== e.value && + (t.value = b({}, e.value)), + t + ); + }, + f = function () { + var e; + try { + return ( + null !== (e = t.canUpdateMetric) && void 0 !== e + ? e + : function () { + return !0; + } + )(); + } catch (ka) { + return !0; + } + }; + return { + init: o, + createSystem: c, + updateSystem: u, + createMetric: d, + updateMetric: l + }; + } + var B = { + validate: function (e, t, n) { + if (null === e || "object" !== typeof e) + throw new Error("Missing definition"); + if (null === t || "object" !== typeof t) + throw new Error("Missing parent"); + if (null === n || "object" !== typeof n) + throw new Error("Missing transport"); + } + }, + N = (function () { + function e(e, t, n, r, i) { + ((this.definition = e), + (this.system = t), + (this.transport = n), + (this.value = r), + (this.type = i), + (this.path = []), + B.validate(e, t, n), + (this.path = t.path.slice(0)), + this.path.push(t.name), + (this.name = e.name), + (this.description = e.description), + n.createMetric(this)); + } + return ( + Object.defineProperty(e.prototype, "repo", { + get: function () { + var e; + return null === (e = this.system) || void 0 === e + ? void 0 + : e.repo; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "id", { + get: function () { + return "".concat(this.system.path, "/").concat(name); + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.update = function (e) { + return ((this.value = e), this.transport.updateMetric(this)); + }), + e + ); + })(), + F = (function (e) { + function n(t, n, r, i) { + return e.call(this, t, n, r, i, C.NUMBER) || this; + } + return ( + t(n, e), + (n.prototype.incrementBy = function (e) { + this.update(this.value + e); + }), + (n.prototype.increment = function () { + this.incrementBy(1); + }), + (n.prototype.decrement = function () { + this.incrementBy(-1); + }), + (n.prototype.decrementBy = function (e) { + this.incrementBy(-1 * e); + }), + n + ); + })(N), + j = (function (e) { + function n(t, n, r, i) { + return e.call(this, t, n, r, i, C.OBJECT) || this; + } + return ( + t(n, e), + (n.prototype.update = function (e) { + return (this.mergeValues(e), this.transport.updateMetric(this)); + }), + (n.prototype.mergeValues = function (e) { + var t = this; + return Object.keys(this.value).forEach(function (n) { + "undefined" !== typeof e[n] && (t.value[n] = e[n]); + }); + }), + n + ); + })(N), + H = (function (e) { + function n(t, n, r, i) { + return e.call(this, t, n, r, i, C.STRING) || this; + } + return (t(n, e), n); + })(N), + z = (function (e) { + function n(t, n, r, i) { + return e.call(this, t, n, r, i, C.TIMESTAMP) || this; + } + return ( + t(n, e), + (n.prototype.now = function () { + this.update(new Date()); + }), + n + ); + })(N); + function q(e, t, n, r, i) { + if (!t) throw new Error("Repository is required"); + if (!n) throw new Error("Transport is required"); + var o = n, + a = e, + s = i || "", + c = t, + u = r, + d = _(r), + l = {}, + p = I(d, "/") + e, + h = t.root, + f = [], + v = []; + function m(e, t) { + if (!e || 0 === e.length) throw new Error("name is required"); + var n = f.filter(function (t) { + return t.name === e; + }); + if (n.length > 0) return n[0]; + var r = q(e, c, o, E, t); + return (f.push(r), r); + } + function g(e, t) { + ((l = { state: e, description: t }), o.updateSystem(E, l)); + } + function y(e, t) { + return x(e, C.STRING, t, function (e) { + return new H(e, E, o, t); + }); + } + function w(e, t) { + return x(e, C.NUMBER, t, function (e) { + return new F(e, E, o, t); + }); + } + function b(e, t) { + return x(e, C.OBJECT, t, function (e) { + return new j(e, E, o, t); + }); + } + function k(e, t) { + return x(e, C.TIMESTAMP, t, function (e) { + return new z(e, E, o, t); + }); + } + function x(e, t, n, r) { + var i = { name: "" }; + i = "string" === typeof e ? { name: e } : e; + var o = v.filter(function (e) { + return e.name === i.name; + }); + if (o.length > 0) { + var a = o[0]; + if (a.type !== t) + throw new Error( + "A metric named ".concat( + i.name, + " is already defined with different type." + ) + ); + return ( + "undefined" !== typeof n && a.update(n).catch(function () {}), + a + ); + } + var s = r(i); + return (v.push(s), s); + } + function _(e) { + if (!e || !e.parent) return []; + var t = _(e.parent); + return (t.push(e.name), t); + } + function I(e, t) { + return e && e.length > 0 ? e.join(t) : ""; + } + function S() { + var e = []; + return ( + Object.keys(l).length > 0 && + e.push({ + name: a, + path: d, + state: l.state, + description: l.description + }), + f.forEach(function (t) { + var n = t.getAggregateState(); + n.length > 0 && e.push.apply(e, n); + }), + e + ); + } + var E = { + get name() { + return a; + }, + get description() { + return s; + }, + get repo() { + return c; + }, + get parent() { + return u; + }, + path: d, + id: p, + root: h, + get subSystems() { + return f; + }, + get metrics() { + return v; + }, + subSystem: m, + getState: function () { + return l; + }, + setState: g, + stringMetric: y, + timestampMetric: k, + objectMetric: b, + numberMetric: w, + getAggregateState: S + }; + return (o.createSystem(E), E); + } + var G = (function () { + function e(e, t) { + (t.init(this), + (this.root = q("", this, t)), + this.addSystemMetrics( + this.root, + e.clickStream || void 0 === e.clickStream + )); + } + return ( + (e.prototype.addSystemMetrics = function (e, t) { + if ( + ("undefined" !== typeof navigator && + e.stringMetric("UserAgent", navigator.userAgent), + t && "undefined" !== typeof document) + ) { + var n = e.subSystem("ClickStream"), + r = function (e) { + var t; + if (e.target) { + var r = e.target, + i = + r && + null !== + (t = r.getAttribute("class")) && + void 0 !== t + ? t + : ""; + n.objectMetric("LastBrowserEvent", { + type: "click", + timestamp: new Date(), + target: { + className: i, + id: r.id, + type: + "<" + r.tagName.toLowerCase() + ">", + href: r.href || "" + } + }); + } + }; + (n.objectMetric("Page", { + title: document.title, + page: window.location.href + }), + document.addEventListener + ? document.addEventListener("click", r) + : document.attachEvent("onclick", r)); + } + e.stringMetric("StartTime", new Date().toString()); + var i = e.stringMetric("StartURL", ""), + o = e.stringMetric("AppName", ""); + if ("undefined" !== typeof window) { + if ("undefined" !== typeof window.location) { + var a = window.location.href; + i.update(a); + } + "undefined" !== typeof window.glue42gd && + o.update(window.glue42gd.appName); + } + }), + e + ); + })(), + U = (function () { + function e() {} + return ( + (e.prototype.init = function (e) {}), + (e.prototype.createSystem = function (e) { + return Promise.resolve(); + }), + (e.prototype.updateSystem = function (e, t) { + return Promise.resolve(); + }), + (e.prototype.createMetric = function (e) { + return Promise.resolve(); + }), + (e.prototype.updateMetric = function (e) { + return Promise.resolve(); + }), + e + ); + })(), + V = (function () { + function e(e, t, n) { + ((this.api = e), + (this.lastCount = 0), + (this.initialPublishTimeout = 1e4), + (this.publishInterval = 6e4), + (this.initialPublishTimeout = + null !== t && void 0 !== t + ? t + : this.initialPublishTimeout), + (this.publishInterval = + null !== n && void 0 !== n ? n : this.publishInterval), + this.scheduleCollection(), + (this.system = this.api.subSystem( + "performance", + "Performance data published by the web application" + ))); + } + return ( + (e.prototype.scheduleCollection = function () { + var e = this; + setTimeout(function () { + (e.collect(), + setInterval(function () { + e.collect(); + }, e.publishInterval)); + }, this.initialPublishTimeout); + }), + (e.prototype.collect = function () { + try { + (this.collectMemory(), this.collectEntries()); + } catch (ba) {} + }), + (e.prototype.collectMemory = function () { + var e = window.performance.memory; + this.system.stringMetric( + "memory", + JSON.stringify({ + totalJSHeapSize: e.totalJSHeapSize, + usedJSHeapSize: e.usedJSHeapSize + }) + ); + }), + (e.prototype.collectEntries = function () { + var e = window.performance.getEntries(); + if (!(e.length <= this.lastCount)) { + this.lastCount = e.length; + var t = e.map(function (e) { + return e.toJSON(); + }); + this.system.stringMetric("entries", JSON.stringify(t)); + } + }), + e + ); + })(), + $ = function (e) { + var t; + t = + e.connection && "object" === typeof e.connection + ? L(e.connection, e) + : new U(); + var n = new G(e, t).root; + e.disableAutoAppSystem || (n = n.subSystem("App")); + var r = K(n); + return (J(r, e.pagePerformanceMetrics), r); + }; + function J(e, t) { + var n, r; + if ("undefined" !== typeof window) { + var i = + null === + (r = + null === + (n = + null === window || void 0 === window + ? void 0 + : window.glue42gd) || void 0 === n + ? void 0 + : n.metrics) || void 0 === r + ? void 0 + : r.pagePerformanceMetrics; + (i && (t = i), + (null === t || void 0 === t ? void 0 : t.enabled) && + new V(e, t.initialPublishTimeout, t.publishInterval)); + } + } + function K(e) { + var t, + n = e.subSystem("reporting"), + r = { name: "features" }, + i = function (e, i, o) { + if ("undefined" === typeof e || "" === e) + throw new Error("name is mandatory"); + if ("undefined" === typeof i || "" === i) + throw new Error("action is mandatory"); + if ("undefined" === typeof o || "" === o) + throw new Error("payload is mandatory"); + t + ? t.update({ name: e, action: i, payload: o }) + : (t = n.objectMetric(r, { name: e, action: i, payload: o })); + }; + return ((e.featureMetric = i), e); + } + var Q = + "undefined" !== typeof globalThis + ? globalThis + : "undefined" !== typeof window + ? window + : "undefined" !== typeof n.g + ? n.g + : "undefined" !== typeof self + ? self + : {}; + function X(e) { + return e && + e.__esModule && + Object.prototype.hasOwnProperty.call(e, "default") + ? e.default + : e; + } + function Y(e) { + if ( + e && + e.errorHandling && + "function" !== typeof e.errorHandling && + "log" !== e.errorHandling && + "silent" !== e.errorHandling && + "throw" !== e.errorHandling + ) + throw new Error( + 'Invalid options passed to createRegistry. Prop errorHandling should be ["log" | "silent" | "throw" | (err) => void], but ' + + typeof e.errorHandling + + " was passed" + ); + var t = e && "function" === typeof e.errorHandling && e.errorHandling, + n = {}; + function r(e, t, r) { + var i = n[e]; + return ( + i || ((i = []), (n[e] = i)), + i.push(t), + r && + setTimeout(function () { + r.forEach(function (r) { + var i; + if ( + null === (i = n[e]) || void 0 === i + ? void 0 + : i.includes(t) + ) + try { + Array.isArray(r) + ? t.apply(void 0, r) + : t.apply(void 0, [r]); + } catch (a) { + o(a, e); + } + }); + }, 0), + function () { + var r = n[e]; + r && + (0 === + (r = r.reduce(function (e, n, r) { + return ((n === t && e.length === r) || e.push(n), e); + }, [])).length + ? delete n[e] + : (n[e] = r)); + } + ); + } + function i(e) { + for (var t = [], r = 1; r < arguments.length; r++) + t[r - 1] = arguments[r]; + var i = n[e]; + if (!i || 0 === i.length) return []; + var a = []; + return ( + i.forEach(function (n) { + try { + var r = n.apply(void 0, t); + a.push(r); + } catch (i) { + (a.push(void 0), o(i, e)); + } + }), + a + ); + } + function o(n, r) { + var i = n instanceof Error ? n : new Error(n); + if (t) t(i); + else { + var o = + '[ERROR] callback-registry: User callback for key "' + + r + + '" failed: ' + + i.stack; + if (e) + switch (e.errorHandling) { + case "log": + return console.error(o); + case "silent": + return; + case "throw": + throw new Error(o); + } + console.error(o); + } + } + function a() { + n = {}; + } + function s(e) { + n[e] && delete n[e]; + } + return { add: r, execute: i, clear: a, clearKey: s }; + } + Y.default = Y; + var Z = Y, + ee = (function () { + function e(e, t) { + var n = this; + ((this.registry = Z()), + (this.gw = e.facade), + this.gw + .connect(function (e, t) { + n.messageHandler(t); + }) + .then(function (e) { + n.client = e; + })); + } + return ( + Object.defineProperty(e.prototype, "isObjectBasedTransport", { + get: function () { + return !0; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.sendObject = function (e) { + return this.client + ? (this.client.send(e), Promise.resolve(void 0)) + : Promise.reject("not connected"); + }), + (e.prototype.send = function (e) { + return Promise.reject("not supported"); + }), + (e.prototype.onMessage = function (e) { + return this.registry.add("onMessage", e); + }), + (e.prototype.onConnectedChanged = function (e) { + return (e(!0), function () {}); + }), + (e.prototype.close = function () { + return Promise.resolve(); + }), + (e.prototype.open = function () { + return Promise.resolve(); + }), + (e.prototype.name = function () { + return "in-memory"; + }), + (e.prototype.reconnect = function () { + return Promise.resolve(); + }), + (e.prototype.messageHandler = function (e) { + this.registry.execute("onMessage", e); + }), + e + ); + })(), + te = (function () { + function e(e, t) { + var n = this; + ((this.logger = t), + (this.registry = Z()), + (this.worker = new SharedWorker(e)), + (this.worker.port.onmessage = function (e) { + n.messageHandler(e.data); + })); + } + return ( + Object.defineProperty(e.prototype, "isObjectBasedTransport", { + get: function () { + return !0; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.sendObject = function (e) { + return (this.worker.port.postMessage(e), Promise.resolve()); + }), + (e.prototype.send = function (e) { + return Promise.reject("not supported"); + }), + (e.prototype.onMessage = function (e) { + return this.registry.add("onMessage", e); + }), + (e.prototype.onConnectedChanged = function (e) { + return (e(!0), function () {}); + }), + (e.prototype.close = function () { + return Promise.resolve(); + }), + (e.prototype.open = function () { + return Promise.resolve(); + }), + (e.prototype.name = function () { + return "shared-worker"; + }), + (e.prototype.reconnect = function () { + return Promise.resolve(); + }), + (e.prototype.messageHandler = function (e) { + this.registry.execute("onMessage", e); + }), + e + ); + })(), + ne = (function () { + function e() {} + return ( + (e.isNode = function () { + if ("undefined" !== typeof e._isNode) return e._isNode; + if ("undefined" !== typeof window) + return ((e._isNode = !1), !1); + try { + e._isNode = + "[object process]" === + Object.prototype.toString.call(n.g.process); + } catch (t) { + e._isNode = !1; + } + return e._isNode; + }), + e + ); + })(), + re = (function () { + function e() { + var e = this; + ((this.rejected = !1), + (this.resolved = !1), + (this.promise = new Promise(function (t, n) { + ((e.resolve = function (n) { + ((e.resolved = !0), t(n)); + }), + (e.reject = function (t) { + ((e.rejected = !0), n(t)); + })); + }))); + } + return ( + (e.delay = function (e) { + return new Promise(function (t) { + return setTimeout(t, e); + }); + }), + Object.defineProperty(e.prototype, "ended", { + get: function () { + return this.rejected || this.resolved; + }, + enumerable: !1, + configurable: !0 + }), + e + ); + })(), + ie = {}; + function oe() { + return ie; + } + function ae(e) { + var t = ie[e]; + if (t) return t; + var n = []; + function r() { + return new Date().getTime(); + } + var i, + o, + a = r(); + function s() { + return (c("end", (i = r())), (o = i - a)); + } + function c(e, t) { + var i = null !== t && void 0 !== t ? t : r(), + o = 0; + (n.length > 0 && (o = i - n[n.length - 1].time), + n.push({ name: e, time: i, diff: o })); + } + c("start", a); + var u = { + get startTime() { + return a; + }, + get endTime() { + return i; + }, + get period() { + return o; + }, + stop: s, + mark: c, + marks: n + }; + return ((ie[e] = u), u); + } + var se = ne.isNode() ? null : window.WebSocket, + ce = (function () { + function e(e, t) { + if ( + ((this.startupTimer = ae("connection")), + (this._running = !0), + (this._registry = Z()), + (this.wsRequests = []), + (this.settings = e), + (this.logger = t), + !this.settings.ws) + ) + throw new Error("ws is missing"); + } + return ( + (e.prototype.onMessage = function (e) { + return this._registry.add("onMessage", e); + }), + (e.prototype.send = function (e, t) { + var n = this; + return new Promise(function (t, r) { + n.waitForSocketConnection(function () { + var i; + try { + (null === (i = n.ws) || void 0 === i || i.send(e), + t()); + } catch (o) { + r(o); + } + }, r); + }); + }), + (e.prototype.open = function () { + var e = this; + return ( + this.logger.info("opening ws..."), + (this._running = !0), + new Promise(function (t, n) { + e.waitForSocketConnection(t, n); + }) + ); + }), + (e.prototype.close = function () { + return ( + (this._running = !1), + this.ws && this.ws.close(), + Promise.resolve() + ); + }), + (e.prototype.onConnectedChanged = function (e) { + return this._registry.add("onConnectedChanged", e); + }), + (e.prototype.name = function () { + return this.settings.ws; + }), + (e.prototype.reconnect = function () { + var e; + null === (e = this.ws) || void 0 === e || e.close(); + var t = new re(); + return ( + this.waitForSocketConnection(function () { + t.resolve(); + }), + t.promise + ); + }), + (e.prototype.waitForSocketConnection = function (e, t) { + var n; + ((t = null !== t && void 0 !== t ? t : function () {}), + this._running + ? 1 !== + (null === (n = this.ws) || void 0 === n + ? void 0 + : n.readyState) + ? (this.wsRequests.push({ callback: e, failed: t }), + this.wsRequests.length > 1 || this.openSocket()) + : e() + : t( + "wait for socket on ".concat( + this.settings.ws, + " failed - socket closed by user" + ) + )); + }), + (e.prototype.openSocket = function (e, t) { + return k(this, void 0, void 0, function () { + var n = this; + return x(this, function (r) { + switch (r.label) { + case 0: + if ( + (this.startupTimer.mark("opening-socket"), + void 0 === e && + (e = this.settings.reconnectInterval), + "undefined" === typeof t && + (t = this.settings.reconnectAttempts), + void 0 !== t) + ) { + if (0 === t) + return ( + this.notifyForSocketState( + "wait for socket on ".concat( + this.settings.ws, + " failed - no more retries left" + ) + ), + [2] + ); + this.logger.debug( + "will retry " + .concat(t, " more times (every ") + .concat(e, " ms)") + ); + } + r.label = 1; + case 1: + return ( + r.trys.push([1, 3, , 4]), + [4, this.initiateSocket()] + ); + case 2: + return ( + r.sent(), + this.startupTimer.mark("socket-initiated"), + this.notifyForSocketState(), + [3, 4] + ); + case 3: + return ( + r.sent(), + setTimeout(function () { + var r = void 0 === t ? void 0 : t - 1; + n.openSocket(e, r); + }, e), + [3, 4] + ); + case 4: + return [2]; + } + }); + }); + }), + (e.prototype.initiateSocket = function () { + var e = this, + t = new re(); + return ( + this.logger.debug( + "initiating ws to ".concat(this.settings.ws, "...") + ), + (this.ws = new se(this.settings.ws || "")), + (this.ws.onerror = function (n) { + var r = ""; + try { + r = JSON.stringify(n); + } catch (a) { + var i = new WeakSet(), + o = function (e, t) { + if ("object" === typeof t && null !== t) { + if (i.has(t)) return; + i.add(t); + } + return t; + }; + r = JSON.stringify(n, o); + } + (t.reject("error"), e.notifyStatusChanged(!1, r)); + }), + (this.ws.onclose = function (n) { + (e.logger.info("ws closed ".concat(n)), + t.reject("closed"), + e.notifyStatusChanged(!1)); + }), + (this.ws.onopen = function () { + var n; + (e.startupTimer.mark("ws-opened"), + e.logger.info( + "ws opened ".concat( + null === (n = e.settings.identity) || + void 0 === n + ? void 0 + : n.application + ) + ), + t.resolve(), + e.notifyStatusChanged(!0)); + }), + (this.ws.onmessage = function (t) { + e._registry.execute("onMessage", t.data); + }), + t.promise + ); + }), + (e.prototype.notifyForSocketState = function (e) { + (this.wsRequests.forEach(function (t) { + e ? t.failed && t.failed(e) : t.callback(); + }), + (this.wsRequests = [])); + }), + (e.prototype.notifyStatusChanged = function (e, t) { + this._registry.execute("onConnectedChanged", e, t); + }), + e + ); + })(), + ue = {}, + de = { + get exports() { + return ue; + }, + set exports(e) { + ue = e; + } + }, + le = {}, + pe = { + get exports() { + return le; + }, + set exports(e) { + le = e; + } + }, + he = 1; + function fe() { + return (he = (9301 * he + 49297) % 233280) / 233280; + } + function ve(e) { + he = e; + } + var me, + ge, + ye, + we = { nextValue: fe, seed: ve }, + be = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-"; + function ke() { + ye = !1; + } + function xe(e) { + if (e) { + if (e !== me) { + if (e.length !== be.length) + throw new Error( + "Custom alphabet for shortid must be " + + be.length + + " unique characters. You submitted " + + e.length + + " characters: " + + e + ); + var t = e.split("").filter(function (e, t, n) { + return t !== n.lastIndexOf(e); + }); + if (t.length) + throw new Error( + "Custom alphabet for shortid must be " + + be.length + + " unique characters. These characters were not unique: " + + t.join(", ") + ); + ((me = e), ke()); + } + } else me !== be && ((me = be), ke()); + } + function _e(e) { + return (xe(e), me); + } + function Ce(e) { + (we.seed(e), ge !== e && (ke(), (ge = e))); + } + function Ie() { + me || xe(be); + for (var e, t = me.split(""), n = [], r = we.nextValue(); t.length > 0; ) + ((r = we.nextValue()), + (e = Math.floor(r * t.length)), + n.push(t.splice(e, 1)[0])); + return n.join(""); + } + function Se() { + return ye || (ye = Ie()); + } + function Ee(e) { + return Se()[e]; + } + function We() { + return me || be; + } + var Te, + Ae = { get: We, characters: _e, seed: Ce, lookup: Ee, shuffled: Se }, + Pe = "object" === typeof window && (window.crypto || window.msCrypto); + Te = + Pe && Pe.getRandomValues + ? function (e) { + return Pe.getRandomValues(new Uint8Array(e)); + } + : function (e) { + for (var t = [], n = 0; n < e; n++) + t.push(Math.floor(256 * Math.random())); + return t; + }; + var Me = function (e, t, n) { + for ( + var r = (2 << (Math.log(t.length - 1) / Math.LN2)) - 1, + i = -~((1.6 * r * n) / t.length), + o = ""; + ; + + ) + for (var a = e(i), s = i; s--; ) + if ((o += t[a[s] & r] || "").length === +n) return o; + }, + Re = Ae, + Oe = Te, + De = Me; + function Le(e) { + for (var t, n = 0, r = ""; !t; ) + ((r += De(Oe, Re.get(), 1)), (t = e < Math.pow(16, n + 1)), n++); + return r; + } + var Be, + Ne, + Fe = Le, + je = 1567752802062, + He = 7; + function ze(e) { + var t = "", + n = Math.floor(0.001 * (Date.now() - je)); + return ( + n === Ne ? Be++ : ((Be = 0), (Ne = n)), + (t += Fe(He)), + (t += Fe(e)), + Be > 0 && (t += Fe(Be)), + (t += Fe(n)) + ); + } + var qe = ze, + Ge = Ae; + function Ue(e) { + return ( + !(!e || "string" !== typeof e || e.length < 6) && + !new RegExp( + "[^" + Ge.get().replace(/[|\\{}()[\]^$+*?.-]/g, "\\$&") + "]" + ).test(e) + ); + } + var Ve = Ue; + ((function (e) { + var t = Ae, + n = qe, + r = Ve, + i = 0; + function o(n) { + return (t.seed(n), e.exports); + } + function a(t) { + return ((i = t), e.exports); + } + function s(e) { + return (void 0 !== e && t.characters(e), t.shuffled()); + } + function c() { + return n(i); + } + ((e.exports = c), + (e.exports.generate = c), + (e.exports.seed = o), + (e.exports.worker = a), + (e.exports.characters = s), + (e.exports.isValid = r)); + })(pe), + (function (e) { + e.exports = le; + })(de)); + var $e = X(ue); + function Je(e, t, n, r, i) { + (null == e && (e = "global"), (r = r || ["success"]), (i = i || ["error"])); + var o, + a = !1, + s = !1, + c = !1, + u = Z(); + (t.disconnected(f), + t.loggedIn(v), + t.on("success", function (e) { + return w(e); + }), + t.on("error", function (e) { + return y(e); + }), + t.on("result", function (e) { + return w(e); + }), + r && + r.forEach(function (e) { + t.on(e, function (e) { + return w(e); + }); + }), + i && + i.forEach(function (e) { + t.on(e, function (e) { + return y(e); + }); + })); + var d = {}; + function l(t) { + return ( + (o = t), + new Promise(function (r, i) { + var o; + a + ? r({}) + : ("global" === e + ? (o = c + ? Promise.resolve({}) + : Promise.reject("not connected to gateway")) + : (n.debug("joining domain ".concat(e)), + (o = k({ + type: "join", + destination: e, + domain: "global", + options: t + }))), + o + .then(function () { + (h(), r({})); + }) + .catch(function (t) { + (n.debug( + "error joining " + + e + + " domain: " + + JSON.stringify(t) + ), + i(t)); + })); + }) + ); + } + function p() { + return "global" === e + ? Promise.resolve() + : (n.debug("stopping session " + e + "..."), + (s = !1), + k({ type: "leave", destination: e, domain: "global" }) + .then(function () { + ((a = !1), u.execute("onLeft")); + }) + .catch(function () { + ((a = !1), u.execute("onLeft")); + })); + } + function h() { + (n.debug("did join " + e), (a = !0)); + var t = s; + ((s = !1), u.execute("onJoined", t)); + } + function f() { + ((c = !1), + n.debug("connection is down"), + (a = !1), + (s = !0), + u.execute("onLeft", { disconnected: !0 })); + } + function v() { + ((c = !0), + s && + (n.debug("connection is now up - trying to reconnect..."), + l(o))); + } + function m(e) { + return (a && e(!1), u.add("onJoined", e)); + } + function g(e) { + return (a || e(), u.add("onLeft", e)); + } + function y(t) { + if (e === t.domain) { + var n = t.request_id; + if (n) { + var r = d[n]; + r && r.error(t); + } + } + } + function w(t) { + if (t.domain === e) { + var n = t.request_id; + if (n) { + var r = d[n]; + r && r.success(t); + } + } + } + function b() { + return $e(); + } + function k(r, i, o) { + ((o = o || {}), + (r.request_id = r.request_id || b()), + (r.domain = r.domain || e), + o.skipPeerId || (r.peer_id = t.peerId)); + var a = r.request_id; + return new Promise(function (e, s) { + ((d[a] = { + success: function (t) { + (delete d[a], (t._tag = i), e(t)); + }, + error: function (e) { + (n.warn( + "GW error - " + .concat(JSON.stringify(e), " for request ") + .concat(JSON.stringify(r)) + ), + delete d[a], + (e._tag = i), + s(e)); + } + }), + t.send(r, o).catch(function (e) { + d[a].error({ err: e }); + })); + }); + } + function x(n) { + return ( + (n.request_id = n.request_id ? n.request_id : b()), + (n.domain = n.domain || e), + (n.peer_id = t.peerId), + t.send(n) + ); + } + return { + join: l, + leave: p, + onJoined: m, + onLeft: g, + send: k, + sendFireAndForget: x, + on: function (r, i) { + t.on(r, function (t) { + if (t.domain === e) + try { + i(t); + } catch (r) { + n.error( + "Callback failed: " + .concat(r, " \n ") + .concat(r.stack, " \n msg was: ") + .concat(JSON.stringify(t)), + r + ); + } + }); + }, + loggedIn: function (e) { + return t.loggedIn(e); + }, + connected: function (e) { + return t.connected(e); + }, + disconnected: function (e) { + return t.disconnected(e); + }, + get peerId() { + return t.peerId; + }, + get domain() { + return e; + } + }; + } + var Ke = (function () { + function e(e, t, n) { + var r = this; + ((this.connection = e), + (this.settings = t), + (this.logger = n), + (this.protocolVersion = 3), + (this.datePrefix = "#T42_DATE#"), + (this.datePrefixLen = this.datePrefix.length), + (this.dateMinLen = this.datePrefixLen + 1), + (this.datePrefixFirstChar = this.datePrefix[0]), + (this.registry = Z()), + (this._isLoggedIn = !1), + (this.shouldTryLogin = !0), + (this.initialLogin = !0), + (this.initialLoginAttempts = 3), + (this.sessions = []), + e.disconnected(function () { + r.handleDisconnected(); + }), + this.ping()); + } + return ( + Object.defineProperty(e.prototype, "isLoggedIn", { + get: function () { + return this._isLoggedIn; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.processStringMessage = function (e) { + var t = this, + n = JSON.parse(e, function (e, n) { + if ("string" !== typeof n) return n; + if (n.length < t.dateMinLen) return n; + if (n[0] !== t.datePrefixFirstChar) return n; + if (n.substring(0, t.datePrefixLen) !== t.datePrefix) + return n; + try { + var r = parseInt( + n.substring(t.datePrefixLen, n.length), + 10 + ); + return isNaN(r) ? n : new Date(r); + } catch (i) { + return n; + } + }); + return { msg: n, msgType: n.type }; + }), + (e.prototype.createStringMessage = function (e) { + var t = Date.prototype.toJSON; + try { + var n = this.datePrefix; + return ( + (Date.prototype.toJSON = function () { + return n + this.getTime(); + }), + JSON.stringify(e) + ); + } finally { + Date.prototype.toJSON = t; + } + }), + (e.prototype.processObjectMessage = function (e) { + if (!e.type) + throw new Error("Object should have type property"); + return { msg: e, msgType: e.type }; + }), + (e.prototype.createObjectMessage = function (e) { + return e; + }), + (e.prototype.login = function (e, t) { + return k(this, void 0, void 0, function () { + var n, r, i, o, a, s, c, u, d, l; + return x(this, function (p) { + switch (p.label) { + case 0: + if ( + (this.logger.debug("logging in..."), + (this.loginConfig = e), + this.loginConfig || + (this.loginConfig = { + username: "", + password: "" + }), + (this.shouldTryLogin = !0), + (n = {}), + (this.connection.gatewayToken = + e.gatewayToken), + !e.gatewayToken) + ) + return [3, 5]; + if (!t) return [3, 4]; + p.label = 1; + case 1: + return ( + p.trys.push([1, 3, , 4]), + [4, this.getNewGWToken()] + ); + case 2: + return ( + (u = p.sent()), + (e.gatewayToken = u), + [3, 4] + ); + case 3: + return ( + (r = p.sent()), + this.logger.warn( + "failed to get GW token when reconnecting ".concat( + (null === r || void 0 === r + ? void 0 + : r.message) || r + ) + ), + [3, 4] + ); + case 4: + return ( + (n.method = "gateway-token"), + (n.token = e.gatewayToken), + (this.connection.gatewayToken = + e.gatewayToken), + [3, 10] + ); + case 5: + return "sspi" !== e.flowName + ? [3, 9] + : ((n.provider = "win"), + (n.method = "access-token"), + e.flowCallback && e.sessionId + ? ((i = n), + [ + 4, + e.flowCallback( + e.sessionId, + null + ) + ]) + : [3, 7]); + case 6: + return ( + (i.token = p + .sent() + .data.toString("base64")), + [3, 8] + ); + case 7: + throw new Error("Invalid SSPI config"); + case 8: + return [3, 10]; + case 9: + if (e.token) + ((n.method = "access-token"), + (n.token = e.token)); + else if (e.username) + ((n.method = "secret"), + (n.login = e.username), + (n.secret = e.password)); + else { + if (!e.provider) + throw new Error( + "invalid auth message" + + JSON.stringify(e) + ); + ((n.provider = e.provider), + (n.providerContext = + e.providerContext)); + } + p.label = 10; + case 10: + ((o = { + type: "hello", + identity: this.settings.identity, + authentication: n + }), + e.sessionId && (o.request_id = e.sessionId), + (this.globalDomain = Je( + "global", + this.connection, + this.logger.subLogger("global-domain"), + [ + "welcome", + "token", + "authentication-request" + ] + )), + (a = { skipPeerId: !0 }), + this.initialLogin && + ((a.retryInterval = + this.settings.reconnectInterval), + (a.maxRetries = + this.settings.reconnectAttempts)), + (p.label = 11)); + case 11: + (p.trys.push([11, 19, 20, 21]), + (s = void 0), + (p.label = 12)); + case 12: + return [ + 4, + this.globalDomain.send(o, void 0, a) + ]; + case 13: + return "authentication-request" !== + (c = p.sent()).type + ? [3, 16] + : ((u = Buffer.from( + c.authentication.token, + "base64" + )), + e.flowCallback && e.sessionId + ? ((d = o.authentication), + [4, e.flowCallback(e.sessionId, u)]) + : [3, 15]); + case 14: + ((d.token = p.sent().data.toString("base64")), + (p.label = 15)); + case 15: + return ((o.request_id = e.sessionId), [3, 12]); + case 16: + if ("welcome" === c.type) + return ((s = c), [3, 18]); + throw "error" === c.type + ? new Error( + "Authentication failed: " + c.reason + ) + : new Error( + "Unexpected message type during authentication: " + + c.type + ); + case 17: + return [3, 12]; + case 18: + return ( + (this.initialLogin = !1), + this.logger.debug( + "login successful with peerId " + + s.peer_id + ), + (this.connection.peerId = s.peer_id), + (this.connection.resolvedIdentity = + s.resolved_identity), + (this.connection.availableDomains = + s.available_domains), + s.options && + ((this.connection.token = + s.options.access_token), + (this.connection.info = + s.options.info)), + this.setLoggedIn(!0), + [2, s.resolved_identity] + ); + case 19: + throw ( + (l = p.sent()), + this.logger.error( + "error sending hello message - " + + (l.message || + l.msg || + l.reason || + l), + l + ), + l + ); + case 20: + return ( + e && + e.flowCallback && + e.sessionId && + e.flowCallback(e.sessionId, null), + [7] + ); + case 21: + return [2]; + } + }); + }); + }), + (e.prototype.logout = function () { + return k(this, void 0, void 0, function () { + var e; + return x(this, function (t) { + switch (t.label) { + case 0: + return ( + this.logger.debug("logging out..."), + (this.shouldTryLogin = !1), + this.pingTimer && + clearTimeout(this.pingTimer), + (e = this.sessions.map(function (e) { + e.leave(); + })), + [4, Promise.all(e)] + ); + case 1: + return (t.sent(), [2]); + } + }); + }); + }), + (e.prototype.loggedIn = function (e) { + return ( + this._isLoggedIn && e(), + this.registry.add("onLoggedIn", e) + ); + }), + (e.prototype.domain = function (e, t, n, r) { + var i = this.sessions.filter(function (t) { + return t.domain === e; + })[0]; + return ( + i || + ((i = Je(e, this.connection, t, n, r)), + this.sessions.push(i)), + i + ); + }), + (e.prototype.handleDisconnected = function () { + var e = this; + if ( + (this.setLoggedIn(!1), + this.shouldTryLogin && this.initialLogin) + ) { + if (this.initialLoginAttempts <= 0) return; + this.initialLoginAttempts--; + } + if ( + (this.logger.debug( + "disconnected - will try new login?" + + this.shouldTryLogin + ), + this.shouldTryLogin) + ) { + if (!this.loginConfig) throw new Error("no login info"); + this.connection + .login(this.loginConfig, !0) + .catch(function () { + setTimeout( + e.handleDisconnected.bind(e), + e.settings.reconnectInterval || 1e3 + ); + }); + } + }), + (e.prototype.setLoggedIn = function (e) { + ((this._isLoggedIn = e), + this._isLoggedIn && this.registry.execute("onLoggedIn")); + }), + (e.prototype.ping = function () { + var e = this; + this.shouldTryLogin && + (this._isLoggedIn && this.connection.send({ type: "ping" }), + (this.pingTimer = setTimeout(function () { + e.ping(); + }, 3e4))); + }), + (e.prototype.authToken = function () { + var e = { type: "create-token" }; + return this.globalDomain + ? this.globalDomain.send(e).then(function (e) { + return e.token; + }) + : Promise.reject(new Error("no global domain session")); + }), + (e.prototype.getNewGWToken = function () { + if (void 0 !== typeof window) { + var e = window.glue42gd; + if (e) return e.getGWToken(); + } + return Promise.reject(new Error("not running in GD")); + }), + e + ); + })(), + Qe = (function () { + function e(e) { + ((this.specsNames = []), + (this.messages = {}), + (this.subs = {}), + (this.subsRefCount = {}), + (this.specs = {})); + for (var t = 0, n = e; t < n.length; t++) { + var r = n[t]; + ((this.specs[r.name] = r), this.specsNames.push(r.name)); + } + } + return ( + (e.prototype.init = function (e) { + var t = this; + this.connection = e; + for (var n = 0, r = this.specsNames; n < r.length; n++) + for ( + var i = r[n], + o = function (n) { + var r = a.subsRefCount[n]; + if ( + (r || (r = 0), + (r += 1), + (a.subsRefCount[n] = r), + r > 1) + ) + return "continue"; + var i = e.on(n, function (e) { + return t.processMessage(n, e); + }); + a.subs[n] = i; + }, + a = this, + s = 0, + c = this.specs[i].types; + s < c.length; + s++ + ) + o(c[s]); + }), + (e.prototype.processMessage = function (e, t) { + if (!this.isDone && t) + for (var n = 0, r = this.specsNames; n < r.length; n++) { + var i = r[n]; + if (-1 !== this.specs[i].types.indexOf(e)) { + var o = this.messages[i] || []; + ((this.messages[i] = o), o.push(t)); + } + } + }), + (e.prototype.drain = function (e, t) { + var n; + (t && (this.messages[e] || []).forEach(t), + delete this.messages[e]); + for (var r = 0, i = this.specs[e].types; r < i.length; r++) { + var o = i[r]; + ((this.subsRefCount[o] -= 1), + this.subsRefCount[o] <= 0 && + (null === (n = this.connection) || + void 0 === n || + n.off(this.subs[o]), + delete this.subs[o], + delete this.subsRefCount[o])); + } + (delete this.specs[e], this.specs.length || (this.isDone = !0)); + }), + e + ); + })(), + Xe = function (e, t, n) { + return new Promise(function (r, i) { + var o = setTimeout(function () { + var e = n || "Promise timeout hit: ".concat(t); + i(e); + }, t); + new Promise(e) + .then(function (e) { + (clearTimeout(o), r(e)); + }) + .catch(function (e) { + (clearTimeout(o), i(e)); + }); + }); + }, + Ye = (function () { + function e(e, t, n) { + ((this.settings = e), + (this.logger = t), + (this.identity = n), + (this.iAmConnected = !1), + (this.parentReady = !1), + (this.rejected = !1), + (this.children = []), + (this.extContentAvailable = !1), + (this.extContentConnecting = !1), + (this.extContentConnected = !1), + (this.parentInExtMode = !1), + (this.webNamespace = "g42_core_web"), + (this.parentPingTimeout = 5e3), + (this.connectionRequestTimeout = 7e3), + (this.defaultTargetString = "*"), + (this.registry = Z()), + (this.messages = { + connectionAccepted: { + name: "connectionAccepted", + handle: this.handleConnectionAccepted.bind(this) + }, + connectionRejected: { + name: "connectionRejected", + handle: this.handleConnectionRejected.bind(this) + }, + connectionRequest: { + name: "connectionRequest", + handle: this.handleConnectionRequest.bind(this) + }, + parentReady: { + name: "parentReady", + handle: function () {} + }, + parentPing: { + name: "parentPing", + handle: this.handleParentPing.bind(this) + }, + platformPing: { + name: "platformPing", + handle: this.handlePlatformPing.bind(this) + }, + platformReady: { + name: "platformReady", + handle: this.handlePlatformReady.bind(this) + }, + clientUnload: { + name: "clientUnload", + handle: this.handleClientUnload.bind(this) + }, + manualUnload: { + name: "manualUnload", + handle: this.handleManualUnload.bind(this) + }, + extConnectionResponse: { + name: "extConnectionResponse", + handle: this.handleExtConnectionResponse.bind(this) + }, + extSetupRequest: { + name: "extSetupRequest", + handle: this.handleExtSetupRequest.bind(this) + }, + gatewayDisconnect: { + name: "gatewayDisconnect", + handle: this.handleGatewayDisconnect.bind(this) + }, + gatewayInternalConnect: { + name: "gatewayInternalConnect", + handle: this.handleGatewayInternalConnect.bind(this) + } + }), + (this.extContentAvailable = !!window.glue42ext), + this.setUpMessageListener(), + this.setUpUnload(), + this.setupPlatformUnloadListener(), + (this.parentType = window.name.includes("#wsp") + ? "workspace" + : void 0)); + } + return ( + (e.prototype.manualSetReadyState = function () { + ((this.iAmConnected = !0), (this.parentReady = !0)); + }), + Object.defineProperty(e.prototype, "transportWindowId", { + get: function () { + return this.publicWindowId; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "communicationId", { + get: function () { + return this._communicationId; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.sendObject = function (e) { + return k(this, void 0, void 0, function () { + return x(this, function (t) { + if (this.extContentConnected) + return [ + 2, + window.postMessage( + { glue42ExtOut: e }, + this.defaultTargetString + ) + ]; + if (!this.port) + throw new Error( + "Cannot send message, because the port was not opened yet" + ); + return (this.port.postMessage(e), [2]); + }); + }); + }), + Object.defineProperty(e.prototype, "isObjectBasedTransport", { + get: function () { + return !0; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.onMessage = function (e) { + return this.registry.add("onMessage", e); + }), + (e.prototype.send = function () { + return Promise.reject("not supported"); + }), + (e.prototype.onConnectedChanged = function (e) { + return this.registry.add("onConnectedChanged", e); + }), + (e.prototype.open = function () { + return k(this, void 0, void 0, function () { + return x(this, function (e) { + switch (e.label) { + case 0: + return ( + this.logger.debug( + "opening a connection to the web platform gateway." + ), + [4, this.connect()] + ); + case 1: + return ( + e.sent(), + this.notifyStatusChanged(!0), + [2] + ); + } + }); + }); + }), + (e.prototype.close = function () { + var e, + t, + n = { + glue42core: { + type: this.messages.gatewayDisconnect.name, + data: { + clientId: this.myClientId, + ownWindowId: + null === (e = this.identity) || void 0 === e + ? void 0 + : e.windowId + } + } + }; + return ( + null === (t = this.port) || + void 0 === t || + t.postMessage(n), + (this.parentReady = !1), + this.notifyStatusChanged(!1, "manual reconnection"), + Promise.resolve() + ); + }), + (e.prototype.name = function () { + return "web-platform"; + }), + (e.prototype.reconnect = function () { + return k(this, void 0, void 0, function () { + return x(this, function (e) { + switch (e.label) { + case 0: + return [4, this.close()]; + case 1: + return (e.sent(), [2, Promise.resolve()]); + } + }); + }); + }), + (e.prototype.initiateInternalConnection = function () { + var e = this; + return new Promise(function (t, n) { + (e.logger.debug( + "opening an internal web platform connection" + ), + (e.port = e.settings.port), + e.iAmConnected + ? e.logger.warn( + "cannot open a new connection, because this client is currently connected" + ) + : ((e.port.onmessage = function (r) { + var i, o; + if ( + !e.iAmConnected || + (null === (i = r.data) || void 0 === i + ? void 0 + : i.glue42core) + ) { + var a = + null === (o = r.data) || void 0 === o + ? void 0 + : o.glue42core; + a && + (a.type === + e.messages.gatewayInternalConnect + .name && + a.success && + ((e.publicWindowId = + e.settings.windowId), + e.identity && + e.publicWindowId && + ((e.identity.windowId = + e.publicWindowId), + (e.identity.instance = + e.publicWindowId)), + t()), + a.type === + e.messages.gatewayInternalConnect + .name && + a.error && + n(a.error)); + } else + e.registry.execute("onMessage", r.data); + }), + e.port.postMessage({ + glue42core: { + type: e.messages.gatewayInternalConnect + .name + } + }))); + }); + }), + (e.prototype.initiateRemoteConnection = function (e) { + var t = this; + return Xe( + function (n, r) { + var i; + ((t.connectionResolve = n), + (t.connectionReject = r), + (t.myClientId = + null !== (i = t.myClientId) && void 0 !== i + ? i + : $e())); + var o = t.getMyWindowId() || $e(), + a = { + glue42core: { + type: t.messages.connectionRequest.name, + clientId: t.myClientId, + clientType: "child", + bridgeInstanceId: o, + selfAssignedWindowId: t.selfAssignedWindowId + } + }; + if ( + (t.logger.debug("sending connection request"), + t.extContentConnecting) + ) + return ( + (a.glue42core.clientType = "child"), + (a.glue42core.bridgeInstanceId = t.myClientId), + (a.glue42core.parentWindowId = + t.parentWindowId), + window.postMessage(a, t.defaultTargetString) + ); + if (!e) + throw new Error( + "Cannot send a connection request, because no glue target was specified!" + ); + e.postMessage(a, t.defaultTargetString); + }, + this.connectionRequestTimeout, + "The connection to the target glue window timed out" + ); + }), + (e.prototype.isParentCheckSuccess = function (e) { + return k(this, void 0, void 0, function () { + return x(this, function (t) { + switch (t.label) { + case 0: + return (t.trys.push([0, 2, , 3]), [4, e]); + case 1: + return (t.sent(), [2, { success: !0 }]); + case 2: + return (t.sent(), [2, { success: !1 }]); + case 3: + return [2]; + } + }); + }); + }), + (e.prototype.setUpMessageListener = function () { + var e = this; + this.settings.port + ? this.logger.debug( + "skipping generic message listener, because this is an internal client" + ) + : window.addEventListener("message", function (t) { + var n, + r = + null === (n = t.data) || void 0 === n + ? void 0 + : n.glue42core; + if (r && !e.rejected) + if (e.checkMessageTypeValid(r.type)) { + var i = r.type; + (e.logger.debug( + "received valid glue42core message of type: ".concat( + i + ) + ), + e.messages[i].handle(t)); + } else + e.logger.error( + "cannot handle the incoming glue42 core message, because the type is invalid: ".concat( + r.type + ) + ); + }); + }), + (e.prototype.setUpUnload = function () { + var e = this; + this.settings.port + ? this.logger.debug( + "skipping unload event listener, because this is an internal client" + ) + : window.addEventListener("beforeunload", function () { + var t, n; + if (!e.extContentConnected) { + var r = { + glue42core: { + type: e.messages.clientUnload.name, + data: { + clientId: e.myClientId, + ownWindowId: + null === (t = e.identity) || + void 0 === t + ? void 0 + : t.windowId + } + } + }; + (e.parent && + e.parent.postMessage( + r, + e.defaultTargetString + ), + null === (n = e.port) || + void 0 === n || + n.postMessage(r)); + } + }); + }), + (e.prototype.handlePlatformReady = function (e) { + (this.logger.debug("the web platform gave the ready signal"), + (this.parentReady = !0), + this.parentPingResolve && + (this.parentPingResolve(), + delete this.parentPingResolve), + this.parentPingInterval && + (clearInterval(this.parentPingInterval), + delete this.parentPingInterval), + (this.parent = e.source), + (this.parentType = window.name.includes("#wsp") + ? "workspace" + : "window")); + }), + (e.prototype.handleConnectionAccepted = function (e) { + var t, + n = + null === (t = e.data) || void 0 === t + ? void 0 + : t.glue42core; + return this.myClientId === n.clientId + ? this.handleAcceptanceOfMyRequest(n) + : this.handleAcceptanceOfGrandChildRequest(n, e); + }), + (e.prototype.handleAcceptanceOfMyRequest = function (e) { + var t = this; + if ( + (this.logger.debug( + "handling a connection accepted signal targeted at me." + ), + (this.isPreferredActivated = e.isPreferredActivated), + this.extContentConnecting) + ) + return this.processExtContentConnection(e); + if (e.port) { + if ( + ((this.publicWindowId = this.getMyWindowId()), + this.identity && + ((this.identity.windowId = this.publicWindowId), + (this.identity.instance = this.identity.instance + ? this.identity.instance + : this.publicWindowId || $e())), + this.identity && + e.appName && + ((this.identity.application = e.appName), + (this.identity.applicationName = e.appName)), + (this._communicationId = e.communicationId), + (this.port = e.port), + (this.port.onmessage = function (e) { + return t.registry.execute("onMessage", e.data); + }), + this.connectionResolve) + ) + return ( + this.logger.debug( + "my connection is set up, calling the connection resolve." + ), + this.connectionResolve(), + void delete this.connectionResolve + ); + this.logger.error( + "unable to call the connection resolve, because no connection promise was found" + ); + } else + this.logger.error( + "cannot set up my connection, because I was not provided with a port" + ); + }), + (e.prototype.processExtContentConnection = function (e) { + var t = this; + if ( + (this.logger.debug( + "handling a connection accepted signal targeted at me for extension content connection." + ), + (this.extContentConnecting = !1), + (this.extContentConnected = !0), + (this.publicWindowId = + this.parentWindowId || this.myClientId), + this.extContentConnecting && + this.identity && + (this.identity.windowId = this.publicWindowId), + this.identity && + e.appName && + ((this.identity.application = e.appName), + (this.identity.applicationName = e.appName)), + window.addEventListener("message", function (e) { + var n, + r = + null === (n = e.data) || void 0 === n + ? void 0 + : n.glue42ExtInc; + r && t.registry.execute("onMessage", r); + }), + this.connectionResolve) + ) + return ( + this.logger.debug( + "my connection is set up, calling the connection resolve." + ), + this.connectionResolve(), + void delete this.connectionResolve + ); + }), + (e.prototype.handleAcceptanceOfGrandChildRequest = function (e, t) { + if (this.extContentConnecting || this.extContentConnected) + this.logger.debug( + "cannot process acceptance of a grandchild, because I am connected to a content script" + ); + else { + this.logger.debug( + "handling a connection accepted signal targeted at a grandchild: ".concat( + e.clientId + ) + ); + var n = this.children.find(function (t) { + return t.grandChildId === e.clientId; + }); + n + ? ((n.connected = !0), + this.logger.debug( + "the grandchild connection for ".concat( + e.clientId, + " is set up, forwarding the success message and the gateway port" + ) + ), + (e.parentWindowId = this.publicWindowId), + n.source.postMessage(t.data, n.origin, [e.port])) + : this.logger.error( + "cannot handle connection accepted for grandchild: ".concat( + e.clientId, + ", because there is no grandchild with this id" + ) + ); + } + }), + (e.prototype.handleConnectionRejected = function () { + (this.logger.debug( + "handling a connection rejection. Most likely the reason is that this window was not created by a glue API call" + ), + this.connectionReject && + (this.connectionReject( + "The platform connection was rejected. Most likely because this window was not created by a glue API call" + ), + delete this.connectionReject)); + }), + (e.prototype.handleConnectionRequest = function (e) { + if (this.extContentConnecting) + this.logger.debug( + "This connection request event is targeted at the extension content" + ); + else { + var t = e.source, + n = e.data.glue42core; + if (!n.clientType || "grandChild" !== n.clientType) + return this.rejectConnectionRequest( + t, + e.origin, + "rejecting a connection request, because the source was not opened by a glue API call" + ); + if (!n.clientId) + return this.rejectConnectionRequest( + t, + e.origin, + "rejecting a connection request, because the source did not provide a valid id" + ); + if (!this.parent) + return this.rejectConnectionRequest( + t, + e.origin, + "Cannot forward the connection request, because no direct connection to the platform was found" + ); + (this.logger.debug( + "handling a connection request for a grandchild: ".concat( + n.clientId + ) + ), + this.children.push({ + grandChildId: n.clientId, + source: t, + connected: !1, + origin: e.origin + }), + this.logger.debug( + "grandchild: ".concat( + n.clientId, + " is prepared, forwarding connection request to the platform" + ) + ), + this.parent.postMessage( + e.data, + this.defaultTargetString + )); + } + }), + (e.prototype.handleParentPing = function (e) { + if (this.parentReady) + if (this.iAmConnected) { + var t = { + glue42core: { + type: this.messages.parentReady.name + } + }; + this.extContentConnected && + (t.glue42core.extMode = { + windowId: this.myClientId + }); + var n = e.source; + (this.logger.debug( + "responding to a parent ping with a ready message" + ), + n.postMessage(t, e.origin)); + } else + this.logger.debug( + "i am not fully connected yet, I am ignoring the parent ping" + ); + else + this.logger.debug( + "my parent is not ready, I am ignoring the parent ping" + ); + }), + (e.prototype.setupPlatformUnloadListener = function () { + var e = this; + this.onMessage(function (t) { + "platformUnload" === t.type && + (e.logger.debug("detected a web platform unload"), + (e.parentReady = !1), + e.notifyStatusChanged(!1, "Gateway unloaded")); + }); + }), + (e.prototype.handleManualUnload = function () { + var e, + t, + n = { + glue42core: { + type: this.messages.clientUnload.name, + data: { + clientId: this.myClientId, + ownWindowId: + null === (e = this.identity) || void 0 === e + ? void 0 + : e.windowId + } + } + }; + if (this.extContentConnected) + return window.postMessage( + { glue42ExtOut: n }, + this.defaultTargetString + ); + null === (t = this.port) || void 0 === t || t.postMessage(n); + }), + (e.prototype.handleClientUnload = function (e) { + var t = e.data.glue42core, + n = null === t || void 0 === t ? void 0 : t.data.clientId; + n + ? this.children.find(function (e) { + return e.grandChildId === n; + }) + ? (this.logger.debug( + "handling grandchild unload for id: ".concat(n) + ), + (this.children = this.children.filter(function (e) { + return e.grandChildId !== n; + }))) + : this.logger.warn( + "cannot process grand child unload, because this client is unaware of this grandchild" + ) + : this.logger.warn( + "cannot process grand child unload, because the provided id was not valid" + ); + }), + (e.prototype.handlePlatformPing = function () {}), + (e.prototype.notifyStatusChanged = function (e, t) { + ((this.iAmConnected = e), + this.registry.execute("onConnectedChanged", e, t)); + }), + (e.prototype.checkMessageTypeValid = function (e) { + return "string" === typeof e && !!this.messages[e]; + }), + (e.prototype.rejectConnectionRequest = function (e, t, n) { + ((this.rejected = !0), this.logger.error(n)); + var r = { + glue42core: { type: this.messages.connectionRejected.name } + }; + e.postMessage(r, t); + }), + (e.prototype.requestConnectionPermissionFromExt = function () { + var e = this; + return this.waitForContentScript().then(function () { + return Xe( + function (t, n) { + ((e.extConnectionResolve = t), + (e.extConnectionReject = n)); + var r = { glue42core: { type: "extSetupRequest" } }; + (e.logger.debug( + "permission request to the extension content script was sent" + ), + window.postMessage(r, e.defaultTargetString)); + }, + e.parentPingTimeout, + "Cannot initialize glue, because this app was not opened or created by a Glue Client and the request for extension connection timed out" + ); + }); + }), + (e.prototype.handleExtConnectionResponse = function (e) { + var t; + if ( + !( + null === (t = e.data) || void 0 === t + ? void 0 + : t.glue42core + ).approved + ) + return this.extConnectionReject + ? this.extConnectionReject( + "Cannot initialize glue, because this app was not opened or created by a Glue Client and the request for extension connection was rejected" + ) + : void 0; + (this.extConnectionResolve && + (this.extConnectionResolve(), + delete this.extConnectionResolve), + (this.extContentConnecting = !0), + (this.parentType = "extension"), + this.logger.debug( + "The extension connection was approved, proceeding." + )); + }), + (e.prototype.handleExtSetupRequest = function () {}), + (e.prototype.handleGatewayDisconnect = function () {}), + (e.prototype.handleGatewayInternalConnect = function () {}), + (e.prototype.waitForContentScript = function () { + var e; + return ( + null === (e = window.glue42ext) || void 0 === e + ? void 0 + : e.content + ) + ? Promise.resolve() + : Xe( + function (e) { + window.addEventListener( + "Glue42EXTReady", + function () { + e(); + } + ); + }, + this.connectionRequestTimeout, + "The content script was available, but was never heard to be ready" + ); + }), + (e.prototype.connect = function () { + return k(this, void 0, void 0, function () { + return x(this, function (e) { + switch (e.label) { + case 0: + return this.settings.port + ? [4, this.initiateInternalConnection()] + : [3, 2]; + case 1: + return ( + e.sent(), + this.logger.debug( + "internal web platform connection completed" + ), + [2] + ); + case 2: + return ( + this.logger.debug( + "opening a client web platform connection" + ), + [4, this.findParent()] + ); + case 3: + return ( + e.sent(), + [ + 4, + this.initiateRemoteConnection( + this.parent + ) + ] + ); + case 4: + return ( + e.sent(), + this.logger.debug( + "the client is connected" + ), + [2] + ); + } + }); + }); + }), + (e.prototype.findParent = function () { + var e; + return k(this, void 0, void 0, function () { + var t, n, r, i; + return x(this, function (o) { + switch (o.label) { + case 0: + if ( + ((t = + "Cannot initiate glue, because this window was not opened or created by a glue client"), + (n = + this.getPossibleParentsInWindow( + window + )), + (r = this.getPossibleParentsOutsideWindow( + null === (e = window.top) || + void 0 === e + ? void 0 + : e.opener, + window.top + )), + !(i = new Set(_(_([], n, !0), r, !0))) + .size && !this.extContentAvailable) + ) + throw new Error(t); + return i.size || !this.extContentAvailable + ? [3, 2] + : [ + 4, + this.requestConnectionPermissionFromExt() + ]; + case 1: + case 4: + return (o.sent(), [2]); + case 2: + return [ + 4, + this.isParentCheckSuccess( + this.confirmParent(Array.from(i)) + ) + ]; + case 3: + if (o.sent().success) + return ( + this.logger.debug( + "The default parent was found!" + ), + [2] + ); + if (!this.extContentAvailable) + throw new Error(t); + return [ + 4, + this.requestConnectionPermissionFromExt() + ]; + } + }); + }); + }), + (e.prototype.getPossibleParentsInWindow = function (e) { + return e && e !== e.top + ? _( + [e.parent], + this.getPossibleParentsInWindow(e.parent), + !0 + ) + : []; + }), + (e.prototype.getPossibleParentsOutsideWindow = function (e, t) { + return e && t && e !== t + ? _( + _([e], this.getPossibleParentsInWindow(e), !0), + this.getPossibleParentsOutsideWindow(e.opener, e), + !0 + ) + : []; + }), + (e.prototype.confirmParent = function (e) { + var t = this, + n = + "Cannot initiate glue, because this window was not opened or created by a glue client", + r = Xe( + function (n) { + t.parentPingResolve = n; + var r = { + glue42core: { + type: t.messages.platformPing.name + } + }; + t.parentPingInterval = setInterval(function () { + e.forEach(function (e) { + e.postMessage(r, t.defaultTargetString); + }); + }, 1e3); + }, + this.parentPingTimeout, + n + ); + return ( + r.catch(function () { + t.parentPingInterval && + (clearInterval(t.parentPingInterval), + delete t.parentPingInterval); + }), + r + ); + }), + (e.prototype.getMyWindowId = function () { + var e; + return "workspace" === this.parentType + ? window.name.substring(0, window.name.indexOf("#wsp")) + : window === window.top + ? ( + null === (e = window.name) || void 0 === e + ? void 0 + : e.includes("g42") + ) + ? window.name + : ((this.selfAssignedWindowId = + this.selfAssignedWindowId || + "g42-".concat($e())), + this.selfAssignedWindowId) + : void 0; + }), + e + ); + })(), + Ze = function (e, t) { + var n = e; + return function () { + 0 === --n && t(); + }; + }, + et = (function () { + function e(e) { + (void 0 === e && (e = 0), + (this.minSequenceInterval = e), + (this.queue = []), + (this.isExecutingQueue = !1)); + } + return ( + (e.prototype.enqueue = function (e) { + var t = this; + return new Promise(function (n, r) { + (t.queue.push({ action: e, resolve: n, reject: r }), + t.executeQueue()); + }); + }), + (e.prototype.executeQueue = function () { + return k(this, void 0, void 0, function () { + var e, t, n; + return x(this, function (r) { + switch (r.label) { + case 0: + if (this.isExecutingQueue) return [2]; + ((this.isExecutingQueue = !0), (r.label = 1)); + case 1: + if (!this.queue.length) return [3, 7]; + if (!(e = this.queue.shift())) + return ((this.isExecutingQueue = !1), [2]); + r.label = 2; + case 2: + return ( + r.trys.push([2, 4, , 5]), + [4, e.action()] + ); + case 3: + return ((t = r.sent()), e.resolve(t), [3, 5]); + case 4: + return ((n = r.sent()), e.reject(n), [3, 5]); + case 5: + return [4, this.intervalBreak()]; + case 6: + return (r.sent(), [3, 1]); + case 7: + return ((this.isExecutingQueue = !1), [2]); + } + }); + }); + }), + (e.prototype.intervalBreak = function () { + var e = this; + return new Promise(function (t) { + return setTimeout(t, e.minSequenceInterval); + }); + }), + e + ); + })(), + tt = (function () { + function e(e, t) { + if ( + ((this.settings = e), + (this.logger = t), + (this.messageHandlers = {}), + (this.ids = 1), + (this.registry = Z()), + (this._connected = !1), + (this.isTrace = !1), + (this._swapTransport = !1), + (this._switchInProgress = !1), + (this._transportSubscriptions = []), + (this._sequelizer = new et()), + ((e = e || {}).reconnectAttempts = e.reconnectAttempts || 10), + (e.reconnectInterval = e.reconnectInterval || 1e3), + e.inproc) + ) + this.transport = new ee(e.inproc, t.subLogger("inMemory")); + else if (e.sharedWorker) + this.transport = new te( + e.sharedWorker, + t.subLogger("shared-worker") + ); + else if (e.webPlatform) + this.transport = new Ye( + e.webPlatform, + t.subLogger("web-platform"), + e.identity + ); + else { + if (void 0 === e.ws) + throw new Error("No connection information specified"); + this.transport = new ce(e, t.subLogger("ws")); + } + ((this.isTrace = t.canPublish("trace")), + t.debug( + "starting with ".concat(this.transport.name(), " transport") + ), + (this.protocol = new Ke(this, e, t.subLogger("protocol")))); + var n = this.transport.onConnectedChanged( + this.handleConnectionChanged.bind(this) + ), + r = this.transport.onMessage( + this.handleTransportMessage.bind(this) + ); + (this._transportSubscriptions.push(n), + this._transportSubscriptions.push(r), + (this._defaultTransport = this.transport)); + } + return ( + Object.defineProperty(e.prototype, "protocolVersion", { + get: function () { + var e; + return null === (e = this.protocol) || void 0 === e + ? void 0 + : e.protocolVersion; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.switchTransport = function (e) { + return k(this, void 0, void 0, function () { + var t = this; + return x(this, function (n) { + return [ + 2, + this._sequelizer.enqueue(function () { + return k(t, void 0, void 0, function () { + var t, n, r; + return x(this, function (i) { + switch (i.label) { + case 0: + if (!e || "object" !== typeof e) + throw new Error( + "Cannot switch transports, because the settings are missing or invalid." + ); + if ( + "undefined" === + typeof e.type + ) + throw new Error( + "Cannot switch the transport, because the type is not defined" + ); + return ( + this.logger.trace( + "Starting transport switch with settings: ".concat( + JSON.stringify(e) + ) + ), + (t = + "secondary" === e.type + ? this.getNewSecondaryTransport( + e + ) + : this + ._defaultTransport), + (this._targetTransport = t), + (this._targetAuth = + "secondary" === e.type + ? this.getNewSecondaryAuth( + e + ) + : this + ._defaultAuth), + (n = + this.verifyConnection()), + (this._swapTransport = !0), + (this._switchInProgress = + !0), + this.logger.trace( + "The new transport has been set, closing the current transport" + ), + [4, this.transport.close()] + ); + case 1: + (i.sent(), (i.label = 2)); + case 2: + return ( + i.trys.push([2, 4, , 5]), + [4, n] + ); + case 3: + return ( + i.sent(), + (r = this.transport === t), + this.logger.info( + "The reconnection after the switch was completed. Was the switch a success: ".concat( + r + ) + ), + (this._switchInProgress = + !1), + [2, { success: r }] + ); + case 4: + return ( + i.sent(), + this.logger.info( + "The reconnection after the switch timed out, reverting back to the default transport." + ), + this.switchTransport({ + type: "default" + }), + (this._switchInProgress = + !1), + [2, { success: !1 }] + ); + case 5: + return [2]; + } + }); + }); + }) + ]; + }); + }); + }), + (e.prototype.onLibReAnnounced = function (e) { + return this.registry.add("libReAnnounced", e); + }), + (e.prototype.setLibReAnnounced = function (e) { + this.registry.execute("libReAnnounced", e); + }), + (e.prototype.send = function (e, t) { + if ( + this.transport.sendObject && + this.transport.isObjectBasedTransport + ) { + var n = this.protocol.createObjectMessage(e); + return ( + this.isTrace && + this.logger.trace(">> ".concat(JSON.stringify(n))), + this.transport.sendObject(n, t) + ); + } + var r = this.protocol.createStringMessage(e); + return ( + this.isTrace && this.logger.trace(">> ".concat(r)), + this.transport.send(r, t) + ); + }), + (e.prototype.on = function (e, t) { + ((e = e.toLowerCase()), + void 0 === this.messageHandlers[e] && + (this.messageHandlers[e] = {})); + var n = this.ids++; + return ((this.messageHandlers[e][n] = t), { type: e, id: n }); + }), + (e.prototype.off = function (e) { + delete this.messageHandlers[e.type.toLowerCase()][e.id]; + }), + Object.defineProperty(e.prototype, "isConnected", { + get: function () { + return this.protocol.isLoggedIn; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.connected = function (e) { + var t = this; + return this.protocol.loggedIn(function () { + var n = t.transport.name(); + e(n); + }); + }), + (e.prototype.disconnected = function (e) { + return this.registry.add("disconnected", e); + }), + (e.prototype.login = function (e, t) { + return k(this, void 0, void 0, function () { + var n, r, i; + return x(this, function (o) { + switch (o.label) { + case 0: + (this._defaultAuth || (this._defaultAuth = e), + this._swapTransport && + (this.logger.trace( + "Detected a transport swap, swapping transports" + ), + (n = this.transportSwap()), + (e = + null !== n && void 0 !== n + ? n + : e)), + this.logger.trace( + "Starting login for transport: " + .concat( + this.transport.name(), + " and auth " + ) + .concat(JSON.stringify(e)) + ), + (o.label = 1)); + case 1: + return ( + o.trys.push([1, 4, , 5]), + [4, this.transport.open()] + ); + case 2: + return ( + o.sent(), + this.logger.trace( + "Transport: ".concat( + this.transport.name(), + " opened, logging in" + ) + ), + ae("connection").mark("transport-opened"), + [4, this.protocol.login(e, t)] + ); + case 3: + return ( + (r = o.sent()), + this.logger.trace( + "Logged in with identity: ".concat( + JSON.stringify(r) + ) + ), + ae("connection").mark("protocol-logged-in"), + [2, r] + ); + case 4: + throw ( + (i = o.sent()), + this._switchInProgress && + (this.logger.trace( + "An error while logging in after a transport swap, preparing a default swap." + ), + this.prepareDefaultSwap()), + new Error(i) + ); + case 5: + return [2]; + } + }); + }); + }), + (e.prototype.logout = function () { + return k(this, void 0, void 0, function () { + return x(this, function (e) { + switch (e.label) { + case 0: + return [4, this.protocol.logout()]; + case 1: + return (e.sent(), [4, this.transport.close()]); + case 2: + return (e.sent(), [2]); + } + }); + }); + }), + (e.prototype.loggedIn = function (e) { + return this.protocol.loggedIn(e); + }), + (e.prototype.domain = function (e, t, n) { + return this.protocol.domain( + e, + this.logger.subLogger("domain=".concat(e)), + t, + n + ); + }), + (e.prototype.authToken = function () { + return this.protocol.authToken(); + }), + (e.prototype.reconnect = function () { + return this.transport.reconnect(); + }), + (e.prototype.distributeMessage = function (e, t) { + var n = this, + r = this.messageHandlers[t.toLowerCase()]; + void 0 !== r && + Object.keys(r).forEach(function (t) { + var i = r[t]; + if (void 0 !== i) + try { + i(e); + } catch (o) { + try { + n.logger.error( + "Message handler failed with ".concat( + o.stack + ), + o + ); + } catch (a) { + console.log("Message handler failed", o); + } + } + }); + }), + (e.prototype.handleConnectionChanged = function (e) { + this._connected !== e && + ((this._connected = e), + e + ? (this.settings.replaySpecs && + this.settings.replaySpecs.length && + ((this.replayer = new Qe( + this.settings.replaySpecs + )), + this.replayer.init(this)), + this.registry.execute("connected")) + : this.registry.execute("disconnected")); + }), + (e.prototype.handleTransportMessage = function (e) { + var t; + ((t = + "string" === typeof e + ? this.protocol.processStringMessage(e) + : this.protocol.processObjectMessage(e)), + this.isTrace && + this.logger.trace("<< ".concat(JSON.stringify(t))), + this.distributeMessage(t.msg, t.msgType)); + }), + (e.prototype.verifyConnection = function () { + var e = this; + return Xe( + function (t) { + var n, + r = Ze(2, function () { + (n && n(), t()); + }); + n = e.onLibReAnnounced(function (e) { + return "interop" === e.name || "contexts" === e.name + ? r() + : void 0; + }); + }, + 1e4, + "Transport switch timed out waiting for all libraries to be re-announced" + ); + }), + (e.prototype.getNewSecondaryTransport = function (e) { + var t; + if ( + !(null === (t = e.transportConfig) || void 0 === t + ? void 0 + : t.url) + ) + throw new Error("Missing secondary transport URL."); + return new ce( + Object.assign({}, this.settings, { + ws: e.transportConfig.url, + reconnectAttempts: 1 + }), + this.logger.subLogger("ws-secondary") + ); + }), + (e.prototype.getNewSecondaryAuth = function (e) { + var t; + if ( + !(null === (t = e.transportConfig) || void 0 === t + ? void 0 + : t.auth) + ) + throw new Error( + "Missing secondary transport auth information." + ); + return e.transportConfig.auth; + }), + (e.prototype.transportSwap = function () { + if ( + ((this._swapTransport = !1), + this._targetTransport && this._targetAuth) + ) { + (this._transportSubscriptions.forEach(function (e) { + return e(); + }), + (this._transportSubscriptions = []), + (this.transport = this._targetTransport)); + var e = this.transport.onConnectedChanged( + this.handleConnectionChanged.bind(this) + ), + t = this.transport.onMessage( + this.handleTransportMessage.bind(this) + ); + return ( + this._transportSubscriptions.push(e), + this._transportSubscriptions.push(t), + this._targetAuth + ); + } + this.logger.warn( + "Error while switching transports - either the target transport or auth is not defined: transport defined -> " + .concat(!!this._defaultTransport, ", auth defined -> ") + .concat( + !!this._targetAuth, + ". Staying on the current one." + ) + ); + }), + (e.prototype.prepareDefaultSwap = function () { + var e = this; + (this._transportSubscriptions.forEach(function (e) { + return e(); + }), + (this._transportSubscriptions = []), + this.transport.close().catch(function (t) { + return e.logger.warn( + "Error closing the " + .concat( + e.transport.name(), + " transport after a failed connection attempt: " + ) + .concat(JSON.stringify(t)) + ); + }), + (this._targetTransport = this._defaultTransport), + (this._targetAuth = this._defaultAuth), + (this._swapTransport = !0)); + }), + e + ); + })(), + nt = ["trace", "debug", "info", "warn", "error", "off"], + rt = (function () { + function e(e, t, n) { + ((this.name = e), + (this.parent = t), + (this.subLoggers = []), + (this.logFn = console), + (this.customLogFn = !1), + (this.name = e), + (this.path = t ? "".concat(t.path, ".").concat(e) : e), + (this.loggerFullName = "[".concat(this.path, "]")), + (this.includeTimeAndLevel = !n), + n && ((this.logFn = n), (this.customLogFn = !0))); + } + return ( + (e.prototype.subLogger = function (t) { + var n = this.subLoggers.filter(function (e) { + return e.name === t; + })[0]; + if (void 0 !== n) return n; + Object.keys(this).forEach(function (e) { + if (e === t) + throw new Error("This sub logger name is not allowed."); + }); + var r = new e(t, this, this.customLogFn ? this.logFn : void 0); + return (this.subLoggers.push(r), r); + }), + (e.prototype.publishLevel = function (e) { + var t; + return ( + e && (this._publishLevel = e), + this._publishLevel || + (null === (t = this.parent) || void 0 === t + ? void 0 + : t.publishLevel()) + ); + }), + (e.prototype.consoleLevel = function (e) { + var t; + return ( + e && (this._consoleLevel = e), + this._consoleLevel || + (null === (t = this.parent) || void 0 === t + ? void 0 + : t.consoleLevel()) + ); + }), + (e.prototype.log = function (e, t, n) { + this.publishMessage(t || "info", e, n); + }), + (e.prototype.trace = function (e) { + this.log(e, "trace"); + }), + (e.prototype.debug = function (e) { + this.log(e, "debug"); + }), + (e.prototype.info = function (e) { + this.log(e, "info"); + }), + (e.prototype.warn = function (e) { + this.log(e, "warn"); + }), + (e.prototype.error = function (e, t) { + this.log(e, "error"); + }), + (e.prototype.canPublish = function (e, t) { + return ( + nt.indexOf(e) >= + nt.indexOf(t || this.consoleLevel() || "trace") + ); + }), + (e.prototype.publishMessage = function (t, n, r) { + var i = this.loggerFullName; + if ("error" === t && !r) { + var o = new Error(); + o.stack && + (n = + n + "\n" + o.stack.split("\n").slice(3).join("\n")); + } + if (this.canPublish(t, this.publishLevel())) { + var a = e.Interop; + if (a) + try { + a.methods({ name: e.InteropMethodName }).length > + 0 && + a.invoke(e.InteropMethodName, { + msg: "".concat(n), + logger: i, + level: t + }); + } catch (ba) {} + } + if (this.canPublish(t)) { + var s = ""; + if (this.includeTimeAndLevel) { + var c = new Date(), + u = "" + .concat(c.getHours(), ":") + .concat(c.getMinutes(), ":") + .concat(c.getSeconds(), ":") + .concat(c.getMilliseconds()); + s = "[".concat(u, "] [").concat(t, "] "); + } + var d = "".concat(s).concat(i, ": ").concat(n); + switch (t) { + case "trace": + this.logFn.debug(d); + break; + case "debug": + this.logFn.debug + ? this.logFn.debug(d) + : this.logFn.log(d); + break; + case "info": + this.logFn.info(d); + break; + case "warn": + this.logFn.warn(d); + break; + case "error": + this.logFn.error(d, r); + } + } + }), + (e.InteropMethodName = "T42.AppLogger.Log"), + e + ); + })(), + it = "create-context", + ot = "created", + at = "destroyed", + st = "context-created", + ct = "context-added", + ut = "subscribe-context", + dt = "subscribed-context", + lt = "unsubscribe-context", + pt = "destroy-context", + ht = "context-destroyed", + ft = "update-context", + vt = "context-updated", + mt = "joined", + gt = { + get name() { + return "context"; + }, + get types() { + return [it, ot, at, st, ct, ut, dt, lt, pt, ht, ft, vt, mt]; + } + }, + yt = "6.0.2"; + function wt(e, t, n) { + var r, i, o, a, s; + if (ne.isNode()) { + var c = { + NODE_ENV: "production", + PUBLIC_URL: ".", + WDS_SOCKET_HOST: void 0, + WDS_SOCKET_PATH: void 0, + WDS_SOCKET_PORT: void 0, + FAST_REFRESH: !0 + }._GD_STARTING_CONTEXT_; + if (c) + try { + s = JSON.parse(c); + } catch (y) {} + } + function u() { + var r, + i, + o, + a, + c, + u, + d, + p, + h, + f, + v, + m = e.gateway, + g = + null !== + (r = + null === m || void 0 === m + ? void 0 + : m.protocolVersion) && void 0 !== r + ? r + : 3, + y = null === m || void 0 === m ? void 0 : m.reconnectInterval, + w = null === m || void 0 === m ? void 0 : m.reconnectAttempts, + b = "ws://localhost:8385", + k = null === m || void 0 === m ? void 0 : m.ws, + x = null === m || void 0 === m ? void 0 : m.sharedWorker, + _ = null === m || void 0 === m ? void 0 : m.inproc, + C = + null !== + (i = null === m || void 0 === m ? void 0 : m.webPlatform) && + void 0 !== i + ? i + : void 0; + (n && (k = n.gwURL), + ne.isNode() && s && s.gwURL && (k = s.gwURL), + k || x || _ || (k = b)); + var I = l(), + S = I; + "undefined" !== typeof n + ? ((p = n.windowId), + (h = n.pid), + n.env && ((f = n.env.env), (v = n.env.region)), + (S = + null !== (o = n.application) && void 0 !== o + ? o + : "glue-app"), + (d = n.appInstanceId)) + : ne.isNode() + ? ((h = process.pid), + s && ((f = s.env), (v = s.region), (d = s.instanceId))) + : "undefined" !== + typeof (null === window || void 0 === window + ? void 0 + : window.glue42electron) && + ((p = + null === window || void 0 === window + ? void 0 + : window.glue42electron.instanceId), + (h = + null === window || void 0 === window + ? void 0 + : window.glue42electron.pid), + (f = + null === window || void 0 === window + ? void 0 + : window.glue42electron.env), + (v = + null === window || void 0 === window + ? void 0 + : window.glue42electron.region), + (S = + null !== + (a = + null === window || void 0 === window + ? void 0 + : window.glue42electron.application) && + void 0 !== a + ? a + : "glue-app"), + (d = + null === window || void 0 === window + ? void 0 + : window.glue42electron.instanceId)); + var E = + null !== + (u = + null === (c = e.gateway) || void 0 === c + ? void 0 + : c.replaySpecs) && void 0 !== u + ? u + : []; + E.push(gt); + var W = { + application: S, + applicationName: I, + windowId: p, + instance: d, + process: h, + region: v, + environment: f, + api: t.version || yt + }; + return ( + e.identity && (W = Object.assign(W, e.identity)), + { + identity: W, + reconnectInterval: y, + ws: k, + sharedWorker: x, + webPlatform: C, + inproc: _, + protocolVersion: g, + reconnectAttempts: w, + replaySpecs: E + } + ); + } + function d() { + return "undefined" === typeof e.contexts || + ("boolean" === typeof e.contexts && e.contexts) + ? { reAnnounceKnownContexts: !0 } + : "object" === typeof e.contexts && + Object.assign( + {}, + { reAnnounceKnownContexts: !0 }, + e.contexts + ); + } + function l() { + if (e.application) return e.application; + if (n) return n.applicationName; + if ( + "undefined" !== typeof window && + "undefined" !== typeof window.glue42electron + ) + return window.glue42electron.application; + var t = $e(); + return ne.isNode() + ? s + ? s.applicationConfig.name + : "NodeJS" + t + : "undefined" !== typeof window && "undefined" !== typeof document + ? document.title + " (".concat(t, ")") + : t; + } + function p() { + var t, n, r; + return "string" === typeof e.auth + ? { token: e.auth } + : e.auth + ? e.auth + : ne.isNode() && s && s.gwToken + ? { gatewayToken: s.gwToken } + : (null === (t = e.gateway) || void 0 === t + ? void 0 + : t.webPlatform) || + (null === (n = e.gateway) || void 0 === n + ? void 0 + : n.inproc) || + (null === (r = e.gateway) || void 0 === r + ? void 0 + : r.sharedWorker) + ? { username: "glue42", password: "glue42" } + : void 0; + } + function h() { + var t, + r, + i, + o = e.logger, + a = "warn"; + return ( + o || (o = a), + n && (i = n.consoleLogLevel), + "string" === typeof o + ? { console: null !== i && void 0 !== i ? i : o, publish: a } + : { + console: + null !== + (t = + null !== i && void 0 !== i ? i : o.console) && + void 0 !== t + ? t + : a, + publish: null !== (r = o.publish) && void 0 !== r ? r : a + } + ); + } + var f = u(), + v = l(); + if ("undefined" !== typeof window) { + var m = window, + g = m.htmlContainer + ? "" + .concat(m.htmlContainer.containerName, ".") + .concat(m.htmlContainer.application) + : null === + (r = + null === m || void 0 === m ? void 0 : m.glue42gd) || + void 0 === r + ? void 0 + : r.application; + g && (v = g); + } + return { + bus: null !== (i = e.bus) && void 0 !== i && i, + application: v, + auth: p(), + logger: h(), + connection: f, + metrics: null === (o = e.metrics) || void 0 === o || o, + contexts: d(), + version: t.version || yt, + libs: null !== (a = t.libs) && void 0 !== a ? a : [], + customLogger: e.customLogger + }; + } + var bt = (function () { + function e(e, t, n, r) { + ((this.updateCallbacks = {}), + (this.contextId = e), + (this.name = t), + (this.isAnnounced = n), + (this.activityId = r), + (this.context = {})); + } + return ( + (e.prototype.hasCallbacks = function () { + return Object.keys(this.updateCallbacks).length > 0; + }), + (e.prototype.getState = function () { + return this.isAnnounced && this.hasCallbacks() + ? 3 + : this.isAnnounced + ? 2 + : this.hasCallbacks() + ? 1 + : 0; + }), + e + ); + })(), + kt = {}; + !(function (e, t) { + var n = 200, + r = "__lodash_hash_undefined__", + i = 9007199254740991, + o = "[object Arguments]", + a = "[object Array]", + s = "[object Boolean]", + c = "[object Date]", + u = "[object Error]", + d = "[object Function]", + l = "[object GeneratorFunction]", + p = "[object Map]", + h = "[object Number]", + f = "[object Object]", + v = "[object Promise]", + m = "[object RegExp]", + g = "[object Set]", + y = "[object String]", + w = "[object Symbol]", + b = "[object WeakMap]", + k = "[object ArrayBuffer]", + x = "[object DataView]", + _ = "[object Float32Array]", + C = "[object Float64Array]", + I = "[object Int8Array]", + S = "[object Int16Array]", + E = "[object Int32Array]", + W = "[object Uint8Array]", + T = "[object Uint8ClampedArray]", + A = "[object Uint16Array]", + P = "[object Uint32Array]", + M = /[\\^$.*+?()[\]{}|]/g, + R = /\w*$/, + O = /^\[object .+?Constructor\]$/, + D = /^(?:0|[1-9]\d*)$/, + L = {}; + ((L[o] = + L[a] = + L[k] = + L[x] = + L[s] = + L[c] = + L[_] = + L[C] = + L[I] = + L[S] = + L[E] = + L[p] = + L[h] = + L[f] = + L[m] = + L[g] = + L[y] = + L[w] = + L[W] = + L[T] = + L[A] = + L[P] = + !0), + (L[u] = L[d] = L[b] = !1)); + var B = "object" == typeof Q && Q && Q.Object === Object && Q, + N = "object" == typeof self && self && self.Object === Object && self, + F = B || N || Function("return this")(), + j = t && !t.nodeType && t, + H = j && e && !e.nodeType && e, + z = H && H.exports === j; + function q(e, t) { + return (e.set(t[0], t[1]), e); + } + function G(e, t) { + return (e.add(t), e); + } + function U(e, t) { + for ( + var n = -1, r = e ? e.length : 0; + ++n < r && !1 !== t(e[n], n, e); + + ); + return e; + } + function V(e, t) { + for (var n = -1, r = t.length, i = e.length; ++n < r; ) e[i + n] = t[n]; + return e; + } + function $(e, t, n, r) { + var i = -1, + o = e ? e.length : 0; + for (r && o && (n = e[++i]); ++i < o; ) n = t(n, e[i], i, e); + return n; + } + function J(e, t) { + for (var n = -1, r = Array(e); ++n < e; ) r[n] = t(n); + return r; + } + function K(e, t) { + return null == e ? void 0 : e[t]; + } + function X(e) { + var t = !1; + if (null != e && "function" != typeof e.toString) + try { + t = !!(e + ""); + } catch (n) {} + return t; + } + function Y(e) { + var t = -1, + n = Array(e.size); + return ( + e.forEach(function (e, r) { + n[++t] = [r, e]; + }), + n + ); + } + function Z(e, t) { + return function (n) { + return e(t(n)); + }; + } + function ee(e) { + var t = -1, + n = Array(e.size); + return ( + e.forEach(function (e) { + n[++t] = e; + }), + n + ); + } + var te = Array.prototype, + ne = Function.prototype, + re = Object.prototype, + ie = F["__core-js_shared__"], + oe = (function () { + var e = /[^.]+$/.exec((ie && ie.keys && ie.keys.IE_PROTO) || ""); + return e ? "Symbol(src)_1." + e : ""; + })(), + ae = ne.toString, + se = re.hasOwnProperty, + ce = re.toString, + ue = RegExp( + "^" + + ae + .call(se) + .replace(M, "\\$&") + .replace( + /hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g, + "$1.*?" + ) + + "$" + ), + de = z ? F.Buffer : void 0, + le = F.Symbol, + pe = F.Uint8Array, + he = Z(Object.getPrototypeOf, Object), + fe = Object.create, + ve = re.propertyIsEnumerable, + me = te.splice, + ge = Object.getOwnPropertySymbols, + ye = de ? de.isBuffer : void 0, + we = Z(Object.keys, Object), + be = St(F, "DataView"), + ke = St(F, "Map"), + xe = St(F, "Promise"), + _e = St(F, "Set"), + Ce = St(F, "WeakMap"), + Ie = St(Object, "create"), + Se = Lt(be), + Ee = Lt(ke), + We = Lt(xe), + Te = Lt(_e), + Ae = Lt(Ce), + Pe = le ? le.prototype : void 0, + Me = Pe ? Pe.valueOf : void 0; + function Re(e) { + var t = -1, + n = e ? e.length : 0; + for (this.clear(); ++t < n; ) { + var r = e[t]; + this.set(r[0], r[1]); + } + } + function Oe() { + this.__data__ = Ie ? Ie(null) : {}; + } + function De(e) { + return this.has(e) && delete this.__data__[e]; + } + function Le(e) { + var t = this.__data__; + if (Ie) { + var n = t[e]; + return n === r ? void 0 : n; + } + return se.call(t, e) ? t[e] : void 0; + } + function Be(e) { + var t = this.__data__; + return Ie ? void 0 !== t[e] : se.call(t, e); + } + function Ne(e, t) { + return ((this.__data__[e] = Ie && void 0 === t ? r : t), this); + } + function Fe(e) { + var t = -1, + n = e ? e.length : 0; + for (this.clear(); ++t < n; ) { + var r = e[t]; + this.set(r[0], r[1]); + } + } + function je() { + this.__data__ = []; + } + function He(e) { + var t = this.__data__, + n = ot(t, e); + return !(n < 0) && (n == t.length - 1 ? t.pop() : me.call(t, n, 1), !0); + } + function ze(e) { + var t = this.__data__, + n = ot(t, e); + return n < 0 ? void 0 : t[n][1]; + } + function qe(e) { + return ot(this.__data__, e) > -1; + } + function Ge(e, t) { + var n = this.__data__, + r = ot(n, e); + return (r < 0 ? n.push([e, t]) : (n[r][1] = t), this); + } + function Ue(e) { + var t = -1, + n = e ? e.length : 0; + for (this.clear(); ++t < n; ) { + var r = e[t]; + this.set(r[0], r[1]); + } + } + function Ve() { + this.__data__ = { + hash: new Re(), + map: new (ke || Fe)(), + string: new Re() + }; + } + function $e(e) { + return It(this, e).delete(e); + } + function Je(e) { + return It(this, e).get(e); + } + function Ke(e) { + return It(this, e).has(e); + } + function Qe(e, t) { + return (It(this, e).set(e, t), this); + } + function Xe(e) { + this.__data__ = new Fe(e); + } + function Ye() { + this.__data__ = new Fe(); + } + function Ze(e) { + return this.__data__.delete(e); + } + function et(e) { + return this.__data__.get(e); + } + function tt(e) { + return this.__data__.has(e); + } + function nt(e, t) { + var r = this.__data__; + if (r instanceof Fe) { + var i = r.__data__; + if (!ke || i.length < n - 1) return (i.push([e, t]), this); + r = this.__data__ = new Ue(i); + } + return (r.set(e, t), this); + } + function rt(e, t) { + var n = jt(e) || Ft(e) ? J(e.length, String) : [], + r = n.length, + i = !!r; + for (var o in e) + (!t && !se.call(e, o)) || + (i && ("length" == o || Mt(o, r))) || + n.push(o); + return n; + } + function it(e, t, n) { + var r = e[t]; + (se.call(e, t) && Nt(r, n) && (void 0 !== n || t in e)) || (e[t] = n); + } + function ot(e, t) { + for (var n = e.length; n--; ) if (Nt(e[n][0], t)) return n; + return -1; + } + function at(e, t) { + return e && xt(t, Jt(t), e); + } + function st(e, t, n, r, i, a, s) { + var c; + if ((r && (c = a ? r(e, i, a, s) : r(e)), void 0 !== c)) return c; + if (!Vt(e)) return e; + var u = jt(e); + if (u) { + if (((c = Tt(e)), !t)) return kt(e, c); + } else { + var p = Wt(e), + h = p == d || p == l; + if (qt(e)) return ht(e, t); + if (p == f || p == o || (h && !a)) { + if (X(e)) return a ? e : {}; + if (((c = At(h ? {} : e)), !t)) return _t(e, at(c, e)); + } else { + if (!L[p]) return a ? e : {}; + c = Pt(e, p, st, t); + } + } + s || (s = new Xe()); + var v = s.get(e); + if (v) return v; + if ((s.set(e, c), !u)) var m = n ? Ct(e) : Jt(e); + return ( + U(m || e, function (i, o) { + (m && (i = e[(o = i)]), it(c, o, st(i, t, n, r, o, e, s))); + }), + c + ); + } + function ct(e) { + return Vt(e) ? fe(e) : {}; + } + function ut(e, t, n) { + var r = t(e); + return jt(e) ? r : V(r, n(e)); + } + function dt(e) { + return ce.call(e); + } + function lt(e) { + return !(!Vt(e) || Ot(e)) && (Gt(e) || X(e) ? ue : O).test(Lt(e)); + } + function pt(e) { + if (!Dt(e)) return we(e); + var t = []; + for (var n in Object(e)) + se.call(e, n) && "constructor" != n && t.push(n); + return t; + } + function ht(e, t) { + if (t) return e.slice(); + var n = new e.constructor(e.length); + return (e.copy(n), n); + } + function ft(e) { + var t = new e.constructor(e.byteLength); + return (new pe(t).set(new pe(e)), t); + } + function vt(e, t) { + var n = t ? ft(e.buffer) : e.buffer; + return new e.constructor(n, e.byteOffset, e.byteLength); + } + function mt(e, t, n) { + return $(t ? n(Y(e), !0) : Y(e), q, new e.constructor()); + } + function gt(e) { + var t = new e.constructor(e.source, R.exec(e)); + return ((t.lastIndex = e.lastIndex), t); + } + function yt(e, t, n) { + return $(t ? n(ee(e), !0) : ee(e), G, new e.constructor()); + } + function wt(e) { + return Me ? Object(Me.call(e)) : {}; + } + function bt(e, t) { + var n = t ? ft(e.buffer) : e.buffer; + return new e.constructor(n, e.byteOffset, e.length); + } + function kt(e, t) { + var n = -1, + r = e.length; + for (t || (t = Array(r)); ++n < r; ) t[n] = e[n]; + return t; + } + function xt(e, t, n, r) { + n || (n = {}); + for (var i = -1, o = t.length; ++i < o; ) { + var a = t[i], + s = r ? r(n[a], e[a], a, n, e) : void 0; + it(n, a, void 0 === s ? e[a] : s); + } + return n; + } + function _t(e, t) { + return xt(e, Et(e), t); + } + function Ct(e) { + return ut(e, Jt, Et); + } + function It(e, t) { + var n = e.__data__; + return Rt(t) ? n["string" == typeof t ? "string" : "hash"] : n.map; + } + function St(e, t) { + var n = K(e, t); + return lt(n) ? n : void 0; + } + ((Re.prototype.clear = Oe), + (Re.prototype.delete = De), + (Re.prototype.get = Le), + (Re.prototype.has = Be), + (Re.prototype.set = Ne), + (Fe.prototype.clear = je), + (Fe.prototype.delete = He), + (Fe.prototype.get = ze), + (Fe.prototype.has = qe), + (Fe.prototype.set = Ge), + (Ue.prototype.clear = Ve), + (Ue.prototype.delete = $e), + (Ue.prototype.get = Je), + (Ue.prototype.has = Ke), + (Ue.prototype.set = Qe), + (Xe.prototype.clear = Ye), + (Xe.prototype.delete = Ze), + (Xe.prototype.get = et), + (Xe.prototype.has = tt), + (Xe.prototype.set = nt)); + var Et = ge ? Z(ge, Object) : Kt, + Wt = dt; + function Tt(e) { + var t = e.length, + n = e.constructor(t); + return ( + t && + "string" == typeof e[0] && + se.call(e, "index") && + ((n.index = e.index), (n.input = e.input)), + n + ); + } + function At(e) { + return "function" != typeof e.constructor || Dt(e) ? {} : ct(he(e)); + } + function Pt(e, t, n, r) { + var i = e.constructor; + switch (t) { + case k: + return ft(e); + case s: + case c: + return new i(+e); + case x: + return vt(e, r); + case _: + case C: + case I: + case S: + case E: + case W: + case T: + case A: + case P: + return bt(e, r); + case p: + return mt(e, r, n); + case h: + case y: + return new i(e); + case m: + return gt(e); + case g: + return yt(e, r, n); + case w: + return wt(e); + } + } + function Mt(e, t) { + return ( + !!(t = null == t ? i : t) && + ("number" == typeof e || D.test(e)) && + e > -1 && + e % 1 == 0 && + e < t + ); + } + function Rt(e) { + var t = typeof e; + return "string" == t || "number" == t || "symbol" == t || "boolean" == t + ? "__proto__" !== e + : null === e; + } + function Ot(e) { + return !!oe && oe in e; + } + function Dt(e) { + var t = e && e.constructor; + return e === (("function" == typeof t && t.prototype) || re); + } + function Lt(e) { + if (null != e) { + try { + return ae.call(e); + } catch (t) {} + try { + return e + ""; + } catch (t) {} + } + return ""; + } + function Bt(e) { + return st(e, !0, !0); + } + function Nt(e, t) { + return e === t || (e !== e && t !== t); + } + function Ft(e) { + return ( + zt(e) && + se.call(e, "callee") && + (!ve.call(e, "callee") || ce.call(e) == o) + ); + } + ((be && Wt(new be(new ArrayBuffer(1))) != x) || + (ke && Wt(new ke()) != p) || + (xe && Wt(xe.resolve()) != v) || + (_e && Wt(new _e()) != g) || + (Ce && Wt(new Ce()) != b)) && + (Wt = function (e) { + var t = ce.call(e), + n = t == f ? e.constructor : void 0, + r = n ? Lt(n) : void 0; + if (r) + switch (r) { + case Se: + return x; + case Ee: + return p; + case We: + return v; + case Te: + return g; + case Ae: + return b; + } + return t; + }); + var jt = Array.isArray; + function Ht(e) { + return null != e && Ut(e.length) && !Gt(e); + } + function zt(e) { + return $t(e) && Ht(e); + } + var qt = ye || Qt; + function Gt(e) { + var t = Vt(e) ? ce.call(e) : ""; + return t == d || t == l; + } + function Ut(e) { + return "number" == typeof e && e > -1 && e % 1 == 0 && e <= i; + } + function Vt(e) { + var t = typeof e; + return !!e && ("object" == t || "function" == t); + } + function $t(e) { + return !!e && "object" == typeof e; + } + function Jt(e) { + return Ht(e) ? rt(e) : pt(e); + } + function Kt() { + return []; + } + function Qt() { + return !1; + } + e.exports = Bt; + })( + { + get exports() { + return kt; + }, + set exports(e) { + kt = e; + } + }, + kt + ); + var xt = kt; + function _t(e, t, n) { + try { + if ( + ((null === n || void 0 === n ? void 0 : n.canPublish("trace")) && + (null === n || + void 0 === n || + n.trace( + "applying context delta " + .concat(JSON.stringify(t), " on context ") + .concat(JSON.stringify(e)) + )), + !t) + ) + return e; + if (t.reset) return (e = b({}, t.reset)); + if (((e = Ct(e, void 0)), t.commands)) { + for (var r = 0, i = t.commands; r < i.length; r++) { + var o = i[r]; + "remove" === o.type + ? Tt(e, o.path) + : "set" === o.type && Et(e, o.value, o.path); + } + return e; + } + var a = t.added, + s = t.updated, + c = t.removed; + return ( + a && + Object.keys(a).forEach(function (t) { + e[t] = a[t]; + }), + s && + Object.keys(s).forEach(function (t) { + It(t, e, s); + }), + c && + c.forEach(function (t) { + delete e[t]; + }), + e + ); + } catch (u) { + return ( + null === n || + void 0 === n || + n.error( + "error applying context delta " + .concat(JSON.stringify(t), " on context ") + .concat(JSON.stringify(e)), + u + ), + e + ); + } + } + function Ct(e, t) { + return xt(e); + } + var It = function (e, t, n) { + var r = n[e]; + if (void 0 === r) return t; + var i = t[e]; + return i && r + ? "string" === typeof i || + "number" === typeof i || + "boolean" === typeof i || + "string" === typeof r || + "number" === typeof r || + "boolean" === typeof r || + Array.isArray(i) || + Array.isArray(r) + ? ((t[e] = r), t) + : ((t[e] = Object.assign({}, i, r)), t) + : ((t[e] = r), t); + }; + function St(e, t) { + if (e === t) return !0; + if (!(e instanceof Object) || !(t instanceof Object)) return !1; + if (e.constructor !== t.constructor) return !1; + for (var n in e) + if (e.hasOwnProperty(n)) { + if (!t.hasOwnProperty(n)) return !1; + if (e[n] !== t[n]) { + if ("object" !== typeof e[n]) return !1; + if (!St(e[n], t[n])) return !1; + } + } + for (var n in t) if (t.hasOwnProperty(n) && !e.hasOwnProperty(n)) return !1; + return !0; + } + function Et(e, t, n) { + var r, + i = n.split("."); + for (r = 0; r < i.length - 1; r++) + (e[i[r]] || (e[i[r]] = {}), + "object" !== typeof e[i[r]] && (e[i[r]] = {}), + (e = e[i[r]])); + e[i[r]] = t; + } + function Wt(e, t) { + return Object.keys(t).every(function (n) { + return "object" === typeof t[n] + ? Wt((null === e || void 0 === e ? void 0 : e[n]) || {}, t[n] || {}) + : t[n] === (null === e || void 0 === e ? void 0 : e[n]); + }); + } + function Tt(e, t) { + var n, + r = t.split("."); + for (n = 0; n < r.length - 1; n++) { + if (!e[r[n]]) return; + e = e[r[n]]; + } + delete e[r[n]]; + } + var At, + Pt = (function () { + function e(e) { + var t, + n = this; + ((this._contextNameToData = {}), + (this._gw3Subscriptions = []), + (this._nextCallbackSubscriptionNumber = 0), + (this._creationPromises = {}), + (this._contextNameToId = {}), + (this._contextIdToName = {}), + (this._protocolVersion = void 0), + (this._contextsTempCache = {}), + (this._contextsSubscriptionsCache = []), + (this._connection = e.connection), + (this._logger = e.logger), + (this._trackAllContexts = e.trackAllContexts), + (this._reAnnounceKnownContexts = e.reAnnounceKnownContexts), + (this._gw3Session = this._connection.domain("global", [ + st, + dt, + ht, + vt + ])), + this._gw3Session.disconnected(this.resetState.bind(this)), + this._gw3Session.onJoined(function (e) { + if (e) + return n._reAnnounceKnownContexts + ? void n.reInitiateState().then(function () { + return n._connection.setLibReAnnounced({ + name: "contexts" + }); + }) + : n._connection.setLibReAnnounced({ + name: "contexts" + }); + }), + this.subscribeToContextCreatedMessages(), + this.subscribeToContextUpdatedMessages(), + this.subscribeToContextDestroyedMessages(), + null === (t = this._connection.replayer) || + void 0 === t || + t.drain(gt.name, function (e) { + var t = e.type; + t && + (t === st || t === ct || t === ot + ? n.handleContextCreatedMessage(e) + : t === dt || t === vt || t === mt + ? n.handleContextUpdatedMessage(e) + : (t !== ht && t !== at) || + n.handleContextDestroyedMessage(e)); + })); + } + return ( + Object.defineProperty(e.prototype, "protocolVersion", { + get: function () { + var e; + if (!this._protocolVersion) { + var t = this._connection.availableDomains.find( + function (e) { + return "context" === e.uri; + } + ); + this._protocolVersion = + null !== + (e = + null === t || void 0 === t + ? void 0 + : t.version) && void 0 !== e + ? e + : 1; + } + return this._protocolVersion; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "setPathSupported", { + get: function () { + return this.protocolVersion >= 2; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.dispose = function () { + for (var e = 0, t = this._gw3Subscriptions; e < t.length; e++) { + var n = t[e]; + this._connection.off(n); + } + for (var r in ((this._gw3Subscriptions.length = 0), + this._contextNameToData)) + this._contextNameToId.hasOwnProperty(r) && + delete this._contextNameToData[r]; + }), + (e.prototype.createContext = function (e, t) { + var n = this; + return ( + e in this._creationPromises || + (this._creationPromises[e] = this._gw3Session + .send({ + type: it, + domain: "global", + name: e, + data: t, + lifetime: "retained" + }) + .then(function (r) { + ((n._contextNameToId[e] = r.context_id), + (n._contextIdToName[r.context_id] = e)); + var i = + n._contextNameToData[e] || + new bt(r.context_id, e, !0, void 0); + return ( + (i.isAnnounced = !0), + (i.name = e), + (i.contextId = r.context_id), + (i.context = r.data || Ct(t)), + (i.hasReceivedSnapshot = !0), + (n._contextNameToData[e] = i), + delete n._creationPromises[e], + r.context_id + ); + })), + this._creationPromises[e] + ); + }), + (e.prototype.all = function () { + var e = this; + return Object.keys(this._contextNameToData).filter( + function (t) { + return e._contextNameToData[t].isAnnounced; + } + ); + }), + (e.prototype.update = function (e, t) { + var n; + return k(this, void 0, void 0, function () { + var r, + i, + o, + a = this; + return x(this, function (s) { + switch (s.label) { + case 0: + return ( + t && (t = Ct(t)), + e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2] + ); + case 1: + (s.sent(), (s.label = 2)); + case 2: + return (r = this._contextNameToData[e]) && + r.isAnnounced + ? ((i = r.context), + r.hasCallbacks() + ? [3, 4] + : [4, this.get(r.name)]) + : [2, this.createContext(e, t)]; + case 3: + ((i = s.sent()), (s.label = 4)); + case 4: + return ( + (o = + 2 === this.protocolVersion + ? this.calculateContextDeltaV2(i, t) + : this.calculateContextDeltaV1( + i, + t + )), + Object.keys(o.added).length || + Object.keys(o.updated).length || + o.removed.length || + (null === (n = o.commands) || void 0 === n + ? void 0 + : n.length) + ? [ + 2, + this._gw3Session + .send( + { + type: ft, + domain: "global", + context_id: + r.contextId, + delta: o + }, + {}, + { skipPeerId: !1 } + ) + .then(function (e) { + a.handleUpdated(r, o, { + updaterId: e.peer_id + }); + }) + ] + : [2, Promise.resolve()] + ); + } + }); + }); + }), + (e.prototype.set = function (e, t) { + return k(this, void 0, void 0, function () { + var n, + r = this; + return x(this, function (i) { + switch (i.label) { + case 0: + return ( + t && (t = Ct(t)), + e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2] + ); + case 1: + (i.sent(), (i.label = 2)); + case 2: + return (n = this._contextNameToData[e]) && + n.isAnnounced + ? [ + 2, + this._gw3Session + .send( + { + type: ft, + domain: "global", + context_id: n.contextId, + delta: { reset: t } + }, + {}, + { skipPeerId: !1 } + ) + .then(function (e) { + r.handleUpdated( + n, + { + reset: t, + added: {}, + removed: [], + updated: {} + }, + { updaterId: e.peer_id } + ); + }) + ] + : [2, this.createContext(e, t)]; + } + }); + }); + }), + (e.prototype.setPath = function (e, t, n) { + return this.setPathSupported + ? this.setPaths(e, [{ path: t, value: n }]) + : Promise.reject( + "glue.contexts.setPath operation is not supported, use Glue42 3.10 or later" + ); + }), + (e.prototype.setPaths = function (e, t) { + return k(this, void 0, void 0, function () { + var n, + r, + i, + o, + a, + s, + c, + u, + d = this; + return x(this, function (l) { + switch (l.label) { + case 0: + return this.setPathSupported + ? (t && (t = Ct(t)), + e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2]) + : [ + 2, + Promise.reject( + "glue.contexts.setPaths operation is not supported, use Glue42 3.10 or later" + ) + ]; + case 1: + (l.sent(), (l.label = 2)); + case 2: + if ( + !(n = this._contextNameToData[e]) || + !n.isAnnounced + ) { + for ( + r = {}, i = 0, o = t; + i < o.length; + i++ + ) + ((u = o[i]), Et(r, u.value, u.path)); + return [2, this.createContext(e, r)]; + } + for (a = [], s = 0, c = t; s < c.length; s++) + null === (u = c[s]).value + ? a.push({ + type: "remove", + path: u.path + }) + : a.push({ + type: "set", + path: u.path, + value: u.value + }); + return [ + 2, + this._gw3Session + .send( + { + type: ft, + domain: "global", + context_id: n.contextId, + delta: { commands: a } + }, + {}, + { skipPeerId: !1 } + ) + .then(function (e) { + d.handleUpdated( + n, + { + added: {}, + removed: [], + updated: {}, + commands: a + }, + { updaterId: e.peer_id } + ); + }) + ]; + } + }); + }); + }), + (e.prototype.get = function (e) { + var t; + return k(this, void 0, void 0, function () { + var n, + r, + i = this; + return x(this, function (o) { + switch (o.label) { + case 0: + return e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2]; + case 1: + (o.sent(), (o.label = 2)); + case 2: + return (n = this._contextNameToData[e]) && + n.isAnnounced + ? !n || + (n.hasCallbacks() && + n.hasReceivedSnapshot) + ? ((r = + null !== + (t = + null === n || void 0 === n + ? void 0 + : n.context) && + void 0 !== t + ? t + : {}), + [2, Promise.resolve(Ct(r))]) + : [ + 2, + new Promise(function (t) { + i.subscribe( + e, + function (e, n, r, o) { + (i.unsubscribe(o), + t(e)); + } + ); + }) + ] + : [2, Promise.resolve({})]; + } + }); + }); + }), + (e.prototype.subscribe = function (e, t, n) { + return k(this, void 0, void 0, function () { + var r, + i, + o, + a, + s = this; + return x(this, function (c) { + switch (c.label) { + case 0: + return e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2]; + case 1: + (c.sent(), (c.label = 2)); + case 2: + return ( + (r = + "undefined" === typeof n + ? this + ._nextCallbackSubscriptionNumber + : n), + "undefined" === typeof n && + (this._nextCallbackSubscriptionNumber += 1), + this._contextsSubscriptionsCache.every( + function (e) { + return ( + e.subKey !== + s._nextCallbackSubscriptionNumber + ); + } + ) && + this._contextsSubscriptionsCache.push({ + contextName: e, + subKey: r, + callback: t + }), + (i = this._contextNameToData[e]) && + i.isAnnounced + ? ((o = i.hasCallbacks()), + (i.updateCallbacks[r] = t), + o || + i.joinedActivity || + (i.context && + i.sentExplicitSubscription) + ? (i.hasReceivedSnapshot && + ((a = Ct(i.context)), + t(a, a, [], r)), + [2, Promise.resolve(r)]) + : [ + 2, + this.sendSubscribe(i).then( + function () { + return r; + } + ) + ]) + : ((i = + i || + new bt(void 0, e, !1, void 0)), + (this._contextNameToData[e] = i), + (i.updateCallbacks[r] = t), + [2, Promise.resolve(r)]) + ); + } + }); + }); + }), + (e.prototype.unsubscribe = function (e) { + this._contextsSubscriptionsCache = + this._contextsSubscriptionsCache.filter(function (t) { + return t.subKey !== e; + }); + for ( + var t = 0, n = Object.keys(this._contextNameToData); + t < n.length; + t++ + ) { + var r = n[t], + i = this._contextNameToData[r]; + if (!i) return; + var o = i.hasCallbacks(); + (delete i.updateCallbacks[e], + i.isAnnounced && + o && + !i.hasCallbacks() && + i.sentExplicitSubscription && + this.sendUnsubscribe(i), + i.isAnnounced || + i.hasCallbacks() || + delete this._contextNameToData[r]); + } + }), + (e.prototype.destroy = function (e) { + return k(this, void 0, void 0, function () { + var t; + return x(this, function (n) { + switch (n.label) { + case 0: + return e in this._creationPromises + ? [4, this._creationPromises[e]] + : [3, 2]; + case 1: + (n.sent(), (n.label = 2)); + case 2: + return (t = this._contextNameToData[e]) + ? [ + 2, + this._gw3Session + .send({ + type: pt, + domain: "global", + context_id: t.contextId + }) + .then(function (e) {}) + ] + : [ + 2, + Promise.reject( + "context with ".concat( + e, + " does not exist" + ) + ) + ]; + } + }); + }); + }), + (e.prototype.handleUpdated = function (e, t, n) { + var r = e.context; + ((e.context = _t(e.context, t, this._logger)), + (e.hasReceivedSnapshot = !0), + this._contextNameToData[e.name] !== e || + St(r, e.context) || + this.invokeUpdateCallbacks(e, t, n)); + }), + (e.prototype.subscribeToContextCreatedMessages = function () { + for (var e = 0, t = [ct, st, ot]; e < t.length; e++) { + var n = t[e], + r = this._connection.on( + n, + this.handleContextCreatedMessage.bind(this) + ); + this._gw3Subscriptions.push(r); + } + }), + (e.prototype.handleContextCreatedMessage = function (e) { + var t = this, + n = e.type; + n === ot + ? ((this._contextNameToId[e.activity_id] = e.context_id), + (this._contextIdToName[e.context_id] = e.activity_id)) + : n === ct && + ((this._contextNameToId[e.name] = e.context_id), + (this._contextIdToName[e.context_id] = e.name)); + var r = this._contextIdToName[e.context_id]; + if (!r) + throw new Error( + "Received created event for context with unknown name: " + + e.context_id + ); + if (!this._contextNameToId[r]) + throw new Error( + "Received created event for context with unknown id: " + + e.context_id + ); + var i = this._contextNameToData[r]; + if (i) { + if (i.isAnnounced) return; + if (!i.hasCallbacks()) + throw new Error( + "Assertion failure: contextData.hasCallbacks()" + ); + ((i.isAnnounced = !0), + (i.contextId = e.context_id), + (i.activityId = e.activity_id), + i.sentExplicitSubscription || this.sendSubscribe(i)); + } else + ((this._contextNameToData[r] = i = + new bt(e.context_id, r, !0, e.activity_id)), + this._trackAllContexts && + this.subscribe(r, function () {}).then( + function (e) { + return (t._systemContextsSubKey = e); + } + )); + }), + (e.prototype.subscribeToContextUpdatedMessages = function () { + for (var e = 0, t = [vt, dt, mt]; e < t.length; e++) { + var n = t[e], + r = this._connection.on( + n, + this.handleContextUpdatedMessage.bind(this) + ); + this._gw3Subscriptions.push(r); + } + }), + (e.prototype.handleContextUpdatedMessage = function (e) { + var t = e.type, + n = e.context_id, + r = this._contextNameToData[this._contextIdToName[n]], + i = !r || !r.isAnnounced; + if (t === mt) + (r || + (r = + this._contextNameToData[e.activity_id] || + new bt(n, e.activity_id, !0, e.activity_id)), + (this._contextNameToData[e.activity_id] = r), + (this._contextIdToName[n] = e.activity_id), + (this._contextNameToId[e.activity_id] = n), + (r.contextId = n), + (r.isAnnounced = !0), + (r.activityId = e.activity_id), + (r.joinedActivity = !0)); + else if (!r || !r.isAnnounced) + return void (t === dt + ? (((r = + r || + new bt( + n, + e.name, + !0, + void 0 + )).sentExplicitSubscription = !0), + (this._contextNameToData[e.name] = r), + (this._contextIdToName[n] = e.name), + (this._contextNameToId[e.name] = n)) + : this._logger.error( + "Received 'update' for unknown context: ".concat( + n + ) + )); + var o = r.context; + if (((r.hasReceivedSnapshot = !0), t === dt)) + r.context = e.data || {}; + else if (t === mt) r.context = e.context_snapshot || {}; + else { + if (t !== vt) + throw new Error( + "Unrecognized context update message " + t + ); + r.context = _t(r.context, e.delta, this._logger); + } + (!i && St(r.context, o) && t !== dt) || + this.invokeUpdateCallbacks(r, e.delta, { + updaterId: e.updater_id + }); + }), + (e.prototype.invokeUpdateCallbacks = function (e, t, n) { + if ( + (t = t || { + added: {}, + updated: {}, + reset: {}, + removed: [] + }).commands + ) { + ((t.added = t.updated = t.reset = {}), (t.removed = [])); + for (var r = 0, i = t.commands; r < i.length; r++) { + var o = i[r]; + "remove" === o.type + ? (-1 === o.path.indexOf(".") && + t.removed.push(o.path), + Et(t.updated, null, o.path)) + : "set" === o.type && + Et(t.updated, o.value, o.path); + } + } + for (var a in e.updateCallbacks) + if (e.updateCallbacks.hasOwnProperty(a)) + try { + (0, e.updateCallbacks[a])( + Ct(e.context), + Ct( + Object.assign( + {}, + t.added || {}, + t.updated || {}, + t.reset || {} + ) + ), + t.removed, + parseInt(a, 10), + n + ); + } catch (s) { + this._logger.debug( + "callback error: " + JSON.stringify(s) + ); + } + }), + (e.prototype.subscribeToContextDestroyedMessages = function () { + for (var e = 0, t = [ht, at]; e < t.length; e++) { + var n = t[e], + r = this._connection.on( + n, + this.handleContextDestroyedMessage.bind(this) + ); + this._gw3Subscriptions.push(r); + } + }), + (e.prototype.handleContextDestroyedMessage = function (e) { + var t, n; + if (e.type === at) { + if (((n = e.activity_id), !(t = this._contextNameToId[n]))) + return void this._logger.error( + "Received 'destroyed' for unknown activity: ".concat( + e.activity_id + ) + ); + } else if ( + ((t = e.context_id), !(n = this._contextIdToName[t])) + ) + return void this._logger.error( + "Received 'destroyed' for unknown context: ".concat( + e.context_id + ) + ); + (delete this._contextIdToName[t], + delete this._contextNameToId[n]); + var r = this._contextNameToData[n]; + (delete this._contextNameToData[n], + (r && r.isAnnounced) || + this._logger.error( + "Received 'destroyed' for unknown context: ".concat( + t + ) + )); + }), + (e.prototype.sendSubscribe = function (e) { + return ( + (e.sentExplicitSubscription = !0), + this._gw3Session + .send({ + type: ut, + domain: "global", + context_id: e.contextId + }) + .then(function (e) {}) + ); + }), + (e.prototype.sendUnsubscribe = function (e) { + return ( + (e.sentExplicitSubscription = !1), + this._gw3Session + .send({ + type: lt, + domain: "global", + context_id: e.contextId + }) + .then(function (e) {}) + ); + }), + (e.prototype.calculateContextDeltaV1 = function (e, t) { + var n = { added: {}, updated: {}, removed: [], reset: void 0 }; + if (e) + for (var r = 0, i = Object.keys(e); r < i.length; r++) { + var o = i[r]; + -1 === Object.keys(t).indexOf(o) || + null === t[o] || + St(e[o], t[o]) || + (n.updated[o] = t[o]); + } + for (var a = 0, s = Object.keys(t); a < s.length; a++) + ((o = s[a]), + e && -1 !== Object.keys(e).indexOf(o) + ? null === t[o] && n.removed.push(o) + : null !== t[o] && (n.added[o] = t[o])); + return n; + }), + (e.prototype.calculateContextDeltaV2 = function (e, t) { + for ( + var n, + r, + i = { + added: {}, + updated: {}, + removed: [], + reset: void 0, + commands: [] + }, + o = 0, + a = Object.keys(t); + o < a.length; + o++ + ) { + var s = a[o]; + null !== t[s] + ? St(e ? e[s] : null, t[s]) || + null === (n = i.commands) || + void 0 === n || + n.push({ type: "set", path: s, value: t[s] }) + : null === (r = i.commands) || + void 0 === r || + r.push({ type: "remove", path: s }); + } + return i; + }), + (e.prototype.resetState = function () { + for ( + var e = this, t = 0, n = this._gw3Subscriptions; + t < n.length; + t++ + ) { + var r = n[t]; + this._connection.off(r); + } + (this._systemContextsSubKey && + (this.unsubscribe(this._systemContextsSubKey), + delete this._systemContextsSubKey), + (this._gw3Subscriptions = []), + (this._contextNameToId = {}), + (this._contextIdToName = {}), + delete this._protocolVersion, + (this._contextsTempCache = Object.keys( + this._contextNameToData + ).reduce(function (t, n) { + return ((t[n] = e._contextNameToData[n].context), t); + }, {})), + (this._contextNameToData = {})); + }), + (e.prototype.reInitiateState = function () { + var e; + return k(this, void 0, void 0, function () { + var t, + n, + r, + i, + o, + a, + s = this; + return x(this, function (c) { + switch (c.label) { + case 0: + return ( + this.subscribeToContextCreatedMessages(), + this.subscribeToContextUpdatedMessages(), + this.subscribeToContextDestroyedMessages(), + null === (e = this._connection.replayer) || + void 0 === e || + e.drain(gt.name, function (e) { + var t = e.type; + t && + (t === st || + t === ct || + t === ot + ? s.handleContextCreatedMessage( + e + ) + : t === dt || + t === vt || + t === mt + ? s.handleContextUpdatedMessage( + e + ) + : (t !== ht && + t !== at) || + s.handleContextDestroyedMessage( + e + )); + }), + [ + 4, + Promise.all( + this._contextsSubscriptionsCache.map( + function (e) { + return s.subscribe( + e.contextName, + e.callback, + e.subKey + ); + } + ) + ) + ] + ); + case 1: + return (c.sent(), [4, this.flushQueue()]); + case 2: + for (r in (c.sent(), + (t = this._contextsTempCache), + (n = []), + t)) + n.push(r); + ((i = 0), (c.label = 3)); + case 3: + return i < n.length + ? (r = n[i]) in t + ? ((o = r), + "object" !== + typeof this._contextsTempCache[ + o + ] || + 0 === + Object.keys( + this._contextsTempCache[o] + ).length + ? [3, 6] + : ((a = + this._contextsTempCache[o]), + this._logger.info( + "Re-announcing known context: ".concat( + o + ) + ), + [4, this.flushQueue()])) + : [3, 6] + : [3, 7]; + case 4: + return (c.sent(), [4, this.update(o, a)]); + case 5: + (c.sent(), (c.label = 6)); + case 6: + return (i++, [3, 3]); + case 7: + return ( + (this._contextsTempCache = {}), + this._logger.info( + "Contexts are re-announced" + ), + [2] + ); + } + }); + }); + }), + (e.prototype.flushQueue = function () { + return new Promise(function (e) { + return setTimeout(function () { + return e(); + }, 0); + }); + }), + e + ); + })(), + Mt = (function () { + function e(e) { + this._bridge = new Pt(e); + } + return ( + (e.prototype.all = function () { + return this._bridge.all(); + }), + (e.prototype.update = function (e, t) { + return ( + this.checkName(e), + this.checkData(t), + this._bridge.update(e, t) + ); + }), + (e.prototype.set = function (e, t) { + return ( + this.checkName(e), + this.checkData(t), + this._bridge.set(e, t) + ); + }), + (e.prototype.setPath = function (e, t, n) { + return ( + this.checkName(e), + this.checkPath(t), + "" === t + ? (this.checkData(n), this.set(e, n)) + : this._bridge.setPath(e, t, n) + ); + }), + (e.prototype.setPaths = function (e, t) { + if ((this.checkName(e), !Array.isArray(t))) + throw new Error( + "Please provide the paths as an array of PathValues!" + ); + for (var n = 0, r = t; n < r.length; n++) { + var i = r[n], + o = i.path, + a = i.value; + (this.checkPath(o), "" === o && this.checkData(a)); + } + return this._bridge.setPaths(e, t); + }), + (e.prototype.subscribe = function (e, t) { + var n = this; + if ((this.checkName(e), "function" !== typeof t)) + throw new Error( + "Please provide the callback as a function!" + ); + return this._bridge + .subscribe(e, function (e, r, i, o, a) { + return t( + e, + r, + i, + function () { + return n._bridge.unsubscribe(o); + }, + a + ); + }) + .then(function (e) { + return function () { + n._bridge.unsubscribe(e); + }; + }); + }), + (e.prototype.get = function (e) { + return (this.checkName(e), this._bridge.get(e)); + }), + (e.prototype.ready = function () { + return Promise.resolve(this); + }), + (e.prototype.destroy = function (e) { + return (this.checkName(e), this._bridge.destroy(e)); + }), + Object.defineProperty(e.prototype, "setPathSupported", { + get: function () { + return this._bridge.setPathSupported; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.checkName = function (e) { + if ("string" !== typeof e || "" === e) + throw new Error( + "Please provide the name as a non-empty string!" + ); + }), + (e.prototype.checkPath = function (e) { + if ("string" !== typeof e) + throw new Error( + "Please provide the path as a dot delimited string!" + ); + }), + (e.prototype.checkData = function (e) { + if ("object" !== typeof e) + throw new Error("Please provide the data as an object!"); + }), + e + ); + })(); + function Rt(e, t, n) { + return "function" !== typeof t && "function" !== typeof n + ? e + : ("function" !== typeof t + ? (t = function () {}) + : "function" !== typeof n && (n = function () {}), + e.then(t, n)); + } + function Ot(e, t, n) { + var r; + void 0 === e && (e = 0); + var i = function () { + r && clearTimeout(r); + }; + return ( + t + .then(function () { + i(); + }) + .catch(function () { + i(); + }), + new Promise(function (t, i) { + r = setTimeout(function () { + return i(n); + }, e); + }) + ); + } + !(function (e) { + ((e[(e.Success = 0)] = "Success"), (e[(e.Error = 1)] = "Error")); + })(At || (At = {})); + var Dt = (function () { + function e(e, t, n, r) { + ((this.protocol = e), + (this.repo = t), + (this.instance = n), + (this.configuration = r)); + } + return ( + (e.prototype.subscribe = function (e, t, n, r, i) { + var o = this, + a = function (e, n, r, a) { + var s; + ((t.methodResponseTimeout = + null !== (s = t.methodResponseTimeout) && + void 0 !== s + ? s + : t.waitTimeoutMs), + o.protocol.client.subscribe(n, t, e, r, a, i)); + }; + return Rt( + new Promise(function (n, r) { + var i, + s = function (e) { + n(e); + }, + c = function (e) { + r(e); + }; + if (e) + if ( + (i = "string" === typeof e ? { name: e } : e) + .name + ) { + void 0 === t && (t = {}); + var u = t.target; + if ( + (void 0 === u && (u = "best"), + "string" !== typeof u || + "all" === u || + "best" === u) + ) { + (void 0 === t.methodResponseTimeout && + ((t.methodResponseTimeout = + t.method_response_timeout), + void 0 === t.methodResponseTimeout && + (t.methodResponseTimeout = + o.configuration.methodResponseTimeout)), + void 0 === t.waitTimeoutMs && + ((t.waitTimeoutMs = + t.wait_for_method_timeout), + void 0 === t.waitTimeoutMs && + (t.waitTimeoutMs = + o.configuration.waitTimeoutMs))); + var d = 500, + l = 0, + p = o.getServerMethodsByFilterAndTarget( + i, + u + ); + if (p.length > 0) + a(p, p[0].methods[0], s, c); + else { + var h = function n() { + if (u && t.waitTimeoutMs) + if ( + ((l += d), + (p = + o.getServerMethodsByFilterAndTarget( + i, + u + )).length > 0) + ) { + var r = p[0].methods[0]; + a(p, r, s, c); + } else + l >= t.waitTimeoutMs + ? a( + p, + "string" === + typeof e + ? { name: e } + : e, + s, + c + ) + : setTimeout(n, d); + }; + setTimeout(h, d); + } + } else + r( + new Error( + '"'.concat( + u, + '" is not a valid target. Valid targets are "all", "best", or an instance.' + ) + ) + ); + } else + r( + "Method definition is required. Please, provide either a unique string for a method name or a \u201cmethodDefinition\u201d object with a required \u201cname\u201d property." + ); + else + r( + "Method definition is required. Please, provide either a unique string for a method name or a \u201cmethodDefinition\u201d object with a required \u201cname\u201d property." + ); + }), + n, + r + ); + }), + (e.prototype.servers = function (e) { + var t = void 0 === e ? void 0 : b({}, e); + return this.getServers(t).map(function (e) { + return e.server.instance; + }); + }), + (e.prototype.methods = function (e) { + return ( + (e = "string" === typeof e ? { name: e } : b({}, e)), + this.getMethods(e) + ); + }), + (e.prototype.methodsForInstance = function (e) { + return this.getMethodsForInstance(e); + }), + (e.prototype.methodAdded = function (e) { + return this.repo.onMethodAdded(e); + }), + (e.prototype.methodRemoved = function (e) { + return this.repo.onMethodRemoved(e); + }), + (e.prototype.serverAdded = function (e) { + return this.repo.onServerAdded(e); + }), + (e.prototype.serverRemoved = function (e) { + return this.repo.onServerRemoved(function (t, n) { + e(t, n); + }); + }), + (e.prototype.serverMethodAdded = function (e) { + return this.repo.onServerMethodAdded(function (t, n) { + e({ server: t, method: n }); + }); + }), + (e.prototype.serverMethodRemoved = function (e) { + return this.repo.onServerMethodRemoved(function (t, n) { + e({ server: t, method: n }); + }); + }), + (e.prototype.invoke = function (e, t, n, r, i, o) { + return k(this, void 0, void 0, function () { + var a, + s = this; + return x(this, function (c) { + return ( + (a = function () { + return k(s, void 0, void 0, function () { + var i, + o, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m = this; + return x(this, function (g) { + switch (g.label) { + case 0: + if ( + !(i = + "string" === typeof e + ? { name: e } + : b({}, e)).name + ) + return [ + 2, + Promise.reject( + "Method definition is required. Please, provide either a unique string for a method name or a \u201cmethodDefinition\u201d object with a required \u201cname\u201d property." + ) + ]; + if ( + (t || (t = {}), + n || (n = "best"), + "string" === typeof n && + "all" !== n && + "best" !== n && + "skipMine" !== n) + ) + return [ + 2, + Promise.reject( + new Error( + '"'.concat( + n, + '" is not a valid target. Valid targets are "all" and "best".' + ) + ) + ) + ]; + if ( + (r || (r = {}), + void 0 === + r.methodResponseTimeoutMs && + ((r.methodResponseTimeoutMs = + r.method_response_timeout), + void 0 === + r.methodResponseTimeoutMs && + (r.methodResponseTimeoutMs = + this.configuration.methodResponseTimeout)), + void 0 === + r.waitTimeoutMs && + ((r.waitTimeoutMs = + r.wait_for_method_timeout), + void 0 === + r.waitTimeoutMs && + (r.waitTimeoutMs = + this.configuration.waitTimeoutMs)), + void 0 !== + r.waitTimeoutMs && + "number" !== + typeof r.waitTimeoutMs) + ) + return [ + 2, + Promise.reject( + new Error( + '"'.concat( + r.waitTimeoutMs, + '" is not a valid number for "waitTimeoutMs" ' + ) + ) + ) + ]; + if ("object" !== typeof t) + return [ + 2, + Promise.reject( + new Error( + "The method arguments must be an object. method: ".concat( + i.name + ) + ) + ) + ]; + if ( + 0 !== + (o = + this.getServerMethodsByFilterAndTarget( + i, + n + )).length + ) + return [3, 4]; + g.label = 1; + case 1: + return ( + g.trys.push([1, 3, , 4]), + [ + 4, + this.tryToAwaitForMethods( + i, + n, + r + ) + ] + ); + case 2: + return ((o = g.sent()), [3, 4]); + case 3: + return ( + g.sent(), + (a = b(b({}, i), { + getServers: + function () { + return []; + }, + supportsStreaming: !1, + objectTypes: + null !== + (h = + i.objectTypes) && + void 0 !== h + ? h + : [], + flags: + null !== + (v = + null === + (f = + i.flags) || + void 0 === f + ? void 0 + : f.metadata) && + void 0 !== v + ? v + : {} + })), + (s = { + method: a, + called_with: t, + message: + "Can not find a method matching " + .concat( + JSON.stringify( + e + ), + " with server filter " + ) + .concat( + JSON.stringify( + n + ) + ), + executed_by: void 0, + returned: void 0, + status: void 0 + }), + [2, Promise.reject(s)] + ); + case 4: + return ( + (c = + r.methodResponseTimeoutMs), + (u = r), + (d = o.map(function (e) { + var n = $e(), + r = e.methods[0], + i = e.server, + o = + m.protocol.client.invoke( + n, + r, + t, + i, + u + ); + return Promise.race([ + o, + Ot(c, o, { + invocationId: n, + message: + "Invocation timeout (" + .concat( + c, + " ms) reached for method name: " + ) + .concat( + null === + r || + void 0 === + r + ? void 0 + : r.name, + ", target instance: " + ) + .concat( + JSON.stringify( + i.instance + ), + ", options: " + ) + .concat( + JSON.stringify( + u + ) + ), + status: At.Error + }) + ]); + })), + [4, Promise.all(d)] + ); + case 5: + return ( + (l = g.sent()), + (p = + this.getInvocationResultObj( + l, + i, + t + )), + l.every(function (e) { + return ( + e.status === + At.Error + ); + }) + ? [2, Promise.reject(p)] + : [2, p] + ); + } + }); + }); + }), + [2, Rt(a(), i, o)] + ); + }); + }); + }), + (e.prototype.getInvocationResultObj = function (e, t, n) { + var r = e + .filter(function (e) { + return e.status === At.Success; + }) + .reduce(function (e, r) { + return (e = _( + _([], e, !0), + [ + { + executed_by: r.instance, + returned: r.result, + called_with: n, + method: t, + message: r.message, + status: r.status + } + ], + !1 + )); + }, []), + i = e + .filter(function (e) { + return e.status === At.Error; + }) + .reduce(function (e, r) { + return (e = _( + _([], e, !0), + [ + { + executed_by: r.instance, + called_with: n, + name: t.name, + message: r.message + } + ], + !1 + )); + }, []), + o = e[0]; + return { + method: t, + called_with: n, + returned: o.result, + executed_by: o.instance, + all_return_values: r, + all_errors: i, + message: o.message, + status: o.status + }; + }), + (e.prototype.tryToAwaitForMethods = function (e, t, n) { + var r = this; + return new Promise(function (i, o) { + if (0 !== n.waitTimeoutMs) + var a = 500, + s = 0, + c = setInterval(function () { + s += a; + var u = r.getServerMethodsByFilterAndTarget( + e, + t + ); + if (u.length > 0) (clearInterval(c), i(u)); + else if (s >= (n.waitTimeoutMs || 1e4)) + return (clearInterval(c), void o()); + }, a); + else o(); + }); + }), + (e.prototype.filterByTarget = function (e, t) { + var n = this; + if ("string" !== typeof e) + return (Array.isArray(e) ? e : [e]).reduce(function (e, r) { + var i = t.filter(function (e) { + return n.instanceMatch(r, e.server.instance); + }); + return e.concat(i); + }, []); + if ("all" === e) return _([], t, !0); + if ("best" === e) { + var r = t.find(function (e) { + return e.server.instance.isLocal; + }); + if (r) return [r]; + if (void 0 !== t[0]) return [t[0]]; + } else if ("skipMine" === e) + return t.filter(function (e) { + return e.server.instance.peerId !== n.instance.peerId; + }); + return []; + }), + (e.prototype.instanceMatch = function (e, t) { + return this.containsProps(e, t); + }), + (e.prototype.methodMatch = function (e, t) { + return this.containsProps(e, t); + }), + (e.prototype.containsProps = function (e, t) { + return Object.keys(e) + .filter(function (t) { + return ( + void 0 !== e[t] && + null !== e[t] && + "function" !== typeof e[t] && + "object_types" !== t && + "display_name" !== t && + "id" !== t && + "gatewayId" !== t && + "identifier" !== t && + "_" !== t[0] + ); + }) + .every(function (n) { + var r, + i = e[n], + o = t[n]; + switch (n) { + case "objectTypes": + r = (i || []).every(function (e) { + return (o || []).includes(e); + }); + break; + case "flags": + r = Wt(o || {}, i || {}); + break; + default: + r = + String(i).toLowerCase() === + String(o).toLowerCase(); + } + return r; + }); + }), + (e.prototype.getMethods = function (e) { + var t = this; + return void 0 === e + ? this.repo.getMethods() + : this.repo.getMethods().filter(function (n) { + return t.methodMatch(e, n); + }); + }), + (e.prototype.getMethodsForInstance = function (e) { + var t = this, + n = this.repo.getServers().filter(function (n) { + return t.instanceMatch(e, n.instance); + }); + if (0 === n.length) return []; + var r = {}; + return ( + 1 === n.length + ? (r = n[0].methods) + : n.forEach(function (e) { + Object.keys(e.methods).forEach(function (t) { + var n = e.methods[t]; + r[n.identifier] = n; + }); + }), + Object.keys(r).map(function (e) { + return r[e]; + }) + ); + }), + (e.prototype.getServers = function (e) { + var t = this, + n = this.repo.getServers(); + return void 0 === e + ? n.map(function (e) { + return { server: e, methods: [] }; + }) + : n.reduce(function (n, r) { + var i = Object.values(r.methods).filter(function (n) { + return t.methodMatch(e, n); + }); + return ( + i.length > 0 && n.push({ server: r, methods: i }), + n + ); + }, []); + }), + (e.prototype.getServerMethodsByFilterAndTarget = function (e, t) { + var n = this.getServers(e); + return this.filterByTarget(t, n); + }), + e + ); + })(), + Lt = (function () { + function e(e, t, n) { + ((this.protocol = e), + (this.repoMethod = t), + (this.subscription = n)); + } + return ( + Object.defineProperty(e.prototype, "stream", { + get: function () { + if (!this.repoMethod.stream) throw new Error("no stream"); + return this.repoMethod.stream; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "arguments", { + get: function () { + return this.subscription.arguments || {}; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "branchKey", { + get: function () { + return this.subscription.branchKey; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "instance", { + get: function () { + if (!this.subscription.instance) + throw new Error("no instance"); + return this.subscription.instance; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.close = function () { + this.protocol.server.closeSingleSubscription( + this.repoMethod, + this.subscription + ); + }), + (e.prototype.push = function (e) { + this.protocol.server.pushDataToSingle( + this.repoMethod, + this.subscription, + e + ); + }), + e + ); + })(), + Bt = (function () { + function e(e, t, n) { + ((this.protocol = e), + (this.repoMethod = t), + (this.requestContext = n), + (this.arguments = n.arguments), + (this.instance = n.instance)); + } + return ( + (e.prototype.accept = function () { + this.protocol.server.acceptRequestOnBranch( + this.requestContext, + this.repoMethod, + "" + ); + }), + (e.prototype.acceptOnBranch = function (e) { + this.protocol.server.acceptRequestOnBranch( + this.requestContext, + this.repoMethod, + e + ); + }), + (e.prototype.reject = function (e) { + this.protocol.server.rejectRequest( + this.requestContext, + this.repoMethod, + e + ); + }), + e + ); + })(), + Nt = (function () { + function e(e, t) { + var n = this; + ((this.protocol = e), + (this.server = t), + e.server.onSubRequest(function (e, t) { + return n.handleSubRequest(e, t); + }), + e.server.onSubAdded(function (e, t) { + return n.handleSubAdded(e, t); + }), + e.server.onSubRemoved(function (e, t) { + return n.handleSubRemoved(e, t); + })); + } + return ( + (e.prototype.handleSubRequest = function (e, t) { + if ( + t && + t.streamCallbacks && + "function" === + typeof t.streamCallbacks.subscriptionRequestHandler + ) { + var n = new Bt(this.protocol, t, e); + t.streamCallbacks.subscriptionRequestHandler(n); + } + }), + (e.prototype.handleSubAdded = function (e, t) { + if ( + t && + t.streamCallbacks && + "function" === + typeof t.streamCallbacks.subscriptionAddedHandler + ) { + var n = new Lt(this.protocol, t, e); + t.streamCallbacks.subscriptionAddedHandler(n); + } + }), + (e.prototype.handleSubRemoved = function (e, t) { + if ( + t && + t.streamCallbacks && + "function" === + typeof t.streamCallbacks.subscriptionRemovedHandler + ) { + var n = new Lt(this.protocol, t, e); + t.streamCallbacks.subscriptionRemovedHandler(n); + } + }), + e + ); + })(), + Ft = (function () { + function e(e, t, n) { + ((this.key = e), (this.protocol = t), (this.repoMethod = n)); + } + return ( + (e.prototype.subscriptions = function () { + var e = this; + return this.protocol.server + .getSubscriptionList(this.repoMethod, this.key) + .map(function (t) { + return new Lt(e.protocol, e.repoMethod, t); + }); + }), + (e.prototype.close = function () { + this.protocol.server.closeAllSubscriptions( + this.repoMethod, + this.key + ); + }), + (e.prototype.push = function (e) { + this.protocol.server.pushData(this.repoMethod, e, [this.key]); + }), + e + ); + })(), + jt = (function () { + function e(e, t, n) { + ((this._protocol = e), + (this._repoMethod = t), + (this._server = n), + (this.name = this._repoMethod.definition.name)); + } + return ( + (e.prototype.branches = function (e) { + var t = this, + n = this._protocol.server.getBranchList(this._repoMethod); + return e + ? n.indexOf(e) > -1 + ? new Ft(e, this._protocol, this._repoMethod) + : void 0 + : n.map(function (e) { + return new Ft(e, t._protocol, t._repoMethod); + }); + }), + (e.prototype.branch = function (e) { + return this.branches(e); + }), + (e.prototype.subscriptions = function () { + var e = this; + return this._protocol.server + .getSubscriptionList(this._repoMethod) + .map(function (t) { + return new Lt(e._protocol, e._repoMethod, t); + }); + }), + Object.defineProperty(e.prototype, "definition", { + get: function () { + var e, + t = this._repoMethod.definition; + return { + accepts: t.accepts, + description: t.description, + displayName: t.displayName, + name: t.name, + objectTypes: t.objectTypes, + returns: t.returns, + supportsStreaming: t.supportsStreaming, + flags: + null === (e = t.flags) || void 0 === e + ? void 0 + : e.metadata + }; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.close = function () { + (this._protocol.server.closeAllSubscriptions(this._repoMethod), + this._server.unregister(this._repoMethod.definition, !0)); + }), + (e.prototype.push = function (e, t) { + if ("string" !== typeof t && !Array.isArray(t) && void 0 !== t) + throw new Error( + "invalid branches should be string or string array" + ); + if ("object" !== typeof e) + throw new Error( + "Invalid arguments. Data must be an object." + ); + this._protocol.server.pushData(this._repoMethod, e, t); + }), + (e.prototype.updateRepoMethod = function (e) { + this._repoMethod = e; + }), + e + ); + })(), + Ht = (function () { + function e(e, t) { + ((this.protocol = e), + (this.serverRepository = t), + (this.invocations = 0), + (this.currentlyUnregistering = {}), + (this.streaming = new Nt(e, this)), + this.protocol.server.onInvoked( + this.onMethodInvoked.bind(this) + )); + } + return ( + (e.prototype.createStream = function (e, t, n, r, i) { + var o = this; + return Rt( + new Promise(function (n, r) { + if (e) { + var a; + if ( + !(a = + "string" === typeof e + ? { name: "" + e } + : b({}, e)).name + ) + return r( + "The \u201cname\u201d property is required for the \u201cstreamDefinition\u201d object and must be unique. Stream definition: ".concat( + JSON.stringify(a) + ) + ); + if ( + o.serverRepository.getList().some(function (e) { + return e.definition.name === a.name; + }) + ) + return r( + 'A stream with the name "'.concat( + a.name, + '" already exists! Please, provide a unique name for the stream.' + ) + ); + ((a.supportsStreaming = !0), + t || (t = {}), + "function" !== + typeof t.subscriptionRequestHandler && + (t.subscriptionRequestHandler = function ( + e + ) { + e.accept(); + })); + var s = o.serverRepository.add({ + definition: a, + streamCallbacks: t, + protocolState: {} + }); + o.protocol.server + .createStream(s) + .then(function () { + var e; + (i + ? ((e = i), i.updateRepoMethod(s)) + : (e = new jt(o.protocol, s, o)), + (s.stream = e), + n(e)); + }) + .catch(function (e) { + (s.repoId && + o.serverRepository.remove(s.repoId), + r(e)); + }); + } else + r( + "The stream name must be unique! Please, provide either a unique string for a stream name to \u201cglue.interop.createStream()\u201d or a \u201cmethodDefinition\u201d object with a unique \u201cname\u201d property for the stream." + ); + }), + n, + r + ); + }), + (e.prototype.register = function (e, t) { + var n = this; + if (!e) + return Promise.reject( + "Method definition is required. Please, provide either a unique string for a method name or a \u201cmethodDefinition\u201d object with a required \u201cname\u201d property." + ); + if ("function" !== typeof t) + return Promise.reject( + "The second parameter must be a callback function. Method: ".concat( + "string" === typeof e ? e : e.name + ) + ); + var r = function (e, r) { + return k(n, void 0, void 0, function () { + var n, i, o; + return x(this, function (a) { + switch (a.label) { + case 0: + return ( + a.trys.push([0, 4, , 5]), + (n = t(e.args, e.instance)) && + "function" === typeof n.then + ? [4, n] + : [3, 2] + ); + case 1: + return ( + (i = a.sent()), + r(void 0, i), + [3, 3] + ); + case 2: + (r(void 0, n), (a.label = 3)); + case 3: + return [3, 5]; + case 4: + return ( + (o = a.sent()), + r( + null !== o && void 0 !== o ? o : "", + null !== o && void 0 !== o ? o : "" + ), + [3, 5] + ); + case 5: + return [2]; + } + }); + }); + }; + return ((r.userCallback = t), this.registerCore(e, r)); + }), + (e.prototype.registerAsync = function (e, t) { + if (!e) + return Promise.reject( + "Method definition is required. Please, provide either a unique string for a method name or a \u201cmethodDefinition\u201d object with a required \u201cname\u201d property." + ); + if ("function" !== typeof t) + return Promise.reject( + "The second parameter must be a callback function. Method: ".concat( + "string" === typeof e ? e : e.name + ) + ); + var n = function (e, n) { + try { + var r = !1, + i = function (e) { + (r || n(void 0, e), (r = !0)); + }, + o = function (e) { + (r || (e || (e = ""), n(e, e)), (r = !0)); + }, + a = t(e.args, e.instance, i, o); + a && "function" === typeof a.then && a.then(i).catch(o); + } catch (s) { + n(s, void 0); + } + }; + return ((n.userCallbackAsync = t), this.registerCore(e, n)); + }), + (e.prototype.unregister = function (e, t) { + return ( + void 0 === t && (t = !1), + k(this, void 0, void 0, function () { + var n, r; + return x(this, function (i) { + switch (i.label) { + case 0: + return void 0 === e + ? [ + 2, + Promise.reject( + "Please, provide either a unique string for a name or an object containing a \u201cname\u201d property." + ) + ] + : "function" !== typeof e + ? [3, 2] + : [ + 4, + this.unregisterWithPredicate( + e, + t + ) + ]; + case 1: + case 3: + return (i.sent(), [2]); + case 2: + return void 0 === + (n = + "string" === typeof e + ? { name: e } + : e).name + ? [ + 2, + Promise.reject( + "Method name is required. Cannot find a method if the method name is undefined!" + ) + ] + : (r = this.serverRepository + .getList() + .find(function (e) { + return ( + e.definition.name === + n.name && + (e.definition + .supportsStreaming || + !1) === t + ); + })) + ? [ + 4, + this.removeMethodsOrStreams([r]) + ] + : [ + 2, + Promise.reject( + 'Method with a name "'.concat( + n.name, + '" does not exist or is not registered by your application!' + ) + ) + ]; + } + }); + }) + ); + }), + (e.prototype.unregisterWithPredicate = function (e, t) { + return k(this, void 0, void 0, function () { + var n; + return x(this, function (r) { + switch (r.label) { + case 0: + return (n = this.serverRepository + .getList() + .filter(function (t) { + return e(t.definition); + }) + .filter(function (e) { + return ( + (e.definition.supportsStreaming || + !1) === t + ); + })) && 0 !== n.length + ? [4, this.removeMethodsOrStreams(n)] + : [ + 2, + Promise.reject( + "Could not find a ".concat( + t ? "stream" : "method", + " matching the specified condition!" + ) + ) + ]; + case 1: + return (r.sent(), [2]); + } + }); + }); + }), + (e.prototype.removeMethodsOrStreams = function (e) { + var t = this, + n = []; + return ( + e.forEach(function (e) { + var r = t.protocol.server + .unregister(e) + .then(function () { + e.repoId && t.serverRepository.remove(e.repoId); + }); + (n.push(r), + t.addAsCurrentlyUnregistering( + e.definition.name, + r + )); + }), + Promise.all(n) + ); + }), + (e.prototype.addAsCurrentlyUnregistering = function (e, t) { + return k(this, void 0, void 0, function () { + var n, + r = this; + return x(this, function (i) { + return ( + (n = new Promise(function (e) { + return setTimeout(e, 5e3); + })), + (this.currentlyUnregistering[e] = Promise.race([ + t, + n + ]).then(function () { + delete r.currentlyUnregistering[e]; + })), + [2] + ); + }); + }); + }), + (e.prototype.registerCore = function (e, t) { + return k(this, void 0, void 0, function () { + var n, + r, + i, + o = this; + return x(this, function (a) { + switch (a.label) { + case 0: + return (n = + "string" === typeof e + ? { name: "" + e } + : b({}, e)).name + ? (r = this.currentlyUnregistering[n.name]) + ? [4, r] + : [3, 2] + : [ + 2, + Promise.reject( + "Please, provide a (unique) string value for the \u201cname\u201d property in the \u201cmethodDefinition\u201d object: ".concat( + JSON.stringify(e) + ) + ) + ]; + case 1: + (a.sent(), (a.label = 2)); + case 2: + return this.serverRepository + .getList() + .some(function (e) { + return e.definition.name === n.name; + }) + ? [ + 2, + Promise.reject( + 'A method with the name "'.concat( + n.name, + '" already exists! Please, provide a unique name for the method.' + ) + ) + ] + : n.supportsStreaming + ? [ + 2, + Promise.reject( + "When you create methods with \u201cglue.interop.register()\u201d or \u201cglue.interop.registerAsync()\u201d the property \u201csupportsStreaming\u201d cannot be \u201ctrue\u201d. If you want \u201c".concat( + n.name, + "\u201d to be a stream, please use the \u201cglue.interop.createStream()\u201d method." + ) + ) + ] + : ((i = this.serverRepository.add({ + definition: n, + theFunction: t, + protocolState: {} + })), + [ + 2, + this.protocol.server + .register(i) + .catch(function (e) { + throw ( + (null === i || + void 0 === i + ? void 0 + : i.repoId) && + o.serverRepository.remove( + i.repoId + ), + e + ); + }) + ]); + } + }); + }); + }), + (e.prototype.onMethodInvoked = function (e, t, n) { + var r = this; + e && + e.theFunction && + e.theFunction(n, function (n, i) { + if (void 0 !== n && null !== n) + if (n.message && "string" === typeof n.message) + n = n.message; + else if ("string" !== typeof n) + try { + n = JSON.stringify(n); + } catch (o) { + n = + "un-stringifyable error in onMethodInvoked! Top level prop names: ".concat( + Object.keys(n) + ); + } + (i + ? ("object" !== typeof i || Array.isArray(i)) && + (i = { _value: i }) + : (i = {}), + r.protocol.server.methodInvocationResult( + e, + t, + n, + i + )); + }); + }), + e + ); + })(), + zt = (function () { + function e(e, t, n) { + var r = this; + ((this.wrapped = {}), + (this.wrapped.getMethods = function () { + return e.methodsForInstance(this); + }), + (this.wrapped.getStreams = function () { + return e.methodsForInstance(this).filter(function (e) { + return e.supportsStreaming; + }); + }), + t && this.refreshWrappedObject(t), + n && + (n.loggedIn(function () { + r.refresh(n); + }), + this.refresh(n))); + } + return ( + (e.prototype.unwrap = function () { + return this.wrapped; + }), + (e.prototype.refresh = function (e) { + if (e) { + var t = + null === e || void 0 === e + ? void 0 + : e.resolvedIdentity, + n = Object.assign( + {}, + null !== t && void 0 !== t ? t : {}, + { + peerId: + null === e || void 0 === e + ? void 0 + : e.peerId + } + ); + this.refreshWrappedObject(n); + } + }), + (e.prototype.refreshWrappedObject = function (e) { + var t, + n, + r, + i, + o = this; + (Object.keys(e).forEach(function (t) { + o.wrapped[t] = e[t]; + }), + (this.wrapped.user = e.user), + (this.wrapped.instance = e.instance), + (this.wrapped.application = + null !== (t = e.application) && void 0 !== t + ? t + : $e()), + (this.wrapped.applicationName = e.applicationName), + (this.wrapped.pid = + null !== + (r = + null !== (n = e.pid) && void 0 !== n + ? n + : e.process) && void 0 !== r + ? r + : Math.floor(1e10 * Math.random())), + (this.wrapped.machine = e.machine), + (this.wrapped.environment = e.environment), + (this.wrapped.region = e.region), + (this.wrapped.windowId = e.windowId), + (this.wrapped.isLocal = + null === (i = e.isLocal) || void 0 === i || i), + (this.wrapped.api = e.api), + (this.wrapped.service = e.service), + (this.wrapped.peerId = e.peerId)); + }), + e + ); + })(), + qt = function (e) { + return b(b({}, e), { flags: e.flags.metadata || {} }); + }, + Gt = (function () { + function e(e, t) { + ((this.logger = e), + (this.API = t), + (this.servers = {}), + (this.methodsCount = {}), + (this.callbacks = Z())); + var n = this.API.instance.peerId; + ((this.myServer = { + id: n, + methods: {}, + instance: this.API.instance, + wrapper: this.API.unwrappedInstance + }), + (this.servers[n] = this.myServer)); + } + return ( + (e.prototype.addServer = function (e, t) { + this.logger.debug("adding server ".concat(t)); + var n = this.servers[t]; + if (n) return n.id; + var r = new zt(this.API, e), + i = { + id: t, + methods: {}, + instance: r.unwrap(), + wrapper: r + }; + return ( + (this.servers[t] = i), + this.callbacks.execute("onServerAdded", i.instance), + t + ); + }), + (e.prototype.removeServerById = function (e, t) { + var n = this, + r = this.servers[e]; + r + ? (this.logger.debug("removing server ".concat(e)), + Object.keys(r.methods).forEach(function (t) { + n.removeServerMethod(e, t); + }), + delete this.servers[e], + this.callbacks.execute("onServerRemoved", r.instance, t)) + : this.logger.warn( + "not aware of server " + .concat(e, ", my state ") + .concat(JSON.stringify(Object.keys(this.servers))) + ); + }), + (e.prototype.addServerMethod = function (e, t) { + var n, + r = this.servers[e]; + if (!r) throw new Error("server does not exists"); + if (!r.methods[t.id]) { + var i = this.createMethodIdentifier(t), + o = this, + a = { + identifier: i, + gatewayId: t.id, + name: t.name, + displayName: t.display_name, + description: t.description, + version: t.version, + objectTypes: t.object_types || [], + accepts: t.input_signature, + returns: t.result_signature, + supportsStreaming: + "undefined" !== typeof t.flags && + t.flags.streaming, + flags: + null !== (n = t.flags) && void 0 !== n ? n : {}, + getServers: function () { + return o.getServersByMethod(i); + } + }; + ((a.object_types = a.objectTypes), + (a.display_name = a.displayName), + (a.version = a.version), + (r.methods[t.id] = a)); + var s = qt(a); + return ( + this.methodsCount[i] || + ((this.methodsCount[i] = 0), + this.callbacks.execute("onMethodAdded", s)), + (this.methodsCount[i] = this.methodsCount[i] + 1), + this.callbacks.execute( + "onServerMethodAdded", + r.instance, + s + ), + a + ); + } + }), + (e.prototype.removeServerMethod = function (e, t) { + var n = this.servers[e]; + if (!n) throw new Error("server does not exists"); + var r = n.methods[t]; + delete n.methods[t]; + var i = qt(r); + ((this.methodsCount[r.identifier] = + this.methodsCount[r.identifier] - 1), + 0 === this.methodsCount[r.identifier] && + this.callbacks.execute("onMethodRemoved", i), + this.callbacks.execute( + "onServerMethodRemoved", + n.instance, + i + )); + }), + (e.prototype.getMethods = function () { + return this.extractMethodsFromServers( + Object.values(this.servers) + ).map(qt); + }), + (e.prototype.getServers = function () { + return Object.values(this.servers).map( + this.hideServerMethodSystemFlags + ); + }), + (e.prototype.onServerAdded = function (e) { + var t = this.callbacks.add("onServerAdded", e), + n = this.getServers().map(function (e) { + return e.instance; + }); + return this.returnUnsubWithDelayedReplay(t, n, e); + }), + (e.prototype.onMethodAdded = function (e) { + var t = this.callbacks.add("onMethodAdded", e), + n = this.getMethods(); + return this.returnUnsubWithDelayedReplay(t, n, e); + }), + (e.prototype.onServerMethodAdded = function (e) { + var t = this.callbacks.add("onServerMethodAdded", e), + n = !1, + r = this.getServers(); + return ( + setTimeout(function () { + r.forEach(function (t) { + var r = t.methods; + Object.keys(r).forEach(function (i) { + n || e(t.instance, r[i]); + }); + }); + }, 0), + function () { + ((n = !0), t()); + } + ); + }), + (e.prototype.onMethodRemoved = function (e) { + return this.callbacks.add("onMethodRemoved", e); + }), + (e.prototype.onServerRemoved = function (e) { + return this.callbacks.add("onServerRemoved", e); + }), + (e.prototype.onServerMethodRemoved = function (e) { + return this.callbacks.add("onServerMethodRemoved", e); + }), + (e.prototype.getServerById = function (e) { + return this.hideServerMethodSystemFlags(this.servers[e]); + }), + (e.prototype.reset = function () { + var e, + t = this; + (Object.keys(this.servers).forEach(function (e) { + t.removeServerById(e, "reset"); + }), + (this.servers = + (((e = {})[this.myServer.id] = this.myServer), e)), + (this.methodsCount = {})); + }), + (e.prototype.createMethodIdentifier = function (e) { + var t, + n, + r = + null !== (t = e.input_signature) && void 0 !== t + ? t + : "", + i = + null !== (n = e.result_signature) && void 0 !== n + ? n + : ""; + return (e.name + r + i).toLowerCase(); + }), + (e.prototype.getServersByMethod = function (e) { + var t = []; + return ( + Object.values(this.servers).forEach(function (n) { + Object.values(n.methods).forEach(function (r) { + r.identifier === e && t.push(n.instance); + }); + }), + t + ); + }), + (e.prototype.returnUnsubWithDelayedReplay = function (e, t, n) { + var r = !1; + return ( + setTimeout(function () { + t.forEach(function (e) { + r || n(e); + }); + }, 0), + function () { + ((r = !0), e()); + } + ); + }), + (e.prototype.hideServerMethodSystemFlags = function (e) { + var t = {}; + return ( + Object.entries(e.methods).forEach(function (e) { + var n = e[0], + r = e[1]; + t[n] = qt(r); + }), + b(b({}, e), { methods: t }) + ); + }), + (e.prototype.extractMethodsFromServers = function (e) { + return Object.values(e).reduce(function (e, t) { + return _(_([], e, !0), Object.values(t.methods), !0); + }, []); + }), + e + ); + })(), + Ut = (function () { + function e() { + ((this.nextId = 0), (this.methods = [])); + } + return ( + (e.prototype.add = function (e) { + return ( + (e.repoId = String(this.nextId)), + (this.nextId += 1), + this.methods.push(e), + e + ); + }), + (e.prototype.remove = function (e) { + if ("string" !== typeof e) + return new TypeError("Expecting a string"); + this.methods = this.methods.filter(function (t) { + return t.repoId !== e; + }); + }), + (e.prototype.getById = function (e) { + if ("string" === typeof e) + return this.methods.find(function (t) { + return t.repoId === e; + }); + }), + (e.prototype.getList = function () { + return this.methods.map(function (e) { + return e; + }); + }), + (e.prototype.length = function () { + return this.methods.length; + }), + (e.prototype.reset = function () { + this.methods = []; + }), + e + ); + })(), + Vt = "onSubscriptionRequest", + $t = "onSubscriptionAdded", + Jt = "onSubscriptionRemoved", + Kt = (function () { + function e(e, t, n) { + var r = this; + ((this.session = e), + (this.repository = t), + (this.serverRepository = n), + (this.ERR_URI_SUBSCRIPTION_FAILED = + "com.tick42.agm.errors.subscription.failure"), + (this.callbacks = Z()), + (this.nextStreamId = 0), + e.on("add-interest", function (e) { + r.handleAddInterest(e); + }), + e.on("remove-interest", function (e) { + r.handleRemoveInterest(e); + })); + } + return ( + (e.prototype.acceptRequestOnBranch = function (e, t, n) { + if ( + ("string" !== typeof n && (n = ""), + "object" !== typeof t.protocolState.subscriptionsMap) + ) + throw new TypeError( + "The streaming method is missing its subscriptions." + ); + if (!Array.isArray(t.protocolState.branchKeyToStreamIdMap)) + throw new TypeError( + "The streaming method is missing its branches." + ); + var r = this.getStreamId(t, n), + i = e.msg.subscription_id, + o = { + id: i, + arguments: e.arguments, + instance: e.instance, + branchKey: n, + streamId: r, + subscribeMsg: e.msg + }; + ((t.protocolState.subscriptionsMap[i] = o), + this.session.sendFireAndForget({ + type: "accepted", + subscription_id: i, + stream_id: r + }), + this.callbacks.execute($t, o, t)); + }), + (e.prototype.rejectRequest = function (e, t, n) { + ("string" !== typeof n && (n = ""), + this.sendSubscriptionFailed( + "Subscription rejected by user. " + n, + e.msg.subscription_id + )); + }), + (e.prototype.pushData = function (e, t, n) { + var r = this; + if ( + "object" === typeof e && + Array.isArray(e.protocolState.branchKeyToStreamIdMap) + ) { + if ("object" !== typeof t) + throw new Error( + "Invalid arguments. Data must be an object." + ); + ("string" === typeof n + ? (n = [n]) + : (!Array.isArray(n) || n.length <= 0) && (n = []), + e.protocolState.branchKeyToStreamIdMap + .filter(function (e) { + return ( + !n || + 0 === n.length || + n.indexOf(e.key) >= 0 + ); + }) + .map(function (e) { + return e.streamId; + }) + .forEach(function (e) { + var n = { + type: "publish", + stream_id: e, + data: t + }; + r.session.sendFireAndForget(n); + })); + } + }), + (e.prototype.pushDataToSingle = function (e, t, n) { + if ("object" !== typeof n) + throw new Error( + "Invalid arguments. Data must be an object." + ); + var r = { type: "post", subscription_id: t.id, data: n }; + this.session.sendFireAndForget(r); + }), + (e.prototype.closeSingleSubscription = function (e, t) { + e.protocolState.subscriptionsMap && + delete e.protocolState.subscriptionsMap[t.id]; + var n = { + type: "drop-subscription", + subscription_id: t.id, + reason: "Server dropping a single subscription" + }; + (this.session.sendFireAndForget(n), + t.instance, + this.callbacks.execute(Jt, t, e)); + }), + (e.prototype.closeMultipleSubscriptions = function (e, t) { + var n = this; + if ( + "object" === typeof e && + "object" === typeof e.protocolState.subscriptionsMap && + e.protocolState.subscriptionsMap + ) { + var r = e.protocolState.subscriptionsMap, + i = Object.keys(r).map(function (e) { + return r[e]; + }); + ("string" === typeof t && + (i = i.filter(function (e) { + return e.branchKey === t; + })), + i.forEach(function (e) { + delete r[e.id]; + var t = { + type: "drop-subscription", + subscription_id: e.id, + reason: + "Server dropping all subscriptions on stream_id: " + + e.streamId + }; + n.session.sendFireAndForget(t); + })); + } + }), + (e.prototype.getSubscriptionList = function (e, t) { + if ("object" !== typeof e) return []; + if (!e.protocolState.subscriptionsMap) return []; + var n = e.protocolState.subscriptionsMap, + r = Object.keys(n).map(function (e) { + return n[e]; + }); + return "string" !== typeof t + ? r + : r.filter(function (e) { + return e.branchKey === t; + }); + }), + (e.prototype.getBranchList = function (e) { + if ("object" !== typeof e) return []; + if (!e.protocolState.subscriptionsMap) return []; + var t = e.protocolState.subscriptionsMap, + n = Object.keys(t).map(function (e) { + return t[e]; + }), + r = []; + return ( + n.forEach(function (e) { + var t = ""; + ("object" === typeof e && + "string" === typeof e.branchKey && + (t = e.branchKey), + -1 === r.indexOf(t) && r.push(t)); + }), + r + ); + }), + (e.prototype.onSubAdded = function (e) { + this.onSubscriptionLifetimeEvent($t, e); + }), + (e.prototype.onSubRequest = function (e) { + this.onSubscriptionLifetimeEvent(Vt, e); + }), + (e.prototype.onSubRemoved = function (e) { + this.onSubscriptionLifetimeEvent(Jt, e); + }), + (e.prototype.handleRemoveInterest = function (e) { + var t = this.serverRepository.getById(e.method_id); + if ( + "string" === typeof e.subscription_id && + "object" === typeof t && + t.protocolState.subscriptionsMap && + "object" === + typeof t.protocolState.subscriptionsMap[ + e.subscription_id + ] + ) { + var n = t.protocolState.subscriptionsMap[e.subscription_id]; + (delete t.protocolState.subscriptionsMap[e.subscription_id], + this.callbacks.execute(Jt, n, t)); + } + }), + (e.prototype.onSubscriptionLifetimeEvent = function (e, t) { + this.callbacks.add(e, t); + }), + (e.prototype.getNextStreamId = function () { + return this.nextStreamId++ + ""; + }), + (e.prototype.handleAddInterest = function (e) { + var t = this.repository.getServerById(e.caller_id).instance, + n = { + msg: e, + arguments: e.arguments_kv || {}, + instance: t + }, + r = this.serverRepository.getById(e.method_id); + if (void 0 !== r) + r.protocolState.subscriptionsMap && + r.protocolState.subscriptionsMap[e.subscription_id] + ? this.sendSubscriptionFailed( + "A subscription with id " + + e.subscription_id + + " already exists.", + e.subscription_id + ) + : this.callbacks.execute(Vt, n, r); + else { + var i = + "No method with id " + e.method_id + " on this server."; + this.sendSubscriptionFailed(i, e.subscription_id); + } + }), + (e.prototype.sendSubscriptionFailed = function (e, t) { + var n = { + type: "error", + reason_uri: this.ERR_URI_SUBSCRIPTION_FAILED, + reason: e, + request_id: t + }; + this.session.sendFireAndForget(n); + }), + (e.prototype.getStreamId = function (e, t) { + if ( + ("string" !== typeof t && (t = ""), + !e.protocolState.branchKeyToStreamIdMap) + ) + throw new Error( + "streaming ".concat( + e.definition.name, + " method without protocol state" + ) + ); + var n = e.protocolState.branchKeyToStreamIdMap.filter( + function (e) { + return e.key === t; + } + )[0], + r = n ? n.streamId : void 0; + return ( + ("string" === typeof r && "" !== r) || + ((r = this.getNextStreamId()), + e.protocolState.branchKeyToStreamIdMap.push({ + key: t, + streamId: r + })), + r + ); + }), + e + ); + })(), + Qt = (function () { + function e(e, t, n, r) { + var i = this; + ((this.session = e), + (this.clientRepository = t), + (this.serverRepository = n), + (this.logger = r), + (this.callbacks = Z()), + (this.streaming = new Kt(e, t, n)), + this.session.on("invoke", function (e) { + return i.handleInvokeMessage(e); + })); + } + return ( + (e.prototype.createStream = function (e) { + return ( + (e.protocolState.subscriptionsMap = {}), + (e.protocolState.branchKeyToStreamIdMap = []), + this.register(e, !0) + ); + }), + (e.prototype.register = function (e, t) { + var n, + r = this, + i = e.definition, + o = Object.assign( + {}, + { + metadata: + null !== (n = i.flags) && void 0 !== n ? n : {} + }, + { streaming: t || !1 } + ), + a = { + type: "register", + methods: [ + { + id: e.repoId, + name: i.name, + display_name: i.displayName, + description: i.description, + version: i.version, + flags: o, + object_types: i.objectTypes || i.object_types, + input_signature: i.accepts, + result_signature: i.returns, + restrictions: void 0 + } + ] + }; + return this.session + .send(a, { methodId: e.repoId }) + .then(function () { + r.logger.debug( + "registered method " + + e.definition.name + + " with id " + + e.repoId + ); + }) + .catch(function (t) { + throw ( + r.logger.warn( + "failed to register method " + .concat(e.definition.name, " with id ") + .concat(e.repoId, " - ") + .concat(JSON.stringify(t)) + ), + t + ); + }); + }), + (e.prototype.onInvoked = function (e) { + this.callbacks.add("onInvoked", e); + }), + (e.prototype.methodInvocationResult = function (e, t, n, r) { + var i; + ((i = + n || "" === n + ? { + type: "error", + request_id: t, + reason_uri: "agm.errors.client_error", + reason: n, + context: r, + peer_id: void 0 + } + : { + type: "yield", + invocation_id: t, + peer_id: this.session.peerId, + result: r, + request_id: void 0 + }), + this.session.sendFireAndForget(i)); + }), + (e.prototype.unregister = function (e) { + return k(this, void 0, void 0, function () { + var t; + return x(this, function (n) { + switch (n.label) { + case 0: + return ( + (t = { + type: "unregister", + methods: [e.repoId] + }), + [4, this.session.send(t)] + ); + case 1: + return (n.sent(), [2]); + } + }); + }); + }), + (e.prototype.getBranchList = function (e) { + return this.streaming.getBranchList(e); + }), + (e.prototype.getSubscriptionList = function (e, t) { + return this.streaming.getSubscriptionList(e, t); + }), + (e.prototype.closeAllSubscriptions = function (e, t) { + this.streaming.closeMultipleSubscriptions(e, t); + }), + (e.prototype.pushData = function (e, t, n) { + this.streaming.pushData(e, t, n); + }), + (e.prototype.pushDataToSingle = function (e, t, n) { + this.streaming.pushDataToSingle(e, t, n); + }), + (e.prototype.closeSingleSubscription = function (e, t) { + this.streaming.closeSingleSubscription(e, t); + }), + (e.prototype.acceptRequestOnBranch = function (e, t, n) { + this.streaming.acceptRequestOnBranch(e, t, n); + }), + (e.prototype.rejectRequest = function (e, t, n) { + this.streaming.rejectRequest(e, t, n); + }), + (e.prototype.onSubRequest = function (e) { + this.streaming.onSubRequest(e); + }), + (e.prototype.onSubAdded = function (e) { + this.streaming.onSubAdded(e); + }), + (e.prototype.onSubRemoved = function (e) { + this.streaming.onSubRemoved(e); + }), + (e.prototype.handleInvokeMessage = function (e) { + var t = e.invocation_id, + n = e.caller_id, + r = e.method_id, + i = e.arguments_kv, + o = this.serverRepository.getList().filter(function (e) { + return e.repoId === r; + })[0]; + if (void 0 !== o) { + var a = { + args: i, + instance: + this.clientRepository.getServerById(n).instance + }; + this.callbacks.execute("onInvoked", o, t, a); + } + }), + e + ); + })(), + Xt = (function () { + function e(e, t) { + ((this.repository = e), (this.subscriptionData = t)); + } + return ( + Object.defineProperty(e.prototype, "requestArguments", { + get: function () { + return this.subscriptionData.params.arguments || {}; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "servers", { + get: function () { + var e = this; + return this.subscriptionData.trackedServers + .filter(function (e) { + return e.subscriptionId; + }) + .map(function (t) { + return e.repository.getServerById(t.serverId) + .instance; + }); + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "serverInstance", { + get: function () { + return this.servers[0]; + }, + enumerable: !1, + configurable: !0 + }), + Object.defineProperty(e.prototype, "stream", { + get: function () { + return this.subscriptionData.method; + }, + enumerable: !1, + configurable: !0 + }), + (e.prototype.onData = function (e) { + if ("function" !== typeof e) + throw new TypeError( + "The data callback must be a function." + ); + (this.subscriptionData.handlers.onData.push(e), + 1 === this.subscriptionData.handlers.onData.length && + this.subscriptionData.queued.data.length > 0 && + this.subscriptionData.queued.data.forEach(function (t) { + e(t); + })); + }), + (e.prototype.onClosed = function (e) { + if ("function" !== typeof e) + throw new TypeError("The callback must be a function."); + this.subscriptionData.handlers.onClosed.push(e); + }), + (e.prototype.onFailed = function (e) {}), + (e.prototype.onConnected = function (e) { + if ("function" !== typeof e) + throw new TypeError("The callback must be a function."); + this.subscriptionData.handlers.onConnected.push(e); + }), + (e.prototype.close = function () { + this.subscriptionData.close(); + }), + (e.prototype.setNewSubscription = function (e) { + this.subscriptionData = e; + }), + e + ); + })(), + Yt = (function () { + function e(e) { + ((this.config = e), (this.cache = []), (this.timeoutIds = [])); + } + return ( + (e.prototype.add = function (e) { + var t = this, + n = $e(); + this.cache.push({ id: n, element: e }); + var r = setTimeout(function () { + var e = t.cache.findIndex(function (e) { + return e.id === n; + }); + e < 0 || t.cache.splice(e, 1); + }, this.config.ELEMENT_TTL_MS); + this.timeoutIds.push(r); + }), + (e.prototype.flush = function () { + var e = this.cache.map(function (e) { + return e.element; + }); + return ( + this.timeoutIds.forEach(function (e) { + return clearInterval(e); + }), + (this.cache = []), + (this.timeoutIds = []), + e + ); + }), + e + ); + })(), + Zt = "awaitingAccept", + en = "subscribed", + tn = "Subscription failed.", + nn = "Subscription rejected.", + rn = "ServerInitiated", + on = "ClientInitiated", + an = (function () { + function e(e, t, n) { + var r = this; + ((this.session = e), + (this.repository = t), + (this.logger = n), + (this.subscriptionsList = {}), + (this.timedCache = new Yt({ ELEMENT_TTL_MS: 1e4 })), + (this.subscriptionIdToLocalKeyMap = {}), + (this.nextSubLocalKey = 0), + (this.handleErrorSubscribing = function (e) { + var t = e._tag, + n = t.subLocalKey, + i = r.subscriptionsList[n]; + if ( + "object" === typeof i && + ((i.trackedServers = i.trackedServers.filter( + function (e) { + return e.serverId !== t.serverId; + } + )), + i.trackedServers.length <= 0) + ) { + if ((clearTimeout(i.timeoutId), i.status === Zt)) { + var o = + "string" === typeof e.reason && + "" !== e.reason + ? ' Publisher said "' + e.reason + '".' + : " No reason given.", + a = + "object" === typeof i.params.arguments + ? JSON.stringify(i.params.arguments) + : "{}"; + i.error({ + message: nn + o + " Called with:" + a, + called_with: i.params.arguments, + method: i.method + }); + } else i.status === en && r.callOnClosedHandlers(i); + delete r.subscriptionsList[n]; + } + }), + (this.handleSubscribed = function (e) { + var t = e._tag.subLocalKey, + n = r.subscriptionsList[t]; + if ("object" === typeof n) { + var i = e._tag.serverId, + o = n.trackedServers.filter(function (e) { + return e.serverId === i; + })[0]; + if ("object" === typeof o) { + ((o.subscriptionId = e.subscription_id), + (r.subscriptionIdToLocalKeyMap[ + e.subscription_id + ] = t)); + var a = n.status === Zt; + if (((n.status = en), a)) { + var s = !1, + c = n.subscription; + c + ? (c.setNewSubscription(n), + n.success(c), + (s = !0)) + : ((c = new Xt(r.repository, n)), + (n.subscription = c), + n.success(c)); + for ( + var u = 0, d = n.handlers.onConnected; + u < d.length; + u++ + ) { + var l = d[u]; + try { + l(c.serverInstance, s); + } catch (p) {} + } + } + } + } + }), + (this.handleEventData = function (e) { + var t = r.subscriptionIdToLocalKeyMap[e.subscription_id]; + if ("undefined" !== typeof t) { + var n = r.subscriptionsList[t]; + if ("object" === typeof n) { + var i = n.trackedServers.filter(function (t) { + return t.subscriptionId === e.subscription_id; + }); + if (1 === i.length) { + var o = e.oob, + a = i[0].serverId, + s = function () { + return { + data: e.data, + server: r.repository.getServerById( + a + ).instance, + requestArguments: + n.params.arguments, + message: void 0, + private: o + }; + }, + c = n.handlers.onData, + u = n.queued.data; + c.length > 0 + ? c.forEach(function (e) { + "function" === typeof e && e(s()); + }) + : u.push(s()); + } + } + } + }), + (this.handleSubscriptionCancelled = function (e) { + var t = r.subscriptionIdToLocalKeyMap[e.subscription_id]; + if ("undefined" !== typeof t) { + var n = r.subscriptionsList[t]; + if ("object" === typeof n) { + var i = n.trackedServers.length - 1; + ((n.trackedServers = n.trackedServers.filter( + function (t) { + return ( + t.subscriptionId !== + e.subscription_id || + (n.queued.closers.push(t.serverId), !1) + ); + } + )), + n.trackedServers.length === i && + (n.trackedServers.length <= 0 && + (r.timedCache.add(n), + clearTimeout(n.timeoutId), + r.callOnClosedHandlers(n), + delete r.subscriptionsList[t]), + delete r.subscriptionIdToLocalKeyMap[ + e.subscription_id + ])); + } + } + }), + e.on("subscribed", this.handleSubscribed), + e.on("event", this.handleEventData), + e.on( + "subscription-cancelled", + this.handleSubscriptionCancelled + )); + } + return ( + (e.prototype.subscribe = function (e, t, n, r, i, o) { + var a = this; + if (0 !== n.length) { + var s = this.getNextSubscriptionLocalKey(), + c = this.registerSubscription( + s, + e, + t, + r, + i, + t.methodResponseTimeout || 1e4, + o + ); + "object" === typeof c + ? n.forEach(function (n) { + var r = n.server.id, + i = n.methods.find(function (t) { + return t.name === e.name; + }); + if (i) { + c.trackedServers.push({ + serverId: r, + subscriptionId: void 0 + }); + var o = { + type: "subscribe", + server_id: r, + method_id: i.gatewayId, + arguments_kv: t.arguments + }; + a.session + .send(o, { serverId: r, subLocalKey: s }) + .then(function (e) { + return a.handleSubscribed(e); + }) + .catch(function (e) { + return a.handleErrorSubscribing(e); + }); + } else + a.logger.error( + "can not find method " + .concat(e.name, " for target ") + .concat(n.server.id) + ); + }) + : i({ + method: e, + called_with: t.arguments, + message: + tn + " Unable to register the user callbacks." + }); + } else + i({ + method: e, + called_with: t.arguments, + message: + tn + + " No available servers matched the target params." + }); + }), + (e.prototype.drainSubscriptions = function () { + var e = Object.values(this.subscriptionsList); + return ( + (this.subscriptionsList = {}), + (this.subscriptionIdToLocalKeyMap = {}), + e + ); + }), + (e.prototype.drainSubscriptionsCache = function () { + return this.timedCache.flush(); + }), + (e.prototype.getNextSubscriptionLocalKey = function () { + var e = this.nextSubLocalKey; + return ((this.nextSubLocalKey += 1), e); + }), + (e.prototype.registerSubscription = function (e, t, n, r, i, o, a) { + var s = this, + c = { + localKey: e, + status: Zt, + method: t, + params: n, + success: r, + error: i, + trackedServers: [], + handlers: { + onData: + (null === a || void 0 === a + ? void 0 + : a.handlers.onData) || [], + onClosed: + (null === a || void 0 === a + ? void 0 + : a.handlers.onClosed) || [], + onConnected: + (null === a || void 0 === a + ? void 0 + : a.handlers.onConnected) || [] + }, + queued: { data: [], closers: [] }, + timeoutId: void 0, + close: function () { + return s.closeSubscription(e); + }, + subscription: + null === a || void 0 === a ? void 0 : a.subscription + }; + return ( + a || + (n.onData && c.handlers.onData.push(n.onData), + n.onClosed && c.handlers.onClosed.push(n.onClosed), + n.onConnected && + c.handlers.onConnected.push(n.onConnected)), + (this.subscriptionsList[e] = c), + (c.timeoutId = setTimeout(function () { + if (void 0 !== s.subscriptionsList[e]) { + var r = s.subscriptionsList[e]; + r.status === Zt + ? (i({ + method: t, + called_with: n.arguments, + message: + tn + + " Subscription attempt timed out after " + + o + + " ms." + }), + delete s.subscriptionsList[e]) + : r.status === en && + r.trackedServers.length > 0 && + ((r.trackedServers = r.trackedServers.filter( + function (e) { + return ( + "undefined" !== + typeof e.subscriptionId + ); + } + )), + delete r.timeoutId, + r.trackedServers.length <= 0 && + (s.callOnClosedHandlers(r), + delete s.subscriptionsList[e])); + } + }, o)), + c + ); + }), + (e.prototype.callOnClosedHandlers = function (e, t) { + var n, + r = e.queued.closers.length, + i = r > 0 ? e.queued.closers[r - 1] : null; + (void 0 !== i && + "string" === typeof i && + (n = this.repository.getServerById(i).instance), + e.handlers.onClosed.forEach(function (r) { + "function" === typeof r && + r({ + message: t || rn, + requestArguments: e.params.arguments || {}, + server: n, + stream: e.method + }); + })); + }), + (e.prototype.closeSubscription = function (e) { + var t = this, + n = this.subscriptionsList[e]; + "object" === typeof n && + (n.trackedServers.forEach(function (e) { + "undefined" !== typeof e.subscriptionId && + (n.queued.closers.push(e.serverId), + t.session.sendFireAndForget({ + type: "unsubscribe", + subscription_id: e.subscriptionId, + reason_uri: "", + reason: on + }), + delete t.subscriptionIdToLocalKeyMap[ + e.subscriptionId + ]); + }), + (n.trackedServers = []), + this.callOnClosedHandlers(n, on), + delete this.subscriptionsList[e]); + }), + e + ); + })(), + sn = (function () { + function e(e, t, n) { + var r = this; + ((this.session = e), + (this.repository = t), + (this.logger = n), + e.on("peer-added", function (e) { + return r.handlePeerAdded(e); + }), + e.on("peer-removed", function (e) { + return r.handlePeerRemoved(e); + }), + e.on("methods-added", function (e) { + return r.handleMethodsAddedMessage(e); + }), + e.on("methods-removed", function (e) { + return r.handleMethodsRemovedMessage(e); + }), + (this.streaming = new an(e, t, n))); + } + return ( + (e.prototype.subscribe = function (e, t, n, r, i, o) { + this.streaming.subscribe(e, t, n, r, i, o); + }), + (e.prototype.invoke = function (e, t, n, r) { + var i = this, + o = r.id, + a = { + type: "call", + server_id: o, + method_id: t.gatewayId, + arguments_kv: n + }; + return this.session + .send(a, { invocationId: e, serverId: o }) + .then(function (e) { + return i.handleResultMessage(e); + }) + .catch(function (e) { + return i.handleInvocationError(e); + }); + }), + (e.prototype.drainSubscriptions = function () { + return this.streaming.drainSubscriptions(); + }), + (e.prototype.drainSubscriptionsCache = function () { + return this.streaming.drainSubscriptionsCache(); + }), + (e.prototype.handlePeerAdded = function (e) { + var t = e.new_peer_id, + n = e.identity, + r = !e.meta || e.meta.local, + i = Number(n.process), + o = { + machine: n.machine, + pid: isNaN(i) ? n.process : i, + instance: n.instance, + application: n.application, + applicationName: n.applicationName, + environment: n.environment, + region: n.region, + user: n.user, + windowId: n.windowId, + peerId: t, + api: n.api, + isLocal: r + }; + this.repository.addServer(o, t); + }), + (e.prototype.handlePeerRemoved = function (e) { + var t = e.removed_id, + n = e.reason; + this.repository.removeServerById(t, n); + }), + (e.prototype.handleMethodsAddedMessage = function (e) { + var t = this, + n = e.server_id; + e.methods.forEach(function (e) { + t.repository.addServerMethod(n, e); + }); + }), + (e.prototype.handleMethodsRemovedMessage = function (e) { + var t = this, + n = e.server_id, + r = e.methods, + i = this.repository.getServerById(n); + Object.keys(i.methods).forEach(function (e) { + var o = i.methods[e]; + r.indexOf(o.gatewayId) > -1 && + t.repository.removeServerMethod(n, e); + }); + }), + (e.prototype.handleResultMessage = function (e) { + var t = e._tag.invocationId, + n = e.result, + r = e._tag.serverId; + return { + invocationId: t, + result: n, + instance: this.repository.getServerById(r).instance, + status: At.Success, + message: "" + }; + }), + (e.prototype.handleInvocationError = function (e) { + if ( + (this.logger.debug( + "handle invocation error ".concat(JSON.stringify(e)) + ), + "_tag" in e) + ) { + var t = e._tag.invocationId, + n = e._tag.serverId, + r = this.repository.getServerById(n), + i = e.reason; + return { + invocationId: t, + result: e.context, + instance: r.instance, + status: At.Error, + message: i + }; + } + return { + invocationId: "", + message: e.message, + status: At.Error, + error: e + }; + }), + e + ); + })(); + function cn(e, t, n, r, i, o) { + var a, + s = i.logger.subLogger("gw3-protocol"), + c = new Promise(function (e) { + a = e; + }), + u = t.domain("agm", ["subscribed"]), + d = new Qt(u, n, r, s.subLogger("server")), + l = new sn(u, n, s.subLogger("client")); + function p() { + return k(this, void 0, void 0, function () { + var e, t, n, i, a, c, u, d, p, h, f; + return x(this, function (v) { + switch (v.label) { + case 0: + for ( + s.info( + "reconnected - will replay registered methods and subscriptions" + ), + l + .drainSubscriptionsCache() + .forEach(function (e) { + var t = e.method, + n = Object.assign({}, e.params); + (s.info( + "trying to soft-re-subscribe to method " + .concat( + t.name, + ", with params: " + ) + .concat(JSON.stringify(n)) + ), + o.client + .subscribe( + t, + n, + void 0, + void 0, + e + ) + .then(function () { + return s.info( + "soft-subscribing to method ".concat( + t.name, + " DONE" + ) + ); + }) + .catch(function (e) { + return s.warn( + "subscribing to method " + .concat( + t.name, + " failed: " + ) + .concat( + JSON.stringify( + e + ), + "}" + ) + ); + })); + }), + e = [], + t = l.drainSubscriptions(), + n = function (t) { + var n = t.method, + r = Object.assign({}, t.params); + (s.info( + "trying to re-subscribe to method " + .concat(n.name, ", with params: ") + .concat(JSON.stringify(r)) + ), + e.push( + o.client + .subscribe( + n, + r, + void 0, + void 0, + t + ) + .then(function () { + return s.info( + "subscribing to method ".concat( + n.name, + " DONE" + ) + ); + }) + )); + }, + i = 0, + a = t; + i < a.length; + i++ + ) + ((c = a[i]), n(c)); + for ( + u = r.getList(), + r.reset(), + d = function (t) { + var n = t.definition; + (s.info( + "re-publishing method ".concat(n.name) + ), + t.stream + ? e.push( + o.server + .createStream( + n, + t.streamCallbacks, + void 0, + void 0, + t.stream + ) + .then(function () { + return s.info( + "subscribing to method ".concat( + n.name, + " DONE" + ) + ); + }) + ) + : t.theFunction && + t.theFunction.userCallback + ? e.push( + o + .register( + n, + t.theFunction + .userCallback + ) + .then(function () { + return s.info( + "subscribing to method ".concat( + n.name, + " DONE" + ) + ); + }) + ) + : t.theFunction && + t.theFunction + .userCallbackAsync && + e.push( + o + .registerAsync( + n, + t.theFunction + .userCallbackAsync + ) + .then(function () { + return s.info( + "subscribing to method ".concat( + n.name, + " DONE" + ) + ); + }) + ), + s.info( + "re-publishing method ".concat( + n.name, + " DONE" + ) + )); + }, + p = 0, + h = u; + p < h.length; + p++ + ) + ((f = h[p]), d(f)); + return [4, Promise.all(e)]; + case 1: + return ( + v.sent(), + s.info("Interop is re-announced"), + [2] + ); + } + }); + }); + } + function h() { + a && (a({ client: l, server: d }), (a = void 0)); + } + return ( + u.onJoined(function (r) { + (n.addServer(e, t.peerId), + r + ? p() + .then(function () { + return t.setLibReAnnounced({ name: "interop" }); + }) + .catch(function (e) { + return s.warn( + "Error while re-announcing interop: ".concat( + JSON.stringify(e) + ) + ); + }) + : h()); + }), + u.onLeft(function () { + n.reset(); + }), + u.join(), + c + ); + } + var un = (function () { + function e(e) { + var t = this; + if ("undefined" === typeof e) + throw new Error("configuration is required"); + if ("undefined" === typeof e.connection) + throw new Error("configuration.connections is required"); + var n, + r = e.connection; + if ( + ("number" !== typeof e.methodResponseTimeout && + (e.methodResponseTimeout = 3e4), + "number" !== typeof e.waitTimeoutMs && (e.waitTimeoutMs = 3e4), + (this.unwrappedInstance = new zt(this, void 0, r)), + (this.instance = this.unwrappedInstance.unwrap()), + (this.clientRepository = new Gt( + e.logger.subLogger("cRep"), + this + )), + (this.serverRepository = new Ut()), + 3 !== r.protocolVersion) + ) + throw new Error( + "protocol ".concat(r.protocolVersion, " not supported") + ); + ((n = cn( + this.instance, + r, + this.clientRepository, + this.serverRepository, + e, + this + )), + (this.readyPromise = n.then(function (n) { + return ( + (t.protocol = n), + (t.client = new Dt( + t.protocol, + t.clientRepository, + t.instance, + e + )), + (t.server = new Ht(t.protocol, t.serverRepository)), + t + ); + }))); + } + return ( + (e.prototype.ready = function () { + return this.readyPromise; + }), + (e.prototype.serverRemoved = function (e) { + return this.client.serverRemoved(e); + }), + (e.prototype.serverAdded = function (e) { + return this.client.serverAdded(e); + }), + (e.prototype.serverMethodRemoved = function (e) { + return this.client.serverMethodRemoved(e); + }), + (e.prototype.serverMethodAdded = function (e) { + return this.client.serverMethodAdded(e); + }), + (e.prototype.methodRemoved = function (e) { + return this.client.methodRemoved(e); + }), + (e.prototype.methodAdded = function (e) { + return this.client.methodAdded(e); + }), + (e.prototype.methodsForInstance = function (e) { + return this.client.methodsForInstance(e); + }), + (e.prototype.methods = function (e) { + return this.client.methods(e); + }), + (e.prototype.servers = function (e) { + return this.client.servers(e); + }), + (e.prototype.subscribe = function (e, t, n, r) { + return this.client.subscribe(e, t, n, r); + }), + (e.prototype.createStream = function (e, t, n, r) { + return this.server.createStream(e, t, n, r); + }), + (e.prototype.unregister = function (e) { + return this.server.unregister(e); + }), + (e.prototype.registerAsync = function (e, t) { + return this.server.registerAsync(e, t); + }), + (e.prototype.register = function (e, t) { + return this.server.register(e, t); + }), + (e.prototype.invoke = function (e, t, n, r, i, o) { + return this.client.invoke(e, t, n, r, i, o); + }), + (e.prototype.waitForMethod = function (e) { + var t = new re(), + n = this.client.methodAdded(function (r) { + r.name === e && (n(), t.resolve(r)); + }); + return t.promise; + }), + e + ); + })(), + dn = ["subscribed", "success"], + ln = (function () { + function e(e, t) { + var n = this; + ((this.publish = function (e, t, r) { + var i = r || {}, + o = i.routingKey, + a = i.target, + s = n.removeEmptyValues({ + type: "publish", + topic: e, + data: t, + peer_id: n.peerId, + routing_key: o, + target_identity: a + }); + n.session.send(s); + }), + (this.subscribe = function (e, t, r) { + return new Promise(function (i, o) { + var a = r || {}, + s = a.routingKey, + c = a.target, + u = n.removeEmptyValues({ + type: "subscribe", + topic: e, + peer_id: n.peerId, + routing_key: s, + source: c + }); + n.session + .send(u) + .then(function (r) { + var o = r.subscription_id; + (n.subscriptions.push({ + subscription_id: o, + topic: e, + callback: t, + source: c + }), + i({ + unsubscribe: function () { + return ( + n.session.send({ + type: "unsubscribe", + subscription_id: o, + peer_id: n.peerId + }), + (n.subscriptions = + n.subscriptions.filter( + function (e) { + return ( + e.subscription_id !== + o + ); + } + )), + Promise.resolve() + ); + } + })); + }) + .catch(function (e) { + return o(e); + }); + }); + }), + (this.watchOnEvent = function () { + n.session.on("event", function (e) { + var t = e.data, + r = e.subscription_id, + i = e["publisher-identity"], + o = n.subscriptions.find(function (e) { + return e.subscription_id === r; + }); + o && + (o.source + ? n.keysMatch(o.source, i) && + o.callback(t, o.topic, i) + : o.callback(t, o.topic, i)); + }); + }), + (this.connection = e), + (this.logger = t), + (this.peerId = e.peerId), + (this.subscriptions = []), + (this.session = e.domain("bus", dn)), + (this.readyPromise = this.session.join()), + this.readyPromise.then(function () { + n.watchOnEvent(); + })); + } + return ( + (e.prototype.ready = function () { + return this.readyPromise; + }), + (e.prototype.removeEmptyValues = function (e) { + var t = {}; + return ( + Object.keys(e).forEach(function (n) { + void 0 !== e[n] && null !== e[n] && (t[n] = e[n]); + }), + t + ); + }), + (e.prototype.keysMatch = function (e, t) { + var n = Object.keys(e), + r = !0; + return ( + n.forEach(function (n) { + e[n] !== t[n] && (r = !1); + }), + r + ); + }), + e + ); + })(), + pn = function e(t, n) { + var r, + i, + o, + a, + s, + c, + u, + d, + l, + p = + "object" === typeof window + ? null !== (r = window.iodesktop) && void 0 !== r + ? r + : window.glue42gd + : void 0, + h = + "object" === typeof window && + null !== (i = window.gdPreloadPromise) && + void 0 !== i + ? i + : Promise.resolve(), + f = ae("glue"), + v = wt((t = t || {}), (n = n || {}), p), + m = {}; + function g(t, n, r) { + (l = s.canPublish("trace")) && + s.trace("registering ".concat(t, " module")); + var i = function () { + ((n.initTime = r.stop()), + (n.initEndTime = r.endTime), + (n.marks = r.marks), + l && + s.trace( + "" + .concat(t, " is ready - ") + .concat(r.endTime - r.startTime) + )); + }; + ((n.initStartTime = r.startTime), + n.ready + ? n.ready().then(function () { + i(); + }) + : i(), + Array.isArray(t) || (t = [t]), + t.forEach(function (t) { + ((m[t] = n), (e[t] = n)); + })); + } + function y() { + var e = ae("connection"); + o = new tt(v.connection, s.subLogger("connection")); + var t = Promise.resolve(v.auth); + return ( + v.connection && + !v.auth && + (p + ? (t = p.getGWToken().then(function (e) { + return { gatewayToken: e }; + })) + : "undefined" !== typeof window && + (null === window || void 0 === window + ? void 0 + : window.glue42electron) + ? "string" === typeof window.glue42electron.gwToken && + (t = Promise.resolve({ + gatewayToken: window.glue42electron.gwToken + })) + : (t = Promise.reject( + "You need to provide auth information" + ))), + t + .then(function (t) { + var n; + if ( + (e.mark("auth-promise-resolved"), + "[object Object]" !== + Object.prototype.toString.call(t)) + ) + throw new Error( + "Invalid auth object - " + JSON.stringify(t) + ); + return ((n = t), o.login(n)); + }) + .then(function () { + return (g("connection", o, e), v); + }) + .catch(function (e) { + throw (o && o.logout(), e); + }) + ); + } + function w() { + var e, + t = ae("logger"); + return ( + (s = new rt( + "".concat( + null === (e = v.connection.identity) || void 0 === e + ? void 0 + : e.application + ), + void 0, + v.customLogger + )).consoleLevel(v.logger.console), + s.publishLevel(v.logger.publish), + s.canPublish("debug") && s.debug("initializing glue..."), + g("logger", s, t), + Promise.resolve(void 0) + ); + } + function b() { + var e, + t, + n, + r, + i, + a = ae("metrics"), + u = v.metrics, + d = + null === p || void 0 === p + ? void 0 + : p.getMetricsPublishingEnabled, + l = v.connection.identity, + h = + d || + function () { + return !0; + }, + f = + null !== + (e = + "boolean" !== typeof u && u.disableAutoAppSystem) && + void 0 !== e && + e; + return ( + g( + "metrics", + (c = $({ + connection: u ? o : void 0, + logger: s.subLogger("metrics"), + canUpdateMetric: h, + system: "Glue42", + service: + null !== + (n = + null !== + (t = + null === l || void 0 === l + ? void 0 + : l.service) && void 0 !== t + ? t + : null === p || void 0 === p + ? void 0 + : p.applicationName) && void 0 !== n + ? n + : v.application, + instance: + null !== + (i = + null !== + (r = + null === l || void 0 === l + ? void 0 + : l.instance) && void 0 !== r + ? r + : null === l || void 0 === l + ? void 0 + : l.windowId) && void 0 !== i + ? i + : $e(), + disableAutoAppSystem: f, + pagePerformanceMetrics: + "boolean" !== typeof u + ? null === u || void 0 === u + ? void 0 + : u.pagePerformanceMetrics + : void 0 + })), + a + ), + Promise.resolve() + ); + } + function _() { + var e = ae("interop"), + t = { connection: o, logger: s.subLogger("interop") }; + return ( + (a = new un(t)), + (rt.Interop = a), + g(["interop", "agm"], a, e), + Promise.resolve() + ); + } + function C() { + var e = v.activities && 3 === o.protocolVersion; + if (v.contexts || e) { + var t = ae("contexts"); + return ( + g( + "contexts", + (u = new Mt({ + connection: o, + logger: s.subLogger("contexts"), + trackAllContexts: + "object" === typeof v.contexts && + v.contexts.trackAllContexts, + reAnnounceKnownContexts: + "object" === typeof v.contexts && + v.contexts.reAnnounceKnownContexts + })), + t + ), + u + ); + } + var n = o.replayer; + n && n.drain(gt.name); + } + function I() { + return k(this, void 0, void 0, function () { + var e; + return x(this, function (t) { + return v.bus + ? ((e = ae("bus")), + g("bus", (d = new ln(o, s.subLogger("bus"))), e), + [2, Promise.resolve()]) + : [2, Promise.resolve()]; + }); + }); + } + function S(e) { + try { + return ( + e.forEach(function (e) { + E(e.name, e.create); + }), + Promise.resolve() + ); + } catch (t) { + return Promise.reject(t); + } + } + function E(e, t) { + var n = ae(e), + r = t(m); + r && g(e, r, n); + } + function W() { + var e = Object.keys(m).map(function (e) { + var t = m[e]; + return t.ready ? t.ready() : Promise.resolve(); + }); + return Promise.all(e); + } + function T() { + var e = function (e) { + a && a.invoke("T42.ACS.Feedback", e, "best"); + }, + r = { coreVersion: yt, version: v.version }; + f.stop(); + var i = { + feedback: e, + info: r, + logger: s, + interop: a, + agm: a, + connection: o, + metrics: c, + contexts: u, + bus: d, + version: v.version, + userConfig: t, + done: function () { + return ( + null === s || + void 0 === s || + s.info("done called by user..."), + o.logout() + ); + } + }; + if ( + ((i.performance = { + get glueVer() { + return v.version; + }, + get glueConfig() { + return JSON.stringify(t); + }, + get browser() { + return window.performance.timing.toJSON(); + }, + get memory() { + return window.performance.memory; + }, + get initTimes() { + var e = oe(); + return Object.keys(e).map(function (t) { + var n = e[t]; + return { + name: t, + duration: n.endTime - n.startTime, + marks: n.marks, + startTime: n.startTime, + endTime: n.endTime + }; + }); + } + }), + Object.keys(m).forEach(function (e) { + var t = m[e]; + i[e] = t; + }), + (i.config = {}), + Object.keys(v).forEach(function (e) { + i.config[e] = v[e]; + }), + n && + n.extOptions && + Object.keys(n.extOptions).forEach(function (e) { + i.config[e] = + null === n || void 0 === n + ? void 0 + : n.extOptions[e]; + }), + (null === n || void 0 === n ? void 0 : n.enrichGlue) && + n.enrichGlue(i), + p && p.updatePerfData && p.updatePerfData(i.performance), + i.agm) + ) { + var l = function (e, t, n) { + return function () { + return ( + i.logger.warn( + "glue.js - 'glue.agm." + .concat( + t, + "' method is deprecated, use 'glue.interop." + ) + .concat(n, "' instead.") + ), + e.apply(i.agm, arguments) + ); + }; + }, + h = i.agm; + ((h.method_added = l( + i.agm.methodAdded, + "method_added", + "methodAdded" + )), + (h.method_removed = l( + i.agm.methodRemoved, + "method_removed", + "methodRemoved" + )), + (h.server_added = l( + i.agm.serverAdded, + "server_added", + "serverAdded" + )), + (h.server_method_aded = l( + i.agm.serverMethodAdded, + "server_method_aded", + "serverMethodAdded" + )), + (h.server_method_removed = l( + i.agm.serverMethodRemoved, + "server_method_removed", + "serverMethodRemoved" + ))); + } + return i; + } + function A() { + return k(this, void 0, void 0, function () { + var e, n, r; + return x(this, function (i) { + switch (i.label) { + case 0: + if ( + ((e = "T42.ACS.RegisterInstance"), + !ne.isNode() || + "undefined" !== + typeof { + NODE_ENV: "production", + PUBLIC_URL: ".", + WDS_SOCKET_HOST: void 0, + WDS_SOCKET_PATH: void 0, + WDS_SOCKET_PORT: void 0, + FAST_REFRESH: !0 + }._GD_STARTING_CONTEXT_ || + "undefined" === + typeof (null === t || void 0 === t + ? void 0 + : t.application)) + ) + return [3, 4]; + if (!(a.methods({ name: e }).length > 0)) + return [3, 4]; + i.label = 1; + case 1: + return ( + i.trys.push([1, 3, , 4]), + [ + 4, + a.invoke(e, { + appName: + null === t || void 0 === t + ? void 0 + : t.application, + pid: process.pid + }) + ] + ); + case 2: + return (i.sent(), [3, 4]); + case 3: + return ( + (n = i.sent()), + (r = n), + s.error( + "Cannot register as an instance: ".concat( + JSON.stringify(r.message) + ) + ), + [3, 4] + ); + case 4: + return [2]; + } + }); + }); + } + return h + .then(w) + .then(y) + .then(function () { + return Promise.all([b(), _(), C(), I()]); + }) + .then(function () { + return a.readyPromise; + }) + .then(function () { + return A(); + }) + .then(function () { + return S(v.libs || []); + }) + .then(W) + .then(T) + .catch(function (e) { + return Promise.reject({ err: e, libs: m }); + }); + }; + ("undefined" !== typeof window && (window.IOConnectCore = pn), + (pn.version = yt), + (pn.default = pn)); + var hn = (function () { + function e(t) { + (v(this, e), (this._id = t)); + } + return ( + m(e, [ + { + key: "id", + get: function () { + return this._id; + } + }, + { + key: "_update", + value: function (e) { + if (e._id !== this._id) + throw Error( + "Can not update from entity with different id." + ); + this._updateCore(e); + } + }, + { key: "_updateCore", value: function (e) {} }, + { key: "_beforeDelete", value: function (e) {} } + ]), + e + ); + })(); + function fn(e) { + return "number" === typeof e; + } + function vn(e) { + return "string" === typeof e; + } + function mn(e) { + return "object" === typeof e && null !== e; + } + function gn(e) { + return Array.isArray + ? Array.isArray(e) + : "[object Array]" === toString.call(e); + } + function yn(e) { + return "undefined" === typeof e; + } + function wn(e) { + return null === e || "undefined" === typeof e; + } + function bn(e) { + return "string" !== typeof e || !e || 0 === e.length || /^\s*$/.test(e); + } + function kn(e) { + return !0 === e || !1 === e || "[object Boolean]" === toString.call(e); + } + function xn(e) { + return !!(e && e.constructor && e.call && e.apply); + } + function _n(e, t) { + for (var n = 0; n < e.length; n++) if (t(e[n], n)) return !0; + return !1; + } + function Cn(e, t) { + "undefined" !== typeof e && t(e); + } + function In(e, t, n) { + if ("function" !== typeof t && "function" !== typeof n) return e; + ("function" !== typeof t + ? (t = function () {}) + : "function" !== typeof n && (n = function () {}), + e.then(t, n)); + } + var Sn = (function (e) { + h(n, e); + var t = f(n); + function n(e, r, i, o) { + var a; + return ( + v(this, n), + ((a = t.call(this, e))._name = e), + (a._description = o), + (a._ownerWindow = r), + (a._helperWindows = i || []), + a + ); + } + return ( + m(n, [ + { + key: "name", + get: function () { + return this._name; + } + }, + { + key: "description", + get: function () { + return this._description; + } + }, + { + key: "helperWindows", + get: function () { + var e = this; + return this._helperWindows.map(function (t) { + return e.covertToWindowDef(t); + }); + } + }, + { + key: "ownerWindow", + get: function () { + return this.covertToWindowDef(this._ownerWindow); + } + }, + { + key: "initiate", + value: function (e, t, n) { + return this._manager.initiate(this._name, e, t, n); + } + }, + { + key: "_updateCore", + value: function (e) { + var t = this; + (l(p(n.prototype), "_updateCore", this).call(this, e), + Cn(e._description, function (e) { + return (t._description = e); + }), + Cn(e._ownerWindow, function (e) { + return (t._ownerWindow = e); + }), + Cn(e._helperWindows, function (e) { + return (t._helperWindows = e); + })); + } + }, + { + key: "covertToWindowDef", + value: function (e) { + var t, n; + return { + type: + null === + (t = + null === e || void 0 === e + ? void 0 + : e.id) || void 0 === t + ? void 0 + : t.type, + name: + null === + (n = + null === e || void 0 === e + ? void 0 + : e.id) || void 0 === n + ? void 0 + : n.name + }; + } + } + ]), + n + ); + })(hn), + En = (function (e) { + h(n, e); + var t = f(n); + function n(e, r) { + var i; + return ( + v(this, n), + ((i = t.call(this, e))._name = e), + (i._appByWindowTypeGetter = r), + i + ); + } + return ( + m(n, [ + { + key: "name", + get: function () { + return this._name; + } + }, + { + key: "config", + get: function () { + return this._appByWindowTypeGetter(this._name); + } + }, + { + key: "windows", + get: function () { + return this._manager.getWindows({ type: this._name }); + } + }, + { + key: "create", + value: function (e, t) { + var n = Object.assign( + { + type: this.name, + name: this.name, + isIndependent: !1 + }, + t + ); + return this._manager.createWindow(e, n); + } + } + ]), + n + ); + })(hn), + Wn = m(function e(t, n) { + (v(this, e), (this.entity = t), (this.context = n)); + }), + Tn = m(function e(t) { + (v(this, e), (this.type = t)); + }), + An = (function (e) { + h(n, e); + var t = f(n); + function n(e, r) { + var i; + return ( + v(this, n), + ((i = t.call(this, Mn.StatusChange)).newStatus = e), + (i.oldStatus = r), + i + ); + } + return m(n); + })(Tn), + Pn = (function (e) { + h(n, e); + var t = f(n); + function n(e, r, i) { + var o; + return ( + v(this, n), + ((o = t.call(this, Mn.ActivityContextChange)).context = + "string" === typeof e ? JSON.parse(e) : e), + (o.updated = r), + (o.removed = i), + o + ); + } + return m(n); + })(Tn), + Mn = m(function e() { + v(this, e); + }); + ((Mn.Added = "added"), + (Mn.Removed = "removed"), + (Mn.Updated = "updated"), + (Mn.Closed = "closed"), + (Mn.StatusChange = "statusChange"), + (Mn.ActivityContextChange = "activityContextUpdate"), + (Mn.ActivityWindowEvent = "activityWindowEvent"), + (Mn.ActivityWindowJoinedActivity = "joined"), + (Mn.ActivityWindowLeftActivity = "left")); + var Rn = m(function e() { + v(this, e); + }); + ((Rn.Created = "created"), + (Rn.Started = "started"), + (Rn.Destroyed = "destroyed")); + var On = (function () { + function e(t) { + (v(this, e), (this._activity = t)); + } + return ( + m(e, [ + { + key: "register", + value: function (t, n) { + (this._ensureHasAgm(), e.AGM.register(t, n)); + } + }, + { + key: "servers", + value: function () { + return ( + this._ensureHasAgm(), + wn(this._activity) + ? [] + : this._activity.windows.map(function (e) { + return e.instance; + }) + ); + } + }, + { + key: "methods", + value: function () { + var e = this; + if ((this._ensureHasAgm(), wn(this._activity))) + return []; + var t = this._activity.windows, + n = [], + r = []; + return ( + t.forEach(function (t) { + e.methodsForWindow(t).forEach(function (e) { + -1 === n.indexOf(e.name) && + (n.push(e.name), r.push(e)); + }); + }), + r + ); + } + }, + { + key: "methodsForWindow", + value: function (t) { + return ( + this._ensureHasAgm(), + t.instance + ? e.AGM.methodsForInstance(t.instance) + : [] + ); + } + }, + { + key: "invoke", + value: function (t, n, r, i, o, a) { + this._ensureHasAgm(); + var s = this.servers(); + if ((wn(r) && (r = "activity.all"), vn(r))) + if ("activity.all" === r); + else { + if ("activity.best" !== r) { + if ("all" === r || "best" === r) + return In( + e.AGM.invoke(t, n, r, i), + o, + a + ); + throw new Error( + "Invalid invoke target " + r + ); + } + var c = s.filter(function (n) { + return ( + e.AGM.methodsForInstance(n).filter( + function (e) { + return e.name === t; + } + ).length > 0 + ); + }); + c.length > 0 && c[0]; + } + else if (gn(r)) { + if (r.length >= 0) { + var u = r[0]; + if (this._isInstance(u)) + r.map(function (e) { + return e; + }); + else { + if (!this._isActivityWindow(u)) + throw new Error( + "Unknown target object" + ); + r.map(function (e) { + return e.instance; + }); + } + } + } else if (this._isInstance(r)); + else { + if (!this._isActivityWindow(r)) + throw new Error("Unknown target object"); + r.instance; + } + throw new Error("Not implemented"); + } + }, + { + key: "unregister", + value: function (t) { + return (this._ensureHasAgm(), e.AGM.unregister(t)); + } + }, + { + key: "createStream", + value: function (t, n, r) { + (this._ensureHasAgm(), + e.AGM.createStream(t, { + subscriptionAddedHandler: n, + subscriptionRemovedHandler: r, + subscriptionRequestHandler: void 0 + })); + } + }, + { + key: "subscribe", + value: function (t, n, r) { + return (this._ensureHasAgm(), e.AGM.subscribe(t, n)); + } + }, + { + key: "_ensureHasAgm", + value: function () { + if (wn(e.AGM)) + throw new Error( + "Agm should be configured to be used in activity" + ); + } + }, + { + key: "_isInstance", + value: function (e) { + return void 0 !== e.application; + } + }, + { + key: "_isActivityWindow", + value: function (e) { + return void 0 !== e.instance; + } + } + ]), + e + ); + })(), + Dn = (function () { + function e(t, n, r) { + (v(this, e), + (this._manager = t), + (this._ownerActivityId = n), + (this._state = r)); + } + return ( + m(e, [ + { + key: "ownerId", + get: function () { + return this._state.ownerId; + } + }, + { + key: "windowIds", + get: function () { + return this._state.windowIds; + } + }, + { + key: "frameColor", + get: function () { + return this._state.frameColor; + } + }, + { + key: "context", + get: function () { + return this._state.context; + } + }, + { + key: "tag", + get: function () { + return this._state.tag; + } + }, + { + key: "detach", + value: function (e) { + var t = this; + e = e || {}; + var n = {}; + return ( + Object.keys(this._state).forEach(function (e) { + n[e] = t._state[e]; + }), + (n.context = e.context || n.context), + (n.frameColor = e.frameColor || n.frameColor), + this._manager.detachActivities( + this._ownerActivityId, + n + ) + ); + } + } + ]), + e + ); + })(), + Ln = function (e) { + setTimeout(e, 0); + }; + function Bn(e, t) { + if (!xn(t)) return e; + e.then( + function (e) { + Ln(function () { + t(null, e); + }); + }, + function (e) { + Ln(function () { + t(e, null); + }); + } + ); + } + var Nn = (function (e) { + h(n, e); + var t = f(n); + function n(e, r, i, o, a) { + var s; + return ( + v(this, n), + ((s = t.call(this, e))._id = e), + (s._actType = r), + (s._status = i), + (s._context = o), + (s._ownerId = a), + (s._agm = new On(d(s))), + s + ); + } + return ( + m(n, [ + { + key: "type", + get: function () { + if (this._manager) + return this._manager.getActivityType(this._actType); + } + }, + { + key: "context", + get: function () { + return this._context; + } + }, + { + key: "status", + get: function () { + return this._status; + } + }, + { + key: "owner", + get: function () { + return this._ownerId + ? this._manager.getWindows({ id: this._ownerId })[0] + : null; + } + }, + { + key: "windows", + get: function () { + return this._manager.getWindows({ + activityId: this._id + }); + } + }, + { + key: "agm", + get: function () { + return this._agm; + } + }, + { + key: "addWindow", + value: function (e, t) { + return this._manager.addWindowToActivity(this, e, t); + } + }, + { + key: "createWindow", + value: function (e, t) { + return this._manager.createWindow(this, e, t); + } + }, + { + key: "createStackedWindows", + value: function (e, t, n) { + return this._manager.createStackedWindows( + this, + e, + t, + n + ); + } + }, + { + key: "leave", + value: function (e, t) { + return this._manager.leaveWindowFromActivity( + this, + e, + t + ); + } + }, + { + key: "getWindowsByType", + value: function (e) { + var t = { activityId: this._id, type: e }; + return this._manager.getWindows(t); + } + }, + { + key: "setContext", + value: function (e, t) { + return this._manager.setActivityContext(this, e, t); + } + }, + { + key: "updateContext", + value: function (e, t) { + return this._manager.updateActivityContext(this, e, t); + } + }, + { + key: "onStatusChange", + value: function (e) { + var t = this; + return this._manager.subscribeActivityEvents( + function (n, r, i) { + n.id === t.id && e(n, r, i); + } + ); + } + }, + { + key: "onWindowEvent", + value: function (e) { + var t = this; + return this._manager.subscribeWindowEvents( + function (n, r, i) { + n.id === t.id && e(n, r, i); + } + ); + } + }, + { + key: "onContextChanged", + value: function (e) { + var t = this; + this._manager.subscribeActivityContextChanged( + function (n, r, i, o) { + n.id === t.id && e(r, i, o, n); + } + ); + try { + e(this.context, this.context, [], this); + } catch (n) { + return; + } + } + }, + { + key: "stop", + value: function () { + this._manager.stopActivity(this); + } + }, + { + key: "clone", + value: function (e) { + return this._manager.clone(this, e); + } + }, + { + key: "attach", + value: function (e, t) { + var n; + return ( + (n = "string" === typeof e ? e : e.id), + this._manager.attachActivities(n, this.id, t) + ); + } + }, + { + key: "onActivityAttached", + value: function (e) { + var t = this; + this._manager.subscribeActivitiesAttached( + function (n, r, i) { + n === t._id && e(i); + } + ); + } + }, + { + key: "onDetached", + value: function (e) { + var t = this; + this._manager.subscribeActivitiesDetached( + function (n, r, i) { + r.id === t._id && e(n, i); + } + ); + } + }, + { + key: "_updateCore", + value: function (e) { + var t = this; + (l(p(n.prototype), "_updateCore", this).call(this, e), + Cn(e._actType, function (e) { + return (t._actType = e); + }), + Cn(e._context, function (e) { + return (t._context = e); + }), + Cn(e._ownerId, function (e) { + return (t._ownerId = e); + }), + !e._status || + (this._status && + this._status.state === e._status.state) || + (this._status = e._status)); + } + }, + { + key: "_updateDescriptors", + value: function (e) { + var t = this; + this._attached = e.map(function (e) { + return new Dn(t._manager, t._id, e); + }); + } + }, + { + key: "attached", + get: function () { + return this._attached; + } + }, + { + key: "setFrameColor", + value: function (e, t) { + var n = this; + return Bn( + new Promise(function (t, r) { + var i = n.windows.length; + (0 === i && t(n), + n.windows.forEach(function (r) { + r.underlyingWindow.setFrameColor( + e, + function () { + --i <= 0 && t(n); + } + ); + }), + setTimeout(function () { + i > 0 && + r( + n.id + + " - timed out waiting for setFrameColor with" + + e + ); + }, 5e3)); + }), + t + ); + } + }, + { + key: "getFrameColor", + value: function () { + return this.windows && 0 !== this.windows.length + ? this.windows[0].underlyingWindow.frameColor + : ""; + } + } + ]), + n + ); + })(hn), + Fn = m(function e() { + v(this, e); + }); + ((Fn.Trace = "trace"), + (Fn.Debug = "debug"), + (Fn.Info = "info"), + (Fn.Warn = "warn"), + (Fn.Error = "error")); + var jn = (function () { + function e(t) { + (v(this, e), + (this._name = t), + wn(e.GlueLogger) || (this._glueLogger = e.GlueLogger.subLogger(t))); + } + return ( + m( + e, + [ + { + key: "trace", + value: function (t) { + wn(this._glueLogger) + ? e.Level === Fn.Trace && + console.info(this._getMessage(t, Fn.Trace)) + : this._glueLogger.trace(t); + } + }, + { + key: "debug", + value: function (t) { + wn(this._glueLogger) + ? (e.Level !== Fn.Debug && e.Level !== Fn.Trace) || + console.info(this._getMessage(t, Fn.Debug)) + : this._glueLogger.debug(t); + } + }, + { + key: "info", + value: function (t) { + wn(this._glueLogger) + ? (e.Level !== Fn.Debug && + e.Level !== Fn.Trace && + e.Level !== Fn.Info) || + console.info(this._getMessage(t, Fn.Info)) + : this._glueLogger.info(t); + } + }, + { + key: "warn", + value: function (t) { + wn(this._glueLogger) + ? (e.Level !== Fn.Debug && + e.Level !== Fn.Trace && + e.Level !== Fn.Info && + e.Level !== Fn.Warn) || + console.info(this._getMessage(t, Fn.Info)) + : this._glueLogger.warn(t); + } + }, + { + key: "error", + value: function (e) { + wn(this._glueLogger) + ? (console.error(this._getMessage(e, Fn.Error)), + console.trace()) + : this._glueLogger.error(e); + } + }, + { + key: "_getMessage", + value: function (e, t) { + return "[" + t + "] " + this._name + " - " + e; + } + } + ], + [ + { + key: "GetNamed", + value: function (t) { + return new e(t); + } + }, + { + key: "Get", + value: function (t) { + return new e(e.GetTypeName(t)); + } + }, + { + key: "GetTypeName", + value: function (e) { + var t = /function (.{1,})\(/.exec( + e.constructor.toString() + ); + return t && t.length > 1 ? t[1] : ""; + } + } + ] + ), + e + ); + })(); + jn.Level = Fn.Info; + var Hn = (function (e) { + h(n, e); + var t = f(n); + function n(e, r, i, o, a, s, c, u) { + var d; + return ( + v(this, n), + ((d = t.call(this, e))._logger = jn.Get("window")), + (d._type = i), + (d._activityId = o), + (d._name = r), + (d._instance = a), + (d._isIndependent = s), + (d._windowGetter = c), + (d._hcWindowId = u), + d + ); + } + return ( + m(n, [ + { + key: "getBounds", + value: function () { + return this._manager.getWindowBounds(this.id); + } + }, + { + key: "name", + get: function () { + return this._name; + } + }, + { + key: "isIndependent", + get: function () { + return this._isIndependent; + } + }, + { + key: "type", + get: function () { + if (this._manager) + return this._manager.getWindowType(this._type); + } + }, + { + key: "activity", + get: function () { + if (!yn(this._activityId)) + return this._manager.getActivityById( + this._activityId + ); + } + }, + { + key: "isOwner", + get: function () { + var e = this.activity; + return !yn(e) && e.owner.id === this.id; + } + }, + { + key: "setVisible", + value: function (e, t) { + return this._manager.setWindowVisibility(this.id, e); + } + }, + { + key: "activate", + value: function (e) { + return this._manager.activateWindow(this.id, e); + } + }, + { + key: "setBounds", + value: function (e, t) { + return this._manager.setWindowBounds(this.id, e, t); + } + }, + { + key: "close", + value: function () { + return this._manager.closeWindow(this.id); + } + }, + { + key: "instance", + get: function () { + return this._instance; + } + }, + { + key: "underlyingWindow", + get: function () { + var e = this._windowGetter(); + return e || { id: this._hcWindowId }; + } + }, + { + key: "onActivityJoined", + value: function (e) { + this._subscribeForActivityWindowEvent( + Mn.ActivityWindowJoinedActivity, + e + ); + } + }, + { + key: "onActivityRemoved", + value: function (e) { + this._subscribeForActivityWindowEvent( + Mn.ActivityWindowLeftActivity, + e + ); + } + }, + { + key: "_updateCore", + value: function (e) { + var t = this; + (Cn(e._activityId, function (e) { + return (t._activityId = e); + }), + Cn(e._isIndependent, function (e) { + return (t._isIndependent = e); + }), + Cn(e._hcWindowId, function (e) { + return (t._hcWindowId = e); + }), + Cn(e._type, function (e) { + return (t._type = e); + }), + Cn(e._name, function (e) { + return (t._name = e); + }), + wn(e._instance) || (this._instance = e._instance)); + } + }, + { + key: "_subscribeForActivityWindowEvent", + value: function (e, t) { + var n = this; + this._manager.subscribeWindowEvents(function (r, i, o) { + i.id === n.id && o === e && t(r); + }); + } + }, + { + key: "_beforeDelete", + value: function (e) { + this._hcWindowId = e._hcWindowId; + } + } + ]), + n + ); + })(hn), + zn = (function () { + function e(t, n, r) { + (v(this, e), (this.state = t), (this.message = n), (this.time = r)); + } + return ( + m(e, [ + { + key: "getState", + value: function () { + return this.state; + } + }, + { + key: "getMessage", + value: function () { + return this.message; + } + }, + { + key: "getTime", + value: function () { + return this.time; + } + } + ]), + e + ); + })(), + qn = "error", + Gn = "add-types", + Un = "types-added", + Vn = "remove-types", + $n = "types-removed", + Jn = "created", + Kn = "destroyed", + Qn = "initiated", + Xn = "join-activity", + Yn = "joined", + Zn = "activity-joined", + er = "leave-activity", + tr = "left", + nr = "merge", + rr = "split", + ir = "owner-changed", + or = "add-peer-factories", + ar = "peer-factories-added", + sr = "remove-peer-factories", + cr = "peer-factories-removed", + ur = "create", + dr = "create-peer", + lr = "peer-requested", + pr = "ready", + hr = "peer-created", + fr = "destroy", + vr = "dispose-peer", + mr = "destroy-peer", + gr = (function () { + function e(t) { + var n = this; + if ( + (v(this, e), + (this._activityChangeCallbacks = []), + (this._activityTypeStatusChangeCallbacks = []), + (this._activityWindowChangeCallbacks = []), + (this._windowTypeStatusChangeCallbacks = []), + (this._peerIdAndFactoryIdToPeerType = {}), + (this._peerFactoriesRegisteredByUs = {}), + (this._gw3Subscriptions = []), + (this._contextSubscriptions = {}), + (this._activityTypesInitiatedFromMe = {}), + (this._config = t), + (this._connection = t.connection), + (this._logger = t.logger), + (this._contexts = t.contexts), + (this._windows = t.windows), + (this._sessionJoinedPromise = new Promise(function (e) { + n._sessionJoinedPromiseResolve = e; + })), + (this._activityJoinedPromise = new Promise(function (e) { + n._activityJoinedPromiseResolve = e; + })), + this._config.activityId || + this._activityJoinedPromiseResolve({}), + (this._gw3Session = this._connection.domain("activity", [ + "joined", + "initiated", + "peer-created", + "token" + ])), + "undefined" !== typeof window) + ) { + var r = window.glue42gd; + r && + r.activityInfo && + ("function" === typeof r.addRefreshHandler && + r.addRefreshHandler(function (e, t) { + n._gw3Session + .send({ type: "reload" }) + .then(function (n) { + if (n.token) { + try { + r.setGWToken(n.token); + } catch (i) { + return void t(i.message || i); + } + e(); + } else + t( + "Expected gateway token for refreshing." + ); + }, t); + }), + r && + "function" === typeof r.addWillNavigateHandler && + r.addWillNavigateHandler(function (e, t) { + n._gw3Session + .send({ type: "reload" }) + .then(function (n) { + if (n.token) { + try { + r.setGWToken(n.token); + } catch (i) { + return void t(i.message || i); + } + e(); + } else + t( + "Expected gateway token for refreshing." + ); + }, t); + })); + } + } + return ( + m( + e, + [ + { + key: "bridgeType", + get: function () { + return "GW3"; + } + }, + { + key: "init", + value: function () { + var e = this; + (this.forwardActivityTypeMessagesToStatusEventHandlers(), + this.subscribe( + Jn, + this.handleActivityCreatedMessage + ), + this.subscribe( + Kn, + this.handleActivityDestroyedMessage + ), + this.forwardActivityMessagesToStatusEventHandlers(), + this.forwardActivityCreatedAndJoinedActivityToActivityWindowEventHandlers(), + this.forwardPeerFactoryMessagesToStatusEventHandlers(), + this.forwardPeerFactoryMessagesToPeerFactoryRequests(), + this.subscribe( + ar, + this.handlePeerFactoriesAdded + ), + this.subscribe( + cr, + this.handlePeerFactoriesRemoved + ), + this.forwardActivityWindowMessagesToEventHandlers(), + this.subscribe(vr, function () { + if ( + "dispose" !== + e._config.disposeRequestHandling + ) { + if ( + "exit" === + e._config.disposeRequestHandling + ) { + if ( + e._windows && + "undefined" !== + typeof e._windows.my() + ) + return void e._windows + .my() + .close(); + if ( + "undefined" !== typeof window && + "function" === + typeof window.close + ) + return void window.close(); + if ( + "undefined" !== + typeof process && + "function" === + typeof process.exit + ) + return void process.exit(); + } + } else e.dispose(); + }), + this._gw3Session.onJoined(function () { + "trackMyOnly" === e._config.mode || + "trackMyTypeAndInitiatedFromMe" === + e._config.mode + ? e._sessionJoinedPromiseResolve(e) + : e._gw3Session + .send({ + type: "subscribe", + activity_types: + "trackAll" === + e._config.mode + ? [] + : "trackTypes" === + e._config.mode + ? e._config + .typesToTrack + : [] + }) + .then(function () { + e._sessionJoinedPromiseResolve( + e + ); + }); + }), + this._gw3Session.join()); + } + }, + { + key: "dispose", + value: function () { + var e = this; + (this._gw3Subscriptions.forEach(function (t) { + return t && e._connection.off(t); + }), + (this._gw3Subscriptions.length = 0)); + } + }, + { + key: "ready", + value: function () { + return Promise.all([ + this._sessionJoinedPromise, + this._activityJoinedPromise + ]); + } + }, + { + key: "initReady", + value: function () { + return this._sessionJoinedPromise; + } + }, + { + key: "onActivityTypeStatusChange", + value: function (e) { + this._activityTypeStatusChangeCallbacks.push(e); + } + }, + { + key: "registerActivityType", + value: function (t, n, r, i, o) { + var a = this, + s = {}; + s.name = t; + var c = function (e) { + return { + type: e.type, + name: e.name, + configuration: e + }; + }; + return ( + (s.owner_type = c(n)), + (s.helper_types = r.map(c)), + this._gw3Session + .send({ type: Gn, types: [s] }) + .then(function () { + var t = + e.activityTypeGwMessageEntityToActivityType( + s, + o + ); + return ( + a.invokeCallbacks( + a._activityTypeStatusChangeCallbacks, + new Wn(t, new Tn(Mn.Added)), + Gn + ), + t + ); + }) + ); + } + }, + { + key: "unregisterActivityType", + value: function (e) { + var t = this; + return this._gw3Session + .send({ type: Vn, types: [e] }) + .then(function () { + var n = new Sn(e, void 0, void 0, void 0); + t.invokeCallbacks( + t._activityTypeStatusChangeCallbacks, + new Wn(n, new Tn(Mn.Removed)), + Gn + ); + }); + } + }, + { + key: "onWindowTypeStatusChange", + value: function (e) { + this._windowTypeStatusChangeCallbacks.push(e); + } + }, + { + key: "registerWindowFactory", + value: function (t, n, r) { + var i = this; + if (this._peerFactoriesRegisteredByUs[t]) + return Promise.reject( + new Error( + "Factory for windowType ".concat( + t, + " already registered." + ) + ) + ); + this._peerFactoriesRegisteredByUs[t] = n; + var o = { id: t, peer_type: t, configuration: r }; + return this._gw3Session + .send({ type: or, factories: [o] }) + .then(function () { + i.invokeCallbacks( + i._windowTypeStatusChangeCallbacks, + new Wn( + e.peerFactoryGwMessageEntityToWindowType( + o + ), + new Tn(Mn.Added) + ), + or + ); + }) + .catch(function () { + delete i._peerFactoriesRegisteredByUs[t]; + }); + } + }, + { + key: "unregisterWindowFactory", + value: function (e) { + var t = this; + return this._peerFactoriesRegisteredByUs[e] + ? (delete this._peerFactoriesRegisteredByUs[e], + this._gw3Session + .send({ type: sr, factory_ids: [e] }) + .then(function () { + t.invokeCallbacks( + t._windowTypeStatusChangeCallbacks, + new Wn( + new En(e, void 0), + new Tn(Mn.Removed) + ), + or + ); + })) + : Promise.reject( + new Error( + "Factory for windowType ".concat( + e, + " not registered." + ) + ) + ); + } + }, + { + key: "onActivityStatusChange", + value: function (e) { + this._activityChangeCallbacks.push(e); + } + }, + { + key: "initiateActivity", + value: function (e, t, n) { + var r = this, + i = { + type: ur, + activity_type: e, + initial_context: t + }; + return ( + this.isOverrideTypeDefinition(n) + ? (i.types_override = { + owner_type: { + type: n.owner.type, + name: n.owner.name, + configuration: n.owner + }, + helper_types: + n.helpers && + n.helpers.map(function (e) { + return { + type: e.type, + name: e.name, + configuration: e + }; + }) + }) + : (i.configuration = + n && + n.map(function (e) { + return { + type: e.type, + name: e.name, + configuration: e + }; + })), + this.sendCreateAndMapResultingMessagesToPromise( + i, + Qn, + function (e, t) { + return e.request_id === t; + }, + Jn, + function (e, t, n) { + return e.activity_id === n.activity_id; + }, + Kn, + function (e, t, n) { + return e.activity_id === n.activity_id; + }, + function (e) { + return e.activity_id; + }, + null + ).then(function (t) { + return "trackMyTypeAndInitiatedFromMe" !== + r._config.mode || + r._activityTypesInitiatedFromMe[e] + ? t + : ((r._activityTypesInitiatedFromMe[e] = + !0), + r._gw3Session + .send({ + type: "subscribe", + activity_types: [e] + }) + .then(function () { + return t; + })); + }) + ); + } + }, + { + key: "stopActivity", + value: function (e) { + return this._gw3Session + .send({ + type: fr, + activity_id: e.id, + reason_uri: + "com.tick42.glue.activity.constants.destroyReason.general", + reason: "Destroying activity" + }) + .then(function (e) { + return !0; + }); + } + }, + { + key: "updateActivityContext", + value: function (e, t, n, r) { + if (n) return this._contexts.set(e.id, t); + var i, + o = u((r = r || [])); + try { + for (o.s(); !(i = o.n()).done; ) + t[i.value] = null; + } catch (a) { + o.e(a); + } finally { + o.f(); + } + return this._contexts.update(e.id, t); + } + }, + { + key: "announceWindow", + value: function (e, t) { + throw new Error( + "Invalid operation 'announceWindow' for GW3 protocol" + ); + } + }, + { + key: "registerWindow", + value: function (e, t, n) { + var r = + "undefined" !== + typeof this._connection.gatewayToken, + i = this._connection.peerId; + if ("undefined" !== typeof window) { + var o = window.glue42gd; + o && + (r = "undefined" !== typeof o.activityInfo); + } + return ( + r && this._gw3Session.send({ type: pr }), + this.invokeCallbacks( + this._activityWindowChangeCallbacks, + new Wn( + new Hn( + i, + t, + e, + void 0, + this.getAgmInstance(i), + n, + this.generateWindowGetter(i), + void 0 + ), + new Tn(Mn.Added) + ), + "register window" + ), + Promise.resolve(i) + ); + } + }, + { + key: "onActivityWindowChange", + value: function (e) { + this._activityWindowChangeCallbacks.push(e); + } + }, + { + key: "createWindow", + value: function (e, t) { + var n = this; + t.layout || + ((t.left || t.width || t.height || t.top) && + (t.layout = { + mode: "pixels", + cellSize: 1 + })); + var r = function (r) { + if (e) + return n + .joinActivity(e, r, t.name) + .then(function () { + return r; + }); + }; + return this.sendCreateAndMapResultingMessagesToPromise( + { + type: dr, + peer_type: t.type, + peer_name: t.name || t.type, + configuration: t, + activity_id: e + }, + void 0, + void 0, + hr, + function (e, t) { + return e.request_id === t; + }, + void 0, + void 0, + function (e) { + return e.created_id; + }, + r + ).then(r); + } + }, + { + key: "closeWindow", + value: function (e) { + return this._gw3Session + .send({ type: mr, destroy_peer_id: e }) + .then(function (e) {}); + } + }, + { + key: "getAnnouncementInfo", + value: function () { + var e = + this._config.activityId || + (this._config.announcementInfo && + this._config.announcementInfo + .activityId), + t = + this._config.announcementInfo && + this._config.announcementInfo + .activityWindowType, + n = + this._config.announcementInfo && + this._config.announcementInfo + .activityWindowIndependent, + r = + this._config.announcementInfo && + this._config.announcementInfo + .activityWindowName; + if ( + "undefined" !== typeof window && + "undefined" !== typeof window.location && + window.location.search && + "function" === typeof URLSearchParams + ) { + var i = new URLSearchParams( + location.search.slice(1) + ); + ((t = + (t = t || i.get("t42PeerType")) || + i.get("t42ActivityWindowType")), + "undefined" === typeof n && + (n = i.get( + "t42ActivityWindowIndependent" + )), + (r = r || i.get("t42ActivityWindowName")), + (e = e || i.get("t42ActivityId"))); + } + return { + activityWindowId: void 0, + activityId: e, + activityWindowType: (t = t || "unknown"), + activityWindowIndependent: (n = n || !1), + activityWindowName: (r = + r || this._connection.peerId) + }; + } + }, + { + key: "joinActivity", + value: function (e, t, n) { + var r = this, + i = (n && { name: n }) || {}; + return this._gw3Session + .send( + c( + { + type: Xn, + target_id: t, + activity_id: e + }, + i + ) + ) + .then(function () { + (r.invokeCallbacks( + r._activityWindowChangeCallbacks, + new Wn( + new Hn( + t, + void 0, + void 0, + e, + r.getAgmInstance(t), + void 0, + r.generateWindowGetter(t), + void 0 + ), + new Tn( + Mn.ActivityWindowJoinedActivity + ) + ), + "activity joined - ActivityWindow" + ), + r.invokeCallbacks( + r._activityChangeCallbacks, + new Wn( + new Nn( + e, + void 0, + new zn( + "created", + void 0, + void 0 + ), + void 0, + void 0 + ), + new Tn(Mn.Updated) + ), + "activity joined - Activity" + )); + }); + } + }, + { + key: "leaveActivity", + value: function (e, t) { + var n = this; + return this._gw3Session + .send({ + type: er, + target_id: t, + activity_id: e + }) + .then(function () { + (n.invokeCallbacks( + n._activityWindowChangeCallbacks, + new Wn( + new Hn( + t, + void 0, + void 0, + null, + n.getAgmInstance(t), + void 0, + n.generateWindowGetter(t), + void 0 + ), + new Tn( + Mn.ActivityWindowLeftActivity + ) + ), + "activity left - ActivityWindow" + ), + n.invokeCallbacks( + n._activityChangeCallbacks, + new Wn( + new Nn( + e, + void 0, + new zn( + "created", + void 0, + void 0 + ), + void 0, + void 0 + ), + new Tn(Mn.Updated) + ), + "activity left - Activity" + )); + }); + } + }, + { + key: "getActivityTypes", + value: function () { + return Promise.resolve([]); + } + }, + { + key: "getWindowTypes", + value: function () { + return Promise.resolve([]); + } + }, + { + key: "getActivities", + value: function () { + return Promise.resolve([]); + } + }, + { + key: "getActivityWindows", + value: function () { + return Promise.resolve([]); + } + }, + { + key: "createStackedWindows", + value: function (e, t, n) {} + }, + { key: "getWindowBounds", value: function (e) {} }, + { key: "setWindowBounds", value: function (e, t) {} }, + { key: "activateWindow", value: function (e, t) {} }, + { key: "setWindowVisibility", value: function (e, t) {} }, + { key: "cloneActivity", value: function (e, t) {} }, + { + key: "attachActivities", + value: function (e, t, n) { + return this._gw3Session.send({ + type: nr, + into: t, + merge: e + }); + } + }, + { + key: "detachActivities", + value: function (e, t) { + return this._gw3Session + .send({ type: rr, from: e }) + .then(function () { + return ""; + }); + } + }, + { key: "onActivitiesAttached", value: function (e) {} }, + { key: "onActivitiesDetached", value: function (e) {} }, + { + key: "onActivityAttachedDescriptorsRefreshed", + value: function (e) {} + }, + { + key: "getAttachedDescriptors", + value: function () { + return Promise.resolve([]); + } + }, + { + key: "getRandomRequestId", + value: function () { + return ( + this._connection.peerId + + ":" + + Math.floor(1e9 * Math.random()) + ); + } + }, + { + key: "forwardAddedAndRemovedMessagesToEventHandler", + value: function (e, t, n, r) { + var i = function (e) { + return function (t) { + return new Wn( + t, + new Tn(e ? Mn.Added : Mn.Removed) + ); + }; + }; + return [ + e && + this.forwardMessageToEventHandler( + e, + function (e) { + return n(e, !0); + }, + i(!0), + r + ), + t && + this.forwardMessageToEventHandler( + t, + function (e) { + return n(e, !1); + }, + i(!1), + r + ) + ].filter(function (e) { + return e; + }); + } + }, + { + key: "forwardMessageToEventHandler", + value: function (e, t, n, r) { + return this.subscribe(e, function (e) { + t(e).forEach(function (t) { + return r.forEach(function (r) { + return r(n(t, e)); + }); + }); + }); + } + }, + { + key: "sendCreateAndMapResultingMessagesToPromise", + value: function (e, t, n, r, i, o, a, s, c) { + var u, + d, + l, + p, + h, + f, + v = this, + m = this.getRandomRequestId(), + g = new Promise(function (e, t) { + ((u = e), (d = t)); + }), + y = null, + w = function () { + (v.dropSubscription(l), + c || v.dropSubscription(p), + v.dropSubscription(h), + v.dropSubscription(f)); + }; + l = + t && + this.subscribe(t, function (e) { + n(e, m) && ((y = e), v.dropSubscription(l)); + }); + var b = !1; + ((p = this.subscribe(r, function (e) { + i(e, m, y) && + (b ? c && c(s(e)) : ((b = !0), u(s(e)))); + })), + (h = + o && + this.subscribe(o, function (e) { + a(e, m, y) && d(e); + })), + (f = + o && + this.subscribe(qn, function (e) { + e.request_id === m && d(e); + })), + (e.request_id = m)); + var k = this._gw3Session.send(e).then(function () { + return g; + }); + return (k.then(w, w), k); + } + }, + { + key: "peerFactoryIdAndOwnerIdToWindowType", + value: function (e, t) { + var n = + this._peerIdAndFactoryIdToPeerType[t + ":" + e]; + return n ? new En(n, void 0) : null; + } + }, + { + key: "subscribe", + value: function (e, t) { + var n = this, + r = this._connection.on(e, function (e) { + return t.bind(n)(e); + }); + return (this._gw3Subscriptions.push(r), r); + } + }, + { + key: "dropSubscription", + value: function (e) { + e && + (this._connection.off(e), + delete this._gw3Subscriptions[ + this._gw3Subscriptions.indexOf(e) + ]); + } + }, + { + key: "invokeCallbacks", + value: function (e, t, n) { + var r = this; + e.forEach(function (e) { + try { + e(t); + } catch (i) { + r._logger.error( + "Error in ".concat( + n || t.context.type, + " callback: " + ) + JSON.stringify(i) + ); + } + }); + } + }, + { + key: "handleActivityCreatedMessage", + value: function (e) { + e.context_id + ? this._contextSubscriptions[e.activity_id] || + this.subscribeToContext(e) + : this._logger.error( + "Activity created with unknown context_id: " + + e.activity_id + ); + } + }, + { + key: "subscribeToContext", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = t.activity_id), + (e.next = 3), + this._contexts.subscribe( + n, + function ( + e, + t, + i + ) { + var o = + new Wn( + new Nn( + n, + void 0, + void 0, + e, + void 0 + ), + new Pn( + e, + t, + i + ) + ); + r.invokeCallbacks( + r._activityChangeCallbacks, + o, + "context updated" + ); + } + ) + ); + case 3: + this._contextSubscriptions[ + n + ] = e.sent; + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "handleActivityDestroyedMessage", + value: function (e) { + var t = this._contextSubscriptions[e.activity_id]; + ("function" === typeof t && t(), + delete this._contextSubscriptions[ + e.activity_id + ]); + } + }, + { + key: "handlePeerFactoriesAdded", + value: function (e) { + var t = this; + e.factories.forEach(function (n) { + t._peerIdAndFactoryIdToPeerType[ + e.owner_id + ":" + n.id + ] = n.peer_type; + }); + } + }, + { + key: "handlePeerFactoriesRemoved", + value: function (e) { + var t = this; + e.factory_ids.forEach(function (n) { + delete t._peerIdAndFactoryIdToPeerType[ + e.owner_id + ":" + n + ]; + }); + } + }, + { + key: "forwardActivityTypeMessagesToStatusEventHandlers", + value: function () { + this.forwardAddedAndRemovedMessagesToEventHandler( + Un, + $n, + function (t, n) { + return n + ? t.types.map(function (t) { + return e.activityTypeGwMessageEntityToActivityType( + t, + void 0 + ); + }) + : t.types.map(function (e) { + return new Sn( + e.name, + void 0, + void 0, + void 0 + ); + }); + }, + this._activityTypeStatusChangeCallbacks + ); + } + }, + { + key: "forwardActivityCreatedAndJoinedActivityToActivityWindowEventHandlers", + value: function () { + for ( + var e = this, t = 0, n = [Jn, Yn, ir]; + t < n.length; + t++ + ) { + var r = n[t]; + this.forwardMessageToEventHandler( + r, + function (t) { + return [ + t.owner || + c( + c({}, t), + {}, + { + type: t.peer_type, + name: t.peer_name, + peer_id: t.owner_id + } + ) + ] + .concat(t.participants || []) + .map(function (n) { + return new Hn( + n.peer_id, + n.name, + n.type, + t.activity_id, + e.getAgmInstance(n.peer_id), + void 0, + e.generateWindowGetter( + n.peer_id + ), + void 0 + ); + }); + }, + function (e, t) { + return new Wn( + e, + new Tn( + Mn.ActivityWindowJoinedActivity + ) + ); + }, + this._activityWindowChangeCallbacks + ); + } + } + }, + { + key: "forwardActivityMessagesToStatusEventHandlers", + value: function () { + for (var t = 0, n = [Jn, Yn]; t < n.length; t++) { + var r = n[t]; + this.forwardMessageToEventHandler( + r, + function (t) { + return [ + e.activityGwMessageToActivity( + t, + new zn( + "started", + "", + new Date() + ) + ) + ]; + }, + function (t, n) { + return e.activityToActivityStatusChangeEvent( + t + ); + }, + this._activityChangeCallbacks + ); + } + (this.forwardMessageToEventHandler( + Kn, + function (t) { + return [ + e.activityGwMessageToActivity( + t, + new zn( + "destroyed", + t.reason, + new Date() + ) + ) + ]; + }, + function (t, n) { + return e.activityToActivityStatusChangeEvent( + t + ); + }, + this._activityChangeCallbacks + ), + this.forwardMessageToEventHandler( + Qn, + function (t) { + return [ + e.activityGwMessageToActivity( + t, + new zn( + "created", + "", + new Date() + ) + ) + ]; + }, + function (t, n) { + return e.activityToActivityStatusChangeEvent( + t + ); + }, + this._activityChangeCallbacks + ), + this.forwardMessageToEventHandler( + ir, + function (t) { + return [ + e.activityGwMessageToActivity( + t, + new zn( + "created", + "", + new Date() + ) + ) + ]; + }, + function (t, n) { + return e.activityToActivityStatusChangeEvent( + t + ); + }, + this._activityChangeCallbacks + )); + } + }, + { + key: "forwardPeerFactoryMessagesToStatusEventHandlers", + value: function () { + var t = this; + this.forwardAddedAndRemovedMessagesToEventHandler( + ar, + cr, + function (n, r) { + return r + ? n.factories.map( + e.peerFactoryGwMessageEntityToWindowType + ) + : n.factory_ids + .map(function (e) { + return t.peerFactoryIdAndOwnerIdToWindowType( + e, + n.owner_id + ); + }) + .filter(function (e) { + return null != e; + }); + }, + this._windowTypeStatusChangeCallbacks + ); + } + }, + { + key: "forwardPeerFactoryMessagesToPeerFactoryRequests", + value: function () { + var e = this; + this.subscribe(lr, function (t) { + var n = + e._peerFactoriesRegisteredByUs[ + t.peer_factory + ]; + if (n) + try { + var r = t.configuration || {}; + ((r.gateway_token = + r.gateway_token || t.gateway_token), + (r.peer_factory = + r.peer_factory || + t.peer_factory)); + var i = n({ + activityId: + t.activity && t.activity.id, + activityType: + t.activity && t.activity.type, + type: + t.configuration && + t.configuration.type, + gwToken: r.gateway_token, + configuration: r + }); + i && + i.then && + i.catch && + i.catch(function (n) { + return e._gw3Session.send({ + type: qn, + request_id: t.request_id, + reason: + n && + (n.message || + JSON.stringify(n)) + }); + }); + } catch (o) { + e._gw3Session.send({ + type: qn, + request_id: t.request_id, + reason: + o && + (o.message || JSON.stringify(o)) + }); + } + else + e._gw3Session.send({ + type: qn, + request_id: t.request_id, + reason: "Unknown peer factory ".concat( + t.peer_factory + ) + }); + }); + } + }, + { + key: "forwardActivityWindowMessagesToEventHandlers", + value: function () { + for ( + var e = this, + t = function () { + var t = r[n]; + e.subscribe(t, function (n) { + var r = + t === Zn + ? n.joined_id + : n.peer_id, + i = + t === Zn + ? n.joined_type + : n.peer_type, + o = + t === Zn + ? n.joined_name + : n.peer_name, + a = new Hn( + r, + o, + i, + n.activity_id, + e.getAgmInstance(r), + void 0, + e.generateWindowGetter(r), + void 0 + ); + (e._contextSubscriptions[ + n.activity_id + ] + ? t === Yn && + e._activityJoinedPromiseResolve( + {} + ) + : e + .subscribeToContext(n) + .then(function () { + t === Yn && + e._activityJoinedPromiseResolve( + {} + ); + }), + e.invokeCallbacks( + e._activityWindowChangeCallbacks, + new Wn( + a, + new Tn( + Mn.ActivityWindowJoinedActivity + ) + ), + t + )); + }); + }, + n = 0, + r = [Zn, Yn]; + n < r.length; + n++ + ) + t(); + (this.subscribe(tr, function (t) { + var n = new Hn( + t.left_id, + void 0, + void 0, + null, + e.getAgmInstance(t.left_id), + void 0, + e.generateWindowGetter(t.left_id), + void 0 + ); + e.invokeCallbacks( + e._activityWindowChangeCallbacks, + new Wn( + n, + new Tn(Mn.ActivityWindowLeftActivity) + ), + tr + ); + }), + this.forwardAddedAndRemovedMessagesToEventHandler( + hr, + void 0, + function (t) { + return [ + new Hn( + t.created_id, + void 0, + void 0, + void 0, + void 0, + void 0, + e.generateWindowGetter( + t.created_id + ), + void 0 + ) + ]; + }, + this._activityWindowChangeCallbacks + )); + } + }, + { + key: "getAgmInstance", + value: function (e) { + return this._config.agm + .servers() + .find(function (t) { + return t.peerId === e || t.windowId === e; + }); + } + }, + { + key: "generateWindowGetter", + value: function (e) { + var t = this; + return function () { + var n = t.getAgmInstance(e); + if (n) { + var r = n.windowId; + return t._config.windows + .list() + .filter(function (e) { + return e.id === r; + })[0]; + } + }; + } + }, + { + key: "isOverrideTypeDefinition", + value: function (e) { + return "undefined" !== typeof e && !!e.owner; + } + } + ], + [ + { + key: "activityTypeGwMessageEntityToActivityType", + value: function (e, t) { + var n = function (e) { + return new En(e, void 0); + }; + return new Sn( + e.name, + e.owner_type && n(e.owner_type), + e.helper_types && e.helper_types.map(n), + t + ); + } + }, + { + key: "peerFactoryGwMessageEntityToWindowType", + value: function (e) { + return new En(e.peer_type, function (e) {}); + } + }, + { + key: "activityGwMessageToActivity", + value: function (e, t) { + var n = + void 0 !== e.owner + ? e.owner.peer_id + : e.owner_id; + return new Nn( + e.activity_id, + e.activity_type, + t, + e.context_snapshot, + n + ); + } + }, + { + key: "activityToActivityStatusChangeEvent", + value: function (e) { + return new Wn(e, new An(e.status, void 0)); + } + } + ] + ), + e + ); + })(), + yr = (function () { + function e(t, n) { + var r = this; + (v(this, e), + (this._myAttached = []), + (this._myDetached = []), + (this._myAttachedTo = []), + (this._myDetachedFrom = []), + (this._myActivityFrameColorChanged = []), + (this._myActivityJoinedCallbacks = []), + (this._myActivityRemovedCallbacks = []), + (this._myContextUpdateCallbacks = []), + (this._logger = jn.Get(this)), + (this._m = t), + t.ready().then(function (e) { + (e.subscribeActivityContextChanged( + r._subscribeMyContextChanged.bind(r) + ), + e.subscribeWindowEvents( + r._subscribeMyWindowEvent.bind(r) + ), + e.subscribeActivitiesAttached( + r._subscribeActivitiesAttached.bind(r) + ), + e.subscribeActivitiesDetached( + r._subscribeActivitiesDetached.bind(r) + ), + n && + n.onWindowFrameColorChanged( + r._subscribeWindowFrameColorChanged.bind(r) + )); + })); + } + return ( + m(e, [ + { + key: "window", + get: function () { + if (wn(this._w)) { + var e = this._m.announcedWindows; + e.length > 0 && (this._w = e[0]); + } + return this._w; + } + }, + { + key: "activity", + get: function () { + var e = this.window; + if (!wn(e)) return e.activity; + } + }, + { + key: "createWindow", + value: function (e) { + return this._m.createWindow(this.activity, e); + } + }, + { + key: "createStackedWindows", + value: function (e, t) { + return this._m.createStackedWindows( + this.activity, + e, + t + ); + } + }, + { + key: "context", + get: function () { + var e = this.activity; + return yn(e) ? {} : e.context; + } + }, + { + key: "updateContext", + value: function (e, t) { + var n = this.activity; + return yn(n) + ? new Promise(function (e, t) { + t("Not in activity"); + }) + : n.updateContext(e, t); + } + }, + { + key: "setContext", + value: function (e, t) { + var n = this.activity; + return yn(n) + ? new Promise(function (e, t) { + t("Not in activity"); + }) + : n.setContext(e, t); + } + }, + { + key: "onActivityJoined", + value: function (e) { + this._myActivityJoinedCallbacks.push(e); + var t = this.window; + wn(t) || wn(t.activity) || e(t.activity); + } + }, + { + key: "onActivityLeft", + value: function (e) { + this._myActivityRemovedCallbacks.push(e); + } + }, + { + key: "onContextChanged", + value: function (e) { + this._myContextUpdateCallbacks.push(e); + var t = this.window; + if (!wn(t)) { + var n = t.activity; + wn(n) || e(n.context, n.context, [], n); + } + } + }, + { + key: "clone", + value: function (e, t) { + var n = this.activity; + return this._m.clone(n, e, t); + } + }, + { + key: "attach", + value: function (e, t) { + var n; + return ( + (n = "string" === typeof e ? e : e.id), + this._m.attachActivities(n, this.activity.id, t) + ); + } + }, + { + key: "onActivityAttached", + value: function (e) { + this._myAttached.push(e); + } + }, + { + key: "onActivityDetached", + value: function (e) { + this._myDetached.push(e); + } + }, + { + key: "onAttachedToActivity", + value: function (e) { + this._myAttachedTo.push(e); + } + }, + { + key: "onDetachedFromActivity", + value: function (e) { + this._myDetachedFrom.push(e); + } + }, + { + key: "attached", + get: function () { + return this.activity ? this.activity.attached : []; + } + }, + { + key: "setFrameColor", + value: function (e, t) { + return this.activity + ? this.activity.setFrameColor(e, t) + : Promise.resolve(null); + } + }, + { + key: "getFrameColor", + value: function () { + return this.activity + ? this.activity.getFrameColor() + : ""; + } + }, + { + key: "onFrameColorChanged", + value: function (e) { + this._myActivityFrameColorChanged.push(e); + } + }, + { + key: "_subscribeMyContextChanged", + value: function (e, t, n, r) { + var i = this.window; + if (!wn(i)) { + var o = i.activity; + wn(o) || + (e.id === o.id && + this._notifyMyContextChanged(e, t, n, r)); + } + } + }, + { + key: "_subscribeMyWindowEvent", + value: function (e, t, n) { + wn(this.window) || + (this.window.id === t.id && + (n === Mn.ActivityWindowJoinedActivity + ? (this._notifyMyWindowEvent( + e, + this._myActivityJoinedCallbacks + ), + this._notifyMyContextChanged( + e, + e.context, + null, + null + )) + : n === Mn.ActivityWindowLeftActivity && + this._notifyMyWindowEvent( + e, + this._myActivityRemovedCallbacks + ))); + } + }, + { + key: "_notifyMyWindowEvent", + value: function (e, t) { + var n = this; + t.forEach(function (t) { + try { + t(e, event); + } catch (r) { + n._logger.warn("error in user callback " + r); + } + }); + } + }, + { + key: "_notifyMyContextChanged", + value: function (e, t, n, r) { + var i = this; + ((n = n || {}), + (r = r || []), + this._myContextUpdateCallbacks.forEach( + function (o) { + try { + o(t, n, r, e); + } catch (a) { + i._logger.warn( + "error in user callback " + a + ); + } + } + )); + } + }, + { + key: "_notifyAttached", + value: function (e) { + var t = this; + this._myAttached.forEach(function (n) { + try { + n(e); + } catch (r) { + t._logger.warn("error in user callback " + r); + } + }); + } + }, + { + key: "_notifyDetached", + value: function (e) { + var t = this; + this._myDetached.forEach(function (n) { + try { + n(e); + } catch (r) { + t._logger.warn("error in user callback " + r); + } + }); + } + }, + { + key: "_notifyAttachedTo", + value: function (e) { + var t = this; + this._myAttachedTo.forEach(function (n) { + try { + n(t.activity, e); + } catch (r) { + t._logger.warn("error in user callback " + r); + } + }); + } + }, + { + key: "_notifyDetachedFrom", + value: function (e, t, n) { + var r = this; + this._myDetachedFrom.forEach(function (i) { + try { + i(e, t, n); + } catch (o) { + r._logger.warn("error in user callback " + o); + } + }); + } + }, + { + key: "_subscribeActivitiesAttached", + value: function (e, t) { + var n = this.window; + if (!wn(n)) { + var r = n.activity; + wn(r) || + (e.id === r.id && + (t.windowIds.indexOf(n.id) >= 0 + ? this._notifyAttachedTo(t) + : this._notifyAttached(t))); + } + } + }, + { + key: "_subscribeActivitiesDetached", + value: function (e, t, n) { + var r = this.window; + if (!wn(r)) { + var i = r.activity; + wn(i) || + (t.id === i.id && this._notifyDetached(n), + e.id === i.id && + this._notifyDetachedFrom(e, t, n)); + } + } + }, + { + key: "_subscribeWindowFrameColorChanged", + value: function (e) { + var t = this.activity; + t && + t.owner && + t.owner.underlyingWindow.id === e.id && + this._myActivityFrameColorChanged.forEach( + function (t) { + t(e.frameColor); + } + ); + } + } + ]), + e + ); + })(), + wr = (function () { + function e(t, n) { + if ( + (v(this, e), + (this._logger = jn.Get("ReadyMarker [" + t + "]")), + this._logger.debug( + "Initializing ready marker for '" + + t + + "' with " + + n + + " signals to wait" + ), + n <= 0) + ) + throw new Error("Invalid signal number. Should be > 0"); + ((this._signals = n), (this._callbacks = []), (this._name = t)); + } + return ( + m(e, [ + { + key: "setCallback", + value: function (e) { + this.isSet() + ? e(void 0) + : this.isError() + ? e(this._error) + : this._callbacks.push(e); + } + }, + { + key: "signal", + value: function (e) { + if ( + (this._logger.debug( + "Signaled - " + + e + + " - signals left " + + (this._signals - 1) + ), + this._signals--, + this._signals < 0) + ) + throw new Error( + "Error in ready marker '" + + this._name + + " - signals are " + + this._signals + ); + this.isSet() && + this._callbacks.forEach(function (e) { + e(void 0); + }); + } + }, + { + key: "error", + value: function (e) { + ((this._error = e), + this._callbacks.forEach(function (t) { + t(e); + })); + } + }, + { + key: "isSet", + value: function () { + return !this.isError() && 0 === this._signals; + } + }, + { + key: "isError", + value: function () { + return !yn(this._error); + } + }, + { + key: "getError", + value: function () { + return this._error; + } + } + ]), + e + ); + })(), + br = (function () { + function e(t) { + (v(this, e), + (this._items = {}), + (this._listeners = []), + (this._processNew = t)); + } + return ( + m(e, [ + { + key: "addOne", + value: function (e) { + this.add([e]); + } + }, + { + key: "add", + value: function (e) { + var t = this; + e.forEach(function (e) { + t.process(new Wn(e, new Tn(Mn.Added))); + }); + } + }, + { + key: "process", + value: function (e) { + var t = e.context, + n = t.type, + r = e.entity; + if (n === Mn.StatusChange && !t.oldStatus) { + var i = this._items[r.id]; + i && (t.oldStatus = i.status); + } + (n === Mn.StatusChange && + t.oldStatus && + t.newStatus && + t.oldStatus.state === t.newStatus.state && + (t.type = Mn.Updated), + "undefined" === typeof htmlContainer && + (n === Mn.ActivityWindowJoinedActivity && + this._items[r.id] && + this._items[r.id].activity && + (t.type = Mn.Updated), + n === Mn.ActivityWindowLeftActivity && + this._items[r.id] && + !this._items[r.id].activity && + (t.type = Mn.Updated))); + var o = this._updateInternalCollections(r, n, t); + return (this._notifyListeners(o, t), o); + } + }, + { + key: "get", + value: function () { + var e = []; + for (var t in this._items) + if (this._items.hasOwnProperty(t)) { + var n = this._items[t]; + e.push(n); + } + return e; + } + }, + { + key: "getByName", + value: function (e) { + for (var t in this._items) + if (t === e) return this._items[t]; + } + }, + { + key: "getOrWait", + value: function (e) { + var t = this; + return new Promise(function (n) { + var r = function r(i) { + i.id === e && (n(i), t.unsubscribe(r)); + }; + t.subscribe(r); + var i = t.getByName(e); + if (i) return (t.unsubscribe(r), void n(i)); + }); + } + }, + { + key: "subscribe", + value: function (e) { + var t = this; + return ( + this._listeners.push(e), + Object.keys(this._items).forEach(function (n) { + var r = t._items[n]; + e(r, new Tn(Mn.Added.toString())); + }), + function () { + t.unsubscribe(e); + } + ); + } + }, + { + key: "unsubscribe", + value: function (e) { + var t = this._listeners.indexOf(e); + -1 !== t && this._listeners.splice(t, 1); + } + }, + { + key: "_notifyListeners", + value: function (e, t) { + this._listeners.forEach(function (n) { + try { + n(e, t); + } catch (r) { + return; + } + }); + } + }, + { + key: "_updateInternalCollections", + value: function (e, t, n) { + var r = e, + i = + (t === Mn.StatusChange && + r.status && + r.status.state === Rn.Destroyed) || + (t === Mn.StatusChange && + n && + n.newStatus && + n.newStatus.state === Rn.Destroyed), + o = t === Mn.Closed; + if ( + (t === Mn.Removed && + "undefined" === typeof r.isIndependent) || + o || + i + ) { + var a = this._items[e.id]; + return ( + delete this._items[e.id], + this._processNew(e), + a && e._beforeDelete(a), + e + ); + } + var s = e.id; + return ( + this._items.hasOwnProperty(s) + ? this._items[e.id]._update(e) + : (this._processNew(e), + (this._items[e.id] = e)), + this._items[e.id] + ); + } + } + ]), + e + ); + })(), + kr = (function () { + function e(t, n, r) { + var i = this; + (v(this, e), + (this._logger = jn.Get("activityManager")), + (this._announcedWindows = []), + (this._attachedCallbacks = []), + (this._detachedCallbacks = []), + (this._frameColorChangesCallbacks = []), + (this._windowHandlers = []), + (this._bridge = t), + (this._activityTypes = new br(function (e) { + return i._grabEntity(e); + })), + (this._windowTypes = new br(function (e) { + return i._grabEntity(e); + })), + (this._activities = new br(function (e) { + return i._grabEntity(e); + })), + (this._windows = new br(function (e) { + return i._grabEntity(e); + })), + (this._dataReadyMarker = new wr( + "Activity Manager Data", + [ + "GetActivityTypes", + "GetWindowTypes", + "GetActivities", + "GetWindows" + ].length + )), + (this._descriptorsMarker = new wr( + "Attached Activities Descriptors", + ["GetDescriptors"].length + )), + n + ? ((this._readyMarker = new wr( + "Activity Manager Announce", + ["Announcement"].length + )), + this._dataReadyMarker.setCallback(function (e) { + (e && i._readyMarker.error(e), + i._descriptorsMarker.setCallback(function (e) { + (e && i._readyMarker.error(e), + i._logger.debug("Auto announcing window"), + i + .announceWindow() + .then(function (e) { + (i._announcedWindows.push(e), + i._readyMarker.signal( + "Successfully announced window with id '" + + e.id + + "'" + )); + }) + .catch(function (e) { + (i._logger.debug( + "Will not announce window - " + + e + ), + i._readyMarker.signal()); + })); + }), + i.refreshDescriptors()); + })) + : (this._readyMarker = this._dataReadyMarker), + this._bridge.onActivitiesAttached(function (e) { + i._handleActivitiesAttached(e); + }), + this._bridge.onActivitiesDetached(function (e) { + i._handleActivitiesDetached(e); + }), + this._bridge.onActivityAttachedDescriptorsRefreshed( + function (e) { + i._handleActivityDescriptorsRefreshed(e); + } + ), + r && + r.onWindowFrameColorChanged( + this._handleWindowFrameColorChanged.bind(this) + ), + this._bridge.init(), + this._subscribeForData(), + this._bridge + .initReady() + .then(function (e) { + i._getInitialData(); + }) + .catch(function (e) { + console.log(e); + })); + } + return ( + m(e, [ + { + key: "usingHc", + get: function () { + return "HC" === this._bridge.bridgeType; + } + }, + { + key: "announcedWindows", + get: function () { + return this._announcedWindows; + }, + set: function (e) { + throw new Error("not allowed"); + } + }, + { + key: "ready", + value: function (e) { + var t = this, + n = new Promise(function (e, n) { + t._readyMarker.setCallback(function (r) { + r ? n(t._readyMarker.getError()) : e(t); + }); + }); + return Bn( + Promise.all([this._bridge.ready(), n]).then( + function () { + return t; + } + ), + e + ); + } + }, + { + key: "getActivityTypes", + value: function () { + return this._activityTypes.get(); + } + }, + { + key: "getActivityType", + value: function (e) { + return this._activityTypes.getByName(e); + } + }, + { + key: "registerActivityType", + value: function (e, t, n, r, i, o) { + var a = this; + return Bn( + new Promise(function (o, s) { + var c; + if (wn(e)) + s( + "activityTypeName argument can not be undefined" + ); + else if (vn(e)) + if (wn(a.getActivityType(e))) + if (yn(t)) + s( + "Owner window type can not be undefined" + ); + else { + c = vn(t) + ? { + type: t, + name: "", + isIndependent: !1, + arguments: {} + } + : t; + var u = []; + if (!yn(n) && gn(n)) + for (var d in n) { + var l = n[d]; + if (vn(l)) { + var p = { + type: l, + name: "", + isIndependent: !1, + arguments: {}, + relativeTo: "", + relativeDirection: + "", + windowStyleAttributes: + {} + }; + u.push(p); + } else u.push(l); + } + a._bridge + .registerActivityType( + e, + c, + u, + r, + i + ) + .then(function (e) { + (a._grabEntity(e), o(e)); + }) + .catch(function (e) { + s(e); + }); + } + else + s( + "Activity type '" + + e + + "' already exists" + ); + else s("activityTypeName should be string"); + }), + o + ); + } + }, + { + key: "unregisterActivityType", + value: function (e, t) { + var n = this; + return Bn( + new Promise(function (t, r) { + var i = n.getActivityType(e); + yn(i) + ? r( + "Activity type '" + + e + + "' does not exists" + ) + : n._bridge + .unregisterActivityType(e) + .then(function () { + return t(i); + }, r); + }), + t + ); + } + }, + { + key: "initiate", + value: function (e, t, n, r) { + var i = this; + return Bn( + new Promise(function (n, o) { + yn(i.getActivityType(e)) + ? o( + "Activity type '" + + e + + "' does not exists" + ) + : i._bridge + .initiateActivity(e, t, r) + .then(function (e) { + i._activities + .getOrWait(e) + .then(function (e) { + n(e); + }) + .catch(function (e) { + return o(e); + }); + }) + .catch(function (e) { + o(e); + }); + }), + n + ); + } + }, + { + key: "subscribeActivityTypeEvents", + value: function (e) { + this._activityTypes.subscribe(function (t, n) { + e(t, n.type); + }); + } + }, + { + key: "getWindowTypes", + value: function () { + return this._windowTypes.get(); + } + }, + { + key: "getWindowType", + value: function (e) { + return this._windowTypes.getByName(e); + } + }, + { + key: "registerWindowFactory", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + if (wn(e)) i("no windowType specified"); + else { + if (mn(e)) e = e.getName(); + else if (!vn(e)) + return void i( + "windowType should be string or object that has getName method" + ); + r._bridge + .registerWindowFactory(e, t) + .then(function (e) { + n(e); + }) + .catch(function (e) { + i(e); + }); + } + }), + n + ); + } + }, + { + key: "unregisterWindowFactory", + value: function (e, t) { + var n = this; + return Bn( + new Promise(function (t, r) { + wn(e) + ? r("no windowType specified") + : vn(e) + ? n._bridge + .unregisterWindowFactory(e) + .then(function (e) { + t(e); + }) + .catch(function (e) { + r(e); + }) + : r("windowType should be a string"); + }), + t + ); + } + }, + { + key: "getActivities", + value: function (e) { + var t = this._activities.get(); + if ( + ((t = t.filter(function (e) { + return e._ownerId; + })), + !e) + ) + return t; + var n = e; + if (vn(e)) n = [e]; + else if (e instanceof Sn) n = [e.name]; + else if (!(e instanceof Array)) + throw new Error( + "Invalid input argument 'activityType' = " + e + ); + return t.filter(function (e) { + var t = e.type; + return _n(n, function (e) { + return t.id === e.id; + }); + }); + } + }, + { + key: "getActivityById", + value: function (e) { + return this._activities.getByName(e); + } + }, + { + key: "announceWindow", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + var o = n._bridge.getAnnouncementInfo(); + if ( + (yn(e) && (e = o.activityWindowId), + yn(t) && (t = o.activityWindowType), + wn(t)) + ) + throw new Error( + "Can not announce - unknown windowType" + ); + var a = o && o.activityId; + if (wn(e)) + (n._logger.debug( + "Registering window with type:'" + + t + + "', name:'" + + o.activityWindowName + + "', ind.:'" + + o.activityWindowIndependent + + "'" + ), + n._bridge + .registerWindow( + t, + o.activityWindowName, + o.activityWindowIndependent + ) + .then( + n._windows.getOrWait.bind( + n._windows + ) + ) + .then(function (e) { + return a + ? n._activities + .getOrWait(a) + .then(function (t) { + return e; + }) + : e; + }) + .then(function (e) { + r(e); + }) + .catch(function (e) { + n._logger.error(e); + })); + else { + n._logger.debug( + "Announcing window with id '" + + e + + "' and type '" + + t + + "'" + ); + var s = n._windows.getByName(e); + if (!wn(s)) + return ( + n._logger.debug( + "Window with id '" + + e + + "' already announced - reusing the window" + ), + void r(s) + ); + var c = function t(o, a, s) { + e === a.id && + s === Mn.ActivityWindowJoinedActivity && + (yn(a.activity) && + i("UNDEFINED ACTIVITY"), + n._logger.trace( + "Got joined event for id '" + + e + + "'" + ), + r(a), + n.unsubscribeWindowEvents(t)); + }; + (n.subscribeWindowEvents(c), + n._logger.trace( + "Waiting for joined event for id '" + + e + + "'" + ), + n._bridge.announceWindow(t, e)); + } + }); + } + }, + { + key: "subscribeWindowTypeEvents", + value: function (e) { + this._windowTypes.subscribe(function (t, n) { + e(t, n.type); + }); + } + }, + { + key: "subscribeActivityEvents", + value: function (e) { + var t = this; + return this._activities.subscribe(function (n, r) { + if (r.type === Mn.StatusChange) { + var i = r; + e(n, i.newStatus, i.oldStatus); + } + if ( + r.type === Mn.Removed || + (r.type === Mn.StatusChange && + r.newStatus.getState() === Rn.Destroyed) + ) { + var o, + a = u(t._windows.get()); + try { + for (a.s(); !(o = a.n()).done; ) { + var s = o.value; + s.activity && + s.activity.id === n.id && + t._windows.process( + new Wn( + s, + new Tn( + Mn.ActivityWindowLeftActivity + ) + ) + ); + } + } catch (c) { + a.e(c); + } finally { + a.f(); + } + } + }); + } + }, + { + key: "subscribeWindowEvents", + value: function (e) { + var t = function (t, n) { + var r = n.type; + (r === Mn.Added && (r = "opened"), + e(t.activity, t, r)); + }; + return ( + this._windowHandlers.push([e, t]), + this._windows.subscribe(t) + ); + } + }, + { + key: "unsubscribeWindowEvents", + value: function (e) { + var t = this._windowHandlers.find(function (t) { + return t[0] === e; + }); + t && + (this._windowHandlers.splice( + this._windowHandlers.indexOf(t), + 1 + ), + this._windows.unsubscribe(t[1])); + } + }, + { + key: "createWindow", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + var o, a; + if ( + (wn(t) && i("windowType is undefined"), + vn(t)) + ) + o = { + type: t, + name: "", + isIndependent: !1, + arguments: {} + }; + else if (t instanceof En) + o = { + type: t.type || t.id, + name: t.name || t.type || t.id, + isIndependent: !1 + }; + else { + var s = ["url"], + c = {}; + (Object.keys(t).forEach(function (e) { + -1 === s.indexOf(e) && (c[e] = t[e]); + }), + (o = c)); + } + if (!wn(o.relativeTo)) + if ( + "string" === typeof (a = o.relativeTo) + ) { + var u = r.getWindows({ type: a }); + !wn(u) && + u.length > 0 && + (o.relativeTo = u[0].id); + } else if (wn(a.type)) + wn(a.windowId) || + (o.relativeTo = a.windowId); + else { + var d = r.getWindows({ type: a.type }); + !wn(d) && + d.length > 0 && + (o.relativeTo = d[0].id); + } + r._bridge + .createWindow(e && e.id, o) + .then(function (t) { + r._logger.debug( + "Window created, waiting for window entity with id " + + t + ); + var i = function i(o, a) { + o.id !== t || + (e && !o.activity) || + (r._logger.debug( + "Got entity window with id " + + t + ), + n(o), + r._windows.unsubscribe(i)); + }; + r._windows.subscribe(i); + }) + .catch(function (e) { + i(e); + }); + }), + n + ); + } + }, + { + key: "createStackedWindows", + value: function (e, t, n, r) { + var i = this; + return Bn( + new Promise(function (r, o) { + (wn(e) && o("activity is undefined"), + wn(t) && + o("relativeWindowTypes is undefined"), + Array.isArray(t) || + o( + "relativeWindowTypes has to be an array" + ), + wn(n) && (n = 2e4)); + var a = []; + t.forEach(function (e) { + var t, r; + if ( + (((t = vn(e) + ? { + type: e, + name: "", + isIndependent: !1, + arguments: {} + } + : e).stackedWindow = !0), + (t.timeout = n), + !wn(t.relativeTo)) + ) + if (wn((r = t.relativeTo).type)) { + if (!wn(r.windowId)) { + var o = i.getWindows({ + id: r.windowId + }); + !wn(o) && + o.length > 0 && + (t.relativeTo = + o[0].type.name); + } + } else t.relativeTo = r.type; + a.push(t); + }); + var s = []; + (a.forEach(function (t) { + return s.push(i.createWindow(e, t)); + }), + Promise.all(s).then(r).catch(o)); + }), + r + ); + } + }, + { + key: "addWindowToActivity", + value: function (e, t, n) { + var r = this._bridge + .joinActivity(e.id, t.id) + .then(function () { + return t; + }); + return (Bn(r, n), r); + } + }, + { + key: "leaveWindowFromActivity", + value: function (e, t, n) { + var r = this._bridge + .leaveActivity(e.id, t.id) + .then(function () { + return t; + }); + return (Bn(r, n), r); + } + }, + { + key: "setActivityContext", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + (wn(e) && i("activity can not be null"), + r._bridge + .updateActivityContext(e, t, !0) + .then(function (t) { + n(e); + }) + .catch(function (e) { + i(e); + })); + }), + n + ); + } + }, + { + key: "updateActivityContext", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + wn(e) && i("activity can not be null"); + var o = []; + for (var a in t) + t.hasOwnProperty(a) && + null === t[a] && + o.push(a); + for (var s = 0, c = o; s < c.length; s++) { + var u = c[s]; + delete t[u]; + } + r._bridge + .updateActivityContext(e, t, !1, o) + .then(function (t) { + n(e); + }) + .catch(function (e) { + i(e); + }); + }), + n + ); + } + }, + { + key: "subscribeActivityContextChanged", + value: function (e) { + this._activities.subscribe(function (t, n) { + if (n.type === Mn.ActivityContextChange) { + var r = n; + e(t, r.context, r.updated, r.removed); + } + }); + } + }, + { + key: "stopActivity", + value: function (e, t) { + return Bn(this._bridge.stopActivity(e), t); + } + }, + { + key: "getWindows", + value: function (e) { + return yn(e) + ? this._windows.get() + : yn(e.id) + ? this._windows.get().filter(function (t) { + if (!yn(e.type) && t.type.id !== e.type) + return !1; + if (!yn(e.name) && t.name !== e.name) + return !1; + if (!yn(e.activityId)) { + if (wn(t.activity)) return !1; + if (t.activity.id !== e.activityId) + return !1; + } + return !0; + }) + : [this._windows.getByName(e.id)]; + } + }, + { + key: "getWindowBounds", + value: function (e) { + return this._bridge.getWindowBounds(e); + } + }, + { + key: "setWindowBounds", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + r._bridge + .setWindowBounds(e, t) + .then(function () { + return n(); + }) + .catch(function (e) { + return i(e); + }); + }), + n + ); + } + }, + { + key: "closeWindow", + value: function (e) { + return this._bridge.closeWindow(e); + } + }, + { + key: "activateWindow", + value: function (e, t) { + return this._bridge.activateWindow(e, t); + } + }, + { + key: "setWindowVisibility", + value: function (e, t) { + return this._bridge.setWindowVisibility(e, t); + } + }, + { + key: "clone", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + (e || i("activity can not be null"), + r._bridge + .cloneActivity(e.id, t) + .then(function (e) { + r._activities + .getOrWait(e) + .then(function (e) { + n(e); + }) + .catch(function (e) { + return i(e); + }); + }) + .catch(function (e) { + return i(e); + })); + }), + n + ); + } + }, + { + key: "attachActivities", + value: function (e, t, n, r) { + var i = this; + return ( + (n = n || {}), + Bn( + new Promise(function (r, o) { + if (i._activities.getByName(e)) { + if (i._activities.getByName(t)) + return i._bridge + .attachActivities(e, t, n) + .then(function (e) { + var t = e.to, + n = e.descriptor, + o = e.descriptors; + i._activities + .getOrWait(t) + .then(function (e) { + e._updateDescriptors( + o + ); + var t = + e.attached.filter( + function ( + e + ) { + return ( + e.ownerId === + n.ownerId + ); + } + )[0]; + r(t); + }); + }) + .catch(function (e) { + o(e); + }); + o("can not find activity with id " + t); + } else + o("can not find activity with id " + e); + }), + r + ) + ); + } + }, + { + key: "detachActivities", + value: function (e, t, n) { + var r = this; + return Bn( + new Promise(function (n, i) { + return r._bridge + .detachActivities(e, t) + .then(function () { + var e = void 0, + t = void 0, + o = void 0; + r._activities + .getOrWait(e) + .then(function (e) { + (e._updateDescriptors(o), + r._activities + .getOrWait(t) + .then(function (e) { + n(e); + })); + }) + .catch(function (e) { + return i(e); + }); + }) + .catch(function (e) { + i(e); + }); + }), + n + ); + } + }, + { + key: "subscribeActivitiesAttached", + value: function (e) { + this._attachedCallbacks.push(e); + } + }, + { + key: "subscribeActivitiesDetached", + value: function (e) { + this._detachedCallbacks.push(e); + } + }, + { + key: "subscribeActivityFrameColorChanged", + value: function (e) { + this._frameColorChangesCallbacks.push(e); + } + }, + { + key: "_grabEntity", + value: function (e) { + e._manager = this; + } + }, + { + key: "_getInitialData", + value: function () { + var e = this; + (this._logger.debug("Request initial data..."), + this._bridge + .getActivityTypes() + .then(function (t) { + (e._activityTypes.add(t), + e._dataReadyMarker.signal( + "Got act types" + )); + }) + .catch(function (t) { + (e._logger.error(t), + e._dataReadyMarker.error( + "Can not initialize ActivityManager - error getting activity types -" + + t + )); + }), + this._bridge + .getWindowTypes() + .then(function (t) { + (e._windowTypes.add(t), + e._dataReadyMarker.signal( + "Got window types" + )); + }) + .catch(function (t) { + (e._logger.error(t), + e._dataReadyMarker.error( + "Can not initialize ActivityManager - error getting window types " + + t + )); + }), + this._bridge + .getActivities() + .then(function (t) { + (e._activities.add(t), + e._dataReadyMarker.signal( + "Got activities" + )); + }) + .catch(function (t) { + (e._logger.error(t), + e._dataReadyMarker.error( + "Can not initialize ActivityManager - error getting activity instances -" + + t + )); + }), + this._bridge + .getActivityWindows() + .then(function (t) { + (e._windows.add(t), + e._dataReadyMarker.signal( + "Got windows" + )); + }) + .catch(function (t) { + (e._logger.error(t), + e._dataReadyMarker.error( + "Can not initialize ActivityManager - error getting activity windows -" + + t + )); + })); + } + }, + { + key: "_subscribeForData", + value: function () { + var e = this; + (this._logger.debug("Subscribe for data..."), + this._bridge.onActivityTypeStatusChange( + function (t) { + e._activityTypes.process(t); + } + ), + this._bridge.onWindowTypeStatusChange(function (t) { + e._windowTypes.process(t); + }), + this._bridge.onActivityWindowChange(function (t) { + e._windows.process(t); + }), + this._bridge.onActivityStatusChange(function (t) { + e._activities.process(t); + })); + } + }, + { + key: "_handleActivitiesAttached", + value: function (e) { + var t = this, + n = e.to, + r = e.descriptor, + i = e.descriptors; + this._activities.getOrWait(n).then(function (e) { + e._updateDescriptors(i); + var n = e.attached.filter(function (e) { + return e.ownerId === r.ownerId; + })[0]; + t._attachedCallbacks.forEach(function (t) { + try { + t(e, n); + } catch (r) { + return; + } + }); + }); + } + }, + { + key: "_handleActivitiesDetached", + value: function (e) { + var t = this, + n = e.oldActivityId, + r = e.newActivityId, + i = e.descriptors, + o = e.descriptor; + this._activities.getOrWait(n).then(function (e) { + (e._updateDescriptors(i), + t._activities.getOrWait(r).then(function (n) { + t._detachedCallbacks.forEach(function (t) { + try { + t(n, e, o); + } catch (r) { + return; + } + }); + })); + }); + } + }, + { + key: "_handleActivityDescriptorsRefreshed", + value: function (e) { + var t = e.id, + n = e.descriptors, + r = this._activities.getByName(t); + r && r._updateDescriptors(n); + } + }, + { + key: "refreshDescriptors", + value: function () { + var e = this; + this._bridge + .getAttachedDescriptors() + .then(function (t) { + (t && + Object.keys(t).forEach(function (n) { + var r = n, + i = t[n], + o = e._activities.getByName(r); + o && o._updateDescriptors(i); + }), + e._descriptorsMarker.signal( + "Successfully got descriptors" + )); + }) + .catch(function (t) { + e._descriptorsMarker.error( + "failed to get descriptors - " + t + ); + }); + } + }, + { + key: "_handleWindowFrameColorChanged", + value: function (e) { + if (e.activityId) { + var t = this._activities.getByName(e.activityId); + t && + t.owner && + t.owner.underlyingWindow.id === e.id && + this._frameColorChangesCallbacks.forEach( + function (n) { + try { + n(t, e.frameColor); + } catch (r) { + return; + } + } + ); + } + } + } + ]), + e + ); + })(), + xr = (function () { + function e(t, n) { + (v(this, e), + (this._m = t), + (this._my = n), + (this.activityTypes = { + get: this._getActivityTypesWrapper.bind(this), + register: this._m.registerActivityType.bind(this._m), + unregister: this._m.unregisterActivityType.bind(this._m), + subscribe: this._m.subscribeActivityTypeEvents.bind( + this._m + ), + unsubscribe: void 0, + initiate: this._m.initiate.bind(this._m) + }), + (this.windowTypes = { + get: this._getWindowTypesWrapper.bind(this), + registerFactory: this._m.registerWindowFactory.bind( + this._m + ), + unregisterFactory: this._m.unregisterWindowFactory.bind( + this._m + ), + subscribe: this._m.subscribeWindowTypeEvents.bind(this._m), + unsubscribe: void 0 + }), + (this.windows = { + get: this._m.getWindows.bind(this._m), + subscribe: this._m.subscribeWindowEvents.bind(this._m), + announce: this._m.announceWindow.bind(this._m), + unsubscribe: void 0, + create: this._m.createWindow.bind(this._m) + }), + (this.instances = { + get: this._m.getActivities.bind(this._m), + subscribe: this._m.subscribeActivityEvents.bind(this._m), + unsubscribe: void 0 + })); + } + return ( + m(e, [ + { + key: "onAttached", + value: function (e) { + this._m.subscribeActivitiesAttached(e); + } + }, + { + key: "onDetached", + value: function (e) { + this._m.subscribeActivitiesDetached(e); + } + }, + { + key: "onActivityFrameColorChanged", + value: function (e) { + this._m.subscribeActivityFrameColorChanged(e); + } + }, + { + key: "_getActivityTypesWrapper", + value: function (e) { + return yn(e) + ? this._m.getActivityTypes() + : this._m.getActivityType(e); + } + }, + { + key: "_getWindowTypesWrapper", + value: function (e) { + return yn(e) + ? this._m.getWindowTypes() + : this._m.getWindowType(e); + } + } + ]), + e + ); + })(), + _r = (function () { + function e(t, n) { + (v(this, e), + (this._mgr = t), + (this._my = n), + (this.all = new xr(t, n))); + } + return ( + m(e, [ + { + key: "ready", + value: function (e) { + var t = this; + return Bn( + new Promise(function (e, n) { + t._mgr + .ready() + .then(function () { + e(t); + }) + .catch(function (e) { + n(e); + }); + }), + e + ); + } + }, + { + key: "my", + get: function () { + return this._my; + } + }, + { + key: "aware", + get: function () { + return void 0 !== this._my.window; + } + }, + { + key: "inActivity", + get: function () { + return this.aware && void 0 !== this._my.activity; + } + }, + { + key: "agm", + get: function () { + if (this.aware) + return this.inActivity + ? this._my.activity.agm + : new On(null); + } + }, + { + key: "getAvailableFrameColors", + value: function () { + return []; + } + } + ]), + e + ); + })(), + Cr = (function () { + function e(t) { + var n, + r = this; + if ((v(this, e), !t)) throw new Error("config can not be null"); + if ( + (yn(t.logLevel) || (jn.Level = t.logLevel), + wn(t.logger) || (jn.GlueLogger = t.logger), + (this._isUsingHCImplementation = 2 === t.gdMajorVersion), + (this._isUsingGW3Implementation = + e.checkIsUsingGW3Implementation(t.connection)), + this._isUsingHCImplementation) + ) + throw new Error("GD2 not supported"); + if (!this._isUsingGW3Implementation) + throw new Error( + "Unable to instantiate activity bridge implementation" + ); + if (!(n = new gr(t))) + throw new Error( + "A bridge to native activity is needed to create activity lib." + ); + On.AGM = t.agm; + var i = new kr(n, !t.disableAutoAnnounce, t.windows), + o = new yr(i, t.windows); + ((this._api = new _r(i, o)), + (this._readyPromise = i.ready().then(function (e) { + return r; + }))); + } + return ( + m( + e, + [ + { + key: "api", + get: function () { + return this._api; + }, + set: function (e) { + this._api = e; + } + }, + { + key: "isUsingHCImplementation", + get: function () { + return this._isUsingHCImplementation; + } + }, + { + key: "isUsingGW3Implementation", + get: function () { + return this._isUsingGW3Implementation; + } + }, + { + key: "ready", + value: function (e) { + return Bn(this._readyPromise, e); + } + } + ], + [ + { + key: "checkIsUsingGW3Implementation", + value: function (e) { + return 3 === e.protocolVersion; + } + } + ] + ), + e + ); + })(), + Ir = "T42.ACS.Shutdown", + Sr = "T42.ACS.OnGDShutdown", + Er = "T42.ACS.Restart", + Wr = "T42.ACS.GetConfigurationRegion", + Tr = "T42.ACS.SetConfigurationRegion", + Ar = "T42.ACS.GetUser", + Pr = "T42.ACS.GetBranches", + Mr = "T42.ACS.GetCurrentBranch", + Rr = "T42.ACS.SetCurrentBranch", + Or = "T42.ACS.GetFunctionalEntitlement", + Dr = "T42.ACS.CanI", + Lr = "T42.ACS.StartApplication", + Br = "T42.ACS.StopApplication", + Nr = "T42.ACS.ActivateApplication", + Fr = "T42.ACS.OnEvent", + jr = "T42.ACS.GetApplications"; + function Hr(e) { + if ( + e && + e.errorHandling && + "function" !== typeof e.errorHandling && + "log" !== e.errorHandling && + "silent" !== e.errorHandling && + "throw" !== e.errorHandling + ) + throw new Error( + 'Invalid options passed to createRegistry. Prop errorHandling should be ["log" | "silent" | "throw" | (err) => void], but ' + + typeof e.errorHandling + + " was passed" + ); + var t = e && "function" === typeof e.errorHandling && e.errorHandling, + n = {}; + function r(e, t, r) { + var i = n[e]; + return ( + i || ((i = []), (n[e] = i)), + i.push(t), + r && + setTimeout(function () { + r.forEach(function (r) { + var i; + if ( + null === (i = n[e]) || void 0 === i + ? void 0 + : i.includes(t) + ) + try { + Array.isArray(r) + ? t.apply(void 0, r) + : t.apply(void 0, [r]); + } catch (a) { + o(a, e); + } + }); + }, 0), + function () { + var r = n[e]; + r && + (0 === + (r = r.reduce(function (e, n, r) { + return ((n === t && e.length === r) || e.push(n), e); + }, [])).length + ? delete n[e] + : (n[e] = r)); + } + ); + } + function i(e) { + for (var t = [], r = 1; r < arguments.length; r++) + t[r - 1] = arguments[r]; + var i = n[e]; + if (!i || 0 === i.length) return []; + var a = []; + return ( + i.forEach(function (n) { + try { + var r = n.apply(void 0, t); + a.push(r); + } catch (i) { + (a.push(void 0), o(i, e)); + } + }), + a + ); + } + function o(n, r) { + var i = n instanceof Error ? n : new Error(n); + if (t) t(i); + else { + var o = + '[ERROR] callback-registry: User callback for key "' + + r + + '" failed: ' + + i.stack; + if (e) + switch (e.errorHandling) { + case "log": + return console.error(o); + case "silent": + return; + case "throw": + throw new Error(o); + } + console.error(o); + } + } + function a() { + n = {}; + } + function s(e) { + n[e] && delete n[e]; + } + return { add: r, execute: i, clear: a, clearKey: s }; + } + Hr.default = Hr; + var zr = Hr; + function qr(e) { + return e + ? Object.keys(e).map(function (t) { + return e[t]; + }) + : []; + } + function Gr(e) { + var t; + try { + t = JSON.parse(JSON.stringify(e || {})); + } catch (n) { + t = {}; + } + return t; + } + function Ur(e, t) { + if (t.throwErrors && "function" !== typeof e) + throw new Error("Please provide the callback as a function!"); + } + var Vr = (function () { + function e(t, n, r, i) { + var o = this; + (v(this, e), + (this._appManager = t), + (this._name = n), + (this._agm = r), + (this._configuration = i), + (this._registry = zr()), + t.onInstanceStarted(function (e) { + (e.application && e.application.name !== o._name) || + o._registry.execute("instanceStarted", e); + }), + t.onInstanceStopped(function (e) { + (e.application && e.application.name !== o._name) || + o._registry.execute("instanceStopped", e); + }), + t.onAppRemoved(function (e) { + e.name === o._name && o._registry.execute("appRemoved", e); + }), + t.onAppChanged(function (e) { + e.name === o._name && o._registry.execute("appChanged", e); + }), + t.onAppAvailable(function (e) { + e.name === o._name && + ((o._props.IsReady = !0), + o._registry.execute("appAvailable", e)); + }), + t.onAppUnavailable(function (e) { + e.name === o._name && + ((o._props.IsReady = !1), + o._registry.execute("appUnavailable", e)); + })); + } + return ( + m(e, [ + { + key: "name", + get: function () { + return this._name; + } + }, + { + key: "title", + get: function () { + return this._props.Title; + } + }, + { + key: "version", + get: function () { + return this._props.Version; + } + }, + { + key: "autoStart", + get: function () { + return this._props.AutoStart; + } + }, + { + key: "isShell", + get: function () { + return this._props.IsShell; + } + }, + { + key: "caption", + get: function () { + return this._props.Caption; + } + }, + { + key: "hidden", + get: function () { + return this._props.IsHidden; + } + }, + { + key: "container", + get: function () { + return this._props.ApplicationName; + } + }, + { + key: "activityType", + get: function () { + return this._props.ActivityType; + } + }, + { + key: "activityWindowType", + get: function () { + return this._props.ActivityWindowType; + } + }, + { + key: "windowSettings", + get: function () { + return this._props.Arguments + ? Gr(this._props.Arguments) + : {}; + } + }, + { + key: "allowMultiple", + get: function () { + return this._props.AllowMultiple; + } + }, + { + key: "available", + get: function () { + return this._props.IsReady || !0; + } + }, + { + key: "icon", + get: function () { + return this._props.Icon; + } + }, + { + key: "iconURL", + get: function () { + return this._props.IconUrl; + } + }, + { + key: "sortOrder", + get: function () { + return this._props.SortOrder; + } + }, + { + key: "userProperties", + get: function () { + return this._props.UserProperties + ? Gr(this._props.UserProperties) + : {}; + } + }, + { + key: "keywords", + get: function () { + return this._props.Keywords ? this._props.Keywords : []; + } + }, + { + key: "isActivity", + get: function () { + return ( + void 0 !== this._props.ActivityType && + "" !== this._props.ActivityType + ); + } + }, + { + key: "configuration", + get: function () { + return { + autoStart: this._props.AutoStart, + caption: this._props.Caption, + hidden: this._props.IsHidden, + container: this._props.ApplicationName, + activityType: this._props.ActivityType, + allowMultiple: this._props.AllowMultiple + }; + } + }, + { + key: "instances", + get: function () { + var e = this; + return this._appManager + .instances() + .filter(function (t) { + return t.application.name === e._name; + }); + } + }, + { + key: "type", + get: function () { + return this._props.Type; + } + }, + { + key: "mode", + get: function () { + if (!this._props) return "unknown"; + if ( + this._props.Mode && + "string" === typeof this._props.Mode + ) + return this._props.Mode.toLowerCase(); + if (this.isActivity) return "unknown"; + if ( + this._props.Arguments && + this._props.Arguments.mode && + "string" === typeof this._props.Arguments.mode + ) + return this._props.Arguments.mode.toLowerCase(); + var e = this._props.WindowStyleAttributes; + if (e) { + var t = 'mode:"', + n = (e = e.split(" ").join("")).indexOf(t); + if (-1 !== n) { + var r = n + t.length, + i = e.indexOf('"', r), + o = e.substr(r, i - r); + if (o && "string" === typeof o) + return o.toLowerCase(); + } + } + return "flat"; + } + }, + { + key: "getConfiguration", + value: (function () { + var e = s( + a().mark(function e() { + var t, n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this._agm.invoke(jr, { + v2: { + apps: [ + this._name + ] + } + }) + ); + case 2: + return ( + (t = e.sent), + (n = + t.returned + .applications[0]), + e.abrupt("return", n) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "updateFromProps", + value: function (e) { + var t = this; + (this._props || (this._props = { Name: e.Name }), + Object.keys(e).forEach(function (n) { + t._props[n] = e[n]; + })); + } + }, + { + key: "start", + value: function (e, t) { + var n = this; + return new Promise( + (function () { + var r = s( + a().mark(function r(i, o) { + var s, c, u, d, l, p, h, f, v, m, g, y; + return a().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + ((p = n._name), + (h = 6e4), + !wn(e)) + ) { + r.next = 6; + break; + } + ((e = {}), + (r.next = 8)); + break; + case 6: + if ( + !( + ((null === + (s = + n._configuration()) || + void 0 === s + ? void 0 + : s.throwErrors) && + "object" !== + typeof e) || + Array.isArray( + e + ) + ) + ) { + r.next = 8; + break; + } + return r.abrupt( + "return", + o( + new Error( + 'Invalid "context" parameter - must be an object.' + ) + ) + ); + case 8: + if (!wn(t)) { + r.next = 12; + break; + } + ((t = {}), + (r.next = 14)); + break; + case 12: + if ( + !(null === + (c = + n._configuration()) || + void 0 === c + ? void 0 + : c.throwErrors) || + "object" === + typeof t + ) { + r.next = 14; + break; + } + return r.abrupt( + "return", + o( + new Error( + 'Invalid "options" parameter - must be an object.' + ) + ) + ); + case 14: + return ( + (f = + null === + (d = + null !== + (u = + t.awaitInterop) && + void 0 !== + u + ? u + : t.waitForAGMReady) || + void 0 === + d || + d), + (v = function ( + e + ) { + var t, + r = + setTimeout( + function () { + (t && + t(), + o( + "timed out while waiting for instance id " + .concat( + e, + " for app " + ) + .concat( + n.name + ) + )); + }, + h + ), + a = + function ( + n + ) { + n.id === + e && + (t && + (t(), + (t = + void 0)), + clearTimeout( + r + ), + i( + n + )); + }; + t = f + ? n._appManager.onInstanceAgmServerReady( + a + ) + : n._appManager.onInstanceStarted( + a + ); + }), + (r.prev = 16), + (r.next = 19), + n._agm.invoke( + Lr, + { + Name: p, + Context: + e, + Options: + t + }, + "best", + { + methodResponseTimeoutMs: + h + } + ) + ); + case 19: + ((m = r.sent), + "undefined" !== + typeof (g = + m.returned) + .timeout && + (h = + 1e3 * + g.timeout), + "undefined" !== + typeof g.waitForInterop && + "undefined" === + typeof t.waitForAGMReady && + "undefined" === + typeof t.awaitInterop && + (f = + g.waitForInterop), + g && g.Id + ? "startOnly" === + n + ._appManager + .mode + ? ((y = + n._appManager.handleInstanceStarted( + { + ActivityId: + void 0, + IsActivityOwner: + void 0, + Context: + void 0, + Title: void 0, + AgmServers: + void 0, + Id: g.Id, + Name: g.Name + } + )), + i(y)) + : v( + g.Id + ) + : i(void 0), + (r.next = 29)); + break; + case 26: + ((r.prev = 26), + (r.t0 = + r.catch( + 16 + )), + o( + null !== + (l = + r.t0 + .message) && + void 0 !== + l + ? l + : r.t0 + )); + case 29: + case "end": + return r.stop(); + } + }, + r, + null, + [[16, 26]] + ); + }) + ); + return function (e, t) { + return r.apply(this, arguments); + }; + })() + ); + } + }, + { + key: "onInstanceStarted", + value: function (e) { + return ( + Ur(e, this._configuration()), + this._registry.add("instanceStarted", e) + ); + } + }, + { + key: "onInstanceStopped", + value: function (e) { + return ( + Ur(e, this._configuration()), + this._registry.add("instanceStopped", e) + ); + } + }, + { + key: "onAvailable", + value: function (e) { + var t = this; + return ( + Ur(e, this._configuration()), + this._props.IsReady && + setTimeout(function () { + t._registry.execute("appAvailable", t); + }, 0), + this._registry.add("appAvailable", e) + ); + } + }, + { + key: "onUnavailable", + value: function (e) { + var t = this; + return ( + Ur(e, this._configuration()), + !1 === this._props.IsReady && + setTimeout(function () { + t._registry.execute("appUnavailable", t); + }, 0), + this._registry.add("appUnavailable", e) + ); + } + }, + { + key: "onChanged", + value: function (e) { + (Ur(e, this._configuration()), + this._registry.add("appChanged", e)); + } + }, + { + key: "onRemoved", + value: function (e) { + (Ur(e, this._configuration()), + this._registry.add("appRemoved", e)); + } + } + ]), + e + ); + })(), + $r = (function () { + function e(t, n, r, i, o, a, s, c) { + var u = this; + (v(this, e), + (this._id = t), + (this._appName = n), + (this._appManager = r), + (this._agm = i), + (this._activities = o), + (this._windows = a), + (this._configuration = c), + (this._registry = zr()), + s || + ((this._unsubscribeInstanceStopped = + this._appManager.onInstanceStopped(function (e) { + e.id === u._id && u._registry.execute("stopped", e); + })), + (this._unsubscribeInstanceAgmServerReady = + this._appManager.onInstanceAgmServerReady(function (e) { + e.id === u._id && + u._registry.execute("agmReady", e); + })))); + } + return ( + m(e, [ + { + key: "id", + get: function () { + return this._id; + } + }, + { + key: "application", + get: function () { + return this._appManager.application(this._appName); + } + }, + { + key: "activity", + get: function () { + var e = this; + if (!this._activities) + throw new Error( + "This method requires glue.activities library to be enabled." + ); + return this._activities.all.instances + .get() + .filter(function (t) { + return t.id === e._activityId; + })[0]; + } + }, + { + key: "isActivityOwner", + get: function () { + return this._isActivityOwner; + } + }, + { + key: "activityInstances", + get: function () { + var e = this; + return this._appManager + .instances() + .filter(function (t) { + return ( + "activity" !== t.application.type && + t.activityId && + t.activityId === e._activityId + ); + }); + } + }, + { + key: "activityOwnerInstance", + get: function () { + if (this._activityId) + return this.activityInstances.filter(function (e) { + return null === e || void 0 === e + ? void 0 + : e.isActivityOwner; + })[0]; + } + }, + { + key: "window", + get: function () { + var e = this; + if (!this._windows) + throw new Error( + "This method requires glue.windows library to be enabled." + ); + var t = this._windows.list().filter(function (t) { + return t.id === e._id; + })[0]; + return ( + !t && + this._activities && + this.activity && + this.activityOwnerInstance && + (t = this.activityOwnerInstance.window), + t + ); + } + }, + { + key: "context", + get: function () { + var e, t, n; + return null !== + (n = + null !== (e = this._startUpContext) && + void 0 !== e + ? e + : null === (t = this.window) || void 0 === t + ? void 0 + : t.context) && void 0 !== n + ? n + : {}; + } + }, + { + key: "title", + get: function () { + return this._title; + } + }, + { + key: "isActivityInstance", + get: function () { + return this._isActivityInstance; + } + }, + { + key: "activityId", + get: function () { + return this._activityId; + } + }, + { + key: "inActivity", + get: function () { + return this._inActivity; + } + }, + { + key: "isSingleWindowApp", + get: function () { + return !this._inActivity; + } + }, + { + key: "agm", + get: function () { + return this._agmInstance; + } + }, + { + key: "interopInstance", + get: function () { + return this._agmInstance; + } + }, + { + key: "onInteropReady", + value: function (e) { + var t = this; + return ( + Ur(e, this._configuration()), + this._agmInstance && + setTimeout(function () { + t._registry.execute("agmReady", t); + }, 0), + this._registry.add("agmReady", e) + ); + } + }, + { + key: "onAgmReady", + value: function (e) { + return this.onInteropReady(e); + } + }, + { + key: "onStopped", + value: function (e) { + return ( + Ur(e, this._configuration()), + this._registry.add("stopped", e) + ); + } + }, + { + key: "getWindow", + value: function () { + var e = this; + return new Promise(function (t, n) { + var r = e.window; + if (r) t(r); + else + var i = function (e, r) { + (e && n(e), + r && t(r), + setTimeout(function () { + (clearTimeout(o), a()); + }, 0)); + }, + o = setTimeout(function () { + i( + new Error( + "can not find a window with id ".concat( + e._id + ) + ) + ); + }, 3e4), + a = e._windows.onWindowAdded(function (t) { + t.id === e._id && i(void 0, t); + }); + }); + } + }, + { + key: "updateFromProps", + value: function (e) { + ((this._startUpContext = e.Context), + (this._title = e.Title), + (this._isActivityInstance = !1), + e.ActivityId && + "" !== e.ActivityId && + ((this._activityId = e.ActivityId), + (this._isActivityInstance = !0)), + (this._isActivityOwner = e.IsActivityOwner), + !this._activityId && + this._startUpContext && + this._startUpContext.activityId && + (this._activityId = + this._startUpContext.activityId), + (this._inActivity = Boolean(this._activityId)), + this.updateAgmInstanceFromProps(e)); + } + }, + { + key: "updateAgmInstanceFromProps", + value: function (e) { + if (e.AgmServers) { + var t = e.AgmServers; + t && + t.length > 0 && + !wn(t[0]) && + (this._agmInstance = t[0]); + } + } + }, + { + key: "stop", + value: function () { + var e = this; + return new Promise(function (t, n) { + var r = e._id; + e.isActivityOwner && (r = e.activityId); + var i = e._appManager.onInstanceStopped( + function (e) { + e.id === r && (i(), t()); + } + ); + e._agm + .invoke(Br, { Name: e._appName, Id: e._id }) + .then(function () { + "startOnly" === e._appManager.mode && + (e._appManager.handleInstanceStopped({ + Name: e._appName, + Id: e.id + }), + t()); + }) + .catch(function (e) { + return n(e); + }); + }); + } + }, + { + key: "activate", + value: function () { + return this._agm.invoke(Nr, { + Name: this._appName, + Id: this._id + }); + } + }, + { + key: "done", + value: function () { + (this._registry.clear(), + this._unsubscribeInstanceAgmServerReady(), + this._unsubscribeInstanceStopped()); + } + }, + { + key: "getContext", + value: function () { + return Promise.resolve(this.context); + } + } + ]), + e + ); + })(), + Jr = (function () { + function e(t, n, r, i, o, c, u) { + var d = this; + (v(this, e), + (this.mode = t), + (this._agm = n), + (this._activities = r), + (this._windows = i), + (this._logger = o), + (this._gdMajorVersion = c), + (this._configuration = u), + (this._apps = {}), + (this._instances = []), + (this._registry = zr()), + (this.getConfigurations = (function () { + var e = s( + a().mark(function e(t) { + var n, r; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = { v2: { apps: void 0 } }), + Array.isArray(t) && + (n.v2 = { apps: t }), + (e.next = 4), + d._agm.invoke(jr, n) + ); + case 4: + return ( + (r = e.sent), + e.abrupt( + "return", + r.returned.applications + ) + ); + case 6: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (this.application = function (e) { + var t; + if ( + (null === (t = d._configuration()) || void 0 === t + ? void 0 + : t.throwErrors) && + "string" !== typeof e + ) + throw new Error('"name" must be string'); + return d._apps[e]; + }), + (this.applications = function () { + return Object.keys(d._apps).map(function (e) { + return d._apps[e]; + }); + }), + (this.instances = function () { + return d._instances.map(function (e) { + return e; + }); + }), + (this.getMyInstance = function () { + var e = "undefined" !== typeof window && window.glue42gd; + if (!e) { + var t = d._agm.instance.instance; + return d._instances.find(function (e) { + return e.id === t; + }); + } + if (d._gdMajorVersion >= 3) { + var n = e.appInstanceId; + return d._instances.find(function (e) { + return e.id === n; + }); + } + }), + (this.getMyApplication = function () { + if (d._agm.instance) + return d.application(d._agm.instance.application); + }), + (this.handleSnapshotAppsAdded = function (e) { + var t = d.applications(); + (t.length > 0 && + t.forEach(function (t) { + var n = t.name; + e.find(function (e) { + return e.Name === t.name; + }) || d.handleAppRemoved({ Name: n }); + }), + e.forEach(function (e) { + t.find(function (t) { + return t.name === e.Name; + }) || d.handleAppAdded(e); + })); + }), + (this.handleSnapshotInstanceStarted = function (e) { + var t = d.instances(); + (t.length > 0 && + t.forEach(function (t) { + var n = t.id; + e.find(function (e) { + return e.Id === n; + }) || + d.handleInstanceStopped({ + Name: t.application.name, + Id: n + }); + }), + e.forEach(function (e) { + t.find(function (t) { + return t.id === e.Id; + }) || d.handleInstanceStarted(e); + })); + }), + (this.handleAppAdded = function (e) { + var t = d._getAppId(e); + (d._logger.trace("adding app ".concat(t)), + (d._apps[t] = new Vr(d, t, d._agm, d._configuration))); + var n = d._updateAppFromProps(e); + (d._registry.execute("appAdded", n), + d._registry.execute("appAvailable", n)); + }), + (this.handleAppUpdated = function (e) { + var t = d._updateAppFromProps(e); + d._registry.execute("appChanged", t); + }), + (this.handleAppRemoved = function (e) { + var t = d._getAppId(e); + d._logger.trace("removing app ".concat(t)); + var n = d.application(t); + ((d._instances = d._instances.filter(function (e) { + return e.application.name !== n.name; + })), + delete d._apps[t], + d._registry.execute("appRemoved", n)); + }), + (this.handleAppReady = function (e) { + var t = d._getAppId(e), + n = d._getAppOrThrow(t); + (n.updateFromProps(e), + n.available + ? d._registry.execute("appAvailable", n) + : d._registry.execute("appUnavailable", n)); + }), + (this.handleInstanceStarted = function (e) { + d._logger.trace( + "started app ".concat(e.Name, " ").concat(e.Id) + ); + var t = d._getInstanceId(e), + n = d._getInstanceAppName(e), + r = new $r( + t, + n, + d, + d._agm, + d._activities, + d._windows, + !1, + d._configuration + ); + return ( + d._updateInstanceFromProps(r, e), + d._instances.push(r), + d._registry.execute("instanceStarted", r), + r + ); + }), + (this.handleInstanceStopped = function (e) { + d._logger.trace( + "failed to start app ".concat(e.Name, " ").concat(e.Id) + ); + var t = d._getInstanceId(e), + n = d._getInstanceAppName(e), + r = d._getInstanceOrThrow(t, n); + ((d._instances = d._instances.filter(function (e) { + return !d._matchInstance(e, t, n); + })), + d._registry.execute("instanceStopped", r), + r.done()); + }), + (this.handleInstanceAgmServerReady = function (e) { + var t = d._getInstanceId(e), + n = d._getInstanceAppName(e), + r = d._getInstanceOrThrow(t, n); + (r.updateAgmInstanceFromProps(e), + d._registry.execute("instanceAgmServerReady", r)); + }), + (this.handleInstanceStartFailed = function (e) { + var t = d._getInstanceId(e), + n = d._getInstanceAppName(e), + r = new $r( + t, + n, + void 0, + void 0, + void 0, + void 0, + !0, + d._configuration + ); + (d._updateInstanceFromProps(r, e), + d._registry.execute("instanceStartFailed", r)); + }), + (this.handleInstanceUpdated = function (e) { + var t = d._getInstanceId(e), + n = d._getInstanceAppName(e), + r = d._getInstanceOrThrow(t, n); + d._updateInstanceFromProps(r, e); + }), + (this.onInstanceStarted = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("instanceStarted", e, d._instances) + ); + }), + (this.onInstanceStartFailed = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("instanceStartFailed", e) + ); + }), + (this.onInstanceStopped = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("instanceStopped", e) + ); + }), + (this.onInstanceUpdated = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("instanceChanged", e) + ); + }), + (this.onInstanceAgmServerReady = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("instanceAgmServerReady", e) + ); + }), + (this.onAppAdded = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("appAdded", e, Object.values(d._apps)) + ); + }), + (this.onAppRemoved = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("appRemoved", e) + ); + }), + (this.onAppAvailable = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("appAvailable", e) + ); + }), + (this.onAppUnavailable = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("appUnavailable", e) + ); + }), + (this.onAppChanged = function (e) { + return ( + Ur(e, d._configuration()), + d._registry.add("appChanged", e) + ); + })); + } + return ( + m(e, [ + { + key: "_getAppOrThrow", + value: function (e) { + var t = this.application(e); + if (!t) + throw Error("app with id ".concat(e, " not found")); + return t; + } + }, + { + key: "_getAppId", + value: function (e) { + return e.Name; + } + }, + { + key: "_matchInstance", + value: function (e, t, n) { + return e.id === t && e.application.name === n; + } + }, + { + key: "_getInstanceByIdAndName", + value: function (e, t) { + var n = this; + return this._instances.filter(function (r) { + return n._matchInstance(r, e, t); + })[0]; + } + }, + { + key: "_getInstanceOrThrow", + value: function (e, t) { + var n = this._getInstanceByIdAndName(e, t); + if (!n) + throw Error( + "instance with id ".concat(e, " not found") + ); + return n; + } + }, + { + key: "_getInstanceId", + value: function (e) { + return e.Id; + } + }, + { + key: "_getInstanceAppName", + value: function (e) { + return e.Name; + } + }, + { + key: "_updateAppFromProps", + value: function (e) { + var t = this._getAppId(e); + this._logger.trace( + "updating app with + " + .concat(t, ", ") + .concat(JSON.stringify(e)) + ); + var n = this._getAppOrThrow(t); + return (n.updateFromProps(e), n); + } + }, + { + key: "_updateInstanceFromProps", + value: function (e, t) { + (this._logger.trace( + "updating instance with " + + this._getInstanceId(t) + + " for app " + + this._getInstanceAppName(t) + ), + e.updateFromProps(t)); + } + } + ]), + e + ); + })(); + function Kr(e, t, n) { + var r = function (e) { + return !!(e && e.constructor && e.call && e.apply); + }; + return r(t) || r(n) + ? (r(t) ? r(n) || (n = function () {}) : (t = function () {}), + e.then(t, n)) + : e; + } + var Qr = (function () { + function e(t) { + var n = this; + (v(this, e), + (this._agm = t), + (this._registry = zr()), + (this._isMethodRegistered = !1), + (this.handleBranchModified = function (e) { + n._registry.execute("branchChanged", e); + }), + (this.handleBranchesModified = function (e) { + n._registry.execute("branchesChanged", e); + }), + (this.getRegion = function (e, t) { + return Kr( + n._agmInvoke(Wr, function (e) { + return e.returned.Region; + }), + e, + t + ); + }), + (this.getBranches = function (e, t) { + return Kr( + n._agmInvoke(Pr, function (e) { + var t = e.returned.Branches; + return Object.keys(t).map(function (e) { + return t[e]; + }); + }), + e, + t + ); + }), + (this.getCurrentBranch = function (e, t) { + return Kr( + n._agmInvoke( + Mr, + function (e) { + return e.returned.Branch; + }, + void 0 + ), + e, + t + ); + }), + (this.setRegion = function (e, t, r) { + return Kr( + n._agmInvoke( + Tr, + function (e) { + return e.returned.ResultMessage; + }, + { Region: e } + ), + t, + r + ); + }), + (this.setCurrentBranch = function (e, t, r) { + return Kr( + n._agmInvoke( + Rr, + function (e) { + return e.returned.ResultMessage; + }, + { Branch: e } + ), + t, + r + ); + }), + (this.currentUser = function (e, t) { + return Kr(n._agmInvoke(Ar), e, t); + }), + (this.getFunctionalEntitlement = function (e, t, r) { + return Kr( + n._agmInvoke( + Or, + function (e) { + return e.returned.Entitlement; + }, + { Function: e } + ), + t, + r + ); + }), + (this.getFunctionalEntitlementBranch = function (e, t, r, i) { + return Kr( + n._agmInvoke( + Or, + function (e) { + return e.returned.Entitlement; + }, + { Function: e, Branch: t } + ), + r, + i + ); + }), + (this.canI = function (e, t, r) { + return Kr( + n._agmInvoke( + Dr, + function (e) { + return e.returned.Result; + }, + { Function: e } + ), + t, + r + ); + }), + (this.canIBranch = function (e, t, r, i) { + return Kr( + n._agmInvoke( + Dr, + function (e) { + return e.returned.Result; + }, + { Function: e, Branch: t } + ), + r, + i + ); + }), + (this.onBranchesChanged = function (e) { + return n._registry.add("branchesChanged", e); + }), + (this.onBranchChanged = function (e) { + return n._registry.add("branchChanged", e); + }), + (this.exit = function (e) { + return n._agmInvoke(Ir, null, e); + }), + (this.onShuttingDown = function (e) { + return ( + n.registerMethod(), + n._registry.add("onShuttingDown", e) + ); + }), + (this.restart = function (e) { + return n._agmInvoke(Er, null, e); + }), + (this._agmInvoke = function (e, t, r) { + return ( + (r = r || {}), + new Promise(function (i, o) { + var a = function (e) { + return o(e); + }; + n._agm + .invoke(e, r) + .then(function (e) { + (t || + (t = function (e) { + return e.returned; + }), + i(t(e))); + }) + .catch(a); + }) + ); + })); + } + return ( + m(e, [ + { + key: "registerMethod", + value: function () { + var e = this; + this._isMethodRegistered || + (this._agm.register( + Sr, + (function () { + var t = s( + a().mark(function t(n) { + var r, i; + return a().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.prev = 0), + (t.next = 3), + Promise.all( + e._registry.execute( + "onShuttingDown", + n + ) + ) + ); + case 3: + return ( + (r = t.sent), + (i = r.some( + function ( + e + ) { + return e.prevent; + } + )), + t.abrupt( + "return", + { + prevent: + i + } + ) + ); + case 8: + ((t.prev = 8), + (t.t0 = + t.catch( + 0 + ))); + case 10: + case "end": + return t.stop(); + } + }, + t, + null, + [[0, 8]] + ); + }) + ); + return function (e) { + return t.apply(this, arguments); + }; + })() + ), + (this._isMethodRegistered = !0)); + } + } + ]), + e + ); + })(); + function Xr(e, t) { + return new Promise(function (n, r) { + e.invoke(jr, { skipIcon: !0 }) + .then(function (e) { + var r, + i = e.returned, + o = + null !== (r = e.returned.configuration) && void 0 !== r + ? r + : {}; + i || n(o); + var a = i.applications; + (a || n(o), + qr(a).map(function (e) { + return t.handleAppAdded(e); + }), + n(o)); + }) + .catch(function (e) { + return r( + "Error getting application snapshot: ".concat(e.message) + ); + }); + }); + } + var Yr = "OnBranchChanged", + Zr = "OnBranchesModified", + ei = "OnApplicationAdded", + ti = "OnApplicationRemoved", + ni = "OnApplicationChanged", + ri = "OnApplicationReady", + ii = "OnApplicationStarted", + oi = "OnApplicationAgmServerReady", + ai = "OnApplicationUpdated", + si = "OnApplicationStopped", + ci = "OnApplicationStartFailed"; + function ui(e, t, n, r) { + var i, + o = !1, + a = function () { + var a, + s, + c = new Promise(function (e, t) { + ((a = e), (s = t)); + }); + return ( + e + .subscribe(Fr, { + arguments: { skipIcon: r }, + waitTimeoutMs: 1e4 + }) + .then(function (r) { + ((i = r).onData(function (r) { + var i, + s = r.data, + c = + null !== (i = s.configuration) && + void 0 !== i + ? i + : {}, + u = qr(s[ei]); + (r.data.isSnapshot + ? t.handleSnapshotAppsAdded(u) + : u.forEach(function (e) { + return t.handleAppAdded(e); + }), + qr(s[ni]).forEach(function (e) { + return t.handleAppUpdated(e); + }), + qr(s[ti]).forEach(function (e) { + return t.handleAppRemoved(e); + }), + qr(s[ri]).forEach(function (e) { + return t.handleAppReady(e); + })); + var d = qr(s[ii]); + if ( + (r.data.isSnapshot + ? t.handleSnapshotInstanceStarted(d) + : d.forEach(function (e) { + return t.handleInstanceStarted(e); + }), + qr(s[ci]).forEach(function (e) { + return t.handleInstanceStartFailed(e); + }), + qr(s[si]).forEach(function (e) { + return t.handleInstanceStopped(e); + }), + qr(s[ai]).forEach(function (e) { + return t.handleInstanceUpdated(e); + }), + qr(s[oi]).forEach(function (e) { + return t.handleInstanceAgmServerReady(e); + }), + qr(s[Yr]).forEach(function (e) { + return n.handleBranchModified(e); + }), + qr(s[Zr]).forEach(function (e) { + return n.handleBranchesModified(e); + }), + !o) + ) { + o = !0; + var l = u.some(function (t) { + return ( + t.Name === e.instance.application + ); + }), + p = d.some(function (t) { + return t.Id === e.instance.instance; + }); + if (l) + if (p) a(c); + else + var h = t.onInstanceStarted( + function (t) { + t.id === e.instance.instance && + (h(), a(c)); + } + ); + else a(c); + } + }), + i.onFailed(function (e) { + return s(e); + })); + }) + .catch(function (e) { + var t; + return s( + "Error subscribing for " + .concat(Fr, " stream. Err: ") + .concat( + null !== (t = e.message) && void 0 !== t + ? t + : JSON.stringify(e) + ) + ); + }), + c + ); + }; + return { + start: a, + stop: function () { + i && i.close(); + } + }; + } + var di = "T42.ACS.InMemoryStoreCommand", + li = (function () { + function e(t) { + (v(this, e), (this.interop = t)); + } + return ( + m(e, [ + { + key: "import", + value: function (e, t) { + if (!e || !Array.isArray(e)) + return Promise.reject( + "invalid apps argument - should be an array of application definitions" + ); + if (t && "replace" !== t && "merge" !== t) + return Promise.reject( + "invalid mode argument - should be 'replace' or 'merge'" + ); + var n = { + command: "import", + args: { + apps: e, + mode: (t = + null !== t && void 0 !== t ? t : "replace") + } + }; + return this.interop.invoke(di, n).then(function (e) { + return e.returned; + }); + } + }, + { + key: "export", + value: function () { + return this.interop + .invoke(di, { command: "export" }) + .then(function (e) { + return e.returned.apps; + }); + } + }, + { + key: "remove", + value: function (e) { + if (!e || "string" !== typeof e) + return Promise.reject( + "invalid app name, should be a string value" + ); + var t = { command: "remove", args: { apps: [e] } }; + return this.interop.invoke(di, t).then(function (e) { + return e.returned; + }); + } + }, + { + key: "clear", + value: function () { + var e = { command: "clear" }; + return this.interop.invoke(di, e).then(function (e) { + return e.returned; + }); + } + }, + { + key: "createAppDef", + value: function (e, t) { + return ( + t || (t = "https://google.com"), + { + name: e, + type: "window", + title: e, + details: { url: t } + } + ); + } + } + ]), + e + ); + })(), + pi = function (e) { + if (!e) throw Error("config not set"); + if (!e.agm) throw Error("config.agm is missing"); + var t = "startOnly", + n = "skipIcons", + r = "full", + i = e.mode || t; + if (i !== t && i !== n && i !== r) + throw new Error( + "Invalid mode for appManager lib - ".concat( + i, + " is not supported" + ) + ); + var o, + a = e.activities, + s = e.agm, + c = e.logger, + u = e.windows, + d = {}, + l = new Jr( + i, + s, + a, + u, + c.subLogger("applications"), + e.gdMajorVersion, + function () { + return d; + } + ), + p = new Qr(s); + if (i === t) o = Xr(s, l); + else { + var h = ui(s, l, p, i === n); + o = h.start(); + } + return { + ready: function () { + return o.then(function (e) { + d = e; + }); + }, + applications: l.applications, + application: l.application, + getConfigurations: l.getConfigurations, + onAppAdded: l.onAppAdded, + onAppRemoved: l.onAppRemoved, + onAppChanged: l.onAppChanged, + onAppAvailable: l.onAppAvailable, + onAppUnavailable: l.onAppUnavailable, + instances: l.instances, + get myInstance() { + return l.getMyInstance(); + }, + get myApplication() { + return l.getMyApplication(); + }, + onInstanceStarted: l.onInstanceStarted, + onInstanceStopped: l.onInstanceStopped, + onInstanceUpdated: l.onInstanceUpdated, + onInstanceStartFailed: l.onInstanceStartFailed, + getRegion: p.getRegion, + getBranches: p.getBranches, + getCurrentBranch: p.getCurrentBranch, + getFunctionalEntitlement: p.getFunctionalEntitlement, + getFunctionalEntitlementBranch: p.getFunctionalEntitlementBranch, + setCurrentBranch: p.setCurrentBranch, + setRegion: p.setRegion, + currentUser: p.currentUser, + canI: p.canI, + canIBranch: p.canIBranch, + onBranchesChanged: p.onBranchesChanged, + exit: p.exit, + restart: p.restart, + onShuttingDown: p.onShuttingDown, + inMemory: new li(s) + }; + }; + function hi(e, t) { + return (e((t = { exports: {} }), t.exports), t.exports); + } + var fi = 1; + function vi() { + return (fi = (9301 * fi + 49297) % 233280) / 233280; + } + function mi(e) { + fi = e; + } + var gi, + yi, + wi, + bi = { nextValue: vi, seed: mi }, + ki = "0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-"; + function xi() { + wi = !1; + } + function _i(e) { + if (e) { + if (e !== gi) { + if (e.length !== ki.length) + throw new Error( + "Custom alphabet for shortid must be " + + ki.length + + " unique characters. You submitted " + + e.length + + " characters: " + + e + ); + var t = e.split("").filter(function (e, t, n) { + return t !== n.lastIndexOf(e); + }); + if (t.length) + throw new Error( + "Custom alphabet for shortid must be " + + ki.length + + " unique characters. These characters were not unique: " + + t.join(", ") + ); + ((gi = e), xi()); + } + } else gi !== ki && ((gi = ki), xi()); + } + function Ci(e) { + return (_i(e), gi); + } + function Ii(e) { + (bi.seed(e), yi !== e && (xi(), (yi = e))); + } + function Si() { + gi || _i(ki); + for (var e, t = gi.split(""), n = [], r = bi.nextValue(); t.length > 0; ) + ((r = bi.nextValue()), + (e = Math.floor(r * t.length)), + n.push(t.splice(e, 1)[0])); + return n.join(""); + } + function Ei() { + return wi || (wi = Si()); + } + function Wi(e) { + return Ei()[e]; + } + var Ti = { characters: Ci, seed: Ii, lookup: Wi, shuffled: Ei }, + Ai = "object" === typeof window && (window.crypto || window.msCrypto); + function Pi() { + if (!Ai || !Ai.getRandomValues) return 48 & Math.floor(256 * Math.random()); + var e = new Uint8Array(1); + return (Ai.getRandomValues(e), 48 & e[0]); + } + var Mi = Pi; + function Ri(e, t) { + for (var n, r = 0, i = ""; !n; ) + ((i += e(((t >> (4 * r)) & 15) | Mi())), + (n = t < Math.pow(16, r + 1)), + r++); + return i; + } + var Oi = Ri; + function Di(e) { + var t = Ti.shuffled(); + return { + version: 15 & t.indexOf(e.substr(0, 1)), + worker: 15 & t.indexOf(e.substr(1, 1)) + }; + } + var Li, + Bi, + Ni = Di, + Fi = 1459707606518, + ji = 6; + function Hi(e) { + var t = "", + n = Math.floor(0.001 * (Date.now() - Fi)); + return ( + n === Bi ? Li++ : ((Li = 0), (Bi = n)), + (t += Oi(Ti.lookup, ji)), + (t += Oi(Ti.lookup, e)), + Li > 0 && (t += Oi(Ti.lookup, Li)), + (t += Oi(Ti.lookup, n)) + ); + } + var zi = Hi; + function qi(e) { + if (!e || "string" !== typeof e || e.length < 6) return !1; + for (var t = Ti.characters(), n = e.length, r = 0; r < n; r++) + if (-1 === t.indexOf(e[r])) return !1; + return !0; + } + var Gi = qi, + Ui = hi(function (e) { + var t = 0; + function n(t) { + return (Ti.seed(t), e.exports); + } + function r(n) { + return ((t = n), e.exports); + } + function i(e) { + return (void 0 !== e && Ti.characters(e), Ti.shuffled()); + } + function o() { + return zi(t); + } + ((e.exports = o), + (e.exports.generate = o), + (e.exports.seed = n), + (e.exports.worker = r), + (e.exports.characters = i), + (e.exports.decode = Ni), + (e.exports.isValid = Gi)); + }); + (Ui.generate, Ui.seed, Ui.worker, Ui.characters, Ui.decode, Ui.isValid); + var Vi = Ui, + $i = "T42.JumpList.Action", + Ji = (function () { + function e() { + (v(this, e), + (this._groupActionCallbacks = new Map()), + (this._registered = !1)); + } + return ( + m(e, [ + { + key: "init", + value: function (e, t, n) { + ((this._executor = e), + (this._agm = t), + (this._logger = n), + this.registerCallbackMethod()); + } + }, + { + key: "setEnabled", + value: function (e, t) { + var n = { enabled: t }; + return this._executor.updateJumpList(e, n); + } + }, + { + key: "createCategory", + value: function (e, t, n) { + this.validateActions(t, n); + var r = { + category: { + title: t, + operation: "create", + actions: this.toUpdateActions(e, "create", t, n) + } + }; + return this._executor.updateJumpList(e, r); + } + }, + { + key: "removeCategory", + value: function (e, t) { + var n = { + category: { + title: t, + operation: "remove", + actions: [] + } + }; + return ( + this.manageActionCallback( + e, + n.category.operation, + t + ), + this._executor.updateJumpList(e, n) + ); + } + }, + { + key: "createActions", + value: function (e, t, n) { + this.validateActions(t, n); + var r = { + category: { + title: t, + operation: "update", + actions: this.toUpdateActions(e, "create", t, n) + } + }; + return this._executor.updateJumpList(e, r); + } + }, + { + key: "removeActions", + value: function (e, t, n) { + var r = { + category: { + title: t, + operation: "update", + actions: this.toUpdateActions(e, "remove", t, n) + } + }; + return this._executor.updateJumpList(e, r); + } + }, + { + key: "getActions", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o, + s = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = []), + (e.next = 3), + this.getJumpListSettings( + t + ) + ); + case 3: + return ( + (i = e.sent), + (o = i.categories.find( + function (e) { + return ( + e.title === + n + ); + } + )) && + o.actions.forEach( + function (e) { + var t = + s.getActionCallback( + e.callbackId + ); + (t && + (e.callback = + t.callback), + r.push({ + icon: e.icon, + callback: + e.callback, + singleInstanceTitle: + e.singleInstanceTitle, + multiInstanceTitle: + e.multiInstanceTitle + })); + } + ), + e.abrupt( + "return", + Promise.resolve(r) + ) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getJumpListSettings", + value: function (e) { + return this._executor.getJumpList(e); + } + }, + { + key: "toUpdateActions", + value: function (e, t, n, r) { + var i = this; + return r.map(function (r) { + var o = { + icon: r.icon, + callback: r.callback, + callbackId: Vi.generate(), + singleInstanceTitle: r.singleInstanceTitle, + multiInstanceTitle: r.multiInstanceTitle, + operation: t + }; + return (i.manageActionCallback(e, t, n, o), o); + }); + } + }, + { + key: "manageActionCallback", + value: function (e, t, n, r) { + var i, + o = "".concat(n, "-").concat(e); + if ("create" === t) + (this._groupActionCallbacks.has(o) || + this._groupActionCallbacks.set(o, []), + this._groupActionCallbacks.get(o).push({ + callbackId: r.callbackId, + callback: r.callback + })); + else if ("remove" === t) + if (r) { + var a = + null !== + (i = + this._groupActionCallbacks.get( + o + )) && void 0 !== i + ? i + : []; + 0 === + (a = a.filter(function (e) { + return e.callbackId !== r.callbackId; + })).length + ? this._groupActionCallbacks.delete(o) + : this._groupActionCallbacks.set(o, a); + } else this._groupActionCallbacks.delete(o); + } + }, + { + key: "registerCallbackMethod", + value: function () { + var e = this; + if (!this._registered) { + this._registered = !0; + try { + this._agm.register($i, function (t, n) { + var r = e.getActionCallback(t.callbackId); + if (r) + try { + r.callback(); + } catch (i) { + e._logger.error( + "Unable to execute user callback for jump list action!", + i + ); + } + }); + } catch (t) { + return ( + this._logger.error( + "Unable to register method ".concat( + $i, + " for invoking jump list action callbacks!" + ), + t + ), + Promise.reject(t) + ); + } + } + } + }, + { + key: "getActionCallback", + value: function (e) { + var t; + return ( + o(this._groupActionCallbacks.values()).forEach( + function (n) { + var r = n.find(function (t) { + return t.callbackId === e; + }); + r && (t = r); + } + ), + t + ); + } + }, + { + key: "validateActions", + value: function (e, t) { + if (!(t && t.length > 0)) + throw new Error( + "Category '".concat( + e, + "' doesn't contain any actions!" + ) + ); + t.forEach(function (t) { + if (!t.singleInstanceTitle) + throw new Error( + "Category '".concat( + e, + "' contains an action with undefined singleInstanceTitle!" + ) + ); + if (!t.multiInstanceTitle) + throw new Error( + "Category '".concat( + e, + "' contains an action with undefined multiInstanceTitle!" + ) + ); + if (!t.callback) + throw new Error( + "Category '".concat( + e, + "' contains an action with undefined callback function!" + ) + ); + }); + } + } + ]), + e + ); + })(), + Ki = new Ji(), + Qi = new ((function () { + function e() { + (v(this, e), + (this.waitForTimeoutInMilliseconds = 6e4), + (this._windows = {}), + (this._pendingWindows = {}), + (this._pendingWindowsStates = {}), + (this._registry = zr())); + } + return ( + m(e, [ + { + key: "init", + value: function (e) { + this._logger = e; + } + }, + { + key: "get", + value: function (e) { + return this._windows[e] || this._pendingWindows[e]; + } + }, + { + key: "getIfReady", + value: function (e) { + return this._windows[e]; + } + }, + { + key: "list", + get: function () { + return this._windows; + } + }, + { + key: "add", + value: function (e) { + if (this._pendingWindows[e.API.id]) + this._logger.error( + "trying to add window with id ".concat( + e.API.id, + " from windowStore, which already exists" + ) + ); + else { + var t = "remote" === e.API.windowType; + ((this._pendingWindows[e.API.id] = e), + (this._pendingWindowsStates[e.API.id] = { + ready: !1, + urlChanged: t + }), + this._registry.execute("on-added", e)); + } + } + }, + { + key: "remove", + value: function (e) { + (delete this._windows[e.API.id], + delete this._pendingWindows[e.API.id], + delete this._pendingWindowsStates[e.API.id], + this._registry.execute("on-removed", e)); + } + }, + { + key: "setReadyState", + value: function (e) { + var t = this._pendingWindowsStates[e]; + "undefined" !== typeof t && + ((t.ready = !0), + t.urlChanged && this.markReadyToShow(e)); + } + }, + { + key: "setUrlChangedState", + value: function (e) { + var t = this._pendingWindowsStates[e]; + "undefined" !== typeof t && + ((t.urlChanged = !0), + t.ready && this.markReadyToShow(e)); + } + }, + { + key: "setCompositionChangedState", + value: function (e, t) { + "undefined" !== typeof this._pendingWindowsStates[e] && + !1 === t && + this.markReadyToShow(e); + } + }, + { + key: "waitFor", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i, + o = setTimeout(function () { + (i(), r("waitFor timed out.")); + }, t.waitForTimeoutInMilliseconds), + a = t._windows[e]; + a + ? (clearTimeout(o), n(a)) + : (i = t.onReadyWindow(function (t) { + t.API.id === e && + (clearTimeout(o), i(), n(t)); + })); + }); + } + }, + { + key: "onReadyWindow", + value: function (e) { + return this._registry.add("on-ready", e); + } + }, + { + key: "onAdded", + value: function (e) { + return this._registry.add("on-added", e); + } + }, + { + key: "onRemoved", + value: function (e) { + return this._registry.add("on-removed", e); + } + }, + { + key: "markReadyToShow", + value: function (e) { + (this._pendingWindows[e] && + ((this._windows[e] = this._pendingWindows[e]), + delete this._pendingWindows[e], + delete this._pendingWindowsStates[e]), + this._registry.execute( + "on-ready", + this._windows[e] + )); + } + } + ]), + e + ); + })())(), + Xi = (function () { + function e() { + v(this, e); + } + return ( + m(e, null, [ + { + key: "getGDMajorVersion", + value: function () { + if ("undefined" === typeof window) return -1; + if (!window.glueDesktop) return -1; + if (!window.glueDesktop.version) return -1; + var e = Number(window.glueDesktop.version.substr(0, 1)); + return isNaN(e) ? -1 : e; + } + }, + { + key: "callbackifyPromise", + value: function (e, t, n) { + var r = function (e) { + var t = e; + if ( + (e instanceof Error && (t = e.message), + "function" !== typeof n) + ) + return Promise.reject(t); + n(t); + }; + try { + return e() + .then(function (e) { + return ("function" === typeof t && t(e), e); + }) + .catch(function (e) { + return r(e); + }); + } catch (i) { + return r(i); + } + } + }, + { + key: "getMonitor", + value: function (e, t) { + var n = this; + return t + .map(function (t) { + var r = t.left, + i = t.top, + o = t.workingAreaWidth, + a = t.workingAreaHeight; + return { + monitor: t, + totalOverlap: n.calculateTotalOverlap( + { + left: r, + top: i, + width: o, + height: a + }, + e + ) + }; + }) + .sort(function (e, t) { + return t.totalOverlap - e.totalOverlap; + })[0].monitor; + } + }, + { + key: "getDisplayCenterOfScreen", + value: function (e, t, n) { + var r = e.width / t.scaleFactor, + i = e.height / t.scaleFactor, + o = t.workArea.left / n.scaleFactor, + a = t.workArea.top / n.scaleFactor, + s = t.workArea.width / t.scaleFactor, + c = t.workArea.height / t.scaleFactor, + u = Math.max((s - r) / 2, 0), + d = Math.max((c - i) / 2, 0), + l = Math.floor(o + u), + p = Math.floor(a + d); + return { + left: l * n.scaleFactor, + top: p * n.scaleFactor, + width: e.width, + height: e.height + }; + } + }, + { + key: "isNode", + value: function () { + if ("undefined" !== typeof e._isNode) return e._isNode; + if ("undefined" !== typeof window) + return ((e._isNode = !1), !1); + try { + e._isNode = + "[object process]" === + Object.prototype.toString.call(n.g.process); + } catch (t) { + e._isNode = !1; + } + return e._isNode; + } + }, + { + key: "calculateTotalOverlap", + value: function (e, t) { + var n = e.left, + r = e.top, + i = n + e.width, + o = r + e.height, + a = t.left, + s = t.top, + c = a + t.width, + u = s + t.height; + return ( + Math.max(0, Math.min(i, c) - Math.max(n, a)) * + Math.max(0, Math.min(o, u) - Math.max(r, s)) + ); + } + } + ]), + e + ); + })(), + Yi = (function () { + function e(t, n) { + (v(this, e), (this.windowId = t), (this._categoryTitle = n.title)); + } + return ( + m(e, [ + { + key: "list", + value: function () { + return Ki.getActions( + this.windowId, + this._categoryTitle + ); + } + }, + { + key: "create", + value: function (e) { + return Ki.createActions( + this.windowId, + this._categoryTitle, + e + ); + } + }, + { + key: "remove", + value: function (e) { + return Ki.removeActions( + this.windowId, + this._categoryTitle, + e + ); + } + } + ]), + e + ); + })(), + Zi = (function () { + function e(t) { + (v(this, e), (this.windowId = t)); + } + return ( + m(e, [ + { + key: "list", + value: function () { + return this.getCategories(); + } + }, + { + key: "create", + value: function (e, t) { + return Ki.createCategory(this.windowId, e, t); + } + }, + { + key: "remove", + value: function (e) { + return Ki.removeCategory(this.windowId, e); + } + }, + { + key: "find", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getCategories() + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.find( + function (e) { + return ( + e.title === + t + ); + } + ) + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getCategories", + value: (function () { + var e = s( + a().mark(function e() { + var t, + n = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = []), + (e.next = 3), + Ki.getJumpListSettings( + this.windowId + ) + ); + case 3: + return ( + e.sent.categories.forEach( + function (e) { + t.push({ + title: e.title, + actions: + new Yi( + n.windowId, + e + ) + }); + } + ), + e.abrupt("return", t) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + } + ]), + e + ); + })(), + eo = (function () { + function e(t) { + (v(this, e), (this.windowId = t), (this._categories = new Zi(t))); + } + return ( + m(e, [ + { + key: "categories", + get: function () { + return this._categories; + } + }, + { + key: "isEnabled", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Ki.getJumpListSettings( + this.windowId + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.enabled + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setEnabled", + value: function (e) { + return Ki.setEnabled(this.windowId, e); + } + } + ]), + e + ); + })(), + to = function (e, t, n, r, i, o, c, u) { + var d, + l, + p, + h, + f, + v = zr(), + m = function () { + var e = c(); + if (!e) + throw new Error( + "To use this method you need to enable channels API - set the channels property to true when initializing the Glue42 library" + ); + return e; + }, + g = e, + y = t.name, + w = t.mode, + b = t.bounds, + k = t.url, + x = t.title, + _ = null !== (d = t.context) && void 0 !== d ? d : {}, + C = t.frameColor, + I = t.focus, + S = null !== (l = t.neighbours) && void 0 !== l ? l : {}, + E = t.groupId, + W = t.isGroupHeaderVisible, + T = t.isTabHeaderVisible, + A = null !== (p = t.isTabSelected) && void 0 !== p && p, + P = t.settings, + M = t.applicationName, + R = t.isVisible, + O = t.isSticky, + D = t.isCollapsed, + L = t.state, + B = t.tabGroupId, + N = t.tabIndex, + F = t.frameId, + j = t.isLocked, + H = null !== (h = t.frameButtons) && void 0 !== h ? h : [], + z = t.zoomFactor, + q = t.placementSettings, + G = new eo(e); + function U(t, r) { + return "undefined" === typeof t || "function" === typeof t + ? Xi.callbackifyPromise( + function () { + if (!e) + throw new Error("The window is already closed."); + return n.close(yn); + }, + t, + r + ) + : n.close(yn, t); + } + function V(e, t, r) { + if ("function" === typeof t) + return Xi.callbackifyPromise( + function () { + if (bn(e)) + throw new Error( + "The new URL must be a non-empty string." + ); + return n.navigate(yn, e); + }, + t, + r + ); + if (bn(e)) + throw new Error("The new URL must be a non-empty string."); + return n.navigate(yn, e, t); + } + function $(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ( + !e || + 0 === Object.keys(e).length || + Object.keys(e).every(function (e) { + return !e; + }) + ) + throw new Error( + "Invalid style arguments: " + JSON.stringify(e) + ); + if (e && void 0 !== e.focus) { + if ("boolean" !== typeof e.focus) + throw new Error( + "Focus must be a boolean value. Currently, only `focus: true` is supported." + ); + !1 === e.focus && + console.warn("`focus: false` is not supported!"); + } + if ( + e && + void 0 !== e.hidden && + "boolean" !== typeof e.hidden + ) + throw new Error( + "The `hidden` property must hold a boolean value." + ); + for ( + var t = 0, + r = [ + "minHeight", + "maxHeight", + "minWidth", + "maxWidth" + ]; + t < r.length; + t++ + ) { + var i = r[t], + o = e, + a = o[i]; + if (i in e) { + if (wn(a)) { + delete o[i]; + continue; + } + if (!fn(o[i])) + throw new Error( + '"'.concat(i, '" must be a number') + ); + } + } + return n.setStyle(yn, e); + }, + t, + r + ); + } + function J(e, t, r) { + return Xi.callbackifyPromise( + function () { + return n.resetButtons(yn, e); + }, + t, + r + ); + } + function K() { + return n.getButtons(yn); + } + function Q(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ("string" === typeof e) { + if ("always" !== e) + throw new Error( + "`onTop` must hold a `always` value." + ); + } else if ("boolean" !== typeof e) + throw new Error( + "`onTop` must hold a boolean or `always` value." + ); + return n.setOnTop(yn, e); + }, + t, + r + ); + } + function X(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ( + !e || + Object.keys(e).every(function (e) { + return void 0 === e; + }) + ) + throw new Error( + "The properties of `constraints` cannot be null or undefined." + ); + return n.setSizeConstraints(yn, e); + }, + t, + r + ); + } + function Y() { + return n.getSizeConstraints(yn); + } + function Z(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (wn(e)) + throw new Error( + "`newTitle` must not be null or undefined." + ); + return e === x ? Promise.resolve(yn) : n.setTitle(yn, e); + }, + t, + r + ); + } + function ee(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ("boolean" !== typeof e) + throw new Error( + "`isSticky` must hold a boolean value." + ); + return n.setSticky(yn, e); + }, + t, + r + ); + } + function te(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (wn(e)) + throw new Error( + "The properties of `bounds` cannot be null or undefined." + ); + return n.moveResize(yn, e); + }, + t, + r + ); + } + function ne(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ("undefined" === typeof e || 0 === Object.keys(e).length) + throw new Error("Button info is not available."); + if (bn(e.buttonId)) + throw new Error( + "`buttonId` must not be null or undefined." + ); + if (bn(e.imageBase64)) + throw new Error( + "`imageBase64` must not be null or undefined." + ); + return n.addFrameButton(yn, e); + }, + t, + r + ); + } + function re(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (bn(e)) + throw new Error( + "`buttonId` must not be null or undefined." + ); + return n.removeFrameButton(yn, e); + }, + t, + r + ); + } + function ie(e, t) { + return Xi.callbackifyPromise( + function () { + return I ? Promise.resolve(yn) : n.activate(yn); + }, + e, + t + ); + } + function oe(e, t) { + return Xi.callbackifyPromise( + function () { + return I ? Promise.resolve(yn) : n.focus(yn); + }, + e, + t + ); + } + function ae(e, t) { + return Xi.callbackifyPromise( + function () { + return n.maximizeRestore(yn); + }, + e, + t + ); + } + function se(e, t) { + return Xi.callbackifyPromise( + function () { + return "maximized" === L + ? Promise.resolve(yn) + : n.maximize(yn); + }, + e, + t + ); + } + function ce(e, t) { + return Xi.callbackifyPromise( + function () { + return "normal" === L ? Promise.resolve(yn) : n.restore(yn); + }, + e, + t + ); + } + function ue(e, t) { + return Xi.callbackifyPromise( + function () { + return "minimized" === L + ? Promise.resolve(yn) + : n.minimize(yn); + }, + e, + t + ); + } + function de(e, t) { + return Xi.callbackifyPromise( + function () { + return D ? Promise.resolve(yn) : n.collapse(yn); + }, + e, + t + ); + } + function le(e, t) { + return Xi.callbackifyPromise( + function () { + return D ? n.expand(yn) : Promise.resolve(yn); + }, + e, + t + ); + } + function pe(e, t) { + return Xi.callbackifyPromise( + function () { + return n.toggleCollapse(yn); + }, + e, + t + ); + } + function he(e, t, r, i) { + return Xi.callbackifyPromise( + function () { + if (wn(e)) + throw new Error( + "A target window is not specified - ".concat( + "string" === typeof e ? e : JSON.stringify(e) + ) + ); + if ("string" === typeof e) { + var r = Qi.get(e); + if (!r) + throw new Error( + 'Invalid "target" parameter or no such window. Invoked with: '.concat( + e + ) + ); + e = r.API; + } + return ( + "string" === typeof t && + (t = { direction: t, autoAlign: !0 }), + n.snap(yn, e, t) + ); + }, + r, + i + ); + } + function fe(e, t, r, i) { + return Xi.callbackifyPromise( + function () { + var r, + i, + o = + 'Invalid "tab" parameter - must be an object with an "id" property or a string. Invoked for source window with ID:'; + if (wn(e)) { + var a = "" + .concat(o, " ") + .concat( + "string" === typeof e ? e : JSON.stringify(e) + ); + throw new Error(a); + } + if ("string" === typeof e) { + if ( + wn( + (i = + null === (r = Qi.get(e)) || void 0 === r + ? void 0 + : r.API) + ) + ) { + var s = "" + .concat(o, " ") + .concat( + "string" === typeof i + ? i + : JSON.stringify(i) + ); + throw new Error(s); + } + } else { + if (wn(e.id)) throw new Error(o); + i = e; + } + var c = {}; + return ( + wn(t) || + ("number" === typeof t + ? (c.index = t) + : ((c.selected = t.selected), + (c.index = t.index))), + n.attachTab(yn, i, c) + ); + }, + r, + i + ); + } + function ve() { + var e = + arguments.length > 0 && void 0 !== arguments[0] + ? arguments[0] + : {}, + t = arguments.length > 1 ? arguments[1] : void 0, + r = arguments.length > 2 ? arguments[2] : void 0; + return Xi.callbackifyPromise( + function () { + var t = {}; + function r(e) { + return void 0 !== e.relativeTo; + } + return ( + r(e) + ? ("string" === typeof e.relativeTo + ? (t.relativeTo = e.relativeTo) + : wn(e.relativeTo.id) || + (t.relativeTo = e.relativeTo.id), + wn(e.relativeDirection) || + (t.relativeDirection = e.relativeDirection), + wn(e.width) || (t.width = e.width), + wn(e.height) || (t.height = e.height)) + : wn(e.bounds) || (t.bounds = e.bounds), + wn(e.hideTabHeader) || + (t.hideTabHeader = e.hideTabHeader), + n.detachTab(yn, t) + ); + }, + t, + r + ); + } + function me(e, t, r) { + return Xi.callbackifyPromise( + function () { + return n.setVisible(yn, e); + }, + t, + r + ); + } + function ge(e) { + return ye.apply(this, arguments); + } + function ye() { + return (ye = s( + a().mark(function e(t) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + t && we(t), + e.abrupt("return", n.center(yn, t)) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function we(e) { + if ("object" !== typeof e) + throw Error("display argument must be a valid display object"); + if (!e.workArea || !e.scaleFactor) + throw Error("display argument is not a valid display object"); + } + function be(e) { + return n.showLoader(yn, e); + } + function ke() { + return n.hideLoader(yn); + } + function xe(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (wn(e)) + throw new Error( + '"context" must not be null or undefined.' + ); + return n.updateContext(yn, e, !1); + }, + t, + r + ); + } + function _e(e, t) { + return Xi.callbackifyPromise( + function () { + return n.lock(yn); + }, + e, + t + ); + } + function Ce(e, t) { + return Xi.callbackifyPromise( + function () { + return n.unlock(yn); + }, + e, + t + ); + } + function Ie(e, t) { + return Xi.callbackifyPromise( + function () { + return n.getIcon(yn); + }, + e, + t + ); + } + function Se(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (bn(e)) + throw new Error( + '"base64Image" must be a non-empty string.' + ); + return n.setIcon(yn, e); + }, + t, + r + ); + } + function Ee(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (bn(e)) + throw new Error( + '"frameColor" must be a non-empty string' + ); + return n.setFrameColor(yn, e); + }, + t, + r + ); + } + function We(e, t, r) { + return Xi.callbackifyPromise( + function () { + if ("boolean" !== typeof e) + throw new Error( + '"toBeTabHeaderVisible" must hold a boolean value.' + ); + return n.setTabHeaderVisible(yn, e); + }, + t, + r + ); + } + function Te(e) { + return Ae.apply(this, arguments); + } + function Ae() { + return (Ae = s( + a().mark(function e(t) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!bn(t)) { + e.next = 2; + break; + } + throw new Error( + '"'.concat( + t, + '" must not be null or undefined' + ) + ); + case 2: + return e.abrupt( + "return", + n.setTabTooltip(yn, t) + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Pe() { + return Me.apply(this, arguments); + } + function Me() { + return (Me = s( + a().mark(function e() { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + n.getTabTooltip(yn) + ); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Re(e) { + return n.showPopup(yn, e); + } + function Oe(e) { + return n.createFlydown(yn.id, e); + } + function De(e) { + return n.setModalState(yn.id, e || !1); + } + function Le(e, t) { + return Xi.callbackifyPromise( + function () { + return n.zoomIn(yn); + }, + e, + t + ); + } + function Be(e, t) { + return Xi.callbackifyPromise( + function () { + return n.zoomOut(yn); + }, + e, + t + ); + } + function Ne(e, t, r) { + return Xi.callbackifyPromise( + function () { + if (isNaN(e)) throw new Error("zoomFactor is not a number"); + return n.setZoomFactor(yn, e); + }, + t, + r + ); + } + function Fe() { + return n.showDevTools(yn); + } + function je(e) { + return n.capture(yn, e); + } + function He(e, t) { + var r = { shouldFlash: !0, mode: "auto" }; + return ( + "boolean" === typeof e && (r.shouldFlash = e), + "undefined" !== typeof t && (r.mode = t), + n.flash(yn, r) + ); + } + function ze(e) { + var t = { shouldFlash: !0 }; + return ( + "boolean" === typeof e && (t.shouldFlash = e), + n.flashTab(yn, t) + ); + } + function qe(e) { + return n.print(yn, e); + } + function Ge(e) { + return n.printToPDF(yn, e); + } + function Ue(t) { + return new Promise(function (r, i) { + var o = bt(function (t, n, i) { + e === t.id && (o(), r(yn)); + }); + n.ungroup(yn, t).catch(function (e) { + (o(), i(e)); + }); + }); + } + function Ve(e) { + return n.place(yn, e); + } + function $e(e) { + return n.refresh(yn, e); + } + function Je(e, t) { + return n.download(yn, e, t); + } + function Ke(e) { + return n.configureWindow(yn, e); + } + function Qe() { + return n.getWindowConfiguration(yn); + } + function Xe(e) { + if (!xn(e)) throw new Error("callback should be a function"); + return (e(yn.title, yn), Wt("onTitleChanged", e)); + } + function Ye(t) { + if (!xn(t)) throw new Error("callback should be a function"); + return (void 0 === e && t(yn), v.add("onClose", t)); + } + function Ze(e) { + return Wt("onUrlChanged", e); + } + function et(e) { + return Wt("onFrameButtonAdded", e); + } + function tt(e) { + return Wt("onFrameButtonRemoved", e); + } + function nt(e) { + return Wt("onFrameButtonClicked", e); + } + function rt(e) { + if (!xn(e)) throw new Error("callback should be a function"); + return (D && e(yn), v.add("collapsed", e)); + } + function it(e) { + if (!xn(e)) throw new Error("callback should be a function"); + return (D || e(yn), v.add("expanded", e)); + } + function ot(e) { + return "maximized" === L + ? Wt("maximized", e, [yn]) + : Wt("maximized", e); + } + function at(e) { + return "minimized" === L + ? Wt("minimized", e, [yn]) + : Wt("minimized", e); + } + function st(e) { + return "normal" === L ? Wt("normal", e, [yn]) : Wt("normal", e); + } + function ct(e) { + return Wt("attached", e); + } + function ut(e) { + return Wt("detached", e); + } + function dt(e) { + return Wt("visibility-changed", e); + } + function lt(e) { + return Wt("context-updated", e); + } + function pt(e) { + return Wt("lock-changed", e); + } + function ht(e) { + return Wt("bounds-changed", e); + } + function ft(e) { + return Wt("focus-changed", e); + } + function vt(e) { + return Wt("sticky-changed", e); + } + function mt(e) { + return Wt("frame-color-changed", e); + } + function gt(e) { + return Wt("tab-header-visibility-changed", e); + } + function yt(e) { + return Wt("window-attached", e); + } + function wt(e) { + return Wt("window-detached", e); + } + function bt(e) { + return Wt("group-changed", e); + } + function kt(e) { + return Wt("tab-selection-changed", e); + } + function xt(e) { + if (!xn(e)) throw new Error("callback must be a function"); + var t = function (t, n, r) { + var i = e(r); + (null === i || void 0 === i ? void 0 : i.then) + ? i.then(t).catch(n) + : t(); + }; + return n.onClosing(t, yn); + } + function _t(e) { + if (!xn(e)) throw new Error("callback must be a function"); + var t = function (t, n, r) { + var i = e(r); + (null === i || void 0 === i ? void 0 : i.then) + ? i.then(t).catch(n) + : t(); + }; + return n.onRefreshing(t, yn); + } + function Ct(e) { + if (!xn(e)) throw new Error("callback must be a function"); + var t = function (t, n, r, i) { + var o = e(i); + (null === o || void 0 === o ? void 0 : o.then) + ? o.then(t).catch(n) + : t(); + }; + return n.onNavigating(t, yn); + } + function It(e) { + return Wt("zoom-factor-changed", e); + } + function St(e) { + return Wt("placementSettingsChanged", e); + } + function Et(e) { + return Wt("neighbours-changed", e); + } + function Wt(e, t, n) { + if (!xn(t)) throw new Error("callback must be a function"); + return v.add(e, t, n); + } + function Tt() { + return n.goBack(yn); + } + function At() { + return n.goForward(yn); + } + function Pt(e) { + return n.startDrag(yn, e); + } + function Mt(e) { + if ( + (null === e || void 0 === e ? void 0 : e.timerDuration) && + isNaN(null === e || void 0 === e ? void 0 : e.timerDuration) + ) + throw new Error("timerDuration must be a number"); + if ( + (null === e || void 0 === e ? void 0 : e.showTimer) && + "boolean" !== + typeof (null === e || void 0 === e ? void 0 : e.showTimer) + ) + throw new Error("showTimer must be a boolean"); + return n.showDialog(yn, e); + } + function Rt(e) { + ((k = e.url), + (x = e.title), + (_ = e.context || {}), + (b = e.bounds), + (C = e.frameColor), + (I = e.focus), + (S = e.neighbours || {}), + (E = e.groupId), + (W = e.isGroupHeaderVisible), + (T = e.isTabHeaderVisible), + (A = e.isTabSelected), + (P = e.settings), + (R = e.isVisible), + (O = e.isSticky), + (D = e.isCollapsed), + (L = e.state), + (B = e.tabGroupId), + (F = e.frameId), + (j = e.isLocked), + (z = e.zoomFactor), + (q = e.placementSettings)); + } + function Ot(e) { + ((x = e), + n.finished.finally(function () { + v.execute("onTitleChanged", e, yn); + })); + } + function Dt(e) { + ((k = e), v.execute("onUrlChanged", e, yn)); + } + function Lt(e) { + e !== R && ((R = e), v.execute("visibility-changed", yn)); + } + function Bt(e) { + ((P = e), v.execute("settings-changed", yn)); + } + function Nt(e) { + ((_ = e), v.execute("context-updated", _, yn)); + } + function Ft() { + void 0 !== e && (v.execute("onClose", yn), (e = void 0)); + } + function jt(e) { + var t = ["buttonId", "imageBase64", "order", "tooltip"].reduce( + function (t, n) { + return ((t[n] = e[n]), t); + }, + {} + ); + (-1 === + H.map(function (e) { + return e.buttonId; + }).indexOf(e.buttonId) && H.push(t), + v.execute("onFrameButtonAdded", t, yn)); + } + function Ht(e) { + var t; + ((H = H.reduce(function (n, r) { + return (r.buttonId === e ? (t = r) : n.push(r), n); + }, [])), + void 0 !== t && v.execute("onFrameButtonRemoved", t, yn)); + } + function zt(e) { + var t = H.filter(function (t) { + return t.buttonId === e.buttonId; + }); + t.length > 0 && v.execute("onFrameButtonClicked", t[0], yn); + } + function qt(e) { + return Gt.apply(this, arguments); + } + function Gt() { + return (Gt = s( + a().mark(function e(t) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + "collapsed" === t + ? (D = !0) + : "expanded" === t + ? (D = !1) + : (L = t), + (e.next = 3), + n.finished + ); + case 3: + v.execute(t, yn); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Ut(e) { + ((j = e), v.execute("lock-changed", yn)); + } + function Vt(e) { + (b.top === e.top && + b.left === e.left && + b.width === e.width && + b.height === e.height) || + ((b = e), v.execute("bounds-changed", yn)); + } + function $t(e) { + ((I = e), v.execute("focus-changed", yn)); + } + function Jt(e) { + ((O = e), v.execute("sticky-changed", e, yn)); + } + function Kt(e) { + ((C = e), v.execute("frame-color-changed", yn)); + } + function Qt(e, t, n) { + ((B = e), (F = t), (T = n), v.execute("frame-attached", yn)); + } + function Xt(e) { + ((S = e.neighbors || {}), + (N = e.index), + v.execute("neighbours-changed", S, yn)); + } + function Yt(e) { + W = e; + } + function Zt(e) { + T !== e && + ((T = e), v.execute("tab-header-visibility-changed", yn)); + } + function en(e, t) { + return tn.apply(this, arguments); + } + function tn() { + return (tn = s( + a().mark(function t(r, i) { + var o, s; + return a().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + r === e + ? ((A = !0), (o = yn)) + : ((A = !1), + (o = Qi.get(r) + ? Qi.get(r).API + : void 0)), + (s = Qi.get(i) + ? Qi.get(i).API + : void 0), + (t.next = 4), + n.finished + ); + case 4: + v.execute( + "tab-selection-changed", + o, + s, + yn + ); + case 5: + case "end": + return t.stop(); + } + }, t); + }) + )).apply(this, arguments); + } + function nn(e, t, n, r, i) { + return rn.apply(this, arguments); + } + function rn() { + return (rn = s( + a().mark(function e(t, r, i, o, s) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (B = t), + (T = i), + (F = r), + "undefined" !== typeof o && (j = o), + (e.next = 6), + n.finished + ); + case 6: + (s.forEach(function (e) { + e.Events.handleWindowAttached(yn); + }), + v.execute("attached", yn)); + case 8: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function on(e) { + v.execute("window-attached", e); + } + function an(e, t) { + return sn.apply(this, arguments); + } + function sn() { + return (sn = s( + a().mark(function e(t, r) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (B = void 0), + (A = !1), + "undefined" !== typeof t && (j = t), + (e.next = 5), + n.finished + ); + case 5: + (r.forEach(function (e) { + e.Events.handleWindowDetached(yn); + }), + v.execute("detached", yn)); + case 7: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function cn(e) { + v.execute("window-detached", e); + } + function un(e) { + ((z = e), v.execute("zoom-factor-changed", yn)); + } + function dn(e) { + var t, + n = e; + if (n.display) { + var r = o(); + if (r) { + var i = n.display - 1; + t = new Promise(function (e, t) { + r.all() + .then(function (t) { + var n = t.find(function (e) { + return e.index === i; + }); + e(n); + }) + .catch(t); + }); + } else t = Promise.resolve(void 0); + } else t = Promise.resolve(void 0); + t.then(function (e) { + ((n.display = e), + (q = n), + v.execute("placementSettingsChanged", yn)); + }); + } + function ln(e, t) { + ((f = e), + (E = null === e || void 0 === e ? void 0 : e.id), + wn(e) || wn(t) || v.execute("group-changed", yn, e, t)); + } + function pn() { + var e = Qi.list; + return "tab" !== w.toLowerCase() + ? [] + : Object.keys(e) + .reduce(function (t, n) { + var r = e[n]; + return ( + r && + r.API.tabGroupId && + "undefined" !== typeof r.API.tabGroupId && + "undefined" !== typeof yn.tabGroupId && + r.API.tabGroupId === yn.tabGroupId && + t.push(r.API), + t + ); + }, []) + .sort(function (e, t) { + if (e.tabIndex !== t.tabIndex) { + if (-1 === e.tabIndex) + return Number.MAX_SAFE_INTEGER; + if (-1 === t.tabIndex) + return Number.MIN_SAFE_INTEGER; + } + return e.tabIndex - t.tabIndex; + }); + } + function hn(e) { + return e.reduce(function (e, t) { + var n = Qi.get(t); + return (n && e.push(n.API), e); + }, []); + } + function vn(e) { + var t = S[e]; + if ("undefined" !== typeof t) return hn(t); + } + function mn() { + var t; + if (M) return M; + if (_._APPLICATION_NAME) return _._APPLICATION_NAME; + if (_ && _._t42 && _._t42.application) return _._t42.application; + var n = gn(); + if (n && n.applicationName) return n.applicationName; + var r = i(); + if (r) { + var o = r.instances().find(function (t) { + return e === t.id; + }); + if (o) + return null === (t = o.application) || void 0 === t + ? void 0 + : t.name; + } + } + function gn() { + if ( + "undefined" !== typeof window && + window.glue42gd && + window.glue42gd.getWindowInfo + ) { + var t = window.glue42gd.getWindowInfo(e); + return t || void 0; + } + } + var yn = { + get id() { + return g; + }, + get name() { + return y; + }, + get application() { + var e = i(), + t = mn(); + if (t && e) return e.application(t); + }, + get hostInstance() { + return n.hostInstance; + }, + get interopInstance() { + var e = this, + t = u.servers().find(function (t) { + return t.windowId === e.id; + }); + if (t) return t; + var n = mn(); + return n ? { application: n } : void 0; + }, + get agmInstance() { + return yn.interopInstance; + }, + get url() { + return k; + }, + get title() { + return x; + }, + get windowStyleAttributes() { + return P; + }, + get settings() { + return P; + }, + get tabGroupId() { + return "tab" === w.toLowerCase() ? B : void 0; + }, + get tabIndex() { + return "tab" === w.toLowerCase() ? N : void 0; + }, + get frameId() { + return F; + }, + get frameButtons() { + return H.sort(function (e, t) { + return e.order - t.order; + }); + }, + get mode() { + return w; + }, + get state() { + return L; + }, + get isCollapsed() { + return D; + }, + get isVisible() { + return R; + }, + get isLocked() { + return j; + }, + get context() { + return _; + }, + get bounds() { + return b; + }, + get minHeight() { + return P.minHeight; + }, + get maxHeight() { + return P.maxHeight; + }, + get minWidth() { + return P.minWidth; + }, + get maxWidth() { + return P.maxWidth; + }, + get isFocused() { + return I; + }, + get frameColor() { + return C; + }, + get opened() { + return void 0 !== yn.id; + }, + get group() { + return f; + }, + get groupId() { + return E; + }, + get isSticky() { + return O; + }, + get topNeighbours() { + return vn("top"); + }, + get leftNeighbours() { + return vn("left"); + }, + get rightNeighbours() { + return vn("right"); + }, + get bottomNeighbours() { + return vn("bottom"); + }, + get isGroupHeaderVisible() { + return W; + }, + get activityId() { + if (_._t42) return _._t42.activityId; + var e = gn(); + return e ? e.activityId : void 0; + }, + get activityWindowId() { + if (_._t42) return _._t42.activityWindowId; + var e = gn(); + return e ? e.activityWindowId : void 0; + }, + get windowType() { + return t.windowType || "electron"; + }, + get zoomFactor() { + return z; + }, + get screen() { + if ("undefined" !== typeof window && window.glue42gd) + return Xi.getMonitor(yn.bounds, window.glue42gd.monitors); + }, + get placementSettings() { + return Object.assign({}, q); + }, + get jumpList() { + return G; + }, + maximize: se, + restore: ce, + minimize: ue, + maximizeRestore: ae, + collapse: de, + expand: le, + toggleCollapse: pe, + focus: oe, + activate: ie, + moveResize: te, + setTitle: Z, + setStyle: $, + setOnTop: Q, + resetButtons: J, + getButtons: K, + setSizeConstraints: X, + getSizeConstraints: Y, + navigate: V, + addFrameButton: ne, + removeFrameButton: re, + setVisible: me, + show: function () { + return me(!0); + }, + hide: function () { + return me(!1); + }, + center: ge, + close: U, + snap: he, + showLoader: be, + hideLoader: ke, + updateContext: xe, + lock: _e, + unlock: Ce, + getIcon: Ie, + setIcon: Se, + setFrameColor: Ee, + setTabTooltip: Te, + getTabTooltip: Pe, + attachTab: fe, + detachTab: ve, + setTabHeaderVisible: We, + showPopup: Re, + createFlydown: Oe, + setModalState: De, + setZoomFactor: Ne, + zoomIn: Le, + zoomOut: Be, + showDevTools: Fe, + capture: je, + flash: He, + flashTab: ze, + setSticky: ee, + print: qe, + printToPDF: Ge, + place: Ve, + ungroup: Ue, + refresh: $e, + goBack: Tt, + goForward: At, + download: Je, + configure: Ke, + getConfiguration: Qe, + getChannel: (function () { + var e = s( + a().mark(function e() { + var t, n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + m().getWindowsWithChannels({ + windowIds: [g] + }) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + null === (t = n[0]) || + void 0 === t + ? void 0 + : t.channel + ) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })(), + startDrag: Pt, + showDialog: Mt, + onClose: Ye, + onUrlChanged: Ze, + onTitleChanged: Xe, + onFrameButtonAdded: et, + onFrameButtonRemoved: tt, + onFrameButtonClicked: nt, + onCollapsed: rt, + onExpanded: it, + onMinimized: at, + onMaximized: ot, + onNormal: st, + onAttached: ct, + onDetached: ut, + onVisibilityChanged: dt, + onContextUpdated: lt, + onLockingChanged: pt, + onBoundsChanged: ht, + onFrameColorChanged: mt, + onFocusChanged: ft, + onStickyChanged: vt, + onGroupChanged: bt, + onWindowAttached: yt, + onWindowDetached: wt, + onTabSelectionChanged: kt, + onTabHeaderVisibilityChanged: gt, + onClosing: xt, + onRefreshing: _t, + onZoomFactorChanged: It, + onPlacementSettingsChanged: St, + onNeighboursChanged: Et, + onNavigating: Ct, + get tabs() { + return pn(); + }, + get isTabHeaderVisible() { + return T; + }, + get isTabSelected() { + return A; + }, + getURL: function () { + return Promise.resolve(k); + }, + getTitle: function () { + return Promise.resolve(x); + }, + getBounds: function () { + return Promise.resolve(b); + }, + getContext: function () { + return Promise.resolve(_); + }, + setContext: function (e) { + if (wn(e)) + throw new Error( + '"context" must not be null or undefined, set to empty object if you want to clear it out.' + ); + return n.updateContext(yn, e, !0); + }, + getDisplay: function () { + return o().getByWindowId(e); + }, + resizeTo: function (e, t) { + return te({ width: e, height: t }); + }, + moveTo: function (e, t) { + return te({ top: e, left: t }); + }, + getParentWindow: function () { + return s( + a().mark(function e() { + var t, n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ((n = P.parentInstanceId)) { + e.next = 3; + break; + } + return e.abrupt("return", void 0); + case 3: + return e.abrupt( + "return", + null === (t = Qi.list[n]) || + void 0 === t + ? void 0 + : t.API + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )(); + }, + getChildWindows: function () { + return s( + a().mark(function t() { + return a().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return t.abrupt( + "return", + Object.keys(Qi.list) + .map(function (e) { + return Qi.list[e].API; + }) + .filter(function (t) { + return ( + t.settings + .parentInstanceId === + e + ); + }) + ); + case 1: + case "end": + return t.stop(); + } + }, t); + }) + )(); + }, + joinChannel: function (t) { + return m().join(t, e); + }, + leaveChannel: function () { + return m().leave(e); + } + }; + return { + API: yn, + Events: { + handleUpdate: Rt, + handleWindowClose: Ft, + handleWindowChangeState: qt, + handleTitleChanged: Ot, + handleVisibilityChanged: Lt, + handleUrlChanged: Dt, + handleWindowSettingsChanged: Bt, + handleContextUpdated: Nt, + handleFrameIsLockedChanged: Ut, + handleBoundsChanged: Vt, + handleFocusChanged: $t, + handleFrameButtonAdded: jt, + handleFrameButtonRemoved: Ht, + handleFrameButtonClicked: zt, + handleFrameColorChanged: Kt, + handleFrameAttached: Qt, + handleFrameSelectionChanged: en, + handleCompositionChanged: Xt, + handleGroupHeaderVisibilityChanged: Yt, + handleTabHeaderVisibilityChanged: Zt, + handleGroupChanged: ln, + handleAttached: nn, + handleDetached: an, + handleWindowAttached: on, + handleWindowDetached: cn, + handleZoomFactorChanged: un, + handleIsStickyChanged: Jt, + handlePlacementSettingsChanged: dn + } + }; + }; + function no(e, t) { + var n = Qi.list; + return Object.keys(n).reduce(function (r, i) { + var o = n[i]; + return (o.API.tabGroupId === t && o.API.id !== e && r.push(o), r); + }, []); + } + function ro(e) { + return !( + e && + !Object.keys(e).every(function (t) { + return void 0 === e[t]; + }) + ); + } + var io = (function () { + function e() { + (v(this, e), + (this.GroupMethodName = "T42.Group.Execute"), + (this.WndMethodName = "T42.Wnd.Execute"), + (this._registry = zr()), + (this._finished = Promise.resolve()), + (this.unsubCallbacks = {})); + } + return ( + m(e, [ + { + key: "hostInstance", + get: function () { + return this.agmTarget; + } + }, + { + key: "finished", + get: function () { + return this._finished; + } + }, + { + key: "init", + value: function (e, t, n) { + var r = this; + ((this.agm = e), + (this.agmTarget = t), + (this._configuration = n), + this._registry.add("event", function (e) { + "Closed" === e.type && + Object.keys(r.unsubCallbacks).forEach( + function (t) { + t.startsWith(e.windowId) && + delete r.unsubCallbacks[t]; + } + ); + })); + } + }, + { + key: "handleEvent", + value: function (e) { + this._registry.execute("event", e); + } + }, + { + key: "open", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r, i, o; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (this._finished = + new Promise( + function (e) { + n = e; + } + )), + (e.prev = 1), + (e.next = 4), + this.agm.invoke( + "T42.Wnd.Create", + t, + this.agmTarget + ) + ); + case 4: + if ( + void 0 !== + (r = e.sent).returned + ) { + e.next = 7; + break; + } + throw new Error( + "failed to execute T42.Wnd.Create - unknown reason" + ); + case 7: + return ( + (i = r.returned.id), + (e.next = 10), + Qi.waitFor(i) + ); + case 10: + return ( + (o = e.sent), + (this._configuration && + !this._configuration + .windowAvailableOnURLChanged) || + setTimeout( + function () { + "electron" === + o.API + .windowType && + o.Events.handleUrlChanged( + o + .API + .url + ); + }, + 0 + ), + e.abrupt( + "return", + o.API + ) + ); + case 15: + throw ( + (e.prev = 15), + (e.t0 = e.catch(1)), + e.t0 + ); + case 18: + return ( + (e.prev = 18), + n(), + e.finish(18) + ); + case 21: + case "end": + return e.stop(); + } + }, + e, + this, + [[1, 15, 18, 21]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "close", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "close", + { + windowId: t.id, + options: n + }, + "Closed" + ) + ); + case 2: + if (((r = e.sent), !n)) { + e.next = 5; + break; + } + return e.abrupt( + "return", + r.closed + ); + case 5: + return e.abrupt( + "return", + t + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "navigate", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "navigate", + { + windowId: t.id, + options: { + url: n, + urlLoadOptions: + r + } + }, + "UrlChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setStyle", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s, c, u, d; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (i = []), + (o = function (e) { + return i.push(e); + }), + wn(n.focus) || + t.isFocused || + o(t.focus()), + wn(n.hidden) || + ((s = !n.hidden), + o(t.setVisible(s))), + wn(n.onTop) || + o( + t.setOnTop( + n.onTop + ) + ), + (bn(n.tabTooltip) && + bn(n.tabToolTip)) || + ((c = + null !== + (r = + n.tabTooltip) && + void 0 !== r + ? r + : n.tabToolTip), + o( + t.setTabTooltip( + c + ) + )), + bn(n.tabTitle) || + o( + this.execute( + "setTabTitle", + { + windowId: + t.id, + options: + { + tabTitle: + n.tabTitle + } + } + ) + ), + !ro( + (u = { + minHeight: + n.minHeight, + minWidth: + n.minWidth, + maxHeight: + n.maxHeight, + maxWidth: + n.maxWidth + }) + ) && + o( + t.setSizeConstraints( + u + ) + ), + !ro( + (d = { + allowClose: + n.allowClose, + allowCollapse: + n.allowCollapse, + allowLockUnlock: + n.allowLockUnlock, + allowMaximize: + n.allowMaximize, + allowMinimize: + n.allowMinimize + }) + ) && + o( + t.resetButtons( + d + ) + ), + (e.next = 15), + Promise.all(i) + ); + case 15: + return e.abrupt( + "return", + t + ); + case 16: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setSizeConstraints", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setSizeConstraints", + { + windowId: t.id, + options: n + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getSizeConstraints", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "getSizeConstraints", + { windowId: t.id } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setTabTooltip", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setTabTooltip", + { + windowId: t.id, + options: { + tabTooltip: + n + } + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getTabTooltip", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "getTabTooltip", + { windowId: t.id } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.tabTooltip + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "resetButtons", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "resetButtons", + { + windowId: t.id, + options: n + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getButtons", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "getButtons", + { windowId: t.id } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setOnTop", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setOnTop", + { + windowId: t.id, + options: { + onTop: n + } + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setTitle", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = { + windowId: t.id, + options: { + title: n + } + }), + (e.next = 3), + this.execute( + "setTitle", + r, + "TitleChanged" + ) + ); + case 3: + return e.abrupt( + "return", + t + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setSticky", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = { + windowId: t.id, + options: { + isSticky: n + } + }), + (e.next = 3), + this.execute( + "setSticky", + r + ) + ); + case 3: + return e.abrupt( + "return", + t + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "moveResize", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + !( + "undefined" !== + typeof window && + window.glueDesktop + .versionNum < + 31200 + ) + ) { + e.next = 4; + break; + } + return e.abrupt( + "return", + new Promise( + (function () { + var e = s( + a().mark( + function e( + i, + o + ) { + var s, + c, + u, + d, + l; + return a().wrap( + function ( + e + ) { + for (;;) + switch ( + (e.prev = + e.next) + ) { + case 0: + return ( + (s = + r.areBoundsEqual( + n, + t + )), + (c = + !1), + (u = + function () { + c || + ((c = + !0), + l && + (l(), + (l = + void 0)), + i( + t + ), + d && + (clearTimeout( + d + ), + (d = + void 0))); + }), + s || + (l = + t.onBoundsChanged( + function ( + e + ) { + r.areBoundsEqual( + n, + e + ) && + u(); + } + )), + (e.prev = 4), + (e.next = 7), + r.execute( + "moveResize", + { + windowId: + t.id, + options: + { + bounds: n + } + } + ) + ); + case 7: + e.next = 13; + break; + case 9: + return ( + (e.prev = 9), + (e.t0 = + e.catch( + 4 + )), + o( + e.t0 + ), + e.abrupt( + "return" + ) + ); + case 13: + if ( + !s + ) { + e.next = 16; + break; + } + return ( + u(), + e.abrupt( + "return" + ) + ); + case 16: + d = + setTimeout( + function () { + u(); + }, + 1e3 + ); + case 17: + case "end": + return e.stop(); + } + }, + e, + null, + [ + [ + 4, + 9 + ] + ] + ); + } + ) + ); + return function ( + t, + n + ) { + return e.apply( + this, + arguments + ); + }; + })() + ) + ); + case 4: + return ( + (e.next = 6), + this.execute( + "moveResize", + { + windowId: t.id, + options: { + bounds: n + } + } + ) + ); + case 6: + return e.abrupt( + "return", + t + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "addFrameButton", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "addButton", + { + windowId: t.id, + options: n + }, + "ButtonAdded" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "removeFrameButton", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "removeButton", + { + windowId: t.id, + options: n + }, + "ButtonRemoved" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "activate", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (r = new Promise( + function (e, r) { + n = + t.onFocusChanged( + function () { + e(); + } + ); + } + )), + (e.next = 4), + Promise.all([ + this.execute( + "activate", + { + windowId: + t.id + }, + "FocusChanged" + ), + r + ]) + ); + case 4: + return e.abrupt( + "return", + t + ); + case 7: + throw ( + (e.prev = 7), + (e.t0 = e.catch(0)), + e.t0 + ); + case 10: + return ( + (e.prev = 10), + n && n(), + e.finish(10) + ); + case 13: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 7, 10, 13]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "focus", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (r = new Promise( + function (e, r) { + n = + t.onFocusChanged( + function () { + e(); + } + ); + } + )), + (e.next = 4), + Promise.all([ + this.execute( + "focus", + { + windowId: + t.id + }, + "FocusChanged" + ), + r + ]) + ); + case 4: + return e.abrupt( + "return", + t + ); + case 7: + throw ( + (e.prev = 7), + (e.t0 = e.catch(0)), + e.t0 + ); + case 10: + return ( + (e.prev = 10), + n && n(), + e.finish(10) + ); + case 13: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 7, 10, 13]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "maximizeRestore", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "maximizeRestore", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "maximize", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "maximize", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "restore", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "restore", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "minimize", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "minimize", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "collapse", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "collapse", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "expand", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "expand", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "toggleCollapse", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "toggleCollapse", + { windowId: t.id }, + "StateChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "snap", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + var i; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + ((i = { + targetWindowId: n.id + }).snappingEdge = + r.direction), + (i.autoAlign = + r.autoAlign), + (e.next = 5), + this.execute( + "snap", + { + windowId: t.id, + options: i + }, + "CompositionChanged", + "CompositionChanged-".concat( + n.id + ) + ) + ); + case 5: + return e.abrupt( + "return", + t + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "attachTab", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "attachTab", + { + windowId: t.id, + options: { + index: r, + sourceWindowId: + n.id, + targetWindowId: + t.id + } + }, + "WindowFrameAdded-".concat( + n.id + ), + "WindowFrameRemoved-".concat( + n.id + ) + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "detachTab", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = [ + "WindowFrameRemoved", + "WindowFrameAdded" + ]), + wn( + null === n || + void 0 === n + ? void 0 + : n.relativeTo + ) + ? r.push( + "BoundsChanged" + ) + : (r.push( + "CompositionChanged" + ), + r.push( + "CompositionChanged-".concat( + n.relativeTo + ) + )), + (e.next = 4), + this.execute.apply( + this, + [ + "detachTab", + { + windowId: + t.id, + options: n + } + ].concat(r) + ) + ); + case 4: + return e.abrupt( + "return", + t + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setVisible", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r, + i = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = + !( + i.length > 1 && + void 0 !== i[1] + ) || i[1]), + (r = n + ? "show" + : "hide"), + (e.next = 4), + this.execute( + r, + { windowId: t.id }, + "VisibilityChanged" + ) + ); + case 4: + return e.abrupt( + "return", + t + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "center", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute("center", { + windowId: t.id, + options: n + }) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "showLoader", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "showLoadingAnimation", + { + windowId: t.id, + options: n + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "hideLoader", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "hideLoadingAnimation", + { windowId: t.id } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "updateContext", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + var i, o, s; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (o = + this.swapUndefinedToNull( + n + )), + (s = new Promise( + function (e, n) { + i = + t.onContextUpdated( + function () { + e(); + } + ); + } + )), + (e.next = 5), + Promise.all([ + this.execute( + "updateContext", + { + windowId: + t.id, + context: o, + replace: r + } + ), + s + ]) + ); + case 5: + return e.abrupt( + "return", + t + ); + case 8: + throw ( + (e.prev = 8), + (e.t0 = e.catch(0)), + e.t0 + ); + case 11: + return ( + (e.prev = 11), + i && i(), + e.finish(11) + ); + case 14: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 8, 11, 14]] + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "lock", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "lockUnlock", + { + windowId: t.id, + options: { + lock: !0 + } + }, + "FrameIsLockedChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "unlock", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "lockUnlock", + { + windowId: t.id, + options: { + lock: !1 + } + }, + "FrameIsLockedChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getIcon", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "getIcon", + { + windowId: t.id, + options: {} + } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.icon + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setIcon", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setIcon", + { + windowId: t.id, + options: { + dataURL: n + } + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setFrameColor", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setFrameColor", + { + windowId: t.id, + options: { + frameColor: + n + } + }, + "FrameColorChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setTabHeaderVisible", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setTabHeaderVisible", + { + windowId: t.id, + options: { + toShow: n + } + }, + "TabHeaderVisibilityChanged" + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "showPopup", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (n) { + e.next = 2; + break; + } + throw new Error( + "The options object is not valid!" + ); + case 2: + return ( + (r = c({}, n)) + .targetLocation || + (r.targetLocation = + "bottom"), + (i = c( + c({}, r), + {}, + { + popupBounds: + r.size, + targetId: t.id, + popupId: + r.windowId + } + )), + (e.next = 7), + this.execute( + "showPopupWindow", + { + windowId: t.id, + options: i + } + ) + ); + case 7: + return e.abrupt( + "return", + t + ); + case 8: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "createFlydown", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (n) { + e.next = 2; + break; + } + throw new Error( + "The options object is not valid!" + ); + case 2: + return ( + (r = c({}, n)) + .horizontalOffset || + (r.horizontalOffset = 0), + r.verticalOffset || + (r.verticalOffset = 0), + (i = + this.reformatFlydownOptions( + t, + r + )), + e.abrupt( + "return", + this.execute( + "setFlydownArea", + { + windowId: t, + options: i + } + ).then(function () { + var e = + i.zones.map( + function ( + e + ) { + return e.id; + } + ); + return ( + i.zones.forEach( + function ( + e + ) { + var t = + "function" === + typeof e.flydownSize + ? e.flydownSize + : function () { + return e.flydownSize; + }; + (n.size instanceof + Function && + e.flydownSize && + (t = + (function () { + var t = + s( + a().mark( + function t( + r, + i + ) { + var o; + return a().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + if ( + !( + n.size instanceof + Function + ) + ) { + t.next = 4; + break; + } + return ( + (t.next = 3), + n.size( + r, + i + ) + ); + case 3: + o = + t.sent; + case 4: + if ( + !( + e.flydownSize instanceof + Function && + e.flydownSize !== + n.size + ) + ) { + t.next = 11; + break; + } + return ( + (t.next = 7), + e.flydownSize( + r, + i + ) + ); + case 7: + if ( + ((t.t0 = + t.sent), + t.t0) + ) { + t.next = 10; + break; + } + t.t0 = + o; + case 10: + return t.abrupt( + "return", + t.t0 + ); + case 11: + return t.abrupt( + "return", + o || + e.flydownSize + ); + case 12: + case "end": + return t.stop(); + } + }, + t + ); + } + ) + ); + return function ( + e, + n + ) { + return t.apply( + this, + arguments + ); + }; + })()), + o._registry.clearKey( + "" + .concat( + i.targetId, + "_" + ) + .concat( + e.id + ) + ), + o._registry.add( + "" + .concat( + i.targetId, + "_" + ) + .concat( + e.id + ), + t + )); + } + ), + { + destroy: + function () { + return o.clearFlydownArea( + i.targetId, + e + ); + }, + options: + r + } + ); + }) + ) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setModalState", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this.execute( + "setModalState", + { + windowId: t, + options: { + isModal: n + } + } + ) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "handleFlydownBoundsRequested", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s, u, d; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = function () { + return (n.cancel = + !0); + }), + (i = { + zoneId: n.flydownId, + flydownWindowBounds: + n.flydownWindowBounds, + flydownWindowId: + n.flydownWindowId + }), + (e.next = 4), + Promise.all( + this._registry.execute( + "" + .concat( + t, + "_" + ) + .concat( + n.flydownId + ), + i, + r + ) + ) + ); + case 4: + if ( + 1 !== + (o = e.sent).length + ) { + e.next = 10; + break; + } + return ( + (s = { + height: 0, + width: 0, + top: 0, + left: 0 + }), + (u = + "object" !== + typeof o[0] || + Array.isArray(o[0]) + ? s + : o[0]), + (d = c( + c({}, n), + {}, + { + flydownWindowBounds: + u + } + )), + e.abrupt("return", d) + ); + case 10: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "handleOnEventRequested", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (i = + null !== + (r = + this + .unsubCallbacks[ + t + ]) && + void 0 !== r + ? r + : []), + (o = !1), + (s = []), + (e.next = 5), + Promise.all( + i.map(function (e) { + return new Promise( + function ( + t, + r + ) { + e( + function () { + t(); + }, + function () { + r(); + }, + function ( + e + ) { + ((o = + !0), + s.push( + e + )); + }, + n + ); + } + ); + }) + ) + ); + case 5: + return e.abrupt("return", { + prevented: o, + preventArgs: s + }); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "zoomIn", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute("zoomIn", { + windowId: t.id + }) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "zoomOut", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "zoomOut", + { windowId: t.id } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setZoomFactor", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "setZoomFactor", + { + windowId: t.id, + options: { + zoomFactor: + n + } + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "showDevTools", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "showDevTools", + { windowId: t.id } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "capture", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "captureScreenshot", + { + windowId: t.id, + options: c( + {}, + n + ) + } + ) + ); + case 2: + return ( + (r = e.sent.data), + e.abrupt("return", r) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "captureGroup", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "captureGroupScreenshot", + { + windowId: t[0], + options: c( + { + groupWindowIds: + t + }, + n + ) + } + ) + ); + case 2: + return ( + (r = e.sent.data), + e.abrupt("return", r) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "flash", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute("flash", { + windowId: t.id, + options: c({}, n) + }) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "flashTab", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "flashTab", + { + windowId: t.id, + options: c( + {}, + n + ) + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "configure", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this.execute( + "configure", + { + windowId: t, + options: c( + {}, + n + ) + } + ) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "print", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute("print", { + windowId: t.id, + options: c({}, n) + }) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "printToPDF", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "printToPDF", + { + windowId: t.id, + options: c( + {}, + n + ) + } + ) + ); + case 2: + return ( + (r = e.sent.filePath), + e.abrupt("return", r) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "place", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((r = c({}, n)), + n.display && + "current" !== + n.display) + ) { + e.next = 5; + break; + } + return ( + (e.next = 4), + t.getDisplay() + ); + case 4: + r.display = e.sent; + case 5: + return ( + r.display && + "string" !== + typeof r.display && + "number" !== + typeof r.display && + (r.display = + r.display + .index + 1), + e.abrupt( + "return", + this.execute( + "place", + { + windowId: + t.id, + options: c( + {}, + r + ) + } + ) + ) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "refresh", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "refresh", + { + windowId: t.id, + options: { + ignoreCache: + n + } + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "download", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + ((r = + o.length > 2 && + void 0 !== o[2] + ? o[2] + : {}).enableDownloadBar = + !r.silent), + (e.next = 4), + this.execute( + "downloadURL", + { + windowId: t.id, + options: { + url: n, + options: r + } + } + ) + ); + case 4: + return ( + (i = e.sent), + e.abrupt("return", { + url: n, + path: i.fullPath, + size: i.fileSize + }) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "configureWindow", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "configureWindow", + { + windowId: t.id, + options: n + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getWindowConfiguration", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "getWindowConfiguration", + { windowId: t.id } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "startDrag", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "startDrag", + { + windowId: t.id, + options: n + } + ) + ); + case 2: + return e.abrupt( + "return", + t + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "showDialog", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + var o = Vi.generate(), + a = n._registry.add("event", function (t) { + if ( + "DialogResult" === t.type && + t.windowId === e.id && + t.data.token === o + ) { + a(); + var n = t.data; + "status" in n && + ("failed" === n.status + ? i(n.message) + : "successful" === n.status && + r(n.result)); + } + }); + n.execute("showDialog", { + windowId: e.id, + options: Object.assign({}, c({}, t), { + token: o + }) + }); + }); + } + }, + { + key: "execute", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o, + s = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + for ( + r = s.length, + i = new Array( + r > 2 + ? r - 2 + : 0 + ), + o = 2; + o < r; + o++ + ) + i[o - 2] = s[o]; + return e.abrupt( + "return", + this.executeCore.apply( + this, + [ + this + .WndMethodName, + t, + n + ].concat(i) + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "executeGroup", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o, + s = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + for ( + r = s.length, + i = new Array( + r > 2 + ? r - 2 + : 0 + ), + o = 2; + o < r; + o++ + ) + i[o - 2] = s[o]; + return e.abrupt( + "return", + this.executeCore.apply( + this, + [ + this + .GroupMethodName, + t, + n + ].concat(i) + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "ungroup", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = { + windowId: t.id, + options: n + }), + (e.next = 3), + this.execute( + "ungroup", + r + ) + ); + case 3: + return e.abrupt( + "return", + t + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "updateJumpList", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = { + windowId: t, + options: n + }), + (e.next = 3), + this.execute( + "updateJumplist", + r + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getJumpList", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = { windowId: t }), + (e.next = 3), + this.execute( + "getJumplist", + n + ) + ); + case 3: + return ( + (r = e.sent), + e.abrupt("return", r) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "onClosing", + value: function (e, t) { + var n = + "undefined" !== typeof window && window.glue42gd; + return n && "electron" === t.windowType + ? n.addCloseHandler(e, t.id) + : this.nonWindowHandlers(e, t.id, "OnClosing"); + } + }, + { + key: "onRefreshing", + value: function (e, t) { + var n = + "undefined" !== typeof window && window.glue42gd; + return n && "electron" === t.windowType + ? n.addRefreshHandler(e, t.id) + : this.nonWindowHandlers(e, t.id, "OnRefreshing"); + } + }, + { + key: "onNavigating", + value: function (e, t) { + var n = + "undefined" !== typeof window && window.glue42gd; + return n && "electron" === t.windowType + ? n.addWillNavigateHandler(e, t.id) + : this.nonWindowHandlers(e, t.id, "OnNavigating"); + } + }, + { + key: "goBack", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute("goBack", { + windowId: t.id + }) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "goForward", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.execute( + "goForward", + { windowId: t.id } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "nonWindowHandlers", + value: function (e, t, n) { + var r = this, + i = "".concat(t, "-").concat(n), + o = function () { + if (r.unsubCallbacks[i]) { + var o = r.unsubCallbacks[i]; + r.unsubCallbacks[i] = o.filter( + function (t) { + return t !== e; + } + ); + } + 0 === r.unsubCallbacks[i].length && + r.execute(n, { + windowId: t, + options: { unsubscribe: !0 } + }); + }; + if (this.unsubCallbacks[i]) + return (this.unsubCallbacks[i].push(e), o); + this.unsubCallbacks[i] = [e]; + var a = { windowId: t }; + return (this.execute(n, a), o); + } + }, + { + key: "reformatFlydownOptions", + value: function (e, t) { + var n = function (e, n) { + if ( + t[n] && + (void 0 === e[n] || null === e[n]) + ) { + var r = t[n]; + e[n] = r; + } + }, + r = t.zones.map(function (e) { + return ( + n(e, "windowId"), + n(e, "targetLocation"), + !t.size || + (void 0 !== e.flydownSize && + null !== e.flydownSize) || + (e.flydownSize = t.size), + (e.flydownBounds = e.flydownSize), + (e.flydownId = e.windowId), + e.targetLocation || + (e.targetLocation = "bottom"), + e + ); + }); + return c( + c({}, t), + {}, + { + zones: r, + targetId: e, + flydownBounds: t.size, + flydownActiveArea: t.activeArea + } + ); + } + }, + { + key: "clearFlydownArea", + value: function (e, t) { + var n = this; + return this.execute("clearFlydownWindowArea", { + windowId: e, + options: {} + }).then(function () { + t.forEach(function (t) { + n._registry.clearKey( + "".concat(e, "_").concat(t) + ); + }); + }); + } + }, + { + key: "executeWithoutToken", + value: function (e) { + for ( + var t = this, + n = [], + r = arguments.length, + a = new Array(r > 1 ? r - 1 : 0), + s = 1; + s < r; + s++ + ) + a[s - 1] = arguments[s]; + var c = + null === a || void 0 === a + ? void 0 + : a + .filter(function (e) { + return !wn(e); + }) + .map(function (r) { + return new Promise(function (o) { + var a = r.split("-"), + s = i(a, 2), + c = s[0], + u = s[1], + d = + void 0 === u + ? e.windowId + : u; + n.push( + t._registry.add( + "event", + function (e) { + e.type === c && + e.windowId === + d && + o(); + } + ) + ); + }); + }), + u = new Promise(function (n, r) { + t.agm + .invoke("T42.Wnd.Execute", e, t.agmTarget) + .then(function (e) { + e.returned && e.returned.errorMsg + ? r(e) + : n(e.returned); + }) + .catch(function (e) { + return r(e); + }); + }); + return Promise.all([u].concat(o(c))) + .then(function (e) { + return e[0]; + }) + .finally(function () { + n.forEach(function (e) { + return e(); + }); + }); + } + }, + { + key: "executeCore", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + var i, + o, + s, + u, + d, + l = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((i = c( + c({}, r), + {}, + { command: n } + )), + (this._finished = + new Promise( + function (e) { + o = e; + } + )), + (e.prev = 2), + !( + "undefined" !== + typeof window && + window.glueDesktop + .versionNum < + 31200 + )) + ) { + e.next = 10; + break; + } + for ( + s = l.length, + u = new Array( + s > 3 + ? s - 3 + : 0 + ), + d = 3; + d < s; + d++ + ) + u[d - 3] = l[d]; + return ( + (e.next = 7), + this.executeWithoutToken.apply( + this, + [i].concat(u) + ) + ); + case 7: + case 12: + return e.abrupt( + "return", + e.sent + ); + case 10: + return ( + (e.next = 12), + this.executeWithToken( + t, + i + ) + ); + case 13: + return ( + (e.prev = 13), + o(), + e.finish(13) + ); + case 16: + case "end": + return e.stop(); + } + }, + e, + this, + [[2, , 13, 16]] + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "executeWithToken", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o, + s, + c, + u = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (i = Vi.generate()), + (o = new Promise( + function (e) { + r = + u._registry.add( + "event", + function ( + t + ) { + t.token === + i && + e(); + } + ); + } + )), + (s = new Promise( + function (e, r) { + ((n.token = i), + u.agm + .invoke( + t, + n, + u.agmTarget + ) + .then( + function ( + t + ) { + t.returned && + t + .returned + .errorMsg + ? r( + t + ) + : e( + t.returned + ); + } + ) + .catch( + function ( + e + ) { + r( + e + ); + } + )); + } + )), + (e.next = 6), + Promise.all([s, o]) + ); + case 6: + return ( + (c = e.sent), + e.abrupt("return", c[0]) + ); + case 10: + throw ( + (e.prev = 10), + (e.t0 = e.catch(0)), + e.t0 + ); + case 13: + return ( + (e.prev = 13), + r && r(), + e.finish(13) + ); + case 16: + case "end": + return e.stop(); + } + }, + e, + null, + [[0, 10, 13, 16]] + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "areBoundsEqual", + value: function (e, t) { + var n = t.bounds, + r = t.settings, + i = e.height, + o = e.width; + (e.height < r.minHeight && (i = r.minHeight), + e.height > r.maxHeight && (i = r.maxHeight), + e.width < r.minWidth && (o = r.minWidth), + e.width > r.maxWidth && (o = r.maxWidth)); + var a = !i || n.height === i, + s = !o || n.width === o, + c = !e.left || n.left === e.left, + u = !e.top || n.top === e.top; + return a && s && c && u; + } + }, + { + key: "swapUndefinedToNull", + value: function (e) { + try { + for ( + var t = {}, n = 0, r = Object.keys(e); + n < r.length; + n++ + ) { + var i = r[n], + o = e[i]; + ("undefined" === typeof o && (o = null), + (t[i] = o)); + } + return t; + } catch (a) { + return e; + } + } + } + ]), + e + ); + })(), + oo = new io(), + ao = (function () { + function e(t, n, r, i, o, a) { + (v(this, e), + (this._registry = zr()), + (this._waitTimeout = 1e4), + (this._agm = t), + (this._logger = n.subLogger("gd-env")), + (this._windowId = a), + (this._appManagerGetter = r), + (this._displayAPIGetter = i), + (this._channelsAPIGetter = o)); + } + return ( + m(e, [ + { + key: "init", + value: function () { + var e = this; + return new Promise(function (t, n) { + (e._agm.register( + "T42.Wnd.OnEventWithResponse", + function (t, n) { + return e.respondToEvent(t); + } + ), + new Promise(function (r, i) { + e._agm + .subscribe("T42.Wnd.OnEvent", { + waitTimeoutMs: e._waitTimeout, + target: "best", + arguments: { withConfig: !0 }, + onData: function (n) { + "Configuration" !== n.data.type + ? (e.updateWindow( + n.data, + t + ), + oo.handleEvent(n.data), + oo.init( + e._agm, + e._agmInstance, + e._configuration + )) + : (e._configuration = + n.data); + }, + onConnected: function (t) { + ((e._agmInstance = t), + oo.init( + e._agm, + e._agmInstance + )); + } + }) + .catch(function (e) { + var t, + r = "" + .concat( + null === + (t = + null === e || + void 0 === e + ? void 0 + : e.method) || + void 0 === t + ? void 0 + : t.name, + " - " + ) + .concat( + JSON.stringify( + null === e || + void 0 === e + ? void 0 + : e.called_with + ), + " - " + ) + .concat( + null === e || + void 0 === e + ? void 0 + : e.message + ); + n(new Error(r)); + }); + })); + }); + } + }, + { + key: "executor", + get: function () { + return oo; + } + }, + { + key: "open", + value: function (e, t, n) { + var r = c({}, (n = n || {})); + return ( + void 0 !== r.relativeTo && + "string" !== typeof r.relativeTo && + (r.relativeTo = r.relativeTo.id || ""), + (r.name = e), + (r.url = t), + (r.windowState = n.windowState || n.state), + delete r.state, + this.executor.open(r) + ); + } + }, + { + key: "createFlydown", + value: function (e, t) { + return this.executor.createFlydown(e, t); + } + }, + { + key: "showPopup", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = Qi.get(t)), + (e.next = 3), + this.executor.showPopup( + r.API, + n + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "tabAttached", + value: function (e) { + return this._registry.add("tab-attached", e); + } + }, + { + key: "tabDetached", + value: function (e) { + return this._registry.add("tab-detached", e); + } + }, + { + key: "onWindowFrameColorChanged", + value: function (e) { + return this._registry.add("frame-color-changed", e); + } + }, + { + key: "onEvent", + value: function (e) { + return this._registry.add("window-event", e); + } + }, + { + key: "my", + value: function () { + return this._windowId; + } + }, + { + key: "execute", + value: function (e, t, n) { + return this._agm.invoke("T42.Wnd.Execute", { + command: e, + options: n, + windowId: t + }); + } + }, + { + key: "onCompositionChanged", + value: function (e) { + return this._registry.add("composition-changed", e); + } + }, + { + key: "onGroupHeaderVisibilityChanged", + value: function (e) { + return this._registry.add("group-header-changed", e); + } + }, + { + key: "onGroupVisibilityChanged", + value: function (e) { + return this._registry.add( + "group-visibility-changed", + e + ); + } + }, + { + key: "onGroupStateChanged", + value: function (e) { + return this._registry.add("group-state-changed", e); + } + }, + { + key: "onWindowGotFocus", + value: function (e) { + return this._registry.add("got-focus", e); + } + }, + { + key: "onWindowLostFocus", + value: function (e) { + return this._registry.add("lost-focus", e); + } + }, + { + key: "respondToEvent", + value: function (e) { + return "ShowFlydownBoundsRequested" === e.type + ? this.executor.handleFlydownBoundsRequested( + e.data.windowId, + e.data + ) + : "OnClosing" === e.type || + "OnRefreshing" === e.type || + "OnNavigating" === e.type + ? this.executor.handleOnEventRequested( + e.data.callbackId, + e.data.args + ) + : Promise.reject( + "There isn't a handler for ".concat(e.type) + ); + } + }, + { + key: "updateWindow", + value: function (e, t) { + var n, + r = this, + i = this.getExtendedStreamEvent(e); + if ("Snapshot" === e.type) + return ( + e.windows.forEach(function (e) { + var t = Qi.get(e.id); + if (t) + t.Events.handleUpdate( + r.mapToWindowConstructorOptions(e) + ); + else { + var n = r.createWindow(e.id, e); + Qi.markReadyToShow(n.API.id); + } + r._registry.execute("window-event", i); + }), + void t(this) + ); + if ("CommandExecuted" !== e.type) { + if ("Created" === e.type) { + var o = e, + c = this.createWindow( + o.windowId, + o.data || {} + ); + return ( + Qi.setReadyState(c.API.id), + void this._registry.execute( + "window-event", + i + ) + ); + } + if ("OnGroupVisibilityChanged" === e.type) { + var u = e; + return ( + this._registry.execute( + "group-visibility-changed", + u.data + ), + void this._registry.execute( + "window-event", + e + ) + ); + } + if ("OnGroupStateChanged" === e.type) { + var d = e; + return ( + this._registry.execute( + "group-state-changed", + d.data + ), + void this._registry.execute( + "window-event", + e + ) + ); + } + var l = Qi.get(e.windowId); + if (l) { + var p = l.API, + h = l.Events; + if ("BoundsChanged" === e.type) { + var f = e; + h.handleBoundsChanged(f.data); + } + if ("UrlChanged" === e.type) { + var v = e; + (Qi.setUrlChangedState(v.windowId), + h.handleUrlChanged(v.data)); + } + if ("TitleChanged" === e.type) { + var m = e; + h.handleTitleChanged(m.data); + } + if ("IsStickyChanged" === e.type) { + var g = e; + h.handleIsStickyChanged(g.data); + } + if ( + ("VisibilityChanged" === e.type && + h.handleVisibilityChanged(e.data), + "ContextChanged" === e.type && + h.handleContextUpdated(e.data), + "StateChanged" === e.type && + h.handleWindowChangeState(e.data), + "FrameColorChanged" === e.type && + (h.handleFrameColorChanged(e.data), + this._registry.execute( + "frame-color-changed", + p + )), + "CompositionChanged" === e.type) + ) { + var y = e; + (h.handleCompositionChanged(y.data), + Qi.setCompositionChangedState( + y.data.windowId, + null === + (n = this._configuration) || + void 0 === n + ? void 0 + : n.windowAvailableOnURLChanged + ), + this._registry.execute( + "composition-changed", + y.data + )); + } + if ("GroupHeaderVisibilityChanged" === e.type) { + var w = e; + (h.handleGroupHeaderVisibilityChanged( + w.data.groupHeaderVisible + ), + this._registry.execute( + "group-header-changed", + w.data + )); + } + if ("FocusChanged" === e.type) { + var b = e; + this.focusChanged(h, p, b.data); + } + if ( + ("WindowFrameChanged" === e.type && + (h.handleFrameAttached( + e.data.frameId, + e.data.frameId, + e.data.isTabHeaderVisible + ), + this._registry.execute( + "frame-changed" + )), + "WindowFrameAdded" === e.type) + ) { + var k = no(p.id, e.data.frameId), + x = e.data; + h.handleAttached( + x.frameId, + x.frameId, + x.isTabHeaderVisible, + x.isLocked, + k + ).then( + s( + a().mark(function t() { + return a().wrap(function (t) { + for (;;) + switch ( + (t.prev = t.next) + ) { + case 0: + if ( + !( + k.length > + 0 + ) + ) { + t.next = 4; + break; + } + return ( + (t.next = 3), + oo.finished + ); + case 3: + r._registry.execute( + "tab-attached", + p, + e.data + .frameId, + e.data + .isTabHeaderVisible + ); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ) + ); + } + if ("WindowFrameRemoved" === e.type) { + var _ = p.tabGroupId, + C = no(p.id, _); + h.handleDetached(e.data.isLocked, C).then( + s( + a().mark(function t() { + return a().wrap(function (t) { + for (;;) + switch ( + (t.prev = t.next) + ) { + case 0: + if ( + !( + C.length > + 0 + ) + ) { + t.next = 4; + break; + } + return ( + (t.next = 3), + oo.finished + ); + case 3: + r._registry.execute( + "tab-detached", + p, + e.data + .frameId, + p.tabGroupId + ); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ) + ); + } + ("TabHeaderVisibilityChanged" === e.type && + h.handleTabHeaderVisibilityChanged( + e.data.isTabHeaderVisible + ), + "FrameSelectionChanged" === e.type && + h.handleFrameSelectionChanged( + e.data.newWindowId, + e.data.prevWindowId + ), + "ButtonClicked" === e.type && + h.handleFrameButtonClicked(e.data), + "ButtonAdded" === e.type && + h.handleFrameButtonAdded(e.data), + "ButtonRemoved" === e.type && + h.handleFrameButtonRemoved(e.data), + "WindowZoomFactorChanged" === e.type && + h.handleZoomFactorChanged(e.data), + "Closed" === e.type && + (Qi.remove(l), h.handleWindowClose()), + "FrameIsLockedChanged" === e.type && + h.handleFrameIsLockedChanged(e.data), + "PlacementSettingsChanged" === e.type && + h.handlePlacementSettingsChanged( + e.data + ), + this._registry.execute("window-event", i)); + } else + this._logger.error( + "received update for unknown window. Stream:', ".concat( + JSON.stringify(e, null, 4) + ) + ); + } else this._registry.execute("window-event", i); + } + }, + { + key: "createWindow", + value: function (e, t) { + var n = to( + e, + this.mapToWindowConstructorOptions(t), + oo, + this._logger, + this._appManagerGetter, + this._displayAPIGetter, + this._channelsAPIGetter, + this._agm + ); + return (Qi.add(n), n); + } + }, + { + key: "focusChanged", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + t.handleFocusChanged(r), + (e.next = 3), + Qi.waitFor(n.id) + ); + case 3: + r + ? this._registry.execute( + "got-focus", + n + ) + : this._registry.execute( + "lost-focus", + n + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "mapToWindowConstructorOptions", + value: function (e) { + return { + name: e.name, + context: e.context, + bounds: e.bounds, + url: e.url, + title: e.title, + isVisible: e.isVisible, + focus: e.isFocused, + state: e.state, + frameColor: e.frameColor, + groupId: e.groupId, + neighbours: e.neighbors, + isFocused: e.isFocused, + isGroupHeaderVisible: e.groupHeaderVisible, + isCollapsed: e.isCollapsed, + tabGroupId: e.frameId, + frameId: e.frameId, + mode: e.mode, + isTabHeaderVisible: e.isTabHeaderVisible, + isTabSelected: e.isActiveTab, + settings: e.settings, + windowType: e.windowType, + zoomFactor: e.zoomFactor, + isLocked: e.isLocked, + placementSettings: e.placementSettings, + isSticky: e.isSticky, + tabIndex: e.tabIndex, + frameButtons: e.frameButtons, + jumpListOptions: e.jumpList, + applicationName: e.applicationName + }; + } + }, + { + key: "getExtendedStreamEvent", + value: function (e) { + try { + if (!e.windowId) return e; + var t = Qi.get(e.windowId); + if (!t) return e; + var n = c( + { state: e.type, windowName: t.API.name }, + e + ); + return ( + "WindowFrameAdded" === n.state && + (n.state = "TabAttached"), + "StateChanged" === n.state && + (n.state = + n.data.charAt(0).toUpperCase() + + n.data.slice(1)), + "ButtonAdded" === n.state && + (n.state = "FrameButtonAdded"), + "ButtonRemoved" === n.state && + (n.state = "FrameButtonRemoved"), + n + ); + } catch (r) { + return e; + } + } + } + ]), + e + ); + })(), + so = function (e, t, n, r, i, o) { + var a = t; + if (2 === o) + throw (a.trace("running in HC"), new Error("GD2 not supported")); + return o >= 3 + ? (a.trace("running in GD 3"), + new ao(e, a, n, r, i, window.glue42gd.windowId).init()) + : new ao(e, a, n, r, i).init(); + }, + co = function (e, t) { + var n = zr(), + r = [], + i = !1, + c = !0; + function u(e) { + return d.apply(this, arguments); + } + function d() { + return (d = s( + a().mark(function e(i) { + var o; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (-1 !== r.indexOf(i)) { + e.next = 7; + break; + } + return ( + r.push(i), + (o = + Qi.get( + i + )).Events.handleGroupChanged( + W, + void 0 + ), + (e.next = 6), + t.finished + ); + case 6: + n.execute("window-added", W, o.API); + case 7: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function l(e) { + return p.apply(this, arguments); + } + function p() { + return (p = s( + a().mark(function e(i) { + var o; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (-1 === (o = r.indexOf(i.API.id))) { + e.next = 7; + break; + } + return ( + r.splice(o, 1), + i.Events.handleGroupChanged(void 0, W), + (e.next = 6), + t.finished + ); + case 6: + n.execute("window-removed", W, i.API); + case 7: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function h(e, t, n) { + var r; + "string" === typeof e ? (r = e) : wn(e) || (r = e.id); + var i = k(r); + if (i) return ("function" === typeof t && t(i), i); + "function" === typeof n && n("No window with ID: ".concat(r)); + } + function f(e) { + var t = b(); + return ("function" === typeof e && e(t), t); + } + function v(e, t) { + return m.apply(this, arguments); + } + function m() { + return ( + (m = s( + a().mark(function e(n, r) { + var i, + o, + s, + c = arguments; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + for ( + i = c.length, + o = new Array( + i > 2 ? i - 2 : 0 + ), + s = 2; + s < i; + s++ + ) + o[s - 2] = c[s]; + return ( + (e.next = 3), + t.execute.apply(t, [n, r].concat(o)) + ); + case 3: + return e.abrupt("return", W); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )), + m.apply(this, arguments) + ); + } + function g(e) { + n.execute("header-visibility-changed", W); + } + function y(e) { + ((c = e), n.execute("group-visibility-changed", W)); + } + function w(e) { + i = e; + } + function b() { + var e = []; + return ( + r.forEach(function (t) { + var n = k(t); + "undefined" !== typeof n && e.push(n); + }), + e + ); + } + function k(e) { + return Qi.get(e) ? Qi.get(e).API : void 0; + } + function x() { + return ( + void 0 === + b().find(function (e) { + return !e.isGroupHeaderVisible; + }) + ); + } + function _() { + return i; + } + function C(e) { + return n.add("header-visibility-changed", e); + } + function I(e) { + return n.add("window-added", e); + } + function S(e) { + return n.add("window-removed", e); + } + function E(e) { + if (!e) throw new Error("Callback argument is required"); + if (e && "function" !== typeof e) + throw new Error("Callback argument must be a function"); + return n.add("group-visibility-changed", e); + } + var W = { + id: e, + get windows() { + return f(); + }, + find: h, + get isHeaderVisible() { + return x(); + }, + get isHibernated() { + return _(); + }, + get isVisible() { + return c; + }, + showHeader: function (e, t) { + return Xi.callbackifyPromise( + function () { + return v.apply( + void 0, + [ + "setGroupHeaderVisibility", + { windowId: r[0], options: { toShow: !0 } } + ].concat( + o( + r.map(function (e) { + return "GroupHeaderVisibilityChanged-".concat( + e + ); + }) + ) + ) + ); + }, + e, + t + ); + }, + hideHeader: function (e, t) { + return Xi.callbackifyPromise( + function () { + return v.apply( + void 0, + [ + "setGroupHeaderVisibility", + { windowId: r[0], options: { toShow: !1 } } + ].concat( + o( + r.map(function (e) { + return "GroupHeaderVisibilityChanged-".concat( + e + ); + }) + ) + ) + ); + }, + e, + t + ); + }, + getTitle: (function () { + var e = s( + a().mark(function e() { + var n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + t.execute("getGroupTitle", { + windowId: r[0] + }) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n.title) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + function n() { + return e.apply(this, arguments); + } + return n; + })(), + setTitle: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!bn(t)) { + e.next = 2; + break; + } + throw new Error( + "`title` must not be null or undefined." + ); + case 2: + return e.abrupt( + "return", + v("setGroupTitle", { + windowId: r[0], + options: { title: t } + }) + ); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })(), + capture: function (e) { + return t.captureGroup(r, e); + }, + maximize: function (e, t) { + return Xi.callbackifyPromise( + function () { + return v.apply( + void 0, + ["maximizeGroup", { windowId: r[0] }].concat( + o( + r.map(function (e) { + return "StateChanged-".concat(e); + }) + ) + ) + ); + }, + e, + t + ); + }, + restore: function (e, t) { + return Xi.callbackifyPromise( + function () { + return v.apply( + void 0, + ["restoreGroup", { windowId: r[0] }].concat( + o( + r.map(function (e) { + return "StateChanged-".concat(e); + }) + ) + ) + ); + }, + e, + t + ); + }, + show: function (n) { + if (!wn(n) && !kn(n)) + throw new Error("Activate flag must be a boolean!"); + return ( + (n = !!wn(n) || n), + t.executeGroup("showGroup", { + groupId: e, + options: { activate: n } + }) + ); + }, + hide: function () { + return t.executeGroup("hideGroup", { groupId: e }); + }, + onHeaderVisibilityChanged: C, + onWindowAdded: I, + onWindowRemoved: S, + onVisibilityChanged: E + }; + return { + groupAPI: W, + groupInternal: { + get windows() { + return r; + }, + addWindow: u, + removeWindow: l, + handleGroupHeaderVisibilityChanged: g, + handleGroupVisibilityChanged: y, + handleGroupHibernateChanged: w + } + }; + }, + uo = function (e, t) { + var n = zr(), + r = {}, + i = -1, + o = Qi.list; + function c() { + return d(e.my()); + } + function u(e) { + var t = Object.keys(r).map(function (e) { + if (r[e]) return r[e].groupAPI; + }); + return ("function" === typeof e && e(t), t); + } + function d(e, t, n) { + var i; + "string" === typeof e ? (i = e) : wn(e) || (i = e.id); + var o = Object.values(r).find(function (e) { + return e.groupAPI.windows.filter(function (e) { + return e.id === i; + }).length; + }); + if (o) + return ("function" === typeof t && t(o.groupAPI), o.groupAPI); + "function" === typeof n && + n("Cannot find the group of the window."); + } + function l(e) { + return e + ? new Promise(function (t, n) { + var i = r[e]; + if (i) t(i.groupAPI); + else + var o = m(function (n) { + n.id === e && (o(), t(n)); + }); + }) + : Promise.reject("groupId must be defined"); + } + function p(e, t) { + return h.apply(this, arguments); + } + function h() { + return (h = s( + a().mark(function e(t, n) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (wn(n) || kn(n)) { + e.next = 2; + break; + } + throw new Error( + "Activate flag must be a boolean!" + ); + case 2: + return ( + (n = !!wn(n) || n), + (e.next = 5), + oo.executeGroup("resumeGroup", { + groupId: t, + options: { activate: n } + }) + ); + case 5: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function f(e) { + return v.apply(this, arguments); + } + function v() { + return (v = s( + a().mark(function e(t) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + oo.executeGroup("hibernateGroup", { + groupId: t + }) + ); + case 2: + return e.abrupt("return", t); + case 3: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function m(e) { + return n.add("group-added", e); + } + function g(e) { + return n.add("group-removed", e); + } + function y(e) { + return n.add("window-moved", e); + } + function w(e) { + if (!e) throw new Error("Callback argument is required"); + if (e && "function" !== typeof e) + throw new Error("Callback argument must be a function"); + return n.add("group-hibernated", e); + } + function b(e) { + if (!e) throw new Error("Callback argument is required"); + if (e && "function" !== typeof e) + throw new Error("Callback argument must be a function"); + return n.add("group-resumed", e); + } + function k(t) { + if (r.hasOwnProperty(t)) return r[t]; + var i = co(t, e.executor); + r[t] = i; + var o = i.groupAPI; + return (n.execute("group-added", o), i); + } + function x(e) { + var t = e.groupAPI; + 0 === t.windows.length && + (delete r[t.id], n.execute("group-removed", t)); + } + function _(e, t) { + var n = k(e); + return (n.groupInternal.addWindow(t), n); + } + function C(e, t) { + e && (e.groupInternal.removeWindow(t), x(e)); + } + function I(e) { + var t = e.groupId, + n = e.windowId, + r = Qi.get(n); + if (r) { + var i = E(r.API); + wn(t) + ? C(i, r) + : !wn(i) || wn(t) + ? i.groupAPI.id !== t && S(r, i.groupAPI.id, t) + : _(t, r.API.id); + } + } + function S(e, t, i) { + var o = e.API.id, + a = r[t]; + C(a, e); + var s = _(i, o); + (e.Events.handleGroupChanged(s.groupAPI, a.groupAPI), + n.execute("window-moved", o, t, i)); + } + function E(e) { + var t; + return ( + "string" === typeof e ? (t = e) : wn(e) || (t = e.id), + Object.values(r).find(function (e) { + return e.groupInternal.windows.filter(function (e) { + return e === t; + }).length; + }) + ); + } + return ( + Object.keys(o).forEach(function (e) { + var t = o[e], + n = t.API.groupId, + r = t.API.id; + bn(n) || _(n, r); + }), + Qi.onRemoved(function (e) { + C(E(e.API), e); + }), + e.onCompositionChanged(function (e) { + I(e); + }), + e.onGroupHeaderVisibilityChanged(function (e) { + var t = d(e.windowId); + if ("undefined" !== typeof t) { + var n = r[t.id]; + (-1 === i && (i = t.windows.length), + 0 === --i && + ((i = -1), + n.groupInternal.handleGroupHeaderVisibilityChanged( + e + ))); + } + }), + e.onGroupVisibilityChanged(function (e) { + var t = r[e.groupId]; + t && t.groupInternal.handleGroupVisibilityChanged(e.visible); + }), + e.onGroupStateChanged(function (e) { + var t = r[e.groupId]; + "hibernated" === e.state + ? (t && + t.groupAPI && + t.groupInternal.handleGroupHibernateChanged(!0), + n.execute("group-hibernated", e.groupId)) + : "resumed" === e.state && + (t && + t.groupAPI && + t.groupInternal.handleGroupHibernateChanged(!1), + n.execute("group-resumed", t.groupAPI)); + }), + { + groupsAPI: { + get my() { + return c(); + }, + list: u, + findGroupByWindow: d, + waitForGroup: l, + onGroupAdded: m, + onGroupRemoved: g, + hibernate: f, + resume: p, + onHibernated: w, + onResumed: b + }, + groupsEvents: { onWindowMoved: y } + } + ); + }, + lo = function (e, t, n, r, i, o) { + var a, + s, + c = zr(), + u = t; + Qi.init(u); + var d = new Promise(function (t, c) { + so(e, u, n, r, i, o) + .then(function (n) { + ((s = n), (a = uo(n)), Ki.init(n.executor, e, u), t()); + }) + .catch(function (e) { + var t = + "Timed out waiting for connection to Glue42 Enterprise: Error: ".concat( + e.message + ); + (u.error(t, e), c(new Error(t))); + }); + }); + function l() { + return d; + } + function p() { + var e = Qi.getIfReady(s.my()); + return e ? e.API : void 0; + } + function h(e, t, n, r, i) { + return Xi.callbackifyPromise( + function () { + if (bn(e)) throw new Error("The window name is missing."); + if (bn(t)) throw new Error("The window URL is missing."); + if (!wn(n)) + for ( + var r = n, + i = 0, + o = [ + "minHeight", + "maxHeight", + "minWidth", + "maxWidth", + "width", + "height", + "top", + "left" + ]; + i < o.length; + i++ + ) { + var a = o[i]; + if (a in r) { + var c = r[a]; + if (wn(c)) { + delete r[a]; + continue; + } + if (!fn(c)) { + var u = "".concat(a, " must be a number"); + throw new Error(u); + } + if ( + ("width" === r[a] || "height" === r[a]) && + c <= 0 + ) { + var d = "".concat( + a, + " must be a positive number" + ); + throw new Error(d); + } + } + } + return s.open(e, t, n); + }, + r, + i + ); + } + function f(e, t, n) { + var r = Qi.list, + i = Object.keys(r).reduce(function (t, n) { + var i, + o = r[n]; + return ( + (null === + (i = null === o || void 0 === o ? void 0 : o.API) || + void 0 === i + ? void 0 + : i.name) === e && t.push(o.API), + t + ); + }, []); + if (i[0]) return ("function" === typeof t && t(i[0]), i[0]); + "function" === typeof n && n("There is no window with name:" + e); + } + function v(e, t, n) { + var r = Qi.list, + i = Object.keys(r).reduce(function (t, n) { + var i = r[n]; + return ( + "undefined" !== typeof i && + i.API.id === e && + t.push(i.API), + t + ); + }, []); + if (i[0]) return ("function" === typeof t && t(i[0]), i[0]); + "function" === typeof n && + n("There is no window with such id:" + e); + } + function m(e) { + var t = Qi.list, + n = Object.keys(t).map(function (e) { + return t[e].API; + }); + if ("function" !== typeof e) return n; + e(n); + } + function g(e) { + var t = p(), + n = t ? t.id : ""; + return oo.configure(n, e); + } + function y(e) { + return c.add("window-added", e); + } + function w(e) { + return c.add("window-removed", e); + } + function b(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.tabAttached(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function k(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.tabDetached(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function x(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.onWindowFrameColorChanged(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function _(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.onWindowGotFocus(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function C(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.onWindowLostFocus(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function I(e) { + var t, + n = !1; + return ( + d.then(function () { + n || (t = s.onEvent(e)); + }), + function () { + ((n = !0), t && t()); + } + ); + } + function S(e, t) { + return s.createFlydown(e, t); + } + function E(e, t) { + return s.showPopup(e, t); + } + function W(e) { + c.execute("window-added", e.API); + } + function T(e) { + c.execute("window-removed", e.API); + } + return ( + Qi.onReadyWindow(W), + Qi.onRemoved(T), + { + my: p, + open: h, + find: f, + findById: v, + list: m, + ready: l, + onWindowAdded: y, + windowAdded: y, + onWindowRemoved: w, + windowRemoved: w, + onTabAttached: b, + onTabDetached: k, + onWindowFrameColorChanged: x, + get groups() { + return a.groupsAPI; + }, + onWindowGotFocus: _, + onWindowLostFocus: C, + onEvent: I, + createFlydown: S, + showPopup: E, + configure: g + } + ); + }, + po = new ((function () { + function e() { + (v(this, e), (this.layouts = [])); + } + return ( + m(e, [ + { + key: "removeWhere", + value: function (e) { + this.layouts = this.layouts.filter(e); + } + }, + { + key: "removeAll", + value: function () { + this.layouts = []; + } + }, + { + key: "add", + value: function (e) { + this.layouts.push(e); + } + }, + { + key: "all", + get: function () { + return this.layouts; + } + }, + { + key: "where", + value: function (e) { + return this.layouts.filter(e); + } + }, + { + key: "first", + value: function (e) { + return this.where(e)[0]; + } + } + ]), + e + ); + })())(), + ho = "T42.HC.GetSaveContext", + fo = (function () { + function e(t, n, r, i) { + (v(this, e), + (this.config = t), + (this.activitiesGetter = n), + (this.callbacks = r), + (this.logger = i), + (this.interop = t.agm), + this.registerRequestMethods()); + } + return ( + m(e, [ + { + key: "onSaveRequested", + value: function (e) { + return this.callbacks.add("saveRequested", e); + } + }, + { + key: "isActivityOwner", + value: function () { + if ("undefined" !== typeof htmlContainer) { + var e = htmlContainer.getContext(); + return e && e._t42 && e._t42.activityIsOwner; + } + var t = this.activitiesGetter(); + if (!t) return !1; + if (!t.inActivity) return !1; + var n = t.my.window, + r = t.my.activity; + return !(!r && !n) && r.owner.id === n.id; + } + }, + { + key: "registerRequestMethods", + value: function () { + var e = this; + this.interop.register(ho, function (t) { + var n = e.callbacks.execute("saveRequested", t); + (null === n || void 0 === n ? void 0 : n.length) > + 1 && + e.logger.warn( + 'Multiple subscriptions for "glue.layouts.onSaveRequested" - only the first one will be used' + ); + var r = n[0], + i = e.config.autoSaveWindowContext; + if ("boolean" === typeof i && i) + return { autoSaveWindowContext: i }; + if (Array.isArray(i) && i.length > 0) + return { autoSaveWindowContext: i }; + var o = { + windowContext: + null === r || void 0 === r + ? void 0 + : r.windowContext, + activityContext: void 0 + }; + return ( + e.isActivityOwner() && + (o.activityContext = + null === r || void 0 === r + ? void 0 + : r.activityContext), + o + ); + }); + } + } + ]), + e + ); + })(); + function vo(e) { + if (!e) return e; + if (Array.isArray(e)) + return e.map(function (e) { + return vo(e); + }); + if ( + "string" === typeof e || + "number" === typeof e || + "boolean" === typeof e + ) + return e; + var t = {}; + return Object.keys(e).reduce(function (t, n) { + var r, + i = vo(e[n]), + o = n; + return ( + (null === (r = n[0]) || void 0 === r ? void 0 : r.toLowerCase()) !== + n[0] && (o = n[0].toLowerCase() + n.substr(1)), + (t[o] = i), + t + ); + }, t); + } + var mo = m(function e(t) { + (v(this, e), + (this.name = t.name), + (this.type = t.type), + (this.components = t.components), + (this.context = t.context), + (this.metadata = t.metadata), + (this.version = t.version), + (this.displays = t.displays)); + }), + go = "T42.ACS.Command", + yo = (function () { + function e(t, n, r, i) { + (v(this, e), + (this.config = t), + (this.stream = n), + (this.callbacks = r), + (this.isRegisterMethodForLayoutModified = !1), + (this.appManager = t.appManager), + (this.provider = new fo(t, t.activityGetter, r, i)), + n.subscribe()); + } + return ( + m(e, [ + { + key: "setDefaultGlobal", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = + "SelectDefaultLayout"), + (e.next = 3), + this.invokeMethodCore( + n, + { name: t } + ) + ); + case 3: + return e.abrupt("return"); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clearDefaultGlobal", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = + "DeselectDefaultLayout"), + this.invokeMethodCore( + t + ), + e.abrupt("return") + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getDefaultGlobal", + value: (function () { + var e = s( + a().mark(function e() { + var t, n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = + "GetDefaultLayout"), + (e.next = 3), + this.invokeMethodCore(t) + ); + case 3: + if ( + ((n = e.sent), + (r = n.returned)) + ) { + e.next = 7; + break; + } + return e.abrupt( + "return", + void 0 + ); + case 7: + if (!this.isSlimMode()) { + e.next = 9; + break; + } + return e.abrupt( + "return", + r + ); + case 9: + return e.abrupt( + "return", + this.list().find( + function (e) { + return ( + e.name === + r.name && + "Global" === + e.type + ); + } + ) + ); + case 10: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "ready", + value: function () { + return "fullWaitSnapshot" === this.config.mode + ? this.stream.gotSnapshot + : this.stream.ready; + } + }, + { + key: "save", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i, o; + if ((t.verifyNotSlimMode(), wn(e))) + return r(new Error("layout is required")); + if (bn(e.name)) + return r( + new Error( + "layout.name argument is required" + ) + ); + (bn(e.type) && (e.type = "Global"), + bn(e.activityId) || (e.type = "Activity")); + var a = { + name: e.name, + type: e.type, + context: + null !== (i = e.context) && void 0 !== i + ? i + : {}, + metadata: + null !== (o = e.metadata) && void 0 !== o + ? o + : {}, + options: {} + }; + if ("Activity" === e.type) { + var s = e.activityId; + if (!s) { + if (!t.appManager.myInstance.inActivity) + return r( + new Error( + "Current application is not in activity. Cannot save activity layout for it." + ) + ); + s = t.appManager.myInstance.activityId; + } + a.activityId = s; + } else { + if ("Global" !== e.type) + return r( + new Error( + "layout type ".concat( + e.type, + " is not supported" + ) + ) + ); + (Array.isArray(e.ignoreInstances) && + (a.options.ignoreInstances = + e.ignoreInstances), + Array.isArray(e.instances) && + (a.options.instances = e.instances)); + } + t.invokeMethodAndTrack("SaveLayout", a, n, r); + }); + } + }, + { + key: "restore", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i, o, a; + if ((t.verifyNotSlimMode(), wn(e))) + return r( + new Error("options argument is required") + ); + if (bn(e.name)) + return r( + new Error( + "options.name argument is required" + ) + ); + if ( + (bn(e.type) && (e.type = "Global"), + bn(e.activityIdToJoin) || (e.type = "Activity"), + "Activity" === e.type) + ) { + if ( + (wn(e.setActivityContext) && + (e.setActivityContext = !0), + "boolean" !== typeof e.setActivityContext) + ) + return r( + new Error( + "`setActivityContext` must hold a boolean value." + ) + ); + e.activityIdToJoin = + null !== (i = e.activityIdToJoin) && + void 0 !== i + ? i + : t.appManager.myInstance.activityId; + } + if ( + (wn(e.closeRunningInstance) || + (e.closeRunningInstances = + e.closeRunningInstance), + wn(e.closeRunningInstances) && + (e.closeRunningInstances = !0), + !kn(e.closeRunningInstances)) + ) + return r( + new Error( + "`closeRunningInstances` must hold a boolean value." + ) + ); + if ( + (wn(e.closeMe) && + (e.closeMe = e.closeRunningInstances), + !kn(e.closeMe)) + ) + return r( + new Error( + "`closeMe` must hold a boolean value." + ) + ); + if (!wn(e.context) && !mn(e.context)) + return r( + new Error( + "`context` must hold an object value." + ) + ); + if (!wn(e.timeout) && "number" !== typeof e.timeout) + return r( + new Error( + "`timeout` must hold an number value." + ) + ); + e.context = + null !== (o = e.context) && void 0 !== o + ? o + : {}; + var s = { + activityToJoin: e.activityIdToJoin, + setActivityContext: e.setActivityContext, + ignoreActivityWindowTypes: + e.ignoreActivityWindowTypes, + reuseExistingWindows: e.reuseWindows, + closeRunningInstances: + e.closeRunningInstances, + excludeFromClosing: e.closeMe + ? [] + : [ + null === + (a = + t.appManager + .myInstance) || + void 0 === a + ? void 0 + : a.id + ] + }, + c = { + type: e.type, + name: e.name, + context: e.context, + options: s + }; + (e.timeout && (c.timeout = e.timeout), + t.invokeMethodAndTrack( + "RestoreLayout", + c, + n, + r, + !0 + )); + }); + } + }, + { + key: "remove", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + if ((n.verifyNotSlimMode(), !t)) + return i( + new Error("name argument is required") + ); + if (!e) + return i( + new Error("type argument is required") + ); + var o = { type: e, name: t }; + n.invokeMethodAndTrack("RemoveLayout", o, r, i); + }); + } + }, + { + key: "list", + value: function () { + return (this.verifyNotSlimMode(), po.all); + } + }, + { + key: "import", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + if ( + (n.verifyNotSlimMode(), + !wn(t) && "merge" !== t && "replace" !== t) + ) + return i( + new Error( + "".concat( + t, + ' is not supported - only "merge" and "replace"' + ) + ) + ); + if (!Array.isArray(e)) + return i( + new Error( + "layouts arguments is not an array" + ) + ); + var o = { mode: t || "replace", layouts: e }; + n.invokeMethodAndTrack( + "ImportLayouts", + o, + r, + i, + !0 + ); + }); + } + }, + { + key: "export", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i = function (r) { + var i = t + .getObjectValues(r.Layouts) + .map(function (e) { + return new mo(vo(e)); + }); + (e && + (i = i.filter(function (t) { + return t.type === e; + })), + n(i)); + }; + t.invokeMethodAndTrack( + "ExportLayouts", + {}, + i, + r, + !0 + ); + }); + } + }, + { + key: "rename", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + if ((n.verifyNotSlimMode(), !e)) + return i( + new Error("layout argument is required") + ); + if (!e.name) + return i( + new Error("name argument is required") + ); + if (!e.type) + return i( + new Error("type argument is required") + ); + var o = { + type: e.type, + oldName: e.name, + newName: t + }; + n.invokeMethodAndTrack("RenameLayout", o, r, i); + }); + } + }, + { + key: "updateMetadata", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + if (!e) + return r( + new Error("layout argument is required") + ); + if (!e.name) + return r( + new Error("name argument is required") + ); + if (!e.type) + return r( + new Error("type argument is required") + ); + if (!e.metadata) + return r( + new Error("metadata argument is required") + ); + var i = { + name: e.name, + type: e.type, + metadata: e.metadata + }; + t.invokeMethodAndTrack( + "UpdateMetadata", + i, + n, + r, + !0 + ); + }); + } + }, + { + key: "hibernate", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + if (!e) return i(new Error("name cannot be empty")); + var o = { + name: e, + type: "Global", + context: (t = t || {}).context || {}, + metadata: t.metadata || {} + }; + n.invokeMethodAndTrack( + "HibernateLayout", + o, + r, + i, + !0 + ); + }); + } + }, + { + key: "resume", + value: function (e, t, n) { + var r = this; + return new Promise(function (i, o) { + if (!e) return o(new Error("name cannot be empty")); + var a = c( + { name: e, type: "Global", context: t }, + n + ); + r.invokeMethodAndTrack("ResumeLayout", a, i, o, !0); + }); + } + }, + { + key: "getCurrentLayout", + value: (function () { + var e = s( + a().mark(function e() { + var t, n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = + "GetCurrentLayout"), + (e.next = 3), + this.invokeMethodCore(t) + ); + case 3: + if ( + ((n = e.sent), + (r = n.returned.layout)) + ) { + e.next = 7; + break; + } + return e.abrupt( + "return", + void 0 + ); + case 7: + return ( + this.isSlimMode() || + (r = + this.list().find( + function ( + e + ) { + return ( + e.name === + r.name && + e.type === + r.type + ); + } + )), + e.abrupt("return", r) + ); + case 9: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "onAdded", + value: function (e) { + var t = this.callbacks.add("added", e); + return ( + po.all.length > 0 && + po.all.forEach(function (t) { + try { + e(t); + } catch (n) {} + }), + t + ); + } + }, + { + key: "onRemoved", + value: function (e) { + return this.callbacks.add("removed", e); + } + }, + { + key: "onChanged", + value: function (e) { + return this.callbacks.add("changed", e); + } + }, + { + key: "onRestored", + value: function (e) { + return this.callbacks.add("restored", e); + } + }, + { + key: "onRenamed", + value: function (e) { + return this.callbacks.add("renamed", e); + } + }, + { + key: "onEvent", + value: function (e) { + return this.stream.onEvent(e); + } + }, + { + key: "onSaveRequested", + value: function (e) { + return this.provider.onSaveRequested(e); + } + }, + { + key: "onLayoutModified", + value: function (e) { + return ( + !1 === this.isRegisterMethodForLayoutModified && + ((this.isRegisterMethodForLayoutModified = !0), + this.registerMethodForLayoutModified()), + this.callbacks.add("layout-modified", e) + ); + } + }, + { + key: "updateAppContextInCurrent", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + if (e && "object" !== typeof e) + return r( + new Error("context must be an object") + ); + var i = { + context: (e = + null !== e && void 0 !== e ? e : {}) + }; + t.invokeMethodAndTrack( + "UpdateLayoutComponentContext", + i, + n, + r, + !0 + ); + }); + } + }, + { + key: "updateDefaultContext", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + if (e && "object" !== typeof e) + return r( + new Error("context must be an object") + ); + var i = { + context: (e = + null !== e && void 0 !== e ? e : {}) + }; + t.invokeMethodAndTrack( + "UpdateDefaultContext", + i, + n, + r, + !0 + ); + }); + } + }, + { + key: "get", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + (r = this.list().find( + function (e) { + return ( + e.name === + t && + e.type === n + ); + } + )) + ) { + e.next = 3; + break; + } + throw new Error( + "cannot find layout with name=" + .concat( + t, + " and type=" + ) + .concat(n) + ); + case 3: + return e.abrupt( + "return", + r + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getAll", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = this.list().filter( + function (e) { + return ( + t === e.type + ); + } + )), + e.abrupt("return", n) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "forceRefresh", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = "RefreshLayouts"), + (e.next = 3), + this.invokeMethodCore(t) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "isSlimMode", + value: function () { + return "slim" === this.config.mode; + } + }, + { + key: "verifyNotSlimMode", + value: function () { + if (this.isSlimMode()) + throw Error( + "Operation not allowed in slim mode. Run in full mode." + ); + } + }, + { + key: "registerMethodForLayoutModified", + value: (function () { + var e = s( + a().mark(function e() { + var t = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.config.agm.register( + "T42.ACS.LayoutModified", + function (e, n) { + t.callbacks.execute( + "layout-modified", + e + ); + } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "invokeMethodAndTrack", + value: function (e, t, n, r, i) { + var o, + a = i, + s = Vi(); + t.token = s; + var c = function () { + a && o && n(o); + }, + u = 12e4; + i || + this.stream + .waitFor(s, u) + .then(function () { + ((a = !0), c()); + }) + .catch(function (e) { + r(e); + }); + var d = function (t) { + if (!t.returned) + return r( + new Error("No result from method " + e) + ); + if ( + t.returned.status && + "Success" !== t.returned.status && + "PartialSuccess" !== t.returned.status + ) { + if ("string" === typeof t.returned) + return r(new Error(t.returned)); + if ("object" === typeof t.returned) + return t.returned.status && + t.returned.failed + ? r( + new Error( + "" + .concat( + t.returned.status, + ": " + ) + .concat( + JSON.stringify( + t.returned.failed + ) + ) + ) + ) + : r(new Error(t.returned)); + } + ((o = t.returned), c()); + }; + this.invokeMethodCore(e, t, "best", { + methodResponseTimeoutMs: u + }) + .then(d) + .catch(function (e) { + return r(e); + }); + } + }, + { + key: "invokeMethodCore", + value: (function () { + var e = s( + a().mark(function e(t, n, r, i) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + !this.isCommandMethodPresent() + ) { + e.next = 6; + break; + } + return ( + (e.next = 3), + this.config.agm.invoke( + go, + { + command: t, + data: n + }, + r, + i + ) + ); + case 3: + case 8: + return e.abrupt( + "return", + e.sent + ); + case 6: + return ( + (e.next = 8), + this.config.agm.invoke( + "T42.ACS.".concat( + t + ), + n, + r, + i + ) + ); + case 9: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r, i) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getObjectValues", + value: function (e) { + return e + ? Object.keys(e).map(function (t) { + return e[t]; + }) + : []; + } + }, + { + key: "isCommandMethodPresent", + value: function () { + return this.config.agm.methods().some(function (e) { + return e.name === go; + }); + } + } + ]), + e + ); + })(), + wo = (function () { + function e(t, n) { + var r = this; + (v(this, e), + (this.agm = t), + (this.callbacks = n), + (this.StreamName = "T42.ACS.OnLayoutEvent"), + (this.ready = new Promise(function (e, t) { + ((r.resolveReady = e), (r.rejectReady = t)); + })), + (this.gotSnapshot = new Promise(function (e, t) { + ((r.resolveGotSnapshot = e), (r.rejectGotSnapshot = t)); + }))); + } + return ( + m(e, [ + { + key: "subscribe", + value: function (e) { + var t = this, + n = function (e) { + return t.getObjectValues(e).map(function (e) { + return vo(e); + }); + }; + this.checkForLayoutEventMethod() + ? this.agm + .subscribe(this.StreamName, { + waitTimeoutMs: 1e4 + }) + .then(function (e) { + (e.onData(function (e) { + var r = e.data; + (r.IsSnapshot && + t.resolveGotSnapshot(), + t.addLayouts( + n(r.OnLayoutAdded), + r.IsSnapshot + ), + t.removeLayouts( + n(r.OnLayoutRemoved) + ), + t.changeLayouts( + n(r.OnLayoutChanged) + ), + t.renameLayouts( + n(r.OnLayoutRenamed) + ), + t.restoredLayout( + n(r.OnLayoutRestored) + ), + t.callbacks.execute( + "streamEvent", + r + )); + }), + e.onFailed(function (e) { + var n = 'Can not subscribe to "' + .concat( + t.StreamName, + '" stream - ' + ) + .concat(JSON.stringify(e)); + (t.rejectReady(n), + t.rejectGotSnapshot(n)); + }), + t.resolveReady()); + }) + .catch(function (e) { + var n = 'Error subscribing to "' + .concat(t.StreamName, '" stream - ') + .concat(JSON.stringify(e)); + (t.rejectReady(n), + t.rejectGotSnapshot(n)); + }) + : (e && this.resolveReady(), + setTimeout(function () { + t.subscribe(!0); + }, 500)); + } + }, + { + key: "onEvent", + value: function (e) { + return this.callbacks.add("streamEvent", e); + } + }, + { + key: "waitFor", + value: function (e, t) { + var n = this; + return ( + t || (t = 3e4), + new Promise(function (r, i) { + var o = !1, + a = n.onEvent(function (t) { + t.Token === e && ((o = !0), a(), r()); + }); + setTimeout(function () { + o || i("timed out"); + }, t); + }) + ); + } + }, + { + key: "checkForLayoutEventMethod", + value: function () { + try { + return ( + -1 !== + this.agm + .methods() + .map(function (e) { + return e.name; + }) + .indexOf(this.StreamName) + ); + } catch (e) { + return !1; + } + } + }, + { + key: "addLayouts", + value: function (e, t) { + var n = this; + if (e) { + var r = function (e) { + var t = new mo(e); + (po.add(t), n.callbacks.execute("added", t)); + }; + e.forEach(function (e) { + (t && + po.first(function (t) { + return n.compareLayouts(t, e); + })) || + r(e); + }); + } + } + }, + { + key: "removeLayouts", + value: function (e) { + var t = this; + e && + e.forEach(function (e) { + (po.removeWhere(function (n) { + return !t.compareLayouts(n, e); + }), + t.callbacks.execute("removed", e)); + }); + } + }, + { + key: "changeLayouts", + value: function (e) { + var t = this; + e && + e.forEach(function (e) { + (po.removeWhere(function (n) { + return !t.compareLayouts(n, e); + }), + po.add(new mo(e)), + t.callbacks.execute("changed", e)); + }); + } + }, + { + key: "renameLayouts", + value: function (e) { + var t = this; + e && + e.forEach(function (e) { + var n = po.first(function (n) { + return t.compareLayouts(n, { + type: e.type, + name: e.oldName + }); + }); + if (!n) + throw Error( + "received rename event for unknown layout with type " + .concat(e.type, " and name ") + .concat(e.oldName) + ); + ((n.name = e.newName), + t.callbacks.execute("renamed", n)); + }); + } + }, + { + key: "compareLayouts", + value: function (e, t) { + return e.name === t.name && e.type === t.type; + } + }, + { + key: "getObjectValues", + value: function (e) { + return e + ? Object.keys(e).map(function (t) { + return e[t]; + }) + : []; + } + }, + { + key: "restoredLayout", + value: function (e) { + var t = this; + e && + e.forEach(function (e) { + var n = po.first(function (n) { + return t.compareLayouts(n, { + type: e.type, + name: e.name + }); + }); + t.callbacks.execute("restored", n); + }); + } + } + ]), + e + ); + })(); + function bo(e) { + if (!e.agm) throw Error("config.agm is required"); + if (!e.logger) throw Error("config.logger is required"); + e.mode = e.mode || "slim"; + var t, + n = e.logger, + r = zr(); + return (e.mode, (t = new wo(e.agm, r)), new yo(e, t, r, n)); + } + var ko, + xo, + _o, + Co = "T42.Displays.Command", + Io = "T42.Displays.OnEvent", + So = (function () { + function e(t, n) { + var r = this; + (v(this, e), + (this._agm = t), + (this._logger = n), + (this._registry = zr()), + (this._registered = !1), + (this.all = s( + a().mark(function e() { + var t; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r.callGD(ko.GetAll, {}) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.map(r.decorateDisplay) + ) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )), + (this.get = (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r.callGD(ko.Get, { id: t }) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + r.decorateDisplay(n) + ) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (this.getPrimary = s( + a().mark(function e() { + var t; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ((e.next = 2), r.all()); + case 2: + return ( + (t = e.sent.find(function (e) { + return e.isPrimary; + })), + e.abrupt("return", t) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )), + (this.capture = (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r.callGD(ko.Capture, c({}, t)) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (this.captureAll = (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r.callGD( + ko.CaptureAll, + c({}, t) + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })()), + (this.getMousePosition = s( + a().mark(function e() { + var t; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r.callGD(ko.GetMousePosition) + ); + case 2: + return ( + (t = e.sent), + e.abrupt("return", t) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )), + (this.callGD = (function () { + var e = s( + a().mark(function e(t, n) { + var i; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + r._agm.invoke(Co, { + options: c({}, n), + command: t + }) + ); + case 2: + return ( + (i = e.sent), + e.abrupt( + "return", + i.returned.data + ) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })()), + (this.decorateDisplay = function (e) { + var t = c( + c({}, e), + {}, + { + capture: function (t) { + return r.capture({ id: e.id, size: t }); + } + } + ), + n = t.workArea; + return ((n.x = n.left), (n.y = t.workArea.top), t); + })); + } + return ( + m(e, [ + { + key: "getByWindowId", + value: function (e) { + return this.callGD(ko.GetByWindowId, { id: e }); + } + }, + { + key: "onDisplayChanged", + value: function (e) { + return ( + this.register(), + this._registry.add("on-display-changed", e) + ); + } + }, + { + key: "register", + value: function () { + var e = this; + this._registered || + ((this._registered = !0), + this._agm.register(Io, function (t, n) { + var r = t.event, + i = t.data; + "display-changed" === r + ? e._registry.execute( + "on-display-changed", + i.displays.map(e.decorateDisplay) + ) + : e._logger.warn( + "unknown event - ".concat(r) + ); + })); + } + } + ]), + e + ); + })(); + !(function (e) { + ((e.Capture = "capture"), + (e.CaptureAll = "captureAll"), + (e.GetAll = "getAll"), + (e.Get = "get"), + (e.GetByWindowId = "getByWindowId"), + (e.GetMousePosition = "getMousePosition")); + })(ko || (ko = {})); + var Eo = "T42.Channels.Announce"; + function Wo(e, t) { + return To.apply(this, arguments); + } + function To() { + return (To = s( + a().mark(function e(t, n) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((xo = t), + "undefined" !== typeof window && + window.glue42gd && + (_o = window.glue42gd.windowId), + _o) + ) { + e.next = 4; + break; + } + return e.abrupt("return"); + case 4: + return ( + (e.next = 6), + xo.register( + "T42.Channels.Command", + function (e) { + var t = e.command; + if (!t) + throw new Error( + "missing command argument" + ); + if ("join" !== t) { + if ("leave" !== t) { + if ("get" === t) + return { id: n.current() }; + throw new Error( + "unknown command ".concat(t) + ); + } + n.leaveNoSelectorSwitch(); + } else { + var r = e.channel; + if (!r) + throw new Error( + "missing argument id" + ); + n.joinNoSelectorSwitch(r); + } + } + ) + ); + case 6: + return ( + (e.next = 8), + xo.invoke("T42.Channels.Announce", { + swId: _o, + instance: xo.instance.instance + }) + ); + case 8: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Ao(e, t) { + return Po.apply(this, arguments); + } + function Po() { + return (Po = s( + a().mark(function e(t, n) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + xo.invoke("T42.Channels.Announce", { + swId: null !== n && void 0 !== n ? n : _o, + command: "switchChannel", + data: { newChannel: t } + }); + case 1: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Mo(e) { + return Ro.apply(this, arguments); + } + function Ro() { + return (Ro = s( + a().mark(function e(t) { + var n; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + xo.invoke(Eo, { + command: "getChannelsInfo", + data: { filter: t } + }) + ); + case 2: + return ( + (n = e.sent), + e.abrupt("return", n.returned) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + function Oo(e, t, n) { + return Do.apply(this, arguments); + } + function Do() { + return (Do = s( + a().mark(function e(t, n, r) { + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + xo.invoke(Eo, { + command: t, + data: { id: n, color: r } + }) + ); + case 2: + case "end": + return e.stop(); + } + }, e); + }) + )).apply(this, arguments); + } + var Lo = "___channel___", + Bo = "latest_fdc3_type", + No = (function () { + function e(t) { + (v(this, e), (this.contexts = t)); + } + return ( + m(e, [ + { + key: "subscribe", + value: function (e) { + this.callback = e; + } + }, + { + key: "subscribeFor", + value: function (e, t) { + if (!this.isChannel(e)) + return Promise.reject( + new Error( + "Channel with name: ".concat( + e, + " doesn't exist!" + ) + ) + ); + var n = this.createContextName(e); + return this.contexts.subscribe( + n, + function (e, n, r, i, o) { + t( + e.data, + e, + null === o || void 0 === o + ? void 0 + : o.updaterId + ); + } + ); + } + }, + { + key: "switchChannel", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.unsubscribe(), + (n = + this.createContextName( + t + )), + (e.next = 4), + this.contexts.subscribe( + n, + function ( + e, + t, + n, + i, + o + ) { + r.callback && + r.callback( + e.data, + e, + null === + o || + void 0 === + o + ? void 0 + : o.updaterId + ); + } + ) + ); + case 4: + this.unsubscribeFunc = + e.sent; + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "leave", + value: function () { + (this.callback && this.callback({}, void 0), + this.unsubscribe()); + } + }, + { + key: "all", + value: function () { + return this.contexts + .all() + .filter(function (e) { + return e.startsWith(Lo); + }) + .map(function (e) { + return e.substr(Lo.length); + }); + } + }, + { + key: "getContextData", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, i, o; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (this.isChannel(t)) { + e.next = 2; + break; + } + throw new Error( + "A channel with name: ".concat( + t, + " doesn't exist!" + ) + ); + case 2: + return ( + (n = + this.createContextName( + t + )), + (e.next = 5), + this.contexts.get(n) + ); + case 5: + if (!(i = e.sent)[Bo]) { + e.next = 9; + break; + } + return ( + i.latest_fdc3_type, + (o = r(i, g)), + e.abrupt("return", o) + ); + case 9: + return e.abrupt( + "return", + i + ); + case 10: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "updateChannel", + value: function (e, t) { + var n = this.createContextName(e); + return this.contexts.update(n, t); + } + }, + { + key: "updateData", + value: function (e, t) { + var n = this.createContextName(e), + r = this.getFDC3Type(t); + if (this.contexts.setPathSupported) { + var i = Object.keys(t).map(function (e) { + return { path: "data." + e, value: t[e] }; + }); + return ( + r && i.push({ path: Bo, value: r }), + this.contexts.setPaths(n, i) + ); + } + return ( + r && (t[Bo] = r), + this.contexts.update(n, { data: t }) + ); + } + }, + { + key: "isChannel", + value: function (e) { + return this.all().some(function (t) { + return t === e; + }); + } + }, + { + key: "remove", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (this.isChannel(t)) { + e.next = 2; + break; + } + throw new Error( + "A channel with name: ".concat( + t, + " doesn't exist!" + ) + ); + case 2: + return ( + (n = + this.createContextName( + t + )), + (e.next = 5), + this.contexts.destroy(n) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "unsubscribe", + value: function () { + this.unsubscribeFunc && this.unsubscribeFunc(); + } + }, + { + key: "createContextName", + value: function (e) { + return Lo + e; + } + }, + { + key: "getFDC3Type", + value: function (e) { + var t = Object.keys(e).filter(function (e) { + return 0 === e.indexOf("fdc3_"); + }); + if (0 !== t.length) { + if (t.length > 1) + throw new Error( + "FDC3 does not support updating of multiple context keys" + ); + return t[0].split("_").slice(1).join("_"); + } + } + } + ]), + e + ); + })(), + Fo = (function () { + function e(t, n, r, i) { + (v(this, e), + (this.shared = t), + (this.interop = n), + (this.getWindows = r), + (this.logger = i), + (this.subsKey = "subs"), + (this.changedKey = "changed"), + (this.isInitialJoin = !0), + (this.registry = zr()), + (this.pendingReplays = {}), + this.shared.subscribe(this.handler.bind(this)), + "undefined" !== typeof window && + "undefined" !== typeof window.glue42gd && + ((this.currentContext = window.glue42gd.initialChannel), + this.currentContext && + this.joinNoSelectorSwitch(this.currentContext))); + } + return ( + m(e, [ + { + key: "subscribe", + value: function (e) { + var t = this; + if ("function" !== typeof e) + throw new Error( + "Please provide the callback as a function!" + ); + var n = Vi(); + if (((this.pendingReplays[n] = !0), this.lastUpdate)) { + var r = Object.assign({}, this.lastUpdate); + setTimeout(function () { + (t.pendingReplays[n] && + (t.lastUpdate && (r = t.lastUpdate), + e(r.context.data, r.context, r.updaterId)), + delete t.pendingReplays[n]); + }, 0); + } + var i = this.registry.add(this.subsKey, e); + return function () { + ((t.pendingReplays[n] = !1), i()); + }; + } + }, + { + key: "subscribeFor", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("string" === typeof t) { + e.next = 2; + break; + } + throw new Error( + "Please provide the name as a string!" + ); + case 2: + if ( + "function" === typeof n + ) { + e.next = 4; + break; + } + throw new Error( + "Please provide the callback as a function!" + ); + case 4: + return ( + (e.next = 6), + this.shared.subscribeFor( + t, + n + ) + ); + case 6: + return ( + (r = e.sent), + e.abrupt("return", r) + ); + case 8: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "publish", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("object" === typeof t) { + e.next = 2; + break; + } + throw new Error( + "Please provide the data as an object!" + ); + case 2: + if (!n) { + e.next = 8; + break; + } + if ("string" === typeof n) { + e.next = 5; + break; + } + throw new Error( + "Please provide the name as a string!" + ); + case 5: + if ( + this.shared.isChannel(n) + ) { + e.next = 7; + break; + } + return e.abrupt( + "return", + Promise.reject( + new Error( + "A channel with name: ".concat( + n, + " doesn't exist!" + ) + ) + ) + ); + case 7: + return e.abrupt( + "return", + this.shared.updateData( + n, + t + ) + ); + case 8: + if (this.currentContext) { + e.next = 10; + break; + } + throw new Error( + "Not joined to any channel!" + ); + case 10: + return e.abrupt( + "return", + this.shared.updateData( + this.currentContext, + t + ) + ); + case 11: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "all", + value: function () { + var e = this.shared.all(); + return Promise.resolve(e); + } + }, + { + key: "list", + value: (function () { + var e = s( + a().mark(function e() { + var t, + n, + r = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.all() + ); + case 2: + return ( + (t = e.sent), + (e.next = 5), + Promise.all( + t.map(function (e) { + return r.get(e); + }) + ) + ); + case 5: + return ( + (n = e.sent), + e.abrupt("return", n) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "get", + value: function (e) { + return "string" !== typeof e + ? Promise.reject( + new Error( + "Please provide the channel name as a string!" + ) + ) + : this.shared.getContextData(e); + } + }, + { + key: "getMy", + value: function () { + return this.currentContext + ? this.get(this.currentContext) + : Promise.resolve(void 0); + } + }, + { + key: "join", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!n) { + e.next = 2; + break; + } + return e.abrupt( + "return", + Ao(t, n) + ); + case 2: + return e.abrupt( + "return", + this.joinCore(t) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "joinNoSelectorSwitch", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this.joinCore(t, !1) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "leave", + value: function (e) { + return e ? Ao(void 0, e) : this.leaveCore(); + } + }, + { + key: "leaveNoSelectorSwitch", + value: function () { + return this.leaveCore(!1); + } + }, + { + key: "current", + value: function () { + return this.currentContext; + } + }, + { + key: "my", + value: function () { + return this.current(); + } + }, + { + key: "changed", + value: function (e) { + var t = this; + if ("function" !== typeof e) + throw new Error( + "Please provide the callback as a function!" + ); + return ( + this.current() && + setTimeout(function () { + e(t.current()); + }, 0), + this.registry.add(this.changedKey, e) + ); + } + }, + { + key: "onChanged", + value: function (e) { + return this.changed(e); + } + }, + { + key: "add", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("object" === typeof t) { + e.next = 2; + break; + } + throw new Error( + "Please provide the info as an object!" + ); + case 2: + if ( + "undefined" !== + typeof t.name + ) { + e.next = 4; + break; + } + throw new Error( + "info.name is missing!" + ); + case 4: + if ( + "string" === + typeof t.name + ) { + e.next = 6; + break; + } + throw new Error( + "Please provide the info.name as a string!" + ); + case 6: + if ( + "undefined" !== + typeof t.meta + ) { + e.next = 8; + break; + } + throw new Error( + "info.meta is missing!" + ); + case 8: + if ( + "object" === + typeof t.meta + ) { + e.next = 10; + break; + } + throw new Error( + "Please provide the info.meta as an object!" + ); + case 10: + if ( + "undefined" !== + typeof t.meta.color + ) { + e.next = 12; + break; + } + throw new Error( + "info.meta.color is missing!" + ); + case 12: + if ( + "string" === + typeof t.meta.color + ) { + e.next = 14; + break; + } + throw new Error( + "Please provide the info.meta.color as a string!" + ); + case 14: + return ( + (n = { + name: t.name, + meta: t.meta || {}, + data: t.data || {} + }), + (e.next = 17), + this.shared.updateChannel( + t.name, + n + ) + ); + case 17: + return ( + (e.next = 19), + Oo( + "addChannel", + t.name, + t.meta.color + ) + ); + case 19: + return e.abrupt( + "return", + n + ); + case 20: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "remove", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("string" === typeof t) { + e.next = 2; + break; + } + throw new Error( + "Please provide the channel name as a string!" + ); + case 2: + return ( + (e.next = 4), + this.shared.remove(t) + ); + case 4: + return ( + (e.next = 6), + Oo("removeChannel", t) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getWindowsOnChannel", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ("string" === typeof t) { + e.next = 2; + break; + } + throw new Error( + "Please provide the channel name as a string!" + ); + case 2: + return ( + (e.next = 4), + this.getWindowsWithChannels( + { channels: [t] } + ) + ); + case 4: + return ( + (n = e.sent), + e.abrupt( + "return", + n.map(function (e) { + return e.window; + }) + ) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getWindowsWithChannels", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (e.next = 3), + Mo(t) + ); + case 3: + if ( + ((n = e.sent), + (r = this.getWindows()), + !(null === n || + void 0 === n + ? void 0 + : n.windows)) + ) { + e.next = 7; + break; + } + return e.abrupt( + "return", + n.windows.map( + function (e) { + return { + window: r.findById( + e.windowId + ), + channel: + e.channel, + application: + e.application + }; + } + ) + ); + case 7: + e.next = 12; + break; + case 9: + ((e.prev = 9), + (e.t0 = e.catch(0)), + this.logger.error( + "Error getting all channel enabled windows. This method is available since Glue42 3.12", + e.t0 + )); + case 12: + return e.abrupt( + "return", + [] + ); + case 13: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 9]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "handler", + value: function (e, t, n) { + t || n + ? ((this.lastUpdate = { context: t, updaterId: n }), + (this.pendingReplays = {}), + this.registry.execute(this.subsKey, e, t, n)) + : (this.lastUpdate = void 0); + } + }, + { + key: "joinCore", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r, + i, + o = this, + s = arguments; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = + !( + s.length > 1 && + void 0 !== s[1] + ) || s[1]), + "string" === typeof t) + ) { + e.next = 3; + break; + } + throw new Error( + "Please provide the channel name as a string!" + ); + case 3: + if ( + this.isInitialJoin || + t !== + this.currentContext + ) { + e.next = 5; + break; + } + return e.abrupt("return"); + case 5: + if ( + ((this.isInitialJoin = + !1), + (r = function (e) { + return o.shared + .all() + .includes(e); + })(t)) + ) { + e.next = 11; + break; + } + return ( + (i = new Promise( + function (e, n) { + var i = + setInterval( + function () { + r( + t + ) && + (clearTimeout( + o + ), + clearInterval( + i + ), + e()); + }, + 100 + ), + o = + setTimeout( + function () { + return ( + clearInterval( + i + ), + n( + new Error( + "A channel with name: ".concat( + t, + " doesn't exist!" + ) + ) + ) + ); + }, + 3e3 + ); + } + )), + (e.next = 11), + i + ); + case 11: + return ( + (this.currentContext = + t), + (this.lastUpdate = + void 0), + (e.next = 15), + this.shared.switchChannel( + t + ) + ); + case 15: + (n && Ao(t), + this.registry.execute( + this.changedKey, + t + )); + case 17: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "leaveCore", + value: function () { + var e = + !( + arguments.length > 0 && void 0 !== arguments[0] + ) || arguments[0]; + return ( + (this.currentContext = void 0), + this.registry.execute(this.changedKey, void 0), + this.shared.leave(), + e && Ao(), + Promise.resolve() + ); + } + } + ]), + e + ); + })(); + function jo(e, t, n, r) { + var i = new No(e), + o = new Fo(i, t, n, r), + c = Wo(t, o); + return { + subscribe: o.subscribe.bind(o), + subscribeFor: o.subscribeFor.bind(o), + publish: o.publish.bind(o), + all: o.all.bind(o), + list: o.list.bind(o), + get: o.get.bind(o), + join: o.join.bind(o), + leave: o.leave.bind(o), + current: o.current.bind(o), + my: o.my.bind(o), + changed: o.changed.bind(o), + onChanged: o.onChanged.bind(o), + add: o.add.bind(o), + remove: o.remove.bind(o), + getWindowsOnChannel: o.getWindowsOnChannel.bind(o), + getWindowsWithChannels: o.getWindowsWithChannels.bind(o), + getMy: o.getMy.bind(o), + ready: (function () { + var t = s( + a().mark(function t() { + return a().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Promise.all([e.ready(), c]) + ); + case 2: + case "end": + return t.stop(); + } + }, t); + }) + ); + function n() { + return t.apply(this, arguments); + } + return n; + })() + }; + } + var Ho = "T42.Hotkeys.Command", + zo = "T42.Hotkeys.Invoke", + qo = "register", + Go = "unregister", + Uo = "unregisterAll", + Vo = (function () { + function e(t) { + (v(this, e), + (this.agm = t), + (this.registry = zr()), + (this.firstHotkey = !0), + (this.hotkeys = new Map())); + } + return ( + m(e, [ + { + key: "register", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + "undefined" !== typeof t + ) { + e.next = 2; + break; + } + throw new Error( + "Hotkey parameter missing" + ); + case 2: + if ("string" !== typeof t) { + e.next = 6; + break; + } + ((t = { hotkey: t }), + (e.next = 9)); + break; + case 6: + if (t.hotkey) { + e.next = 8; + break; + } + throw new Error( + "Info's hotkey parameter missing" + ); + case 8: + t = { + hotkey: t.hotkey, + description: + t.description + }; + case 9: + if ( + ((r = this.formatHotkey( + t.hotkey + )), + !this.hotkeys.has(r)) + ) { + e.next = 12; + break; + } + throw new Error( + "Shortcut for ".concat( + r, + " already registered" + ) + ); + case 12: + if (!this.firstHotkey) { + e.next = 16; + break; + } + return ( + (this.firstHotkey = !1), + (e.next = 16), + this.registerInvokeAGMMethod() + ); + case 16: + return ( + this.registry.add(r, n), + (e.next = 19), + this.agm.invoke(Ho, { + command: qo, + hotkey: r, + description: + t.description + }) + ); + case 19: + this.hotkeys.set(r, t); + case 20: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "unregister", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + "undefined" !== typeof t + ) { + e.next = 2; + break; + } + throw new Error( + "hotkey parameter missing" + ); + case 2: + if ("string" === typeof t) { + e.next = 4; + break; + } + throw new Error( + "hotkey parameter must be string" + ); + case 4: + return ( + (n = + this.formatHotkey( + t + )), + (e.next = 7), + this.agm.invoke(Ho, { + command: Go, + hotkey: n + }) + ); + case 7: + (this.hotkeys.delete(n), + this.registry.clearKey( + n + )); + case 9: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "unregisterAll", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.agm.invoke(Ho, { + command: Uo + }) + ); + case 2: + (this.hotkeys.clear(), + this.registry.clear()); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "isRegistered", + value: function (e) { + var t = this.formatHotkey(e); + return this.hotkeys.has(t); + } + }, + { + key: "registerInvokeAGMMethod", + value: function () { + var e = this; + return this.agm.register(zo, function (t) { + var n = t.key.toLowerCase(), + r = e.hotkeys.get(n); + e.registry.execute(n, r); + }); + } + }, + { + key: "formatHotkey", + value: function (e) { + if (e) return e.replace(/\s/g, "").toLowerCase(); + } + } + ]), + e + ); + })(); + function $o(e) { + var t = new Vo(e); + return { + register: t.register.bind(t), + unregister: t.unregister.bind(t), + unregisterAll: t.unregisterAll.bind(t), + isRegistered: t.isRegistered.bind(t), + ready: function () { + return Promise.resolve(); + } + }; + } + var Jo = "6.0.1", + Ko = function (e) { + function t(e, t, r) { + if ("boolean" !== typeof e || e) { + var i = n(e, t, r); + if ("undefined" !== typeof i) + return "object" === typeof e + ? ((e.mode = i), e) + : { mode: i }; + } + } + function n(e, t, r) { + return "object" === typeof e + ? n(e.mode, t, r).toString() + : "undefined" === typeof e + ? "boolean" !== typeof t || t + ? "boolean" === typeof t && t + ? "undefined" === typeof r + ? t + : r + : "undefined" === typeof t + ? void 0 + : t + : void 0 + : "boolean" === typeof e + ? e + ? "undefined" === typeof r + ? t + : r + : void 0 + : e; + } + var r = !0, + i = "startOnly", + o = !Xi.isNode() && "trackMyTypeAndInitiatedFromMe", + a = "trackMyTypeAndInitiatedFromMe", + s = "slim", + c = s, + u = + "boolean" === typeof e.exposeAPI || + "boolean" === typeof e.exposeGlue; + return { + layouts: t(e.layouts, s, c), + activities: t(e.activities, o, a), + appManager: t(e.appManager, r, i), + windows: t(e.windows, !0, !0), + channels: t(e.channels, !1, !0), + displays: t(e.displays, !0, !0), + exposeAPI: u || !0 + }; + }, + Qo = (function () { + function e(t) { + (v(this, e), + (this.options = t), + (this.callbacks = zr()), + (this.actions = t.actions), + (this.body = t.body), + (this.badge = t.badge), + (this.data = t.data), + (this.dir = t.dir), + (this.icon = t.icon), + (this.image = t.image), + (this.lang = t.lang), + (this.renotify = t.renotify), + (this.requireInteraction = t.requireInteraction), + (this.silent = t.silent), + (this.tag = t.tag), + (this.timestamp = t.timestamp), + (this.title = t.title)); + } + return ( + m(e, [ + { + key: "close", + value: function () { + throw new Error("Method not implemented."); + } + }, + { + key: "addEventListener", + value: function (e, t, n) { + this.callbacks.add(e, t); + } + }, + { key: "removeEventListener", value: function (e, t, n) {} }, + { + key: "dispatchEvent", + value: function (e) { + return (this.callbacks.execute(e.type, e), !0); + } + } + ]), + e + ); + })(), + Xo = (function () { + function e(t, n) { + (v(this, e), (this.interop = t), (this.onStreamEvent = n)); + } + return ( + m(e, [ + { + key: "onVisibilityChanged", + value: function (e) { + return this.onStreamEvent( + "on-panel-visibility-changed", + e + ); + } + }, + { + key: "toggle", + value: function () { + return this.interop.invoke("T42.Notifications.Show"); + } + }, + { + key: "show", + value: function () { + return this.interop.invoke("T42.Notifications.Show", { + show: !0 + }); + } + }, + { + key: "hide", + value: function () { + return this.interop.invoke("T42.Notifications.Hide"); + } + }, + { + key: "isVisible", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Notifications.Execute", + { + command: + "isPanelVisible" + } + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned + .panelVisible + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "toAPI", + value: function () { + return { + onVisibilityChanged: + this.onVisibilityChanged.bind(this), + toggle: this.toggle.bind(this), + show: this.show.bind(this), + hide: this.hide.bind(this), + isVisible: this.isVisible.bind(this) + }; + } + } + ]), + e + ); + })(), + Yo = 0, + Zo = (function () { + function e(t, n) { + (v(this, e), + (this.interop = t), + (this.logger = n), + (this.NotificationsSubscribeStream = + "T42.GNS.Subscribe.Notifications"), + (this.NotificationsCounterStream = "T42.Notifications.Counter"), + (this.RaiseNotificationMethodName = + "T42.GNS.Publish.RaiseNotification"), + (this.NotificationsExecuteMethod = "T42.Notifications.Execute"), + (this.methodsRegistered = !1), + (this.NOTIFICATIONS_CONFIGURE_METHOD_NAME = + "T42.Notifications.Configure"), + (this.methodNameRoot = "T42.Notifications.Handler-" + Vi()), + (this.nextId = 0), + (this.notifications = {}), + (this.registry = zr()), + (this.subscribedForNotifications = !1), + (this.subscribedCounterStream = !1), + (this.subscriptionsCountForNotifications = 0), + (this.subscriptionsCountForCounter = 0), + (this._panel = new Xo(t, this.onStreamEventCore.bind(this))), + this.subscribeInternalEvents()); + } + return ( + m(e, [ + { + key: "maxActions", + get: function () { + return 2; + } + }, + { + key: "panel", + get: function () { + return this._panel.toAPI(); + } + }, + { + key: "raise", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r, + i, + o, + s, + c, + u, + d, + l, + p, + h, + f = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + (this.validate(t), + this.methodsRegistered) + ) { + e.next = 7; + break; + } + for ( + o = [], s = Yo; + s < this.maxActions; + s++ + ) + o.push( + this.interop.register( + "" + .concat( + this + .methodNameRoot, + "_" + ) + .concat(s), + this.handleNotificationEvent.bind( + this + ) + ) + ); + return ( + (this.methodsRegistered = + !0), + (e.next = 7), + Promise.all(o) + ); + case 7: + return ( + (c = String( + this.nextId++ + )), + (u = + null !== + (n = t.type) && + void 0 !== n + ? n + : "Notification"), + (d = { + title: t.title, + type: u, + severity: + null !== + (r = + t.severity) && + void 0 !== r + ? r + : "None", + description: t.body, + glueRoutingDetailMethodName: + "" + .concat( + this + .methodNameRoot, + "_" + ) + .concat(Yo), + actions: [], + sourceId: c, + source: t.source, + publishExtraEvents: + !0, + clickInterop: + t.clickInterop + }), + t.actions && + this.handleActions( + t, + c, + d + ), + this.handleOptions( + t, + d + ), + (l = new Qo(t)), + (this.notifications[c] = + l), + (e.prev = 14), + (e.next = 17), + this.interop.invoke( + this + .RaiseNotificationMethodName, + { notification: d } + ) + ); + case 17: + ((p = e.sent), + (l.id = + null === + (i = + p.returned) || + void 0 === i + ? void 0 + : i.id), + (e.next = 25)); + break; + case 21: + ((e.prev = 21), + (e.t0 = e.catch(14)), + (h = e.t0.message), + setTimeout(function () { + f.handleNotificationErrorEvent( + l, + h + ); + }, 1)); + case 25: + return e.abrupt( + "return", + l + ); + case 26: + case "end": + return e.stop(); + } + }, + e, + this, + [[14, 21]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setFilter", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Notifications.Filter", + t + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.returned + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getFilter", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Notifications.Filter" + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "configure", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r, i, o, s; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + t && + !Array.isArray(t) + ) { + e.next = 2; + break; + } + throw new Error( + "Invalid options - should be an object." + ); + case 2: + if ( + 0 !== + Object.values(t).length + ) { + e.next = 4; + break; + } + throw new Error( + "The argument must be a non-empty object." + ); + case 4: + if ( + "undefined" === + typeof t.enable || + "boolean" === + typeof t.enable + ) { + e.next = 6; + break; + } + throw new Error( + "Expected type of enabled - boolean." + ); + case 6: + if ( + "undefined" === + typeof t.enableToasts || + "boolean" === + typeof t.enableToasts + ) { + e.next = 8; + break; + } + throw new Error( + "Expected type of enableToasts - boolean." + ); + case 8: + if ( + "undefined" === + typeof t.toastExpiry || + "number" === + typeof t.toastExpiry + ) { + e.next = 10; + break; + } + throw new Error( + "Expected type of toastExpiry - number." + ); + case 10: + if ( + !t.sourceFilter || + "object" === + typeof t.sourceFilter + ) { + e.next = 12; + break; + } + throw new Error( + "Expected type of sourceFilter - object." + ); + case 12: + if ( + !(null === + (n = + t.sourceFilter) || + void 0 === n + ? void 0 + : n.allowed) || + Array.isArray( + null === + (r = + t.sourceFilter) || + void 0 === r + ? void 0 + : r.allowed + ) + ) { + e.next = 14; + break; + } + throw new Error( + "Expected type of sourceFilter.allowed - array." + ); + case 14: + if ( + !(null === + (i = + t.sourceFilter) || + void 0 === i + ? void 0 + : i.blocked) || + Array.isArray( + null === + (o = + t.sourceFilter) || + void 0 === o + ? void 0 + : o.blocked + ) + ) { + e.next = 16; + break; + } + throw new Error( + "Expected type of sourceFilter.blocked - array." + ); + case 16: + return ( + (e.next = 18), + this.interop.invoke( + this + .NOTIFICATIONS_CONFIGURE_METHOD_NAME, + t + ) + ); + case 18: + return ( + (s = e.sent), + e.abrupt( + "return", + s.returned + ) + ); + case 20: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getConfiguration", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "getConfiguration" + } + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "list", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { command: "list" } + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned + .notifications + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "onRaised", + value: function (e) { + return this.onStreamEventCore( + "on-notification-raised", + e + ); + } + }, + { + key: "onStateChanged", + value: function (e) { + return this.onStreamEventCore("on-state-changed", e); + } + }, + { + key: "onClosed", + value: function (e) { + return this.onStreamEventCore( + "on-notification-closed", + e + ); + } + }, + { + key: "onConfigurationChanged", + value: function (e) { + var t = this; + if ("function" !== typeof e) + throw new Error( + "Please provide the callback as a function!" + ); + this.subscribe(); + var n = this.registry.add( + "on-configuration-changed", + e + ); + return function () { + (n(), t.closeStreamSubscriptionIfNoNeeded()); + }; + } + }, + { + key: "onCounterChanged", + value: function (e) { + var t = this; + if ("function" !== typeof e) + throw new Error( + "Please provide the callback as a function!" + ); + this.subscribeForCounterStream(); + var n = this.registry.add("on-counter-changed", e); + return function () { + (n(), t.closeStreamCounterSubscriptionIfNoNeeded()); + }; + } + }, + { + key: "clearAll", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "clearAll" + } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clearOld", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "clearAllOld" + } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clear", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (t) { + e.next = 2; + break; + } + throw new Error( + "The 'id' argument cannot be null or undefined" + ); + case 2: + if ("string" === typeof t) { + e.next = 4; + break; + } + throw new Error( + "The 'id' argument must be a string" + ); + case 4: + return ( + (e.next = 6), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "clear", + data: { id: t } + } + ) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "click", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "click", + data: { + id: t, + action: n + } + } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setState", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (t) { + e.next = 2; + break; + } + throw new Error( + "The 'id' argument cannot be null or undefined" + ); + case 2: + if ("string" === typeof t) { + e.next = 4; + break; + } + throw new Error( + "The 'id' argument must be a string" + ); + case 4: + if (n) { + e.next = 6; + break; + } + throw new Error( + "The 'state' argument cannot be null or undefined" + ); + case 6: + if ("string" === typeof n) { + e.next = 8; + break; + } + throw new Error( + "The 'state' argument must be a string" + ); + case 8: + if ( + [ + "Active", + "Acknowledged", + "Stale" + ].includes(n) + ) { + e.next = 11; + break; + } + throw new Error( + "The state argument: ".concat( + n, + " is not valid!" + ) + ); + case 11: + return ( + (e.next = 13), + this.interop.invoke( + this + .NotificationsExecuteMethod, + { + command: + "updateState", + data: { + id: t, + state: n + } + } + ) + ); + case 13: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "toAPI", + value: function () { + return { + maxActions: this.maxActions, + panel: this._panel.toAPI(), + raise: this.raise.bind(this), + setFilter: this.setFilter.bind(this), + getFilter: this.getFilter.bind(this), + configure: this.configure.bind(this), + getConfiguration: this.getConfiguration.bind(this), + list: this.list.bind(this), + onRaised: this.onRaised.bind(this), + onStateChanged: this.onStateChanged.bind(this), + onClosed: this.onClosed.bind(this), + onConfigurationChanged: + this.onConfigurationChanged.bind(this), + onCounterChanged: this.onCounterChanged.bind(this), + clearAll: this.clearAll.bind(this), + clearOld: this.clearOld.bind(this), + clear: this.clear.bind(this), + click: this.click.bind(this), + setState: this.setState.bind(this) + }; + } + }, + { + key: "onStreamEventCore", + value: function (e, t) { + var n = this; + if ("function" !== typeof t) + throw new Error( + "Please provide the callback as a function!" + ); + this.subscribe(); + var r = this.registry.add(e, t); + return function () { + (r(), n.closeStreamSubscriptionIfNoNeeded()); + }; + } + }, + { + key: "handleOptions", + value: function (e, t) { + if ( + (e.icon && + ((t.attributes = t.attributes || []), + t.attributes.push({ + key: "icon", + value: { stringValue: e.icon } + })), + e.data) + ) { + t.attributes = t.attributes || []; + var n = JSON.stringify(e.data); + t.attributes.push({ + key: "data", + value: { stringValue: n } + }); + } + ("number" === typeof e.panelExpiry && + ((t.attributes = t.attributes || []), + t.attributes.push({ + key: "panelExpiry", + value: { + stringValue: e.panelExpiry.toString() + } + })), + "number" === typeof e.toastExpiry && + ((t.attributes = t.attributes || []), + t.attributes.push({ + key: "toastExpiry", + value: { + stringValue: e.toastExpiry.toString() + } + }))); + } + }, + { + key: "handleActions", + value: function (e, t, n) { + var r, + i, + o, + a, + s = this, + c = e.actions.slice(0, this.maxActions), + d = Yo, + l = u(c); + try { + var p = function () { + var e = a.value, + c = { + g42notificationId: t, + g42action: e.action, + g42interopMethod: + null === (r = e.interop) || + void 0 === r + ? void 0 + : r.method, + g42interopTarget: + null === (i = e.interop) || + void 0 === i + ? void 0 + : i.target, + g42interopArguments: JSON.stringify( + null === (o = e.interop) || + void 0 === o + ? void 0 + : o.arguments + ) + }, + u = Object.keys(c).map(function (e) { + return { + name: e, + value: { stringValue: c[e] } + }; + }), + l = { + name: "" + .concat(s.methodNameRoot, "_") + .concat(d), + description: e.title, + displayName: e.title, + parameters: u + }; + (n.actions.push(l), d++); + }; + for (l.s(); !(a = l.n()).done; ) p(); + } catch (h) { + l.e(h); + } finally { + l.f(); + } + } + }, + { + key: "validate", + value: function (e) { + if (!e) + throw new Error( + "invalid options - should be an object" + ); + if ("object" !== typeof e) + throw new Error( + "invalid options - should be an object" + ); + if (!e.title) + throw new Error( + "invalid options - should have a title" + ); + if ("string" !== typeof e.title) + throw new Error( + "invalid options - title should be a string" + ); + if (e.severity && "string" !== typeof e.severity) + throw new Error( + "invalid options - severity should be a string" + ); + if (e.panelExpiry && "number" !== typeof e.panelExpiry) + throw new Error( + "invalid options - panelExpiry should be a number" + ); + if (e.toastExpiry && "number" !== typeof e.toastExpiry) + throw new Error( + "invalid options - toastExpiry should be a number" + ); + } + }, + { + key: "subscribe", + value: function () { + var e = this; + (this.subscriptionsCountForNotifications++, + this.subscribedForNotifications || + ((this.subscribedForNotifications = !0), + this.logger.info( + 'Attempting to subscribe to "'.concat( + this.NotificationsSubscribeStream, + '".' + ) + ), + this.interop + .subscribe( + this.NotificationsSubscribeStream, + { arguments: { sendDeltaOnly: !0 } } + ) + .then(function (t) { + ((e.subscriptionForNotifications = t), + e.logger.info( + 'Successfully subscribed to "'.concat( + e.NotificationsSubscribeStream, + '".' + ) + ), + t.onData(function (t) { + var n = t.data; + e.handleData(n); + }), + t.onClosed(function () { + e.subscribedForNotifications = + !1; + for ( + var t = arguments.length, + n = new Array(t), + r = 0; + r < t; + r++ + ) + n[r] = arguments[r]; + e.logger.info( + "Stream subscription Closed - ".concat( + JSON.stringify(n) + ) + ); + }), + t.onFailed(function () { + e.subscribedForNotifications = + !1; + for ( + var t = arguments.length, + n = new Array(t), + r = 0; + r < t; + r++ + ) + n[r] = arguments[r]; + e.logger.warn( + "Stream subscription Failed - ".concat( + JSON.stringify(n) + ) + ); + })); + }) + .catch(function (t) { + ((e.subscribedForNotifications = !1), + e.logger.error( + 'Unable to subscribe to "'.concat( + e.NotificationsSubscribeStream, + '"' + ), + t + )); + }))); + } + }, + { + key: "subscribeForCounterStream", + value: function () { + var e = this; + (this.subscriptionsCountForCounter++, + this.subscribedCounterStream || + ((this.subscribedCounterStream = !0), + this.logger.info( + 'Attempting to subscribe to "'.concat( + this.NotificationsCounterStream, + '".' + ) + ), + this.interop + .subscribe( + this.NotificationsCounterStream, + { arguments: { sendDeltaOnly: !0 } } + ) + .then(function (t) { + ((e.subscriptionForCounter = t), + e.logger.info( + 'Successfully subscribed to "'.concat( + e.NotificationsCounterStream, + '".' + ) + ), + t.onData(function (t) { + var n = t.data; + e.registry.execute( + "on-counter-changed", + { count: n.count } + ); + }), + t.onClosed(function () { + e.subscribedCounterStream = !1; + for ( + var t = arguments.length, + n = new Array(t), + r = 0; + r < t; + r++ + ) + n[r] = arguments[r]; + e.logger.info( + "Stream subscription Closed - ".concat( + JSON.stringify(n) + ) + ); + }), + t.onFailed(function () { + e.subscribedCounterStream = !1; + for ( + var t = arguments.length, + n = new Array(t), + r = 0; + r < t; + r++ + ) + n[r] = arguments[r]; + e.logger.warn( + "Stream subscription Failed - ".concat( + JSON.stringify(n) + ) + ); + })); + }) + .catch(function (t) { + ((e.subscribedCounterStream = !1), + e.logger.error( + 'Unable to subscribe to "'.concat( + e.NotificationsCounterStream, + '"' + ), + t + )); + }))); + } + }, + { + key: "subscribeInternalEvents", + value: function () { + var e = this; + (this.registry.add( + "on-notification-closed", + function (t) { + e.handleOnClosed(t); + } + ), + this.registry.add( + "on-notification-raised", + function (t) { + e.handleOnShow(t.id); + } + )); + } + }, + { + key: "handleData", + value: function (e) { + var t; + try { + ("items" in e && Array.isArray(e.items) + ? this.handleItemsData(e) + : "deltas" in e && + Array.isArray(e.deltas) && + this.handleDeltas(e), + "configuration" in e && + "object" === typeof e.configuration && + (this.logger.info( + "Received configuration ".concat( + JSON.stringify(e.configuration), + " from the stream" + ) + ), + this.registry.execute( + "on-configuration-changed", + e.configuration, + e.configuration.allApplications + )), + "command" in e && + "string" === typeof e.command && + (this.logger.info( + 'Received command "'.concat( + null !== (t = e.command) && + void 0 !== t + ? t + : JSON.stringify(e), + '" from the stream' + ) + ), + ("showPanel" !== e.command && + "hidePanel" !== e.command) || + this.registry.execute( + "on-panel-visibility-changed", + "showPanel" === e.command + ))); + } catch (n) { + this.logger.error( + "Failed to parse data from the stream", + n + ); + } + } + }, + { + key: "handleItemsData", + value: function (e) { + var t = this, + n = e.items; + this.logger.info( + "Received ".concat( + n.length, + " notifications from the stream" + ) + ); + var r = n; + if (e.isSnapshot) + r.forEach(function (e) { + t.registry.execute("on-notification-raised", e); + }); + else { + var i = r[0]; + "Closed" === i.state + ? this.registry.execute( + "on-notification-closed", + { id: i.id } + ) + : "Active" === i.state && + this.registry.execute( + "on-notification-raised", + i + ); + } + } + }, + { + key: "handleDeltas", + value: function (e) { + var t = this; + e.deltas.forEach(function (e) { + var n = e.id, + r = e.delta; + "Closed" === r.state + ? t.registry.execute("on-notification-closed", { + id: n + }) + : t.registry.execute( + "on-state-changed", + { id: n }, + r.state + ); + }); + } + }, + { + key: "handleOnClosed", + value: function (e) { + var t = this.getNotification(e), + n = t.notification, + r = t.key; + n && + (this.handleEvent(n, "close"), + delete this.notifications[r]); + } + }, + { + key: "handleOnShow", + value: function (e) { + var t = this.getNotification(e).notification; + t && this.handleEvent(t, "show"); + } + }, + { + key: "getNotification", + value: function (e) { + var t, n; + for (var r in this.notifications) + if (this.notifications[r].id === e) { + ((t = this.notifications[r]), (n = r)); + break; + } + return { notification: t, key: n }; + } + }, + { + key: "handleNotificationEvent", + value: function (e) { + var t = this.getGnsNotificationArgs(e); + if ("unknown" !== t.event) { + var n = this.notifications[t.notificationId]; + n && this.handleNotificationEventCore(n, t); + } + } + }, + { + key: "handleNotificationEventCore", + value: function (e, t) { + switch (t.event) { + case "action": + return this.handleNotificationActionEvent( + e, + t.notificationActionPayload + ); + case "click": + return this.handleNotificationClickEvent(e); + case "close": + return this.handleEvent(e, "close"); + case "error": + return this.handleNotificationErrorEvent( + e, + t.error + ); + case "show": + return this.handleEvent(e, "show"); + } + } + }, + { + key: "handleNotificationActionEvent", + value: function (e, t) { + var n = { type: "onaction", action: t.g42action }; + (e.onaction && e.onaction(n), e.dispatchEvent(n)); + } + }, + { + key: "handleNotificationClickEvent", + value: function (e) { + var t = { type: "onclick" }; + (e.onclick && e.onclick(t), e.dispatchEvent(t)); + } + }, + { + key: "handleEvent", + value: function (e, t) { + var n, + r = { type: t }; + (null === (n = e["on".concat(t)]) || + void 0 === n || + n.call(e, r), + e.dispatchEvent(r)); + } + }, + { + key: "handleNotificationErrorEvent", + value: function (e, t) { + var n = { type: "onerror", error: t }; + (e.onerror && e.onerror(n), e.dispatchEvent(n)); + } + }, + { + key: "getGnsNotificationArgs", + value: function (e) { + var t, + n = + null === (t = e.notification) || void 0 === t + ? void 0 + : t.event; + return n + ? { + event: n, + notificationId: + e.notification.sourceNotificationId, + notificationActionPayload: e + } + : this.getBackwardGnsNotificationArgs(e); + } + }, + { + key: "getBackwardGnsNotificationArgs", + value: function (e) { + var t; + return e.g42notificationId + ? { + event: "action", + notificationId: e.g42notificationId, + notificationActionPayload: e + } + : ( + null === (t = e.notification) || + void 0 === t + ? void 0 + : t.sourceNotificationId + ) + ? { + event: "click", + notificationId: + e.notification.sourceNotificationId, + notificationActionPayload: e + } + : { + event: "unknown", + notificationId: void 0, + notificationActionPayload: e + }; + } + }, + { + key: "closeStreamSubscriptionIfNoNeeded", + value: function () { + (this.subscriptionsCountForNotifications--, + this.subscriptionForNotifications && + 0 === this.subscriptionsCountForNotifications && + (this.subscriptionForNotifications.close(), + (this.subscriptionForNotifications = void 0))); + } + }, + { + key: "closeStreamCounterSubscriptionIfNoNeeded", + value: function () { + (this.subscriptionsCountForCounter--, + this.subscriptionForCounter && + 0 === this.subscriptionsCountForCounter && + (this.subscriptionForCounter.close(), + (this.subscriptionForCounter = void 0))); + } + } + ]), + e + ); + })(), + ea = "T42.Themes.Configuration", + ta = (function () { + function e(t, n) { + (v(this, e), + (this.contexts = t), + (this.interop = n), + (this.registry = zr()), + (this.isSubscribed = !1), + this.getConfiguration()); + } + return ( + m(e, [ + { + key: "list", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getConfiguration() + ); + case 2: + if (this.getMethodName) { + e.next = 4; + break; + } + throw new Error( + "not supported" + ); + case 4: + return ( + (e.next = 6), + this.getAll() + ); + case 6: + return e.abrupt( + "return", + e.sent.returned.all + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getCurrent", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getConfiguration() + ); + case 2: + if (this.getMethodName) { + e.next = 4; + break; + } + throw new Error( + "not supported" + ); + case 4: + return ( + (e.next = 6), + this.getAll() + ); + case 6: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned.all.find( + function (e) { + return ( + e.name === + t + .returned + .selected + ); + } + ) + ) + ); + case 8: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "select", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getConfiguration() + ); + case 2: + if (this.setMethodName) { + e.next = 4; + break; + } + throw new Error( + "not supported" + ); + case 4: + return ( + (e.next = 6), + this.interop.invoke( + this.setMethodName, + { theme: t } + ) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "onChanged", + value: function (e) { + return ( + this.subscribe(), + this.registry.add("changed", e) + ); + } + }, + { + key: "getConfiguration", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((e.prev = 0), + !this.sharedContextName) + ) { + e.next = 3; + break; + } + return e.abrupt("return"); + case 3: + return ( + (e.next = 5), + this.interop.invoke(ea) + ); + case 5: + ((t = e.sent), + (this.sharedContextName = + t.returned.sharedContextName), + (this.getMethodName = + t.returned.getThemesMethodName), + (this.setMethodName = + t.returned.setThemesMethodName), + (e.next = 14)); + break; + case 11: + return ( + (e.prev = 11), + (e.t0 = e.catch(0)), + e.abrupt("return") + ); + case 14: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 11]] + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getAll", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getConfiguration() + ); + case 2: + return ( + (e.next = 4), + this.interop.invoke( + this.getMethodName + ) + ); + case 4: + return e.abrupt( + "return", + e.sent + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "subscribe", + value: (function () { + var e = s( + a().mark(function e() { + var t = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.getConfiguration() + ); + case 2: + if (!this.isSubscribed) { + e.next = 4; + break; + } + return e.abrupt("return"); + case 4: + ((this.isSubscribed = !0), + this.contexts.subscribe( + this + .sharedContextName, + function (e) { + e && + e.all && + e.selected && + t.registry.execute( + "changed", + e.all.find( + function ( + t + ) { + return ( + t.name === + e.selected + ); + } + ) + ); + } + )); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + } + ]), + e + ); + })(); + function na(e, t) { + var n = new ta(e, t); + return { + list: n.list.bind(n), + getCurrent: n.getCurrent.bind(n), + select: n.select.bind(n), + onChanged: n.onChanged.bind(n), + ready: function () { + return Promise.resolve(); + } + }; + } + var ra = "Tick42.FDC3.Intents.", + ia = "T42.Intents.Resolver.Control", + oa = 400, + aa = 440, + sa = 6e4, + ca = ["applicationName", "type"], + ua = "intentsResolver", + da = 2147483647, + la = 6e4, + pa = 9e4, + ha = function (e, t, n) { + return new Promise(function (r, i) { + var o = setTimeout(function () { + var e = n || "Promise timeout hit: ".concat(t); + i(e); + }, t); + new Promise(e) + .then(function (e) { + (clearTimeout(o), r(e)); + }) + .catch(function (e) { + (clearTimeout(o), i(e)); + }); + }); + }, + fa = function (e, t, n) { + return new Promise(function (r, i) { + var o = !0, + a = setTimeout(function () { + if (o) { + o = !1; + var e = n || "Promise timeout hit: ".concat(t); + i(e); + } + }, t); + e() + .then(function (e) { + o && ((o = !1), clearTimeout(a), r(e)); + }) + .catch(function (e) { + o && ((o = !1), clearTimeout(a), i(e)); + }); + }); + }, + va = (function () { + function e(t, n, r, i, o) { + (v(this, e), + (this.interop = t), + (this.windows = n), + (this.logger = r), + (this.appManager = o), + (this.myIntents = new Set()), + (this.intentsResolverResponsePromises = {}), + (this.useIntentsResolverUI = !0), + (this.unregisterIntentPromises = []), + this.checkIfIntentsResolverIsEnabled(i, o)); + } + return ( + m(e, [ + { + key: "find", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r, i; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Promise.all( + this + .unregisterIntentPromises + ) + ); + case 2: + return ( + (e.next = 4), + this.all() + ); + case 4: + if ( + ((n = e.sent), + "undefined" !== + typeof t) + ) { + e.next = 7; + break; + } + return e.abrupt( + "return", + n + ); + case 7: + if ("string" !== typeof t) { + e.next = 9; + break; + } + return e.abrupt( + "return", + n.filter(function (e) { + return e.name === t; + }) + ); + case 9: + if ("object" === typeof t) { + e.next = 11; + break; + } + throw new Error( + "Please provide the intentFilter as a string or an object!" + ); + case 11: + return ( + t.contextType && + ((r = + t.contextType.toLowerCase()), + (n = n.filter( + function (e) { + return e.handlers.some( + function ( + e + ) { + var t; + return null === + (t = + e.contextTypes) || + void 0 === + t + ? void 0 + : t.some( + function ( + e + ) { + return ( + e.toLowerCase() === + r + ); + } + ); + } + ); + } + ))), + t.resultType && + ((i = + t.resultType.toLowerCase()), + (n = n.filter( + function (e) { + return e.handlers.some( + function ( + e + ) { + var t; + return ( + (null === + (t = + e.resultType) || + void 0 === + t + ? void 0 + : t.toLowerCase()) === + i + ); + } + ); + } + ))), + t.name && + (n = n.filter( + function (e) { + return ( + e.name === + t.name + ); + } + )), + e.abrupt("return", n) + ); + case 15: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "raise", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r, + i, + o, + s = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + !( + ("string" !== + typeof t && + "object" !== + typeof t) || + ("object" === + typeof t && + "string" !== + typeof t.intent) + ) + ) { + e.next = 2; + break; + } + throw new Error( + "Please provide the intent as a string or an object with an intent property!" + ); + case 2: + return ( + "string" === typeof t && + (t = { intent: t }), + this.validateIntentRequest( + t + ), + (e.next = 6), + Promise.all( + this + .unregisterIntentPromises + ) + ); + case 6: + if ( + ((n = t.timeout || pa), + (r = {}), + (i = + this.coreRaiseIntent.bind( + this, + { + request: t, + resolverInstance: + r, + timeout: n + } + )), + !t.waitUserResponseIndefinitely) + ) { + e.next = 11; + break; + } + return e.abrupt( + "return", + i() + ); + case 11: + return ( + (o = fa( + i, + n, + "Timeout of " + .concat( + n, + "ms hit for intent request " + ) + .concat( + JSON.stringify( + t + ) + ) + )).catch(function () { + return s.handleRaiseOnError( + r.instanceId + ); + }), + e.abrupt("return", o) + ); + case 14: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "all", + value: (function () { + var e = s( + a().mark(function e() { + var t, + n, + r, + i, + o, + c, + d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b, + k, + x, + _, + C = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + Promise.all( + this + .unregisterIntentPromises + ) + ); + case 2: + return ( + (e.prev = 2), + (e.next = 5), + this.interop.invoke( + "T42.ACS.GetApplications", + { + withIntentsInfo: + !0 + } + ) + ); + case 5: + ((n = e.sent), + (t = + n.returned + .applications), + (e.next = 13)); + break; + case 9: + return ( + (e.prev = 9), + (e.t0 = e.catch(2)), + this.logger.error( + "Failed to get the applications!", + e.t0 + ), + e.abrupt("return", []) + ); + case 13: + ((r = {}), + (i = t.filter( + function (e) { + return ( + e.intents && + e.intents + .length > + 0 + ); + } + )), + (o = u(i))); + try { + for ( + o.s(); + !(c = o.n()).done; + + ) { + ((d = c.value), + (l = u( + d.intents + ))); + try { + for ( + l.s(); + !(p = l.n()) + .done; + + ) + ((h = + p.value), + (f = + r[ + h + .name + ]) || + ((f = + { + name: h.name, + handlers: + [] + }), + (r[ + h.name + ] = + f)), + (v = { + applicationName: + d.name, + applicationTitle: + d.title || + "", + applicationDescription: + d.caption, + displayName: + h.displayName, + contextTypes: + h.contexts, + applicationIcon: + d.icon, + type: "app", + resultType: + h.resultType + }), + f.handlers.push( + v + )); + } catch (I) { + l.e(I); + } finally { + l.f(); + } + } + } catch (I) { + o.e(I); + } finally { + o.f(); + } + if ( + ((m = + this.interop.servers()), + (g = m + .map(function (e) { + return e.windowId; + }) + .filter( + function (e) { + return ( + "undefined" !== + typeof e + ); + } + )), + (y = "T42.Wnd.GetInfo"), + !this.interop + .methods() + .some(function (e) { + return ( + e.name === y + ); + })) + ) { + e.next = 31; + break; + } + return ( + (e.prev = 22), + (e.next = 25), + this.interop.invoke(y, { + ids: g + }) + ); + case 25: + ((b = e.sent), + (w = + b.returned.windows), + (e.next = 31)); + break; + case 29: + ((e.prev = 29), + (e.t1 = e.catch(22))); + case 31: + ((k = u(m)), + (e.prev = 32), + (_ = a().mark( + function e() { + var n; + return a().wrap( + function ( + e + ) { + for (;;) + switch ( + (e.prev = + e.next) + ) { + case 0: + return ( + (n = + x.value), + (e.next = 3), + Promise.all( + n + .getMethods() + .filter( + function ( + e + ) { + return e.name.startsWith( + ra + ); + } + ) + .map( + (function () { + var e = + s( + a().mark( + function e( + i + ) { + var o, + s, + c, + u, + d, + l, + p; + return a().wrap( + function ( + e + ) { + for (;;) + switch ( + (e.prev = + e.next) + ) { + case 0: + return ( + (o = + i.name.replace( + ra, + "" + )), + (s = + r[ + o + ]) || + ((s = + { + name: o, + handlers: + [] + }), + (r[ + o + ] = + s)), + (c = + i + .flags + .intent), + (u = + t.find( + function ( + e + ) { + return ( + e.name === + n.application + ); + } + )) && + u.intents && + (d = + u.intents.find( + function ( + e + ) { + return ( + e.name === + o + ); + } + )), + (e.next = 8), + C.windowsIdToTitle( + n.windowId, + w + ) + ); + case 8: + ((l = + e.sent), + (p = + { + instanceId: + n.instance, + applicationName: + n.application, + applicationIcon: + c.icon || + (null === + u || + void 0 === + u + ? void 0 + : u.icon), + applicationTitle: + (null === + u || + void 0 === + u + ? void 0 + : u.title) || + "", + applicationDescription: + c.description || + (null === + u || + void 0 === + u + ? void 0 + : u.caption), + displayName: + c.displayName || + (null === + d || + void 0 === + d + ? void 0 + : d.displayName), + contextTypes: + c.contextTypes || + (null === + d || + void 0 === + d + ? void 0 + : d.contexts), + instanceTitle: + l, + type: "instance", + resultType: + (null === + d || + void 0 === + d + ? void 0 + : d.resultType) || + c.resultType + }), + s.handlers.push( + p + )); + case 11: + case "end": + return e.stop(); + } + }, + e + ); + } + ) + ); + return function ( + t + ) { + return e.apply( + this, + arguments + ); + }; + })() + ) + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e + ); + } + )), + k.s()); + case 35: + if ((x = k.n()).done) { + e.next = 39; + break; + } + return e.delegateYield( + _(), + "t2", + 37 + ); + case 37: + e.next = 35; + break; + case 39: + e.next = 44; + break; + case 41: + ((e.prev = 41), + (e.t3 = e.catch(32)), + k.e(e.t3)); + case 44: + return ( + (e.prev = 44), + k.f(), + e.finish(44) + ); + case 47: + return e.abrupt( + "return", + Object.values(r) + ); + case 48: + case "end": + return e.stop(); + } + }, + e, + this, + [ + [2, 9], + [22, 29], + [32, 41, 44, 47] + ] + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "addIntentListener", + value: function (e, t) { + var n = this; + if ( + ("string" !== typeof e && "object" !== typeof e) || + ("object" === typeof e && + "string" !== typeof e.intent) + ) + throw new Error( + "Please provide the intent as a string or an object with an intent property!" + ); + if ("function" !== typeof t) + throw new Error( + "Please provide the handler as a function!" + ); + var i, + o = "string" === typeof e ? e : e.intent, + a = "".concat(ra).concat(o), + s = {}; + if (this.myIntents.has(o)) + throw new Error( + "Intent listener for intent ".concat( + o, + " already registered!" + ) + ); + this.myIntents.add(o); + var c = { + unsubscribe: function () { + (n.myIntents.delete(o), + i + .then(function () { + return n.interop.unregister(a); + }) + .catch(function (e) { + return n.logger.trace( + "Unregistration of a method with name " + .concat( + a, + " failed with reason: " + ) + .concat(JSON.stringify(e)) + ); + })); + } + }; + return ( + "object" === typeof e && (e.intent, (s = r(e, y))), + (i = this.interop.register( + { name: a, flags: { intent: s } }, + function (e) { + if (n.myIntents.has(o)) return t(e); + } + )).catch(function (e) { + (n.myIntents.delete(o), + n.logger.warn( + "Registration of a method with name " + .concat(a, " failed with reason: ") + .concat(JSON.stringify(e)) + )); + }), + c + ); + } + }, + { + key: "register", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var i, + o, + s, + c, + u = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + !( + ("string" !== + typeof t && + "object" !== + typeof t) || + ("object" === + typeof t && + "string" !== + typeof t.intent) + ) + ) { + e.next = 2; + break; + } + throw new Error( + "Please provide the intent as a string or an object with an intent property!" + ); + case 2: + if ( + "function" === typeof n + ) { + e.next = 4; + break; + } + throw new Error( + "Please provide the handler as a function!" + ); + case 4: + return ( + (e.next = 6), + Promise.all( + this + .unregisterIntentPromises + ) + ); + case 6: + if ( + ((i = + "string" === + typeof t + ? t + : t.intent), + (o = + this.buildInteropMethodName( + i + )), + (s = {}), + !this.myIntents.has(i)) + ) { + e.next = 12; + break; + } + throw new Error( + "Intent listener for intent ".concat( + i, + " already registered!" + ) + ); + case 12: + return ( + this.myIntents.add(i), + "object" === typeof t && + (t.intent, + (c = r(t, w)), + (s = c)), + (e.prev = 14), + (e.next = 17), + this.interop.register( + { + name: o, + flags: { + intent: s + } + }, + function (e) { + if ( + u.myIntents.has( + i + ) + ) + return n(e); + } + ) + ); + case 17: + e.next = 23; + break; + case 19: + throw ( + (e.prev = 19), + (e.t0 = e.catch(14)), + this.myIntents.delete( + i + ), + new Error( + "Registration of a method with name " + .concat( + o, + " failed with reason: " + ) + .concat( + JSON.stringify( + e.t0 + ) + ) + ) + ); + case 23: + return e.abrupt("return", { + unsubscribe: + function () { + return u.unsubscribeIntent( + i + ); + } + }); + case 24: + case "end": + return e.stop(); + } + }, + e, + this, + [[14, 19]] + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "coreRaiseIntent", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r, + i, + o, + s, + c, + u, + d, + l, + p, + h, + f = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = t.request), + (r = + t.resolverInstance), + (i = t.timeout), + (e.next = 3), + this.get(n.intent) + ); + case 3: + if ( + "undefined" !== + typeof (c = e.sent) + ) { + e.next = 6; + break; + } + throw new Error( + "Intent ".concat( + n.intent, + " not found." + ) + ); + case 6: + if ( + ((u = + this.checkIfResolverShouldBeOpened( + c, + n + )), + (d = u.open), + (l = u.reason), + d) + ) { + e.next = 10; + break; + } + return ( + this.logger.trace( + "Intent Resolver UI won't be used. Reason: ".concat( + l + ) + ), + e.abrupt( + "return", + n.waitUserResponseIndefinitely + ? fa( + function () { + return f.raiseIntent( + n, + i + ); + }, + i, + "Timeout of ".concat( + i, + "ms hit for raise to resolve" + ) + ) + : this.raiseIntent( + n, + i + ) + ) + ); + case 10: + return ( + (e.next = 12), + this.startResolverApp( + n, + r + ) + ); + case 12: + if ( + ((p = e.sent), + null === + (o = this.logger) || + void 0 === o || + o.trace( + "Raising intent to target handler: " + .concat( + JSON.stringify( + p + ), + " with timeout of " + ) + .concat(i) + ), + !n.waitUserResponseIndefinitely) + ) { + e.next = 16; + break; + } + return e.abrupt( + "return", + fa( + function () { + return f.raiseIntentToTargetHandler( + n, + p, + i + ); + }, + i, + "Timeout of ".concat( + i, + "ms hit for raise to resolve" + ) + ) + ); + case 16: + return ( + (e.next = 18), + this.raiseIntentToTargetHandler( + n, + p, + i + ) + ); + case 18: + return ( + (h = e.sent), + null === + (s = this.logger) || + void 0 === s || + s.trace( + "Result from raise() method for intent " + .concat( + JSON.stringify( + n.intent + ), + ": " + ) + .concat( + JSON.stringify( + h + ) + ) + ), + e.abrupt("return", h) + ); + case 21: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "get", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.all() + ); + case 2: + return e.abrupt( + "return", + e.sent.find( + function (e) { + return ( + e.name === t + ); + } + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "raiseIntent", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s, c, u; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (r = t.intent), + (e.next = 3), + this.get(r) + ); + case 3: + if ( + "undefined" !== + typeof (i = e.sent) + ) { + e.next = 6; + break; + } + throw new Error( + "Intent ".concat( + r, + " not found." + ) + ); + case 6: + if ( + ((o = t.handlers + ? this.findHandlerByFilter( + t.handlers, + { + type: "app" + } + ) + : this.findHandlerByFilter( + i.handlers, + { + type: "app" + } + )), + (s = t.handlers + ? this.findHandlerByFilter( + t.handlers, + { + type: "instance" + } + ) + : this.findHandlerByFilter( + i.handlers, + { + type: "instance" + } + )), + (t.target && + "reuse" !== + t.target) || + (c = s || o), + "startNew" === + t.target && (c = o), + "object" === + typeof t.target && + t.target.app && + (c = + this.findHandlerByFilter( + i.handlers, + { + app: t + .target + .app + } + )), + "object" === + typeof t.target && + t.target.instance && + (c = + this.findHandlerByFilter( + i.handlers, + { + instance: + t + .target + .instance, + app: t + .target + .app + } + )), + c) + ) { + e.next = 14; + break; + } + throw new Error( + "Can not raise intent for request ".concat( + JSON.stringify(t), + " - can not find intent handler!" + ) + ); + case 14: + return ( + (e.next = 16), + this.raiseIntentToTargetHandler( + t, + c, + n + ) + ); + case 16: + return ( + (u = e.sent), + e.abrupt("return", u) + ); + case 18: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "raiseIntentToTargetHandler", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + var i, o, s, u, d; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + (null === + (i = this.logger) || + void 0 === i || + i.trace( + "Raising intent to target handler:".concat( + JSON.stringify( + n + ) + ) + ), + n.instanceId) + ) { + e.next = 5; + break; + } + return ( + (e.next = 4), + this.invokeStartApp( + n.applicationName, + t.context, + t.options + ) + ); + case 4: + n.instanceId = e.sent; + case 5: + return ( + (s = "" + .concat(ra) + .concat(t.intent)), + (u = { + methodResponseTimeoutMs: + r + ? r + 1e3 + : la, + waitTimeoutMs: r + ? r + 1e3 + : la + }), + (e.next = 9), + this.interop.invoke( + s, + t.context, + { + instance: + n.instanceId + }, + u + ) + ); + case 9: + return ( + (d = e.sent), + null === + (o = this.logger) || + void 0 === o || + o.trace( + "raiseIntent command completed. Returning result: ".concat( + JSON.stringify( + d + ) + ) + ), + e.abrupt("return", { + request: t, + handler: c( + c({}, n), + {}, + { + type: "instance" + } + ), + result: d.returned + }) + ); + case 12: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "startResolverApp", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s, c, u, d, l, p; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + null === + (r = this.logger) || + void 0 === r || + r.trace( + "Intents Resolver UI with app name ".concat( + this + .intentsResolverAppName, + " will be used" + ) + ), + (e.next = 3), + this.registerIntentResolverMethod() + ); + case 3: + return ( + (c = e.sent), + null === + (i = this.logger) || + void 0 === i || + i.trace( + "Registered interop method ".concat( + c + ) + ), + (u = + this.buildStartContext( + t, + c + )), + (e.next = 8), + this.buildStartOptions() + ); + case 8: + return ( + (d = e.sent), + null === + (o = this.logger) || + void 0 === o || + o.trace( + "Starting Intents Resolver UI with context: " + .concat( + JSON.stringify( + u + ), + " and options: " + ) + .concat( + JSON.stringify( + d + ) + ) + ), + (e.next = 12), + this.appManager + .application( + this + .intentsResolverAppName + ) + .start(u, d) + ); + case 12: + return ( + (l = e.sent), + n && + (n.instanceId = + l.id), + null === + (s = this.logger) || + void 0 === s || + s.trace( + "Intents Resolver instance with id ".concat( + l.id, + " opened" + ) + ), + this.subscribeOnInstanceStopped( + l + ), + this.createResponsePromise( + t, + l.id, + c + ), + (e.next = 19), + this.handleInstanceResponse( + l.id + ) + ); + case 19: + return ( + (p = e.sent), + e.abrupt("return", p) + ); + case 21: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "windowsIdToTitle", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r, i, o, s; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + "undefined" === typeof n + ) { + e.next = 2; + break; + } + return e.abrupt( + "return", + null === + (r = n.find( + function (e) { + return ( + e.id === + t + ); + } + )) || void 0 === r + ? void 0 + : r.title + ); + case 2: + return ( + (o = + null === + (i = + this + .windows) || + void 0 === i + ? void 0 + : i.findById( + t + )), + (e.next = 5), + null === o || + void 0 === o + ? void 0 + : o.getTitle() + ); + case 5: + return ( + (s = e.sent), + e.abrupt("return", s) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "handleInstanceResponse", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, r, i, o; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.prev = 0), + (e.next = 3), + this + .intentsResolverResponsePromises[ + t + ].promise + ); + case 3: + return ( + (r = e.sent), + (i = r.handler), + (o = r.intent), + null === + (n = this.logger) || + void 0 === n || + n.trace( + "Intent handler chosen for intent " + .concat( + o, + ": " + ) + .concat( + JSON.stringify( + i + ) + ) + ), + this.stopResolverInstance( + t + ), + e.abrupt("return", i) + ); + case 11: + throw ( + (e.prev = 11), + (e.t0 = e.catch(0)), + this.stopResolverInstance( + t + ), + new Error(e.t0) + ); + case 15: + case "end": + return e.stop(); + } + }, + e, + this, + [[0, 11]] + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "registerIntentResolverMethod", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = ia + Vi()), + (e.next = 3), + this.interop.register( + t, + this.resolverResponseHandler.bind( + this + ) + ) + ); + case 3: + return e.abrupt( + "return", + t + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "resolverResponseHandler", + value: function (e, t) { + var n = t.instance, + r = this.validateIntentsResolverResponse(e); + r || + (this.logger.trace( + "Intent Resolver sent invalid response. Error: ".concat( + r.error + ) + ), + this.intentsResolverResponsePromises[n].reject( + r.error + ), + this.stopResolverInstance(n)); + var i = r.ok; + (this.intentsResolverResponsePromises[n].resolve(i), + this.cleanUpIntentResolverPromise(n)); + } + }, + { + key: "buildStartContext", + value: function (e, t) { + return { + intent: e, + callerId: this.interop.instance.instance, + methodName: t + }; + } + }, + { + key: "buildStartOptions", + value: (function () { + var e = s( + a().mark(function e() { + var t, n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + (t = this.windows.my()) + ) { + e.next = 3; + break; + } + return e.abrupt("return"); + case 3: + return ( + (e.next = 5), + t.getBounds() + ); + case 5: + return ( + (n = e.sent), + e.abrupt("return", { + top: + (n.height - + aa) / + 2 + + n.top, + left: + (n.width - oa) / + 2 + + n.left + }) + ); + case 7: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "createResponsePromise", + value: function (e, t, n) { + var r, + i, + o = e.waitUserResponseIndefinitely + ? da + : this.intentsResolverResponseTimeout, + a = ha( + function (e, t) { + ((r = e), (i = t)); + }, + o, + "Timeout of " + .concat( + o, + "ms hit waiting for the user to choose a handler for intent " + ) + .concat(e.intent) + ); + this.intentsResolverResponsePromises[t] = { + intent: e.intent, + resolve: r, + reject: i, + promise: a, + methodName: n + }; + } + }, + { + key: "invokeStartApp", + value: (function () { + var e = s( + a().mark(function e(t, n, r) { + var i; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.ACS.StartApplication", + { + Name: t, + options: r + } + ) + ); + case 2: + return ( + (i = e.sent), + e.abrupt( + "return", + i.returned.Id + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n, r) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "subscribeOnInstanceStopped", + value: function (e) { + var t = this, + n = e.onStopped(function (e) { + var r = t.intentsResolverResponsePromises[e.id]; + if (!r) return n(); + (r.reject( + "Cannot resolve raise intent " + .concat(r.intent, " - User closed ") + .concat( + t.intentsResolverAppName, + " app without choosing an intent handler" + ) + ), + t.cleanUpIntentResolverPromise(e.id), + n()); + }); + } + }, + { + key: "cleanUpIntentResolverPromise", + value: (function () { + var e = s( + a().mark(function e(t) { + var n, + r = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + (n = + this + .intentsResolverResponsePromises[ + t + ]) + ) { + e.next = 3; + break; + } + return e.abrupt("return"); + case 3: + (this.interop + .unregister( + n.methodName + ) + .catch(function (e) { + return r.logger.warn( + e + ); + }), + delete this + .intentsResolverResponsePromises[ + t + ]); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "validateIntentsResolverResponse", + value: function (e) { + if ( + Object.keys(e).some(function (e) { + return "intent" !== e && "handler" !== e; + }) + ) + return { + isValid: !1, + error: "Response is not a valid object. Expected { intent: string, handler: IntentHandler }" + }; + if ("string" !== typeof e.intent) + return { + isValid: !1, + error: "Response object has invalid 'intent' key. Expected a string, got ".concat( + typeof e.intent + ) + }; + if ("object" !== typeof e.handler) + return { + isValid: !1, + error: "Response object has invalid 'handler' key. Expected an object, got ".concat( + typeof e.handler + ) + }; + var t = ca.filter(function (t) { + return !(t in e.handler); + }); + return t.length + ? { + isValid: !1, + error: "Handler in Response object does not provide compulsory keys: ".concat( + t.join(", ") + ) + } + : { + isValid: !0, + ok: { + intent: e.intent, + handler: c({}, e.handler) + } + }; + } + }, + { + key: "handleRaiseOnError", + value: function (e) { + e && this.stopResolverInstance(e); + } + }, + { + key: "stopResolverInstance", + value: function (e) { + var t = this, + n = this.windows.findById(e); + null === n || + void 0 === n || + n.close().catch(function (e) { + return t.logger.error(e); + }); + } + }, + { + key: "checkIfIntentsResolverIsEnabled", + value: function (e, t) { + var n, r, i, o, a; + t + ? ((this.useIntentsResolverUI = + "boolean" !== + typeof (null === (n = e.intents) || + void 0 === n + ? void 0 + : n.enableIntentsResolverUI) || + e.intents.enableIntentsResolverUI), + (this.intentsResolverAppName = + null !== + (i = + null === (r = e.intents) || + void 0 === r + ? void 0 + : r.intentsResolverAppName) && + void 0 !== i + ? i + : ua), + (this.intentsResolverResponseTimeout = + null !== + (a = + null === (o = e.intents) || + void 0 === o + ? void 0 + : o.methodResponseTimeoutMs) && + void 0 !== a + ? a + : sa)) + : (this.useIntentsResolverUI = !1); + } + }, + { + key: "checkIfResolverShouldBeOpened", + value: function (e, t) { + return this.useIntentsResolverUI + ? this.appManager.application( + this.intentsResolverAppName + ) + ? this.checkIfIntentHasMoreThanOneHandler(e, t) + ? { open: !0 } + : { + open: !1, + reason: "Raised intent ".concat( + e.name, + " has only one handler" + ) + } + : { + open: !1, + reason: "Intent Resolver Application with name ".concat( + this.intentsResolverAppName, + " not found." + ) + } + : { + open: !1, + reason: "Intent Resolver is disabled. Raising intent to first found handler" + }; + } + }, + { + key: "checkIfIntentHasMoreThanOneHandler", + value: function (e, t) { + return t.target + ? "reuse" === t.target + ? t.handlers + ? t.handlers.filter(function (e) { + return ( + "instance" === e.type && + e.instanceId + ); + }).length > 1 || + t.handlers.filter(function (e) { + return "app" === e.type; + }).length > 1 + : e.handlers.filter(function (e) { + return ( + "instance" === e.type && + e.instanceId + ); + }).length > 1 || + e.handlers.filter(function (e) { + return "app" === e.type; + }).length > 1 + : "startNew" === t.target + ? t.handlers + ? t.handlers.filter(function (e) { + return "app" === e.type; + }).length > 1 + : e.handlers.filter(function (e) { + return "app" === e.type; + }).length > 1 + : (t.target, !1) + : t.handlers + ? t.handlers.length > 1 + : e.handlers.length > 1; + } + }, + { + key: "buildInteropMethodName", + value: function (e) { + return "".concat(ra).concat(e); + } + }, + { + key: "clearUnregistrationPromise", + value: function (e) { + this.unregisterIntentPromises = + this.unregisterIntentPromises.filter(function (t) { + return t !== e; + }); + } + }, + { + key: "unsubscribeIntent", + value: function (e) { + var t = this; + this.myIntents.delete(e); + var n = this.buildInteropMethodName(e), + r = this.interop.unregister(n); + (this.unregisterIntentPromises.push(r), + r + .then(function () { + t.clearUnregistrationPromise(r); + }) + .catch(function (e) { + (t.logger.error( + "Unregistration of a method with name ".concat( + n, + " failed with reason: " + ), + e + ), + t.clearUnregistrationPromise(r)); + })); + } + }, + { + key: "validateIntentRequest", + value: function (e) { + var t = this; + (this.validateIntentRequestContext(e.context), + this.validateIntentRequestTarget(e.target), + this.validateIntentRequestTimeout(e.timeout), + this.validateWaitUserResponseIndefinitely( + e.waitUserResponseIndefinitely + ), + e.handlers && + e.handlers.forEach(function (e) { + return t.validateIntentRequestHandler(e); + })); + } + }, + { + key: "validateIntentRequestTarget", + value: function (e) { + if (e && "string" !== typeof e && "object" !== typeof e) + throw new Error( + 'Please provide the intent target as one of the valid values: "reuse", "startNew", { app: string }, { instance: string } ' + ); + } + }, + { + key: "validateIntentRequestContext", + value: function (e) { + if (e) { + if ("object" !== typeof e) + throw new Error( + "Please provide the intent context as an object" + ); + if (e.type && "string" !== typeof e.type) + throw new Error( + "Please provide the intent context as an object with 'type' property as string" + ); + if (e.data && "object" !== typeof e.data) + throw new Error( + "Please provide the intent context as an object with 'data' property as object" + ); + } + } + }, + { + key: "validateIntentRequestHandler", + value: function (e) { + if (!e.applicationName) + throw new Error( + "Please provide applicationName for handler ".concat( + JSON.stringify(e) + ) + ); + if (!e.type) + throw new Error( + "Please provide type for handler ".concat( + JSON.stringify(e) + ) + ); + if ("instance" === e.type && !e.instanceId) + throw new Error( + "Please provide instanceId for handler ".concat( + JSON.stringify(e) + ) + ); + } + }, + { + key: "validateIntentRequestTimeout", + value: function (e) { + if (e) { + if ("number" !== typeof e) + throw new Error( + "Please provide the timeout as a number" + ); + if (e <= 0) + throw new Error( + "Please provide the timeout as a positive number" + ); + } + } + }, + { + key: "validateWaitUserResponseIndefinitely", + value: function (e) { + if (e && "boolean" !== typeof e) + throw new Error( + "Please provide waitUserResponseIndefinitely as a boolean" + ); + } + }, + { + key: "findHandlerByFilter", + value: function (e, t) { + return t.type + ? e.find(function (e) { + return e.type === t.type; + }) + : t.instance + ? e.find(function (e) { + return t.app + ? e.applicationName === t.app && + e.instanceId === t.instance + : e.instanceId === t.instance; + }) + : t.app + ? e.find(function (e) { + return e.applicationName === t.app; + }) + : void 0; + } + } + ]), + e + ); + })(), + ma = (function () { + function e() { + (v(this, e), + (this.initialized = !1), + (this.details = []), + (this.reject = function () {}), + (this.resolve = function () {})); + } + return ( + m(e, [ + { + key: "init", + value: function (e) { + var t = this; + ((this.initialized = !0), + this.addCall(e), + (this.promise = new Promise(function (e, n) { + ((t.resolve = e), (t.reject = n)); + }))); + } + }, + { + key: "addCall", + value: function (e) { + this.details.push({ date: new Date(), config: e }); + } + }, + { + key: "done", + value: function (e) { + this.resolve(e); + } + }, + { + key: "error", + value: function (e) { + this.reject(e); + } + } + ]), + e + ); + })(), + ga = (function () { + function e(t, n) { + (v(this, e), + (this.appName = t), + (this.interop = n), + (this.registry = zr()), + (this.interopMethodRegistered = !1)); + } + return ( + m(e, [ + { + key: "get", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Prefs.Get", + { + app: + null !== + t && + void 0 !== t + ? t + : this + .appName + } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.returned + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "set", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyDataObject( + t + ), + (e.next = 3), + this.interop.invoke( + "T42.Prefs.Set", + { + app: + null !== + (r = + null === + n || + void 0 === + n + ? void 0 + : n.app) && + void 0 !== r + ? r + : this + .appName, + data: t, + merge: !1 + } + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "setFor", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyApp(t), + this.verifyDataObject( + n + ), + e.abrupt( + "return", + this.set(n, { + app: t + }) + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "update", + value: (function () { + var e = s( + a().mark(function e(t, n) { + var r; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyDataObject( + t + ), + (e.next = 3), + this.interop.invoke( + "T42.Prefs.Set", + { + app: + null !== + (r = + null === + n || + void 0 === + n + ? void 0 + : n.app) && + void 0 !== r + ? r + : this + .appName, + data: t, + merge: !0 + } + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "updateFor", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyApp(t), + this.verifyDataObject( + n + ), + e.abrupt( + "return", + this.update(n, { + app: t + }) + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clear", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Prefs.Set", + { + app: + null !== + t && + void 0 !== t + ? t + : this + .appName, + clear: !0 + } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clearFor", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyApp(t), + (e.next = 3), + this.interop.invoke( + "T42.Prefs.Set", + { + app: t, + clear: !0 + } + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "getAll", + value: (function () { + var e = s( + a().mark(function e() { + var t; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Prefs.Get" + ) + ); + case 2: + return ( + (t = e.sent), + e.abrupt( + "return", + t.returned + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "clearAll", + value: (function () { + var e = s( + a().mark(function e() { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.interop.invoke( + "T42.Prefs.Set", + { clear: !0 } + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "subscribe", + value: function (e) { + return ( + this.verifyCallback(e), + this.subscribeFor(this.appName, e) + ); + } + }, + { + key: "subscribeFor", + value: function (e, t) { + var n = this; + (this.verifyApp(e), this.verifyCallback(t)); + var r = this.registry.add(e, t); + return ( + this.registerInteropIfNeeded().then(function () { + n.interop.invoke("T42.Prefs.Get", { + app: e, + subscribe: !0 + }); + }), + function () { + r(); + } + ); + } + }, + { + key: "registerInteropIfNeeded", + value: (function () { + var e = s( + a().mark(function e() { + var t = this; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + !this + .interopMethodRegistered + ) { + e.next = 2; + break; + } + return e.abrupt("return"); + case 2: + return ( + (this.interopMethodRegistered = + !0), + (e.next = 5), + this.interop.register( + "T42.Prefs.Update", + function (e) { + t.registry.execute( + e.app, + e + ); + } + ) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t() { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "verifyApp", + value: function (e) { + if (!e) throw new Error("app should be defined"); + if (!vn(e)) throw new Error("app should be a string"); + } + }, + { + key: "verifyDataObject", + value: function (e) { + if (!e) throw new Error("data should be defined"); + if (!mn(e)) throw new Error("data should be an object"); + } + }, + { + key: "verifyCallback", + value: function (e) { + if (!xn(e)) + throw new Error("callback should be defined"); + } + } + ]), + e + ); + })(), + ya = (function () { + function e(t, n) { + (v(this, e), (this.methodName = t), (this.interop = n)); + } + return ( + m(e, [ + { + key: "get", + value: (function () { + var e = s( + a().mark(function e(t) { + var n; + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.invoke( + "get-cookies", + { filter: t } + ) + ); + case 2: + return ( + (n = e.sent), + e.abrupt( + "return", + n.returned.cookies + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "set", + value: (function () { + var e = s( + a().mark(function e(t) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + this.verifyCookieObject( + t + ), + (e.next = 3), + this.invoke( + "set-cookie", + t + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "remove", + value: (function () { + var e = s( + a().mark(function e(t, n) { + return a().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (vn(t)) { + e.next = 2; + break; + } + throw new Error( + "url should be a string" + ); + case 2: + if (vn(n)) { + e.next = 4; + break; + } + throw new Error( + "name should be a string" + ); + case 4: + return ( + (e.next = 6), + this.invoke( + "remove-cookie", + { url: t, name: n } + ) + ); + case 6: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + function t(t, n) { + return e.apply(this, arguments); + } + return t; + })() + }, + { + key: "invoke", + value: function (e, t) { + return this.interop.invoke(this.methodName, { + command: e, + args: t + }); + } + }, + { + key: "verifyCookieObject", + value: function (e) { + if (!e) throw new Error("cookie should be defined"); + if (!mn(e)) + throw new Error("cookie should be an object"); + } + } + ]), + e + ); + })(); + function wa(e, t) { + var n = new ya(t, e); + return { + get: n.get.bind(n), + remove: n.remove.bind(n), + set: n.set.bind(n), + ready: function () { + return Promise.resolve(); + } + }; + } + var ba, + ka, + xa = (function () { + function e(t) { + (v(this, e), + (this.config = t), + (this.glue42EventName = "Glue42"), + (this.events = { + notifyStarted: { + name: "notifyStarted", + handle: this.handleNotifyStarted.bind(this) + }, + requestGlue: { + name: "requestGlue", + handle: this.handleRequestGlue.bind(this) + } + })); + } + return ( + m(e, [ + { + key: "start", + value: function (e) { + Xi.isNode() || + ((this.glue = e), + this.wireCustomEventListener(), + this.announceStarted()); + } + }, + { + key: "wireCustomEventListener", + value: function () { + var e = this; + window.addEventListener( + this.glue42EventName, + function (t) { + var n = t.detail; + if (n && n.glue42) { + var r = n.glue42.event, + i = e.events[r]; + i && i.handle(n.glue42.message); + } + } + ); + } + }, + { + key: "announceStarted", + value: function () { + this.send("start"); + } + }, + { + key: "handleRequestGlue", + value: function () { + this.config.exposeAPI + ? this.send("requestGlueResponse", { + glue: this.glue + }) + : this.send("requestGlueResponse", { + error: "Will not give access to the underlying Glue API, because it was explicitly denied upon initialization." + }); + } + }, + { + key: "handleNotifyStarted", + value: function () { + this.announceStarted(); + } + }, + { + key: "send", + value: function (e, t) { + var n = { glue42: { event: e, message: t } }, + r = new CustomEvent(this.glue42EventName, { + detail: n + }); + window.dispatchEvent(r); + } + } + ]), + e + ); + })(), + _a = new ma(), + Ca = (function () { + var e = s( + a().mark(function e(t) { + var n, r, i; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if ( + ((n = !1), + _a.initialized || ((n = !0), _a.init(t)), + !(r = + "undefined" !== typeof window && + window.glue42gd)) + ) { + e.next = 7; + break; + } + if (n) { + e.next = 7; + break; + } + return ( + _a.addCall(t), + e.abrupt("return", _a.promise) + ); + case 7: + return ((e.next = 9), Ia(t, r)); + case 9: + return ( + (i = e.sent), + _a.resolve(i), + e.abrupt("return", i) + ); + case 12: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t) { + return e.apply(this, arguments); + }; + })(), + Ia = (function () { + var e = s( + a().mark(function e(t, n) { + var r, + i, + o, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b, + k, + x, + _, + C, + I, + S, + E, + W, + T; + return a().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (W = function (e) { + E.push(e); + }), + (I = function (e, t, n) { + var r = t.subLogger(e); + if (n && n.logger) { + var i = n.logger; + (i.console && + r.consoleLevel(i.console), + i.publish && + r.publishLevel(i.publish)); + } + return r; + }), + (C = function (e) { + var t = wa(e.interop, r); + return (W(t), t); + }), + (_ = function (e) { + var r, + i, + o = + null !== + (i = + null !== + (r = + t.application) && + void 0 !== r + ? r + : null === n || + void 0 === n + ? void 0 + : n.application) && + void 0 !== i + ? i + : e.interop.instance + .application, + a = new ga(o, e.interop); + return (W(a), a); + }), + (x = function (e) { + if (e.contexts) { + var t = na(e.contexts, e.interop); + return (W(t), t); + } + }), + (k = function (e) { + if (o.displays) { + var t = I( + "displays", + e.logger, + o.displays + ); + return ( + (d = new So(e.agm, t)), + W(d), + d + ); + } + }), + (b = function (e) { + var t = new Zo( + e.interop, + e.logger + ).toAPI(); + return (W(t), t); + }), + (w = function (e) { + var n = new va( + e.agm, + u, + e.logger.subLogger("intents"), + t, + s + ); + return (W(n), n); + }), + (y = function (e) { + var t = $o(e.agm); + return (W(t), t); + }), + (g = function (e) { + if (o.channels && e.contexts) { + var t = I( + "channels", + e.logger, + o.channels + ); + return ( + (l = jo( + e.contexts, + e.agm, + function () { + return u; + }, + t + )), + W(l), + l + ); + } + }), + (m = function (e) { + var t; + if (o.layouts) { + var n = I( + "layouts", + e.logger, + o.layouts + ), + r = o.layouts, + a = bo({ + agm: e.agm, + appManager: s, + activityGetter: + function () { + return c; + }, + logger: n, + mode: r.mode, + autoSaveWindowContext: + null !== + (t = + r.autoSaveWindowContext) && + void 0 !== t && + t, + gdMajorVersion: i + }); + return (W(a), a); + } + }), + (v = function (e) { + if (o.appManager) { + var t = I( + "appManager", + e.logger, + o.appManager + ); + return ( + (s = pi({ + agm: e.agm, + windows: u, + logger: t, + activities: c, + mode: o.appManager.mode, + gdMajorVersion: i + })), + W(s), + s + ); + } + }), + (f = function (e) { + var t; + if ( + o.activities && + Cr.checkIsUsingGW3Implementation && + Cr.checkIsUsingGW3Implementation( + e.connection + ) + ) { + var r = I( + "activity", + e.logger, + o.activities + ); + return ( + (c = new Cr({ + connection: e.connection, + contexts: e.contexts, + agm: e.agm, + logger: r, + logLevel: "info", + disableAutoAnnounce: !1, + disposeRequestHandling: + "exit", + announcementInfo: null, + windows: u, + appManagerGetter: + function () { + return s; + }, + mode: o.activities.mode, + typesToTrack: + o.activities + .typesToTrack, + activityId: + null === + (t = + null === n || + void 0 === n + ? void 0 + : n.activityInfo) || + void 0 === t + ? void 0 + : t.activityId, + gdMajorVersion: i + }).api), + W(c), + c + ); + } + }), + (h = function (e) { + if (o.windows) { + var t = I( + "windows", + e.logger, + o.windows + ); + return ( + (u = lo( + e.agm, + t, + function () { + return s; + }, + function () { + return d; + }, + function () { + return l; + }, + i + )), + W(u), + u + ); + } + }), + (r = "T42.GD.Execute"), + (i = Xi.getGDMajorVersion()), + (o = Ko((t = t || {}))), + (t.gateway = t.gateway || {}), + (p = new xa(o)), + (S = { + libs: [ + { name: "windows", create: h }, + { name: "activities", create: f }, + { name: "appManager", create: v }, + { name: "layouts", create: m }, + { name: "channels", create: g }, + { name: "hotkeys", create: y }, + { name: "displays", create: k }, + { name: "intents", create: w }, + { + name: "notifications", + create: b + }, + { name: "themes", create: x }, + { name: "prefs", create: _ }, + { name: "cookies", create: C } + ], + version: Jo, + enrichGlue: function (e) { + ((e.config.activities = + o.activities), + (e.config.windows = o.windows), + (e.config.appManager = + o.appManager), + (e.config.layouts = o.layouts), + (e.config.channels = + o.channels), + (e.config.displays = + o.displays)); + } + }), + (E = []), + "undefined" !== typeof window && + (window.glueFactoryLog || + (window.glueFactoryLog = []), + window.glueFactoryLog.push(E)), + (e.next = 25), + pn(t, S) + ); + case 25: + if ( + ((T = e.sent), + !Array.isArray( + null === t || void 0 === t + ? void 0 + : t.libraries + ) || !t.libraries.length) + ) { + e.next = 29; + break; + } + return ( + (e.next = 29), + Promise.all( + t.libraries.map(function (e) { + return e(T, t); + }) + ) + ); + case 29: + return (p.start(T), e.abrupt("return", T)); + case 31: + case "end": + return e.stop(); + } + }, e); + }) + ); + return function (t, n) { + return e.apply(this, arguments); + }; + })(); + ((Ca.coreVersion = pn.version), (Ca.version = Jo), (Ca.calls = _a)); + var Sa = Ca, + Ea = !0; + if ("undefined" !== typeof window) { + var Wa = window, + Ta = null !== (ba = Wa.iodesktop) && void 0 !== ba ? ba : Wa.glue42gd; + (Ta && + Ta.autoInjected && + ((Sa = null !== (ka = Wa.IODesktop) && void 0 !== ka ? ka : Wa.Glue), + (Ea = !1)), + Ea && ((Wa.Glue = Sa), (Wa.IODesktop = Sa)), + delete Wa.IOBrowser, + delete Wa.GlueCore); + } + return ((Sa.default = Sa), Sa); + })(); + }, + 725: function (e) { + "use strict"; + var t = Object.getOwnPropertySymbols, + n = Object.prototype.hasOwnProperty, + r = Object.prototype.propertyIsEnumerable; + e.exports = (function () { + try { + if (!Object.assign) return !1; + var e = new String("abc"); + if (((e[5] = "de"), "5" === Object.getOwnPropertyNames(e)[0])) return !1; + for (var t = {}, n = 0; n < 10; n++) t["_" + String.fromCharCode(n)] = n; + if ( + "0123456789" !== + Object.getOwnPropertyNames(t) + .map(function (e) { + return t[e]; + }) + .join("") + ) + return !1; + var r = {}; + return ( + "abcdefghijklmnopqrst".split("").forEach(function (e) { + r[e] = e; + }), + "abcdefghijklmnopqrst" === Object.keys(Object.assign({}, r)).join("") + ); + } catch (i) { + return !1; + } + })() + ? Object.assign + : function (e, i) { + for ( + var o, + a, + s = (function (e) { + if (null === e || void 0 === e) + throw new TypeError( + "Object.assign cannot be called with null or undefined" + ); + return Object(e); + })(e), + c = 1; + c < arguments.length; + c++ + ) { + for (var u in (o = Object(arguments[c]))) + n.call(o, u) && (s[u] = o[u]); + if (t) { + a = t(o); + for (var d = 0; d < a.length; d++) + r.call(o, a[d]) && (s[a[d]] = o[a[d]]); + } + } + return s; + }; + }, + 888: function (e, t, n) { + "use strict"; + var r = n(47); + function i() {} + function o() {} + ((o.resetWarningCache = i), + (e.exports = function () { + function e(e, t, n, i, o, a) { + if (a !== r) { + var s = 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 ((s.name = "Invariant Violation"), s); + } + } + function t() { + return e; + } + e.isRequired = e; + var n = { + array: e, + bigint: e, + bool: e, + func: e, + number: e, + object: e, + string: e, + symbol: e, + any: e, + arrayOf: t, + element: e, + elementType: e, + instanceOf: t, + node: e, + objectOf: t, + oneOf: t, + oneOfType: t, + shape: t, + exact: t, + checkPropTypes: o, + resetWarningCache: i + }; + return ((n.PropTypes = n), n); + })); + }, + 7: function (e, t, n) { + e.exports = n(888)(); + }, + 47: function (e) { + "use strict"; + e.exports = "SECRET_DO_NOT_PASS_THIS_OR_YOU_WILL_BE_FIRED"; + }, + 463: function (e, t, n) { + "use strict"; + var r = n(791), + i = n(725), + o = n(296); + function a(e) { + for ( + var t = "https://reactjs.org/docs/error-decoder.html?invariant=" + e, n = 1; + n < arguments.length; + n++ + ) + t += "&args[]=" + encodeURIComponent(arguments[n]); + return ( + "Minified React error #" + + e + + "; visit " + + t + + " for the full message or use the non-minified dev environment for full errors and additional helpful warnings." + ); + } + if (!r) throw Error(a(227)); + var s = new Set(), + c = {}; + function u(e, t) { + (d(e, t), d(e + "Capture", t)); + } + function d(e, t) { + for (c[e] = t, e = 0; e < t.length; e++) s.add(t[e]); + } + var l = !( + "undefined" === typeof window || + "undefined" === typeof window.document || + "undefined" === typeof window.document.createElement + ), + p = + /^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/, + h = Object.prototype.hasOwnProperty, + f = {}, + v = {}; + function m(e, t, n, r, i, o, a) { + ((this.acceptsBooleans = 2 === t || 3 === t || 4 === t), + (this.attributeName = r), + (this.attributeNamespace = i), + (this.mustUseProperty = n), + (this.propertyName = e), + (this.type = t), + (this.sanitizeURL = o), + (this.removeEmptyString = a)); + } + var g = {}; + ("children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style" + .split(" ") + .forEach(function (e) { + g[e] = new m(e, 0, !1, e, null, !1, !1); + }), + [ + ["acceptCharset", "accept-charset"], + ["className", "class"], + ["htmlFor", "for"], + ["httpEquiv", "http-equiv"] + ].forEach(function (e) { + var t = e[0]; + g[t] = new m(t, 1, !1, e[1], null, !1, !1); + }), + ["contentEditable", "draggable", "spellCheck", "value"].forEach(function (e) { + g[e] = new m(e, 2, !1, e.toLowerCase(), null, !1, !1); + }), + [ + "autoReverse", + "externalResourcesRequired", + "focusable", + "preserveAlpha" + ].forEach(function (e) { + g[e] = new m(e, 2, !1, e, null, !1, !1); + }), + "allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope" + .split(" ") + .forEach(function (e) { + g[e] = new m(e, 3, !1, e.toLowerCase(), null, !1, !1); + }), + ["checked", "multiple", "muted", "selected"].forEach(function (e) { + g[e] = new m(e, 3, !0, e, null, !1, !1); + }), + ["capture", "download"].forEach(function (e) { + g[e] = new m(e, 4, !1, e, null, !1, !1); + }), + ["cols", "rows", "size", "span"].forEach(function (e) { + g[e] = new m(e, 6, !1, e, null, !1, !1); + }), + ["rowSpan", "start"].forEach(function (e) { + g[e] = new m(e, 5, !1, e.toLowerCase(), null, !1, !1); + })); + var y = /[\-:]([a-z])/g; + function w(e) { + return e[1].toUpperCase(); + } + function b(e, t, n, r) { + var i = g.hasOwnProperty(t) ? g[t] : null; + (null !== i + ? 0 === i.type + : !r && + 2 < t.length && + ("o" === t[0] || "O" === t[0]) && + ("n" === t[1] || "N" === t[1])) || + ((function (e, t, n, r) { + if ( + null === t || + "undefined" === typeof t || + (function (e, t, n, r) { + if (null !== n && 0 === n.type) return !1; + switch (typeof t) { + case "function": + case "symbol": + return !0; + case "boolean": + return ( + !r && + (null !== n + ? !n.acceptsBooleans + : "data-" !== + (e = e.toLowerCase().slice(0, 5)) && + "aria-" !== e) + ); + default: + return !1; + } + })(e, t, n, r) + ) + return !0; + if (r) return !1; + if (null !== n) + switch (n.type) { + case 3: + return !t; + case 4: + return !1 === t; + case 5: + return isNaN(t); + case 6: + return isNaN(t) || 1 > t; + } + return !1; + })(t, n, i, r) && (n = null), + r || null === i + ? (function (e) { + return ( + !!h.call(v, e) || + (!h.call(f, e) && + (p.test(e) ? (v[e] = !0) : ((f[e] = !0), !1))) + ); + })(t) && + (null === n ? e.removeAttribute(t) : e.setAttribute(t, "" + n)) + : i.mustUseProperty + ? (e[i.propertyName] = null === n ? 3 !== i.type && "" : n) + : ((t = i.attributeName), + (r = i.attributeNamespace), + null === n + ? e.removeAttribute(t) + : ((n = + 3 === (i = i.type) || (4 === i && !0 === n) + ? "" + : "" + n), + r ? e.setAttributeNS(r, t, n) : e.setAttribute(t, n)))); + } + ("accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height" + .split(" ") + .forEach(function (e) { + var t = e.replace(y, w); + g[t] = new m(t, 1, !1, e, null, !1, !1); + }), + "xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type" + .split(" ") + .forEach(function (e) { + var t = e.replace(y, w); + g[t] = new m(t, 1, !1, e, "http://www.w3.org/1999/xlink", !1, !1); + }), + ["xml:base", "xml:lang", "xml:space"].forEach(function (e) { + var t = e.replace(y, w); + g[t] = new m(t, 1, !1, e, "http://www.w3.org/XML/1998/namespace", !1, !1); + }), + ["tabIndex", "crossOrigin"].forEach(function (e) { + g[e] = new m(e, 1, !1, e.toLowerCase(), null, !1, !1); + }), + (g.xlinkHref = new m( + "xlinkHref", + 1, + !1, + "xlink:href", + "http://www.w3.org/1999/xlink", + !0, + !1 + )), + ["src", "href", "action", "formAction"].forEach(function (e) { + g[e] = new m(e, 1, !1, e.toLowerCase(), null, !0, !0); + })); + var k = r.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED, + x = 60103, + _ = 60106, + C = 60107, + I = 60108, + S = 60114, + E = 60109, + W = 60110, + T = 60112, + A = 60113, + P = 60120, + M = 60115, + R = 60116, + O = 60121, + D = 60128, + L = 60129, + B = 60130, + N = 60131; + if ("function" === typeof Symbol && Symbol.for) { + var F = Symbol.for; + ((x = F("react.element")), + (_ = F("react.portal")), + (C = F("react.fragment")), + (I = F("react.strict_mode")), + (S = F("react.profiler")), + (E = F("react.provider")), + (W = F("react.context")), + (T = F("react.forward_ref")), + (A = F("react.suspense")), + (P = F("react.suspense_list")), + (M = F("react.memo")), + (R = F("react.lazy")), + (O = F("react.block")), + F("react.scope"), + (D = F("react.opaque.id")), + (L = F("react.debug_trace_mode")), + (B = F("react.offscreen")), + (N = F("react.legacy_hidden"))); + } + var j, + H = "function" === typeof Symbol && Symbol.iterator; + function z(e) { + return null === e || "object" !== typeof e + ? null + : "function" === typeof (e = (H && e[H]) || e["@@iterator"]) + ? e + : null; + } + function q(e) { + if (void 0 === j) + try { + throw Error(); + } catch (n) { + var t = n.stack.trim().match(/\n( *(at )?)/); + j = (t && t[1]) || ""; + } + return "\n" + j + e; + } + var G = !1; + function U(e, t) { + if (!e || G) return ""; + G = !0; + var n = Error.prepareStackTrace; + Error.prepareStackTrace = void 0; + try { + if (t) + if ( + ((t = function () { + throw Error(); + }), + Object.defineProperty(t.prototype, "props", { + set: function () { + throw Error(); + } + }), + "object" === typeof Reflect && Reflect.construct) + ) { + try { + Reflect.construct(t, []); + } catch (c) { + var r = c; + } + Reflect.construct(e, [], t); + } else { + try { + t.call(); + } catch (c) { + r = c; + } + e.call(t.prototype); + } + else { + try { + throw Error(); + } catch (c) { + r = c; + } + e(); + } + } catch (c) { + if (c && r && "string" === typeof c.stack) { + for ( + var i = c.stack.split("\n"), + o = r.stack.split("\n"), + a = i.length - 1, + s = o.length - 1; + 1 <= a && 0 <= s && i[a] !== o[s]; + + ) + s--; + for (; 1 <= a && 0 <= s; a--, s--) + if (i[a] !== o[s]) { + if (1 !== a || 1 !== s) + do { + if ((a--, 0 > --s || i[a] !== o[s])) + return "\n" + i[a].replace(" at new ", " at "); + } while (1 <= a && 0 <= s); + break; + } + } + } finally { + ((G = !1), (Error.prepareStackTrace = n)); + } + return (e = e ? e.displayName || e.name : "") ? q(e) : ""; + } + function V(e) { + switch (e.tag) { + case 5: + return q(e.type); + case 16: + return q("Lazy"); + case 13: + return q("Suspense"); + case 19: + return q("SuspenseList"); + case 0: + case 2: + case 15: + return (e = U(e.type, !1)); + case 11: + return (e = U(e.type.render, !1)); + case 22: + return (e = U(e.type._render, !1)); + case 1: + return (e = U(e.type, !0)); + default: + return ""; + } + } + function $(e) { + if (null == e) return null; + if ("function" === typeof e) return e.displayName || e.name || null; + if ("string" === typeof e) return e; + switch (e) { + case C: + return "Fragment"; + case _: + return "Portal"; + case S: + return "Profiler"; + case I: + return "StrictMode"; + case A: + return "Suspense"; + case P: + return "SuspenseList"; + } + if ("object" === typeof e) + switch (e.$$typeof) { + case W: + return (e.displayName || "Context") + ".Consumer"; + case E: + return (e._context.displayName || "Context") + ".Provider"; + case T: + var t = e.render; + return ( + (t = t.displayName || t.name || ""), + e.displayName || + ("" !== t ? "ForwardRef(" + t + ")" : "ForwardRef") + ); + case M: + return $(e.type); + case O: + return $(e._render); + case R: + ((t = e._payload), (e = e._init)); + try { + return $(e(t)); + } catch (n) {} + } + return null; + } + function J(e) { + switch (typeof e) { + case "boolean": + case "number": + case "object": + case "string": + case "undefined": + return e; + default: + return ""; + } + } + function K(e) { + var t = e.type; + return ( + (e = e.nodeName) && + "input" === e.toLowerCase() && + ("checkbox" === t || "radio" === t) + ); + } + function Q(e) { + e._valueTracker || + (e._valueTracker = (function (e) { + var t = K(e) ? "checked" : "value", + n = Object.getOwnPropertyDescriptor(e.constructor.prototype, t), + r = "" + e[t]; + if ( + !e.hasOwnProperty(t) && + "undefined" !== typeof n && + "function" === typeof n.get && + "function" === typeof n.set + ) { + var i = n.get, + o = n.set; + return ( + Object.defineProperty(e, t, { + configurable: !0, + get: function () { + return i.call(this); + }, + set: function (e) { + ((r = "" + e), o.call(this, e)); + } + }), + Object.defineProperty(e, t, { enumerable: n.enumerable }), + { + getValue: function () { + return r; + }, + setValue: function (e) { + r = "" + e; + }, + stopTracking: function () { + ((e._valueTracker = null), delete e[t]); + } + } + ); + } + })(e)); + } + function X(e) { + if (!e) return !1; + var t = e._valueTracker; + if (!t) return !0; + var n = t.getValue(), + r = ""; + return ( + e && (r = K(e) ? (e.checked ? "true" : "false") : e.value), + (e = r) !== n && (t.setValue(e), !0) + ); + } + function Y(e) { + if ( + "undefined" === + typeof (e = e || ("undefined" !== typeof document ? document : void 0)) + ) + return null; + try { + return e.activeElement || e.body; + } catch (t) { + return e.body; + } + } + function Z(e, t) { + var n = t.checked; + return i({}, t, { + defaultChecked: void 0, + defaultValue: void 0, + value: void 0, + checked: null != n ? n : e._wrapperState.initialChecked + }); + } + function ee(e, t) { + var n = null == t.defaultValue ? "" : t.defaultValue, + r = null != t.checked ? t.checked : t.defaultChecked; + ((n = J(null != t.value ? t.value : n)), + (e._wrapperState = { + initialChecked: r, + initialValue: n, + controlled: + "checkbox" === t.type || "radio" === t.type + ? null != t.checked + : null != t.value + })); + } + function te(e, t) { + null != (t = t.checked) && b(e, "checked", t, !1); + } + function ne(e, t) { + te(e, t); + var n = J(t.value), + r = t.type; + if (null != n) + "number" === r + ? ((0 === n && "" === e.value) || e.value != n) && (e.value = "" + n) + : e.value !== "" + n && (e.value = "" + n); + else if ("submit" === r || "reset" === r) + return void e.removeAttribute("value"); + (t.hasOwnProperty("value") + ? ie(e, t.type, n) + : t.hasOwnProperty("defaultValue") && ie(e, t.type, J(t.defaultValue)), + null == t.checked && + null != t.defaultChecked && + (e.defaultChecked = !!t.defaultChecked)); + } + function re(e, t, n) { + if (t.hasOwnProperty("value") || t.hasOwnProperty("defaultValue")) { + var r = t.type; + if ( + !( + ("submit" !== r && "reset" !== r) || + (void 0 !== t.value && null !== t.value) + ) + ) + return; + ((t = "" + e._wrapperState.initialValue), + n || t === e.value || (e.value = t), + (e.defaultValue = t)); + } + ("" !== (n = e.name) && (e.name = ""), + (e.defaultChecked = !!e._wrapperState.initialChecked), + "" !== n && (e.name = n)); + } + function ie(e, t, n) { + ("number" === t && Y(e.ownerDocument) === e) || + (null == n + ? (e.defaultValue = "" + e._wrapperState.initialValue) + : e.defaultValue !== "" + n && (e.defaultValue = "" + n)); + } + function oe(e, t) { + return ( + (e = i({ children: void 0 }, t)), + (t = (function (e) { + var t = ""; + return ( + r.Children.forEach(e, function (e) { + null != e && (t += e); + }), + t + ); + })(t.children)) && (e.children = t), + e + ); + } + function ae(e, t, n, r) { + if (((e = e.options), t)) { + t = {}; + for (var i = 0; i < n.length; i++) t["$" + n[i]] = !0; + for (n = 0; n < e.length; n++) + ((i = t.hasOwnProperty("$" + e[n].value)), + e[n].selected !== i && (e[n].selected = i), + i && r && (e[n].defaultSelected = !0)); + } else { + for (n = "" + J(n), t = null, i = 0; i < e.length; i++) { + if (e[i].value === n) + return ( + (e[i].selected = !0), + void (r && (e[i].defaultSelected = !0)) + ); + null !== t || e[i].disabled || (t = e[i]); + } + null !== t && (t.selected = !0); + } + } + function se(e, t) { + if (null != t.dangerouslySetInnerHTML) throw Error(a(91)); + return i({}, t, { + value: void 0, + defaultValue: void 0, + children: "" + e._wrapperState.initialValue + }); + } + function ce(e, t) { + var n = t.value; + if (null == n) { + if (((n = t.children), (t = t.defaultValue), null != n)) { + if (null != t) throw Error(a(92)); + if (Array.isArray(n)) { + if (!(1 >= n.length)) throw Error(a(93)); + n = n[0]; + } + t = n; + } + (null == t && (t = ""), (n = t)); + } + e._wrapperState = { initialValue: J(n) }; + } + function ue(e, t) { + var n = J(t.value), + r = J(t.defaultValue); + (null != n && + ((n = "" + n) !== e.value && (e.value = n), + null == t.defaultValue && e.defaultValue !== n && (e.defaultValue = n)), + null != r && (e.defaultValue = "" + r)); + } + function de(e) { + var t = e.textContent; + t === e._wrapperState.initialValue && "" !== t && null !== t && (e.value = t); + } + var le = { + html: "http://www.w3.org/1999/xhtml", + mathml: "http://www.w3.org/1998/Math/MathML", + svg: "http://www.w3.org/2000/svg" + }; + function pe(e) { + switch (e) { + case "svg": + return "http://www.w3.org/2000/svg"; + case "math": + return "http://www.w3.org/1998/Math/MathML"; + default: + return "http://www.w3.org/1999/xhtml"; + } + } + function he(e, t) { + return null == e || "http://www.w3.org/1999/xhtml" === e + ? pe(t) + : "http://www.w3.org/2000/svg" === e && "foreignObject" === t + ? "http://www.w3.org/1999/xhtml" + : e; + } + var fe, + ve, + me = + ((ve = function (e, t) { + if (e.namespaceURI !== le.svg || "innerHTML" in e) e.innerHTML = t; + else { + for ( + (fe = fe || document.createElement("div")).innerHTML = + "" + t.valueOf().toString() + "", + t = fe.firstChild; + e.firstChild; + + ) + e.removeChild(e.firstChild); + for (; t.firstChild; ) e.appendChild(t.firstChild); + } + }), + "undefined" !== typeof MSApp && MSApp.execUnsafeLocalFunction + ? function (e, t, n, r) { + MSApp.execUnsafeLocalFunction(function () { + return ve(e, t); + }); + } + : ve); + function ge(e, t) { + if (t) { + var n = e.firstChild; + if (n && n === e.lastChild && 3 === n.nodeType) + return void (n.nodeValue = t); + } + e.textContent = t; + } + var ye = { + animationIterationCount: !0, + borderImageOutset: !0, + borderImageSlice: !0, + borderImageWidth: !0, + boxFlex: !0, + boxFlexGroup: !0, + boxOrdinalGroup: !0, + columnCount: !0, + columns: !0, + flex: !0, + flexGrow: !0, + flexPositive: !0, + flexShrink: !0, + flexNegative: !0, + flexOrder: !0, + gridArea: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowSpan: !0, + gridRowStart: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnSpan: !0, + gridColumnStart: !0, + fontWeight: !0, + lineClamp: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + tabSize: !0, + widows: !0, + zIndex: !0, + zoom: !0, + fillOpacity: !0, + floodOpacity: !0, + stopOpacity: !0, + strokeDasharray: !0, + strokeDashoffset: !0, + strokeMiterlimit: !0, + strokeOpacity: !0, + strokeWidth: !0 + }, + we = ["Webkit", "ms", "Moz", "O"]; + function be(e, t, n) { + return null == t || "boolean" === typeof t || "" === t + ? "" + : n || "number" !== typeof t || 0 === t || (ye.hasOwnProperty(e) && ye[e]) + ? ("" + t).trim() + : t + "px"; + } + function ke(e, t) { + for (var n in ((e = e.style), t)) + if (t.hasOwnProperty(n)) { + var r = 0 === n.indexOf("--"), + i = be(n, t[n], r); + ("float" === n && (n = "cssFloat"), + r ? e.setProperty(n, i) : (e[n] = i)); + } + } + Object.keys(ye).forEach(function (e) { + we.forEach(function (t) { + ((t = t + e.charAt(0).toUpperCase() + e.substring(1)), (ye[t] = ye[e])); + }); + }); + var xe = i( + { menuitem: !0 }, + { + area: !0, + base: !0, + br: !0, + col: !0, + embed: !0, + hr: !0, + img: !0, + input: !0, + keygen: !0, + link: !0, + meta: !0, + param: !0, + source: !0, + track: !0, + wbr: !0 + } + ); + function _e(e, t) { + if (t) { + if (xe[e] && (null != t.children || null != t.dangerouslySetInnerHTML)) + throw Error(a(137, e)); + if (null != t.dangerouslySetInnerHTML) { + if (null != t.children) throw Error(a(60)); + if ( + "object" !== typeof t.dangerouslySetInnerHTML || + !("__html" in t.dangerouslySetInnerHTML) + ) + throw Error(a(61)); + } + if (null != t.style && "object" !== typeof t.style) throw Error(a(62)); + } + } + function Ce(e, t) { + if (-1 === e.indexOf("-")) return "string" === typeof t.is; + switch (e) { + case "annotation-xml": + case "color-profile": + case "font-face": + case "font-face-src": + case "font-face-uri": + case "font-face-format": + case "font-face-name": + case "missing-glyph": + return !1; + default: + return !0; + } + } + function Ie(e) { + return ( + (e = e.target || e.srcElement || window).correspondingUseElement && + (e = e.correspondingUseElement), + 3 === e.nodeType ? e.parentNode : e + ); + } + var Se = null, + Ee = null, + We = null; + function Te(e) { + if ((e = ni(e))) { + if ("function" !== typeof Se) throw Error(a(280)); + var t = e.stateNode; + t && ((t = ii(t)), Se(e.stateNode, e.type, t)); + } + } + function Ae(e) { + Ee ? (We ? We.push(e) : (We = [e])) : (Ee = e); + } + function Pe() { + if (Ee) { + var e = Ee, + t = We; + if (((We = Ee = null), Te(e), t)) for (e = 0; e < t.length; e++) Te(t[e]); + } + } + function Me(e, t) { + return e(t); + } + function Re(e, t, n, r, i) { + return e(t, n, r, i); + } + function Oe() {} + var De = Me, + Le = !1, + Be = !1; + function Ne() { + (null === Ee && null === We) || (Oe(), Pe()); + } + function Fe(e, t) { + var n = e.stateNode; + if (null === n) return null; + var r = ii(n); + if (null === r) return null; + n = r[t]; + e: switch (t) { + case "onClick": + case "onClickCapture": + case "onDoubleClick": + case "onDoubleClickCapture": + case "onMouseDown": + case "onMouseDownCapture": + case "onMouseMove": + case "onMouseMoveCapture": + case "onMouseUp": + case "onMouseUpCapture": + case "onMouseEnter": + ((r = !r.disabled) || + (r = !( + "button" === (e = e.type) || + "input" === e || + "select" === e || + "textarea" === e + )), + (e = !r)); + break e; + default: + e = !1; + } + if (e) return null; + if (n && "function" !== typeof n) throw Error(a(231, t, typeof n)); + return n; + } + var je = !1; + if (l) + try { + var He = {}; + (Object.defineProperty(He, "passive", { + get: function () { + je = !0; + } + }), + window.addEventListener("test", He, He), + window.removeEventListener("test", He, He)); + } catch (ve) { + je = !1; + } + function ze(e, t, n, r, i, o, a, s, c) { + var u = Array.prototype.slice.call(arguments, 3); + try { + t.apply(n, u); + } catch (d) { + this.onError(d); + } + } + var qe = !1, + Ge = null, + Ue = !1, + Ve = null, + $e = { + onError: function (e) { + ((qe = !0), (Ge = e)); + } + }; + function Je(e, t, n, r, i, o, a, s, c) { + ((qe = !1), (Ge = null), ze.apply($e, arguments)); + } + function Ke(e) { + var t = e, + n = e; + if (e.alternate) for (; t.return; ) t = t.return; + else { + e = t; + do { + (0 !== (1026 & (t = e).flags) && (n = t.return), (e = t.return)); + } while (e); + } + return 3 === t.tag ? n : null; + } + function Qe(e) { + if (13 === e.tag) { + var t = e.memoizedState; + if ( + (null === t && null !== (e = e.alternate) && (t = e.memoizedState), + null !== t) + ) + return t.dehydrated; + } + return null; + } + function Xe(e) { + if (Ke(e) !== e) throw Error(a(188)); + } + function Ye(e) { + if ( + ((e = (function (e) { + var t = e.alternate; + if (!t) { + if (null === (t = Ke(e))) throw Error(a(188)); + return t !== e ? null : e; + } + for (var n = e, r = t; ; ) { + var i = n.return; + if (null === i) break; + var o = i.alternate; + if (null === o) { + if (null !== (r = i.return)) { + n = r; + continue; + } + break; + } + if (i.child === o.child) { + for (o = i.child; o; ) { + if (o === n) return (Xe(i), e); + if (o === r) return (Xe(i), t); + o = o.sibling; + } + throw Error(a(188)); + } + if (n.return !== r.return) ((n = i), (r = o)); + else { + for (var s = !1, c = i.child; c; ) { + if (c === n) { + ((s = !0), (n = i), (r = o)); + break; + } + if (c === r) { + ((s = !0), (r = i), (n = o)); + break; + } + c = c.sibling; + } + if (!s) { + for (c = o.child; c; ) { + if (c === n) { + ((s = !0), (n = o), (r = i)); + break; + } + if (c === r) { + ((s = !0), (r = o), (n = i)); + break; + } + c = c.sibling; + } + if (!s) throw Error(a(189)); + } + } + if (n.alternate !== r) throw Error(a(190)); + } + if (3 !== n.tag) throw Error(a(188)); + return n.stateNode.current === n ? e : t; + })(e)), + !e) + ) + return null; + for (var t = e; ; ) { + if (5 === t.tag || 6 === t.tag) return t; + if (t.child) ((t.child.return = t), (t = t.child)); + else { + if (t === e) break; + for (; !t.sibling; ) { + if (!t.return || t.return === e) return null; + t = t.return; + } + ((t.sibling.return = t.return), (t = t.sibling)); + } + } + return null; + } + function Ze(e, t) { + for (var n = e.alternate; null !== t; ) { + if (t === e || t === n) return !0; + t = t.return; + } + return !1; + } + var et, + tt, + nt, + rt, + it = !1, + ot = [], + at = null, + st = null, + ct = null, + ut = new Map(), + dt = new Map(), + lt = [], + pt = + "mousedown mouseup touchcancel touchend touchstart auxclick dblclick pointercancel pointerdown pointerup dragend dragstart drop compositionend compositionstart keydown keypress keyup input textInput copy cut paste click change contextmenu reset submit".split( + " " + ); + function ht(e, t, n, r, i) { + return { + blockedOn: e, + domEventName: t, + eventSystemFlags: 16 | n, + nativeEvent: i, + targetContainers: [r] + }; + } + function ft(e, t) { + switch (e) { + case "focusin": + case "focusout": + at = null; + break; + case "dragenter": + case "dragleave": + st = null; + break; + case "mouseover": + case "mouseout": + ct = null; + break; + case "pointerover": + case "pointerout": + ut.delete(t.pointerId); + break; + case "gotpointercapture": + case "lostpointercapture": + dt.delete(t.pointerId); + } + } + function vt(e, t, n, r, i, o) { + return null === e || e.nativeEvent !== o + ? ((e = ht(t, n, r, i, o)), null !== t && null !== (t = ni(t)) && tt(t), e) + : ((e.eventSystemFlags |= r), + (t = e.targetContainers), + null !== i && -1 === t.indexOf(i) && t.push(i), + e); + } + function mt(e) { + var t = ti(e.target); + if (null !== t) { + var n = Ke(t); + if (null !== n) + if (13 === (t = n.tag)) { + if (null !== (t = Qe(n))) + return ( + (e.blockedOn = t), + void rt(e.lanePriority, function () { + o.unstable_runWithPriority(e.priority, function () { + nt(n); + }); + }) + ); + } else if (3 === t && n.stateNode.hydrate) + return void (e.blockedOn = + 3 === n.tag ? n.stateNode.containerInfo : null); + } + e.blockedOn = null; + } + function gt(e) { + if (null !== e.blockedOn) return !1; + for (var t = e.targetContainers; 0 < t.length; ) { + var n = Yt(e.domEventName, e.eventSystemFlags, t[0], e.nativeEvent); + if (null !== n) + return (null !== (t = ni(n)) && tt(t), (e.blockedOn = n), !1); + t.shift(); + } + return !0; + } + function yt(e, t, n) { + gt(e) && n.delete(t); + } + function wt() { + for (it = !1; 0 < ot.length; ) { + var e = ot[0]; + if (null !== e.blockedOn) { + null !== (e = ni(e.blockedOn)) && et(e); + break; + } + for (var t = e.targetContainers; 0 < t.length; ) { + var n = Yt(e.domEventName, e.eventSystemFlags, t[0], e.nativeEvent); + if (null !== n) { + e.blockedOn = n; + break; + } + t.shift(); + } + null === e.blockedOn && ot.shift(); + } + (null !== at && gt(at) && (at = null), + null !== st && gt(st) && (st = null), + null !== ct && gt(ct) && (ct = null), + ut.forEach(yt), + dt.forEach(yt)); + } + function bt(e, t) { + e.blockedOn === t && + ((e.blockedOn = null), + it || + ((it = !0), + o.unstable_scheduleCallback(o.unstable_NormalPriority, wt))); + } + function kt(e) { + function t(t) { + return bt(t, e); + } + if (0 < ot.length) { + bt(ot[0], e); + for (var n = 1; n < ot.length; n++) { + var r = ot[n]; + r.blockedOn === e && (r.blockedOn = null); + } + } + for ( + null !== at && bt(at, e), + null !== st && bt(st, e), + null !== ct && bt(ct, e), + ut.forEach(t), + dt.forEach(t), + n = 0; + n < lt.length; + n++ + ) + (r = lt[n]).blockedOn === e && (r.blockedOn = null); + for (; 0 < lt.length && null === (n = lt[0]).blockedOn; ) + (mt(n), null === n.blockedOn && lt.shift()); + } + function xt(e, t) { + var n = {}; + return ( + (n[e.toLowerCase()] = t.toLowerCase()), + (n["Webkit" + e] = "webkit" + t), + (n["Moz" + e] = "moz" + t), + n + ); + } + var _t = { + animationend: xt("Animation", "AnimationEnd"), + animationiteration: xt("Animation", "AnimationIteration"), + animationstart: xt("Animation", "AnimationStart"), + transitionend: xt("Transition", "TransitionEnd") + }, + Ct = {}, + It = {}; + function St(e) { + if (Ct[e]) return Ct[e]; + if (!_t[e]) return e; + var t, + n = _t[e]; + for (t in n) if (n.hasOwnProperty(t) && t in It) return (Ct[e] = n[t]); + return e; + } + l && + ((It = document.createElement("div").style), + "AnimationEvent" in window || + (delete _t.animationend.animation, + delete _t.animationiteration.animation, + delete _t.animationstart.animation), + "TransitionEvent" in window || delete _t.transitionend.transition); + var Et = St("animationend"), + Wt = St("animationiteration"), + Tt = St("animationstart"), + At = St("transitionend"), + Pt = new Map(), + Mt = new Map(), + Rt = [ + "abort", + "abort", + Et, + "animationEnd", + Wt, + "animationIteration", + Tt, + "animationStart", + "canplay", + "canPlay", + "canplaythrough", + "canPlayThrough", + "durationchange", + "durationChange", + "emptied", + "emptied", + "encrypted", + "encrypted", + "ended", + "ended", + "error", + "error", + "gotpointercapture", + "gotPointerCapture", + "load", + "load", + "loadeddata", + "loadedData", + "loadedmetadata", + "loadedMetadata", + "loadstart", + "loadStart", + "lostpointercapture", + "lostPointerCapture", + "playing", + "playing", + "progress", + "progress", + "seeking", + "seeking", + "stalled", + "stalled", + "suspend", + "suspend", + "timeupdate", + "timeUpdate", + At, + "transitionEnd", + "waiting", + "waiting" + ]; + function Ot(e, t) { + for (var n = 0; n < e.length; n += 2) { + var r = e[n], + i = e[n + 1]; + ((i = "on" + (i[0].toUpperCase() + i.slice(1))), + Mt.set(r, t), + Pt.set(r, i), + u(i, [r])); + } + } + (0, o.unstable_now)(); + var Dt = 8; + function Lt(e) { + if (0 !== (1 & e)) return ((Dt = 15), 1); + if (0 !== (2 & e)) return ((Dt = 14), 2); + if (0 !== (4 & e)) return ((Dt = 13), 4); + var t = 24 & e; + return 0 !== t + ? ((Dt = 12), t) + : 0 !== (32 & e) + ? ((Dt = 11), 32) + : 0 !== (t = 192 & e) + ? ((Dt = 10), t) + : 0 !== (256 & e) + ? ((Dt = 9), 256) + : 0 !== (t = 3584 & e) + ? ((Dt = 8), t) + : 0 !== (4096 & e) + ? ((Dt = 7), 4096) + : 0 !== (t = 4186112 & e) + ? ((Dt = 6), t) + : 0 !== (t = 62914560 & e) + ? ((Dt = 5), t) + : 67108864 & e + ? ((Dt = 4), 67108864) + : 0 !== (134217728 & e) + ? ((Dt = 3), 134217728) + : 0 !== (t = 805306368 & e) + ? ((Dt = 2), t) + : 0 !== (1073741824 & e) + ? ((Dt = 1), 1073741824) + : ((Dt = 8), e); + } + function Bt(e, t) { + var n = e.pendingLanes; + if (0 === n) return (Dt = 0); + var r = 0, + i = 0, + o = e.expiredLanes, + a = e.suspendedLanes, + s = e.pingedLanes; + if (0 !== o) ((r = o), (i = Dt = 15)); + else if (0 !== (o = 134217727 & n)) { + var c = o & ~a; + 0 !== c + ? ((r = Lt(c)), (i = Dt)) + : 0 !== (s &= o) && ((r = Lt(s)), (i = Dt)); + } else + 0 !== (o = n & ~a) + ? ((r = Lt(o)), (i = Dt)) + : 0 !== s && ((r = Lt(s)), (i = Dt)); + if (0 === r) return 0; + if ( + ((r = n & (((0 > (r = 31 - qt(r)) ? 0 : 1 << r) << 1) - 1)), + 0 !== t && t !== r && 0 === (t & a)) + ) { + if ((Lt(t), i <= Dt)) return t; + Dt = i; + } + if (0 !== (t = e.entangledLanes)) + for (e = e.entanglements, t &= r; 0 < t; ) + ((i = 1 << (n = 31 - qt(t))), (r |= e[n]), (t &= ~i)); + return r; + } + function Nt(e) { + return 0 !== (e = -1073741825 & e.pendingLanes) + ? e + : 1073741824 & e + ? 1073741824 + : 0; + } + function Ft(e, t) { + switch (e) { + case 15: + return 1; + case 14: + return 2; + case 12: + return 0 === (e = jt(24 & ~t)) ? Ft(10, t) : e; + case 10: + return 0 === (e = jt(192 & ~t)) ? Ft(8, t) : e; + case 8: + return ( + 0 === (e = jt(3584 & ~t)) && + 0 === (e = jt(4186112 & ~t)) && + (e = 512), + e + ); + case 2: + return (0 === (t = jt(805306368 & ~t)) && (t = 268435456), t); + } + throw Error(a(358, e)); + } + function jt(e) { + return e & -e; + } + function Ht(e) { + for (var t = [], n = 0; 31 > n; n++) t.push(e); + return t; + } + function zt(e, t, n) { + e.pendingLanes |= t; + var r = t - 1; + ((e.suspendedLanes &= r), + (e.pingedLanes &= r), + ((e = e.eventTimes)[(t = 31 - qt(t))] = n)); + } + var qt = Math.clz32 + ? Math.clz32 + : function (e) { + return 0 === e ? 32 : (31 - ((Gt(e) / Ut) | 0)) | 0; + }, + Gt = Math.log, + Ut = Math.LN2; + var Vt = o.unstable_UserBlockingPriority, + $t = o.unstable_runWithPriority, + Jt = !0; + function Kt(e, t, n, r) { + Le || Oe(); + var i = Xt, + o = Le; + Le = !0; + try { + Re(i, e, t, n, r); + } finally { + (Le = o) || Ne(); + } + } + function Qt(e, t, n, r) { + $t(Vt, Xt.bind(null, e, t, n, r)); + } + function Xt(e, t, n, r) { + var i; + if (Jt) + if ((i = 0 === (4 & t)) && 0 < ot.length && -1 < pt.indexOf(e)) + ((e = ht(null, e, t, n, r)), ot.push(e)); + else { + var o = Yt(e, t, n, r); + if (null === o) i && ft(e, r); + else { + if (i) { + if (-1 < pt.indexOf(e)) + return ((e = ht(o, e, t, n, r)), void ot.push(e)); + if ( + (function (e, t, n, r, i) { + switch (t) { + case "focusin": + return ((at = vt(at, e, t, n, r, i)), !0); + case "dragenter": + return ((st = vt(st, e, t, n, r, i)), !0); + case "mouseover": + return ((ct = vt(ct, e, t, n, r, i)), !0); + case "pointerover": + var o = i.pointerId; + return ( + ut.set( + o, + vt(ut.get(o) || null, e, t, n, r, i) + ), + !0 + ); + case "gotpointercapture": + return ( + (o = i.pointerId), + dt.set( + o, + vt(dt.get(o) || null, e, t, n, r, i) + ), + !0 + ); + } + return !1; + })(o, e, t, n, r) + ) + return; + ft(e, r); + } + Or(e, t, r, null, n); + } + } + } + function Yt(e, t, n, r) { + var i = Ie(r); + if (null !== (i = ti(i))) { + var o = Ke(i); + if (null === o) i = null; + else { + var a = o.tag; + if (13 === a) { + if (null !== (i = Qe(o))) return i; + i = null; + } else if (3 === a) { + if (o.stateNode.hydrate) + return 3 === o.tag ? o.stateNode.containerInfo : null; + i = null; + } else o !== i && (i = null); + } + } + return (Or(e, t, r, i, n), null); + } + var Zt = null, + en = null, + tn = null; + function nn() { + if (tn) return tn; + var e, + t, + n = en, + r = n.length, + i = "value" in Zt ? Zt.value : Zt.textContent, + o = i.length; + for (e = 0; e < r && n[e] === i[e]; e++); + var a = r - e; + for (t = 1; t <= a && n[r - t] === i[o - t]; t++); + return (tn = i.slice(e, 1 < t ? 1 - t : void 0)); + } + function rn(e) { + var t = e.keyCode; + return ( + "charCode" in e ? 0 === (e = e.charCode) && 13 === t && (e = 13) : (e = t), + 10 === e && (e = 13), + 32 <= e || 13 === e ? e : 0 + ); + } + function on() { + return !0; + } + function an() { + return !1; + } + function sn(e) { + function t(t, n, r, i, o) { + for (var a in ((this._reactName = t), + (this._targetInst = r), + (this.type = n), + (this.nativeEvent = i), + (this.target = o), + (this.currentTarget = null), + e)) + e.hasOwnProperty(a) && ((t = e[a]), (this[a] = t ? t(i) : i[a])); + return ( + (this.isDefaultPrevented = ( + null != i.defaultPrevented + ? i.defaultPrevented + : !1 === i.returnValue + ) + ? on + : an), + (this.isPropagationStopped = an), + this + ); + } + return ( + i(t.prototype, { + preventDefault: function () { + this.defaultPrevented = !0; + var e = this.nativeEvent; + e && + (e.preventDefault + ? e.preventDefault() + : "unknown" !== typeof e.returnValue && + (e.returnValue = !1), + (this.isDefaultPrevented = on)); + }, + stopPropagation: function () { + var e = this.nativeEvent; + e && + (e.stopPropagation + ? e.stopPropagation() + : "unknown" !== typeof e.cancelBubble && + (e.cancelBubble = !0), + (this.isPropagationStopped = on)); + }, + persist: function () {}, + isPersistent: on + }), + t + ); + } + var cn, + un, + dn, + ln = { + eventPhase: 0, + bubbles: 0, + cancelable: 0, + timeStamp: function (e) { + return e.timeStamp || Date.now(); + }, + defaultPrevented: 0, + isTrusted: 0 + }, + pn = sn(ln), + hn = i({}, ln, { view: 0, detail: 0 }), + fn = sn(hn), + vn = i({}, hn, { + screenX: 0, + screenY: 0, + clientX: 0, + clientY: 0, + pageX: 0, + pageY: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + getModifierState: En, + button: 0, + buttons: 0, + relatedTarget: function (e) { + return void 0 === e.relatedTarget + ? e.fromElement === e.srcElement + ? e.toElement + : e.fromElement + : e.relatedTarget; + }, + movementX: function (e) { + return "movementX" in e + ? e.movementX + : (e !== dn && + (dn && "mousemove" === e.type + ? ((cn = e.screenX - dn.screenX), + (un = e.screenY - dn.screenY)) + : (un = cn = 0), + (dn = e)), + cn); + }, + movementY: function (e) { + return "movementY" in e ? e.movementY : un; + } + }), + mn = sn(vn), + gn = sn(i({}, vn, { dataTransfer: 0 })), + yn = sn(i({}, hn, { relatedTarget: 0 })), + wn = sn(i({}, ln, { animationName: 0, elapsedTime: 0, pseudoElement: 0 })), + bn = i({}, ln, { + clipboardData: function (e) { + return "clipboardData" in e ? e.clipboardData : window.clipboardData; + } + }), + kn = sn(bn), + xn = sn(i({}, ln, { data: 0 })), + _n = { + Esc: "Escape", + Spacebar: " ", + Left: "ArrowLeft", + Up: "ArrowUp", + Right: "ArrowRight", + Down: "ArrowDown", + Del: "Delete", + Win: "OS", + Menu: "ContextMenu", + Apps: "ContextMenu", + Scroll: "ScrollLock", + MozPrintableKey: "Unidentified" + }, + Cn = { + 8: "Backspace", + 9: "Tab", + 12: "Clear", + 13: "Enter", + 16: "Shift", + 17: "Control", + 18: "Alt", + 19: "Pause", + 20: "CapsLock", + 27: "Escape", + 32: " ", + 33: "PageUp", + 34: "PageDown", + 35: "End", + 36: "Home", + 37: "ArrowLeft", + 38: "ArrowUp", + 39: "ArrowRight", + 40: "ArrowDown", + 45: "Insert", + 46: "Delete", + 112: "F1", + 113: "F2", + 114: "F3", + 115: "F4", + 116: "F5", + 117: "F6", + 118: "F7", + 119: "F8", + 120: "F9", + 121: "F10", + 122: "F11", + 123: "F12", + 144: "NumLock", + 145: "ScrollLock", + 224: "Meta" + }, + In = { Alt: "altKey", Control: "ctrlKey", Meta: "metaKey", Shift: "shiftKey" }; + function Sn(e) { + var t = this.nativeEvent; + return t.getModifierState ? t.getModifierState(e) : !!(e = In[e]) && !!t[e]; + } + function En() { + return Sn; + } + var Wn = i({}, hn, { + key: function (e) { + if (e.key) { + var t = _n[e.key] || e.key; + if ("Unidentified" !== t) return t; + } + return "keypress" === e.type + ? 13 === (e = rn(e)) + ? "Enter" + : String.fromCharCode(e) + : "keydown" === e.type || "keyup" === e.type + ? Cn[e.keyCode] || "Unidentified" + : ""; + }, + code: 0, + location: 0, + ctrlKey: 0, + shiftKey: 0, + altKey: 0, + metaKey: 0, + repeat: 0, + locale: 0, + getModifierState: En, + charCode: function (e) { + return "keypress" === e.type ? rn(e) : 0; + }, + keyCode: function (e) { + return "keydown" === e.type || "keyup" === e.type ? e.keyCode : 0; + }, + which: function (e) { + return "keypress" === e.type + ? rn(e) + : "keydown" === e.type || "keyup" === e.type + ? e.keyCode + : 0; + } + }), + Tn = sn(Wn), + An = sn( + i({}, vn, { + pointerId: 0, + width: 0, + height: 0, + pressure: 0, + tangentialPressure: 0, + tiltX: 0, + tiltY: 0, + twist: 0, + pointerType: 0, + isPrimary: 0 + }) + ), + Pn = sn( + i({}, hn, { + touches: 0, + targetTouches: 0, + changedTouches: 0, + altKey: 0, + metaKey: 0, + ctrlKey: 0, + shiftKey: 0, + getModifierState: En + }) + ), + Mn = sn(i({}, ln, { propertyName: 0, elapsedTime: 0, pseudoElement: 0 })), + Rn = i({}, vn, { + deltaX: function (e) { + return "deltaX" in e + ? e.deltaX + : "wheelDeltaX" in e + ? -e.wheelDeltaX + : 0; + }, + deltaY: function (e) { + return "deltaY" in e + ? e.deltaY + : "wheelDeltaY" in e + ? -e.wheelDeltaY + : "wheelDelta" in e + ? -e.wheelDelta + : 0; + }, + deltaZ: 0, + deltaMode: 0 + }), + On = sn(Rn), + Dn = [9, 13, 27, 32], + Ln = l && "CompositionEvent" in window, + Bn = null; + l && "documentMode" in document && (Bn = document.documentMode); + var Nn = l && "TextEvent" in window && !Bn, + Fn = l && (!Ln || (Bn && 8 < Bn && 11 >= Bn)), + jn = String.fromCharCode(32), + Hn = !1; + function zn(e, t) { + switch (e) { + case "keyup": + return -1 !== Dn.indexOf(t.keyCode); + case "keydown": + return 229 !== t.keyCode; + case "keypress": + case "mousedown": + case "focusout": + return !0; + default: + return !1; + } + } + function qn(e) { + return "object" === typeof (e = e.detail) && "data" in e ? e.data : null; + } + var Gn = !1; + var Un = { + color: !0, + date: !0, + datetime: !0, + "datetime-local": !0, + email: !0, + month: !0, + number: !0, + password: !0, + range: !0, + search: !0, + tel: !0, + text: !0, + time: !0, + url: !0, + week: !0 + }; + function Vn(e) { + var t = e && e.nodeName && e.nodeName.toLowerCase(); + return "input" === t ? !!Un[e.type] : "textarea" === t; + } + function $n(e, t, n, r) { + (Ae(r), + 0 < (t = Lr(t, "onChange")).length && + ((n = new pn("onChange", "change", null, n, r)), + e.push({ event: n, listeners: t }))); + } + var Jn = null, + Kn = null; + function Qn(e) { + Wr(e, 0); + } + function Xn(e) { + if (X(ri(e))) return e; + } + function Yn(e, t) { + if ("change" === e) return t; + } + var Zn = !1; + if (l) { + var er; + if (l) { + var tr = "oninput" in document; + if (!tr) { + var nr = document.createElement("div"); + (nr.setAttribute("oninput", "return;"), + (tr = "function" === typeof nr.oninput)); + } + er = tr; + } else er = !1; + Zn = er && (!document.documentMode || 9 < document.documentMode); + } + function rr() { + Jn && (Jn.detachEvent("onpropertychange", ir), (Kn = Jn = null)); + } + function ir(e) { + if ("value" === e.propertyName && Xn(Kn)) { + var t = []; + if (($n(t, Kn, e, Ie(e)), (e = Qn), Le)) e(t); + else { + Le = !0; + try { + Me(e, t); + } finally { + ((Le = !1), Ne()); + } + } + } + } + function or(e, t, n) { + "focusin" === e + ? (rr(), (Kn = n), (Jn = t).attachEvent("onpropertychange", ir)) + : "focusout" === e && rr(); + } + function ar(e) { + if ("selectionchange" === e || "keyup" === e || "keydown" === e) return Xn(Kn); + } + function sr(e, t) { + if ("click" === e) return Xn(t); + } + function cr(e, t) { + if ("input" === e || "change" === e) return Xn(t); + } + var ur = + "function" === typeof Object.is + ? Object.is + : function (e, t) { + return ( + (e === t && (0 !== e || 1 / e === 1 / t)) || + (e !== e && t !== t) + ); + }, + dr = Object.prototype.hasOwnProperty; + function lr(e, t) { + if (ur(e, t)) return !0; + if ("object" !== typeof e || null === e || "object" !== typeof t || null === t) + return !1; + var n = Object.keys(e), + r = Object.keys(t); + if (n.length !== r.length) return !1; + for (r = 0; r < n.length; r++) + if (!dr.call(t, n[r]) || !ur(e[n[r]], t[n[r]])) return !1; + return !0; + } + function pr(e) { + for (; e && e.firstChild; ) e = e.firstChild; + return e; + } + function hr(e, t) { + var n, + r = pr(e); + for (e = 0; r; ) { + if (3 === r.nodeType) { + if (((n = e + r.textContent.length), e <= t && n >= t)) + return { node: r, offset: t - e }; + e = n; + } + e: { + for (; r; ) { + if (r.nextSibling) { + r = r.nextSibling; + break e; + } + r = r.parentNode; + } + r = void 0; + } + r = pr(r); + } + } + function fr(e, t) { + return ( + !(!e || !t) && + (e === t || + ((!e || 3 !== e.nodeType) && + (t && 3 === t.nodeType + ? fr(e, t.parentNode) + : "contains" in e + ? e.contains(t) + : !!e.compareDocumentPosition && + !!(16 & e.compareDocumentPosition(t))))) + ); + } + function vr() { + for (var e = window, t = Y(); t instanceof e.HTMLIFrameElement; ) { + try { + var n = "string" === typeof t.contentWindow.location.href; + } catch (r) { + n = !1; + } + if (!n) break; + t = Y((e = t.contentWindow).document); + } + return t; + } + function mr(e) { + var t = e && e.nodeName && e.nodeName.toLowerCase(); + return ( + t && + (("input" === t && + ("text" === e.type || + "search" === e.type || + "tel" === e.type || + "url" === e.type || + "password" === e.type)) || + "textarea" === t || + "true" === e.contentEditable) + ); + } + var gr = l && "documentMode" in document && 11 >= document.documentMode, + yr = null, + wr = null, + br = null, + kr = !1; + function xr(e, t, n) { + var r = n.window === n ? n.document : 9 === n.nodeType ? n : n.ownerDocument; + kr || + null == yr || + yr !== Y(r) || + ("selectionStart" in (r = yr) && mr(r) + ? (r = { start: r.selectionStart, end: r.selectionEnd }) + : (r = { + anchorNode: (r = ( + (r.ownerDocument && r.ownerDocument.defaultView) || + window + ).getSelection()).anchorNode, + anchorOffset: r.anchorOffset, + focusNode: r.focusNode, + focusOffset: r.focusOffset + }), + (br && lr(br, r)) || + ((br = r), + 0 < (r = Lr(wr, "onSelect")).length && + ((t = new pn("onSelect", "select", null, t, n)), + e.push({ event: t, listeners: r }), + (t.target = yr)))); + } + (Ot( + "cancel cancel click click close close contextmenu contextMenu copy copy cut cut auxclick auxClick dblclick doubleClick dragend dragEnd dragstart dragStart drop drop focusin focus focusout blur input input invalid invalid keydown keyDown keypress keyPress keyup keyUp mousedown mouseDown mouseup mouseUp paste paste pause pause play play pointercancel pointerCancel pointerdown pointerDown pointerup pointerUp ratechange rateChange reset reset seeked seeked submit submit touchcancel touchCancel touchend touchEnd touchstart touchStart volumechange volumeChange".split( + " " + ), + 0 + ), + Ot( + "drag drag dragenter dragEnter dragexit dragExit dragleave dragLeave dragover dragOver mousemove mouseMove mouseout mouseOut mouseover mouseOver pointermove pointerMove pointerout pointerOut pointerover pointerOver scroll scroll toggle toggle touchmove touchMove wheel wheel".split( + " " + ), + 1 + ), + Ot(Rt, 2)); + for ( + var _r = + "change selectionchange textInput compositionstart compositionend compositionupdate".split( + " " + ), + Cr = 0; + Cr < _r.length; + Cr++ + ) + Mt.set(_r[Cr], 0); + (d("onMouseEnter", ["mouseout", "mouseover"]), + d("onMouseLeave", ["mouseout", "mouseover"]), + d("onPointerEnter", ["pointerout", "pointerover"]), + d("onPointerLeave", ["pointerout", "pointerover"]), + u( + "onChange", + "change click focusin focusout input keydown keyup selectionchange".split( + " " + ) + ), + u( + "onSelect", + "focusout contextmenu dragend focusin keydown keyup mousedown mouseup selectionchange".split( + " " + ) + ), + u("onBeforeInput", ["compositionend", "keypress", "textInput", "paste"]), + u( + "onCompositionEnd", + "compositionend focusout keydown keypress keyup mousedown".split(" ") + ), + u( + "onCompositionStart", + "compositionstart focusout keydown keypress keyup mousedown".split(" ") + ), + u( + "onCompositionUpdate", + "compositionupdate focusout keydown keypress keyup mousedown".split(" ") + )); + var Ir = + "abort canplay canplaythrough durationchange emptied encrypted ended error loadeddata loadedmetadata loadstart pause play playing progress ratechange seeked seeking stalled suspend timeupdate volumechange waiting".split( + " " + ), + Sr = new Set("cancel close invalid load scroll toggle".split(" ").concat(Ir)); + function Er(e, t, n) { + var r = e.type || "unknown-event"; + ((e.currentTarget = n), + (function (e, t, n, r, i, o, s, c, u) { + if ((Je.apply(this, arguments), qe)) { + if (!qe) throw Error(a(198)); + var d = Ge; + ((qe = !1), (Ge = null), Ue || ((Ue = !0), (Ve = d))); + } + })(r, t, void 0, e), + (e.currentTarget = null)); + } + function Wr(e, t) { + t = 0 !== (4 & t); + for (var n = 0; n < e.length; n++) { + var r = e[n], + i = r.event; + r = r.listeners; + e: { + var o = void 0; + if (t) + for (var a = r.length - 1; 0 <= a; a--) { + var s = r[a], + c = s.instance, + u = s.currentTarget; + if (((s = s.listener), c !== o && i.isPropagationStopped())) + break e; + (Er(i, s, u), (o = c)); + } + else + for (a = 0; a < r.length; a++) { + if ( + ((c = (s = r[a]).instance), + (u = s.currentTarget), + (s = s.listener), + c !== o && i.isPropagationStopped()) + ) + break e; + (Er(i, s, u), (o = c)); + } + } + } + if (Ue) throw ((e = Ve), (Ue = !1), (Ve = null), e); + } + function Tr(e, t) { + var n = oi(t), + r = e + "__bubble"; + n.has(r) || (Rr(t, e, 2, !1), n.add(r)); + } + var Ar = "_reactListening" + Math.random().toString(36).slice(2); + function Pr(e) { + e[Ar] || + ((e[Ar] = !0), + s.forEach(function (t) { + (Sr.has(t) || Mr(t, !1, e, null), Mr(t, !0, e, null)); + })); + } + function Mr(e, t, n, r) { + var i = 4 < arguments.length && void 0 !== arguments[4] ? arguments[4] : 0, + o = n; + if ( + ("selectionchange" === e && 9 !== n.nodeType && (o = n.ownerDocument), + null !== r && !t && Sr.has(e)) + ) { + if ("scroll" !== e) return; + ((i |= 2), (o = r)); + } + var a = oi(o), + s = e + "__" + (t ? "capture" : "bubble"); + a.has(s) || (t && (i |= 4), Rr(o, e, i, t), a.add(s)); + } + function Rr(e, t, n, r) { + var i = Mt.get(t); + switch (void 0 === i ? 2 : i) { + case 0: + i = Kt; + break; + case 1: + i = Qt; + break; + default: + i = Xt; + } + ((n = i.bind(null, t, n, e)), + (i = void 0), + !je || + ("touchstart" !== t && "touchmove" !== t && "wheel" !== t) || + (i = !0), + r + ? void 0 !== i + ? e.addEventListener(t, n, { capture: !0, passive: i }) + : e.addEventListener(t, n, !0) + : void 0 !== i + ? e.addEventListener(t, n, { passive: i }) + : e.addEventListener(t, n, !1)); + } + function Or(e, t, n, r, i) { + var o = r; + if (0 === (1 & t) && 0 === (2 & t) && null !== r) + e: for (;;) { + if (null === r) return; + var a = r.tag; + if (3 === a || 4 === a) { + var s = r.stateNode.containerInfo; + if (s === i || (8 === s.nodeType && s.parentNode === i)) break; + if (4 === a) + for (a = r.return; null !== a; ) { + var c = a.tag; + if ( + (3 === c || 4 === c) && + ((c = a.stateNode.containerInfo) === i || + (8 === c.nodeType && c.parentNode === i)) + ) + return; + a = a.return; + } + for (; null !== s; ) { + if (null === (a = ti(s))) return; + if (5 === (c = a.tag) || 6 === c) { + r = o = a; + continue e; + } + s = s.parentNode; + } + } + r = r.return; + } + !(function (e, t, n) { + if (Be) return e(t, n); + Be = !0; + try { + De(e, t, n); + } finally { + ((Be = !1), Ne()); + } + })(function () { + var r = o, + i = Ie(n), + a = []; + e: { + var s = Pt.get(e); + if (void 0 !== s) { + var c = pn, + u = e; + switch (e) { + case "keypress": + if (0 === rn(n)) break e; + case "keydown": + case "keyup": + c = Tn; + break; + case "focusin": + ((u = "focus"), (c = yn)); + break; + case "focusout": + ((u = "blur"), (c = yn)); + break; + case "beforeblur": + case "afterblur": + c = yn; + break; + case "click": + if (2 === n.button) break e; + case "auxclick": + case "dblclick": + case "mousedown": + case "mousemove": + case "mouseup": + case "mouseout": + case "mouseover": + case "contextmenu": + c = mn; + break; + case "drag": + case "dragend": + case "dragenter": + case "dragexit": + case "dragleave": + case "dragover": + case "dragstart": + case "drop": + c = gn; + break; + case "touchcancel": + case "touchend": + case "touchmove": + case "touchstart": + c = Pn; + break; + case Et: + case Wt: + case Tt: + c = wn; + break; + case At: + c = Mn; + break; + case "scroll": + c = fn; + break; + case "wheel": + c = On; + break; + case "copy": + case "cut": + case "paste": + c = kn; + break; + case "gotpointercapture": + case "lostpointercapture": + case "pointercancel": + case "pointerdown": + case "pointermove": + case "pointerout": + case "pointerover": + case "pointerup": + c = An; + } + var d = 0 !== (4 & t), + l = !d && "scroll" === e, + p = d ? (null !== s ? s + "Capture" : null) : s; + d = []; + for (var h, f = r; null !== f; ) { + var v = (h = f).stateNode; + if ( + (5 === h.tag && + null !== v && + ((h = v), + null !== p && + null != (v = Fe(f, p)) && + d.push(Dr(f, v, h))), + l) + ) + break; + f = f.return; + } + 0 < d.length && + ((s = new c(s, u, null, n, i)), + a.push({ event: s, listeners: d })); + } + } + if (0 === (7 & t)) { + if ( + ((c = "mouseout" === e || "pointerout" === e), + (!(s = "mouseover" === e || "pointerover" === e) || + 0 !== (16 & t) || + !(u = n.relatedTarget || n.fromElement) || + (!ti(u) && !u[Zr])) && + (c || s) && + ((s = + i.window === i + ? i + : (s = i.ownerDocument) + ? s.defaultView || s.parentWindow + : window), + c + ? ((c = r), + null !== + (u = (u = n.relatedTarget || n.toElement) + ? ti(u) + : null) && + (u !== (l = Ke(u)) || (5 !== u.tag && 6 !== u.tag)) && + (u = null)) + : ((c = null), (u = r)), + c !== u)) + ) { + if ( + ((d = mn), + (v = "onMouseLeave"), + (p = "onMouseEnter"), + (f = "mouse"), + ("pointerout" !== e && "pointerover" !== e) || + ((d = An), + (v = "onPointerLeave"), + (p = "onPointerEnter"), + (f = "pointer")), + (l = null == c ? s : ri(c)), + (h = null == u ? s : ri(u)), + ((s = new d(v, f + "leave", c, n, i)).target = l), + (s.relatedTarget = h), + (v = null), + ti(i) === r && + (((d = new d(p, f + "enter", u, n, i)).target = h), + (d.relatedTarget = l), + (v = d)), + (l = v), + c && u) + ) + e: { + for (p = u, f = 0, h = d = c; h; h = Br(h)) f++; + for (h = 0, v = p; v; v = Br(v)) h++; + for (; 0 < f - h; ) ((d = Br(d)), f--); + for (; 0 < h - f; ) ((p = Br(p)), h--); + for (; f--; ) { + if (d === p || (null !== p && d === p.alternate)) + break e; + ((d = Br(d)), (p = Br(p))); + } + d = null; + } + else d = null; + (null !== c && Nr(a, s, c, d, !1), + null !== u && null !== l && Nr(a, l, u, d, !0)); + } + if ( + "select" === + (c = + (s = r ? ri(r) : window).nodeName && + s.nodeName.toLowerCase()) || + ("input" === c && "file" === s.type) + ) + var m = Yn; + else if (Vn(s)) + if (Zn) m = cr; + else { + m = ar; + var g = or; + } + else + (c = s.nodeName) && + "input" === c.toLowerCase() && + ("checkbox" === s.type || "radio" === s.type) && + (m = sr); + switch ( + (m && (m = m(e, r)) + ? $n(a, m, n, i) + : (g && g(e, s, r), + "focusout" === e && + (g = s._wrapperState) && + g.controlled && + "number" === s.type && + ie(s, "number", s.value)), + (g = r ? ri(r) : window), + e) + ) { + case "focusin": + (Vn(g) || "true" === g.contentEditable) && + ((yr = g), (wr = r), (br = null)); + break; + case "focusout": + br = wr = yr = null; + break; + case "mousedown": + kr = !0; + break; + case "contextmenu": + case "mouseup": + case "dragend": + ((kr = !1), xr(a, n, i)); + break; + case "selectionchange": + if (gr) break; + case "keydown": + case "keyup": + xr(a, n, i); + } + var y; + if (Ln) + e: { + switch (e) { + case "compositionstart": + var w = "onCompositionStart"; + break e; + case "compositionend": + w = "onCompositionEnd"; + break e; + case "compositionupdate": + w = "onCompositionUpdate"; + break e; + } + w = void 0; + } + else + Gn + ? zn(e, n) && (w = "onCompositionEnd") + : "keydown" === e && + 229 === n.keyCode && + (w = "onCompositionStart"); + (w && + (Fn && + "ko" !== n.locale && + (Gn || "onCompositionStart" !== w + ? "onCompositionEnd" === w && Gn && (y = nn()) + : ((en = "value" in (Zt = i) ? Zt.value : Zt.textContent), + (Gn = !0))), + 0 < (g = Lr(r, w)).length && + ((w = new xn(w, e, null, n, i)), + a.push({ event: w, listeners: g }), + y ? (w.data = y) : null !== (y = qn(n)) && (w.data = y))), + (y = Nn + ? (function (e, t) { + switch (e) { + case "compositionend": + return qn(t); + case "keypress": + return 32 !== t.which ? null : ((Hn = !0), jn); + case "textInput": + return (e = t.data) === jn && Hn ? null : e; + default: + return null; + } + })(e, n) + : (function (e, t) { + if (Gn) + return "compositionend" === e || (!Ln && zn(e, t)) + ? ((e = nn()), + (tn = en = Zt = null), + (Gn = !1), + e) + : null; + switch (e) { + case "paste": + default: + return null; + case "keypress": + if ( + !(t.ctrlKey || t.altKey || t.metaKey) || + (t.ctrlKey && t.altKey) + ) { + if (t.char && 1 < t.char.length) + return t.char; + if (t.which) + return String.fromCharCode(t.which); + } + return null; + case "compositionend": + return Fn && "ko" !== t.locale ? null : t.data; + } + })(e, n)) && + 0 < (r = Lr(r, "onBeforeInput")).length && + ((i = new xn("onBeforeInput", "beforeinput", null, n, i)), + a.push({ event: i, listeners: r }), + (i.data = y))); + } + Wr(a, t); + }); + } + function Dr(e, t, n) { + return { instance: e, listener: t, currentTarget: n }; + } + function Lr(e, t) { + for (var n = t + "Capture", r = []; null !== e; ) { + var i = e, + o = i.stateNode; + (5 === i.tag && + null !== o && + ((i = o), + null != (o = Fe(e, n)) && r.unshift(Dr(e, o, i)), + null != (o = Fe(e, t)) && r.push(Dr(e, o, i))), + (e = e.return)); + } + return r; + } + function Br(e) { + if (null === e) return null; + do { + e = e.return; + } while (e && 5 !== e.tag); + return e || null; + } + function Nr(e, t, n, r, i) { + for (var o = t._reactName, a = []; null !== n && n !== r; ) { + var s = n, + c = s.alternate, + u = s.stateNode; + if (null !== c && c === r) break; + (5 === s.tag && + null !== u && + ((s = u), + i + ? null != (c = Fe(n, o)) && a.unshift(Dr(n, c, s)) + : i || (null != (c = Fe(n, o)) && a.push(Dr(n, c, s)))), + (n = n.return)); + } + 0 !== a.length && e.push({ event: t, listeners: a }); + } + function Fr() {} + var jr = null, + Hr = null; + function zr(e, t) { + switch (e) { + case "button": + case "input": + case "select": + case "textarea": + return !!t.autoFocus; + } + return !1; + } + function qr(e, t) { + return ( + "textarea" === e || + "option" === e || + "noscript" === e || + "string" === typeof t.children || + "number" === typeof t.children || + ("object" === typeof t.dangerouslySetInnerHTML && + null !== t.dangerouslySetInnerHTML && + null != t.dangerouslySetInnerHTML.__html) + ); + } + var Gr = "function" === typeof setTimeout ? setTimeout : void 0, + Ur = "function" === typeof clearTimeout ? clearTimeout : void 0; + function Vr(e) { + 1 === e.nodeType + ? (e.textContent = "") + : 9 === e.nodeType && null != (e = e.body) && (e.textContent = ""); + } + function $r(e) { + for (; null != e; e = e.nextSibling) { + var t = e.nodeType; + if (1 === t || 3 === t) break; + } + return e; + } + function Jr(e) { + e = e.previousSibling; + for (var t = 0; e; ) { + if (8 === e.nodeType) { + var n = e.data; + if ("$" === n || "$!" === n || "$?" === n) { + if (0 === t) return e; + t--; + } else "/$" === n && t++; + } + e = e.previousSibling; + } + return null; + } + var Kr = 0; + var Qr = Math.random().toString(36).slice(2), + Xr = "__reactFiber$" + Qr, + Yr = "__reactProps$" + Qr, + Zr = "__reactContainer$" + Qr, + ei = "__reactEvents$" + Qr; + function ti(e) { + var t = e[Xr]; + if (t) return t; + for (var n = e.parentNode; n; ) { + if ((t = n[Zr] || n[Xr])) { + if ( + ((n = t.alternate), + null !== t.child || (null !== n && null !== n.child)) + ) + for (e = Jr(e); null !== e; ) { + if ((n = e[Xr])) return n; + e = Jr(e); + } + return t; + } + n = (e = n).parentNode; + } + return null; + } + function ni(e) { + return !(e = e[Xr] || e[Zr]) || + (5 !== e.tag && 6 !== e.tag && 13 !== e.tag && 3 !== e.tag) + ? null + : e; + } + function ri(e) { + if (5 === e.tag || 6 === e.tag) return e.stateNode; + throw Error(a(33)); + } + function ii(e) { + return e[Yr] || null; + } + function oi(e) { + var t = e[ei]; + return (void 0 === t && (t = e[ei] = new Set()), t); + } + var ai = [], + si = -1; + function ci(e) { + return { current: e }; + } + function ui(e) { + 0 > si || ((e.current = ai[si]), (ai[si] = null), si--); + } + function di(e, t) { + (si++, (ai[si] = e.current), (e.current = t)); + } + var li = {}, + pi = ci(li), + hi = ci(!1), + fi = li; + function vi(e, t) { + var n = e.type.contextTypes; + if (!n) return li; + var r = e.stateNode; + if (r && r.__reactInternalMemoizedUnmaskedChildContext === t) + return r.__reactInternalMemoizedMaskedChildContext; + var i, + o = {}; + for (i in n) o[i] = t[i]; + return ( + r && + (((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = t), + (e.__reactInternalMemoizedMaskedChildContext = o)), + o + ); + } + function mi(e) { + return null !== (e = e.childContextTypes) && void 0 !== e; + } + function gi() { + (ui(hi), ui(pi)); + } + function yi(e, t, n) { + if (pi.current !== li) throw Error(a(168)); + (di(pi, t), di(hi, n)); + } + function wi(e, t, n) { + var r = e.stateNode; + if (((e = t.childContextTypes), "function" !== typeof r.getChildContext)) + return n; + for (var o in (r = r.getChildContext())) + if (!(o in e)) throw Error(a(108, $(t) || "Unknown", o)); + return i({}, n, r); + } + function bi(e) { + return ( + (e = + ((e = e.stateNode) && e.__reactInternalMemoizedMergedChildContext) || + li), + (fi = pi.current), + di(pi, e), + di(hi, hi.current), + !0 + ); + } + function ki(e, t, n) { + var r = e.stateNode; + if (!r) throw Error(a(169)); + (n + ? ((e = wi(e, t, fi)), + (r.__reactInternalMemoizedMergedChildContext = e), + ui(hi), + ui(pi), + di(pi, e)) + : ui(hi), + di(hi, n)); + } + var xi = null, + _i = null, + Ci = o.unstable_runWithPriority, + Ii = o.unstable_scheduleCallback, + Si = o.unstable_cancelCallback, + Ei = o.unstable_shouldYield, + Wi = o.unstable_requestPaint, + Ti = o.unstable_now, + Ai = o.unstable_getCurrentPriorityLevel, + Pi = o.unstable_ImmediatePriority, + Mi = o.unstable_UserBlockingPriority, + Ri = o.unstable_NormalPriority, + Oi = o.unstable_LowPriority, + Di = o.unstable_IdlePriority, + Li = {}, + Bi = void 0 !== Wi ? Wi : function () {}, + Ni = null, + Fi = null, + ji = !1, + Hi = Ti(), + zi = + 1e4 > Hi + ? Ti + : function () { + return Ti() - Hi; + }; + function qi() { + switch (Ai()) { + case Pi: + return 99; + case Mi: + return 98; + case Ri: + return 97; + case Oi: + return 96; + case Di: + return 95; + default: + throw Error(a(332)); + } + } + function Gi(e) { + switch (e) { + case 99: + return Pi; + case 98: + return Mi; + case 97: + return Ri; + case 96: + return Oi; + case 95: + return Di; + default: + throw Error(a(332)); + } + } + function Ui(e, t) { + return ((e = Gi(e)), Ci(e, t)); + } + function Vi(e, t, n) { + return ((e = Gi(e)), Ii(e, t, n)); + } + function $i() { + if (null !== Fi) { + var e = Fi; + ((Fi = null), Si(e)); + } + Ji(); + } + function Ji() { + if (!ji && null !== Ni) { + ji = !0; + var e = 0; + try { + var t = Ni; + (Ui(99, function () { + for (; e < t.length; e++) { + var n = t[e]; + do { + n = n(!0); + } while (null !== n); + } + }), + (Ni = null)); + } catch (n) { + throw (null !== Ni && (Ni = Ni.slice(e + 1)), Ii(Pi, $i), n); + } finally { + ji = !1; + } + } + } + var Ki = k.ReactCurrentBatchConfig; + function Qi(e, t) { + if (e && e.defaultProps) { + for (var n in ((t = i({}, t)), (e = e.defaultProps))) + void 0 === t[n] && (t[n] = e[n]); + return t; + } + return t; + } + var Xi = ci(null), + Yi = null, + Zi = null, + eo = null; + function to() { + eo = Zi = Yi = null; + } + function no(e) { + var t = Xi.current; + (ui(Xi), (e.type._context._currentValue = t)); + } + function ro(e, t) { + for (; null !== e; ) { + var n = e.alternate; + if ((e.childLanes & t) === t) { + if (null === n || (n.childLanes & t) === t) break; + n.childLanes |= t; + } else ((e.childLanes |= t), null !== n && (n.childLanes |= t)); + e = e.return; + } + } + function io(e, t) { + ((Yi = e), + (eo = Zi = null), + null !== (e = e.dependencies) && + null !== e.firstContext && + (0 !== (e.lanes & t) && (La = !0), (e.firstContext = null))); + } + function oo(e, t) { + if (eo !== e && !1 !== t && 0 !== t) + if ( + (("number" === typeof t && 1073741823 !== t) || + ((eo = e), (t = 1073741823)), + (t = { context: e, observedBits: t, next: null }), + null === Zi) + ) { + if (null === Yi) throw Error(a(308)); + ((Zi = t), + (Yi.dependencies = { + lanes: 0, + firstContext: t, + responders: null + })); + } else Zi = Zi.next = t; + return e._currentValue; + } + var ao = !1; + function so(e) { + e.updateQueue = { + baseState: e.memoizedState, + firstBaseUpdate: null, + lastBaseUpdate: null, + shared: { pending: null }, + effects: null + }; + } + function co(e, t) { + ((e = e.updateQueue), + t.updateQueue === e && + (t.updateQueue = { + baseState: e.baseState, + firstBaseUpdate: e.firstBaseUpdate, + lastBaseUpdate: e.lastBaseUpdate, + shared: e.shared, + effects: e.effects + })); + } + function uo(e, t) { + return { + eventTime: e, + lane: t, + tag: 0, + payload: null, + callback: null, + next: null + }; + } + function lo(e, t) { + if (null !== (e = e.updateQueue)) { + var n = (e = e.shared).pending; + (null === n ? (t.next = t) : ((t.next = n.next), (n.next = t)), + (e.pending = t)); + } + } + function po(e, t) { + var n = e.updateQueue, + r = e.alternate; + if (null !== r && n === (r = r.updateQueue)) { + var i = null, + o = null; + if (null !== (n = n.firstBaseUpdate)) { + do { + var a = { + eventTime: n.eventTime, + lane: n.lane, + tag: n.tag, + payload: n.payload, + callback: n.callback, + next: null + }; + (null === o ? (i = o = a) : (o = o.next = a), (n = n.next)); + } while (null !== n); + null === o ? (i = o = t) : (o = o.next = t); + } else i = o = t; + return ( + (n = { + baseState: r.baseState, + firstBaseUpdate: i, + lastBaseUpdate: o, + shared: r.shared, + effects: r.effects + }), + void (e.updateQueue = n) + ); + } + (null === (e = n.lastBaseUpdate) ? (n.firstBaseUpdate = t) : (e.next = t), + (n.lastBaseUpdate = t)); + } + function ho(e, t, n, r) { + var o = e.updateQueue; + ao = !1; + var a = o.firstBaseUpdate, + s = o.lastBaseUpdate, + c = o.shared.pending; + if (null !== c) { + o.shared.pending = null; + var u = c, + d = u.next; + ((u.next = null), null === s ? (a = d) : (s.next = d), (s = u)); + var l = e.alternate; + if (null !== l) { + var p = (l = l.updateQueue).lastBaseUpdate; + p !== s && + (null === p ? (l.firstBaseUpdate = d) : (p.next = d), + (l.lastBaseUpdate = u)); + } + } + if (null !== a) { + for (p = o.baseState, s = 0, l = d = u = null; ; ) { + c = a.lane; + var h = a.eventTime; + if ((r & c) === c) { + null !== l && + (l = l.next = + { + eventTime: h, + lane: 0, + tag: a.tag, + payload: a.payload, + callback: a.callback, + next: null + }); + e: { + var f = e, + v = a; + switch (((c = t), (h = n), v.tag)) { + case 1: + if ("function" === typeof (f = v.payload)) { + p = f.call(h, p, c); + break e; + } + p = f; + break e; + case 3: + f.flags = (-4097 & f.flags) | 64; + case 0: + if ( + null === + (c = + "function" === typeof (f = v.payload) + ? f.call(h, p, c) + : f) || + void 0 === c + ) + break e; + p = i({}, p, c); + break e; + case 2: + ao = !0; + } + } + null !== a.callback && + ((e.flags |= 32), + null === (c = o.effects) ? (o.effects = [a]) : c.push(a)); + } else + ((h = { + eventTime: h, + lane: c, + tag: a.tag, + payload: a.payload, + callback: a.callback, + next: null + }), + null === l ? ((d = l = h), (u = p)) : (l = l.next = h), + (s |= c)); + if (null === (a = a.next)) { + if (null === (c = o.shared.pending)) break; + ((a = c.next), + (c.next = null), + (o.lastBaseUpdate = c), + (o.shared.pending = null)); + } + } + (null === l && (u = p), + (o.baseState = u), + (o.firstBaseUpdate = d), + (o.lastBaseUpdate = l), + (Hs |= s), + (e.lanes = s), + (e.memoizedState = p)); + } + } + function fo(e, t, n) { + if (((e = t.effects), (t.effects = null), null !== e)) + for (t = 0; t < e.length; t++) { + var r = e[t], + i = r.callback; + if (null !== i) { + if (((r.callback = null), (r = n), "function" !== typeof i)) + throw Error(a(191, i)); + i.call(r); + } + } + } + var vo = new r.Component().refs; + function mo(e, t, n, r) { + ((n = + null === (n = n(r, (t = e.memoizedState))) || void 0 === n + ? t + : i({}, t, n)), + (e.memoizedState = n), + 0 === e.lanes && (e.updateQueue.baseState = n)); + } + var go = { + isMounted: function (e) { + return !!(e = e._reactInternals) && Ke(e) === e; + }, + enqueueSetState: function (e, t, n) { + e = e._reactInternals; + var r = pc(), + i = hc(e), + o = uo(r, i); + ((o.payload = t), + void 0 !== n && null !== n && (o.callback = n), + lo(e, o), + fc(e, i, r)); + }, + enqueueReplaceState: function (e, t, n) { + e = e._reactInternals; + var r = pc(), + i = hc(e), + o = uo(r, i); + ((o.tag = 1), + (o.payload = t), + void 0 !== n && null !== n && (o.callback = n), + lo(e, o), + fc(e, i, r)); + }, + enqueueForceUpdate: function (e, t) { + e = e._reactInternals; + var n = pc(), + r = hc(e), + i = uo(n, r); + ((i.tag = 2), + void 0 !== t && null !== t && (i.callback = t), + lo(e, i), + fc(e, r, n)); + } + }; + function yo(e, t, n, r, i, o, a) { + return "function" === typeof (e = e.stateNode).shouldComponentUpdate + ? e.shouldComponentUpdate(r, o, a) + : !t.prototype || + !t.prototype.isPureReactComponent || + !lr(n, r) || + !lr(i, o); + } + function wo(e, t, n) { + var r = !1, + i = li, + o = t.contextType; + return ( + "object" === typeof o && null !== o + ? (o = oo(o)) + : ((i = mi(t) ? fi : pi.current), + (o = (r = null !== (r = t.contextTypes) && void 0 !== r) + ? vi(e, i) + : li)), + (t = new t(n, o)), + (e.memoizedState = null !== t.state && void 0 !== t.state ? t.state : null), + (t.updater = go), + (e.stateNode = t), + (t._reactInternals = e), + r && + (((e = e.stateNode).__reactInternalMemoizedUnmaskedChildContext = i), + (e.__reactInternalMemoizedMaskedChildContext = o)), + t + ); + } + function bo(e, t, n, r) { + ((e = t.state), + "function" === typeof t.componentWillReceiveProps && + t.componentWillReceiveProps(n, r), + "function" === typeof t.UNSAFE_componentWillReceiveProps && + t.UNSAFE_componentWillReceiveProps(n, r), + t.state !== e && go.enqueueReplaceState(t, t.state, null)); + } + function ko(e, t, n, r) { + var i = e.stateNode; + ((i.props = n), (i.state = e.memoizedState), (i.refs = vo), so(e)); + var o = t.contextType; + ("object" === typeof o && null !== o + ? (i.context = oo(o)) + : ((o = mi(t) ? fi : pi.current), (i.context = vi(e, o))), + ho(e, n, i, r), + (i.state = e.memoizedState), + "function" === typeof (o = t.getDerivedStateFromProps) && + (mo(e, t, o, n), (i.state = e.memoizedState)), + "function" === typeof t.getDerivedStateFromProps || + "function" === typeof i.getSnapshotBeforeUpdate || + ("function" !== typeof i.UNSAFE_componentWillMount && + "function" !== typeof i.componentWillMount) || + ((t = i.state), + "function" === typeof i.componentWillMount && i.componentWillMount(), + "function" === typeof i.UNSAFE_componentWillMount && + i.UNSAFE_componentWillMount(), + t !== i.state && go.enqueueReplaceState(i, i.state, null), + ho(e, n, i, r), + (i.state = e.memoizedState)), + "function" === typeof i.componentDidMount && (e.flags |= 4)); + } + var xo = Array.isArray; + function _o(e, t, n) { + if (null !== (e = n.ref) && "function" !== typeof e && "object" !== typeof e) { + if (n._owner) { + if ((n = n._owner)) { + if (1 !== n.tag) throw Error(a(309)); + var r = n.stateNode; + } + if (!r) throw Error(a(147, e)); + var i = "" + e; + return null !== t && + null !== t.ref && + "function" === typeof t.ref && + t.ref._stringRef === i + ? t.ref + : ((t = function (e) { + var t = r.refs; + (t === vo && (t = r.refs = {}), + null === e ? delete t[i] : (t[i] = e)); + }), + (t._stringRef = i), + t); + } + if ("string" !== typeof e) throw Error(a(284)); + if (!n._owner) throw Error(a(290, e)); + } + return e; + } + function Co(e, t) { + if ("textarea" !== e.type) + throw Error( + a( + 31, + "[object Object]" === Object.prototype.toString.call(t) + ? "object with keys {" + Object.keys(t).join(", ") + "}" + : t + ) + ); + } + function Io(e) { + function t(t, n) { + if (e) { + var r = t.lastEffect; + (null !== r + ? ((r.nextEffect = n), (t.lastEffect = n)) + : (t.firstEffect = t.lastEffect = n), + (n.nextEffect = null), + (n.flags = 8)); + } + } + function n(n, r) { + if (!e) return null; + for (; null !== r; ) (t(n, r), (r = r.sibling)); + return null; + } + function r(e, t) { + for (e = new Map(); null !== t; ) + (null !== t.key ? e.set(t.key, t) : e.set(t.index, t), (t = t.sibling)); + return e; + } + function i(e, t) { + return (((e = Vc(e, t)).index = 0), (e.sibling = null), e); + } + function o(t, n, r) { + return ( + (t.index = r), + e + ? null !== (r = t.alternate) + ? (r = r.index) < n + ? ((t.flags = 2), n) + : r + : ((t.flags = 2), n) + : n + ); + } + function s(t) { + return (e && null === t.alternate && (t.flags = 2), t); + } + function c(e, t, n, r) { + return null === t || 6 !== t.tag + ? (((t = Qc(n, e.mode, r)).return = e), t) + : (((t = i(t, n)).return = e), t); + } + function u(e, t, n, r) { + return null !== t && t.elementType === n.type + ? (((r = i(t, n.props)).ref = _o(e, t, n)), (r.return = e), r) + : (((r = $c(n.type, n.key, n.props, null, e.mode, r)).ref = _o( + e, + t, + n + )), + (r.return = e), + r); + } + function d(e, t, n, r) { + return null === t || + 4 !== t.tag || + t.stateNode.containerInfo !== n.containerInfo || + t.stateNode.implementation !== n.implementation + ? (((t = Xc(n, e.mode, r)).return = e), t) + : (((t = i(t, n.children || [])).return = e), t); + } + function l(e, t, n, r, o) { + return null === t || 7 !== t.tag + ? (((t = Jc(n, e.mode, r, o)).return = e), t) + : (((t = i(t, n)).return = e), t); + } + function p(e, t, n) { + if ("string" === typeof t || "number" === typeof t) + return (((t = Qc("" + t, e.mode, n)).return = e), t); + if ("object" === typeof t && null !== t) { + switch (t.$$typeof) { + case x: + return ( + ((n = $c(t.type, t.key, t.props, null, e.mode, n)).ref = _o( + e, + null, + t + )), + (n.return = e), + n + ); + case _: + return (((t = Xc(t, e.mode, n)).return = e), t); + } + if (xo(t) || z(t)) + return (((t = Jc(t, e.mode, n, null)).return = e), t); + Co(e, t); + } + return null; + } + function h(e, t, n, r) { + var i = null !== t ? t.key : null; + if ("string" === typeof n || "number" === typeof n) + return null !== i ? null : c(e, t, "" + n, r); + if ("object" === typeof n && null !== n) { + switch (n.$$typeof) { + case x: + return n.key === i + ? n.type === C + ? l(e, t, n.props.children, r, i) + : u(e, t, n, r) + : null; + case _: + return n.key === i ? d(e, t, n, r) : null; + } + if (xo(n) || z(n)) return null !== i ? null : l(e, t, n, r, null); + Co(e, n); + } + return null; + } + function f(e, t, n, r, i) { + if ("string" === typeof r || "number" === typeof r) + return c(t, (e = e.get(n) || null), "" + r, i); + if ("object" === typeof r && null !== r) { + switch (r.$$typeof) { + case x: + return ( + (e = e.get(null === r.key ? n : r.key) || null), + r.type === C + ? l(t, e, r.props.children, i, r.key) + : u(t, e, r, i) + ); + case _: + return d( + t, + (e = e.get(null === r.key ? n : r.key) || null), + r, + i + ); + } + if (xo(r) || z(r)) return l(t, (e = e.get(n) || null), r, i, null); + Co(t, r); + } + return null; + } + function v(i, a, s, c) { + for ( + var u = null, d = null, l = a, v = (a = 0), m = null; + null !== l && v < s.length; + v++ + ) { + l.index > v ? ((m = l), (l = null)) : (m = l.sibling); + var g = h(i, l, s[v], c); + if (null === g) { + null === l && (l = m); + break; + } + (e && l && null === g.alternate && t(i, l), + (a = o(g, a, v)), + null === d ? (u = g) : (d.sibling = g), + (d = g), + (l = m)); + } + if (v === s.length) return (n(i, l), u); + if (null === l) { + for (; v < s.length; v++) + null !== (l = p(i, s[v], c)) && + ((a = o(l, a, v)), + null === d ? (u = l) : (d.sibling = l), + (d = l)); + return u; + } + for (l = r(i, l); v < s.length; v++) + null !== (m = f(l, i, v, s[v], c)) && + (e && null !== m.alternate && l.delete(null === m.key ? v : m.key), + (a = o(m, a, v)), + null === d ? (u = m) : (d.sibling = m), + (d = m)); + return ( + e && + l.forEach(function (e) { + return t(i, e); + }), + u + ); + } + function m(i, s, c, u) { + var d = z(c); + if ("function" !== typeof d) throw Error(a(150)); + if (null == (c = d.call(c))) throw Error(a(151)); + for ( + var l = (d = null), v = s, m = (s = 0), g = null, y = c.next(); + null !== v && !y.done; + m++, y = c.next() + ) { + v.index > m ? ((g = v), (v = null)) : (g = v.sibling); + var w = h(i, v, y.value, u); + if (null === w) { + null === v && (v = g); + break; + } + (e && v && null === w.alternate && t(i, v), + (s = o(w, s, m)), + null === l ? (d = w) : (l.sibling = w), + (l = w), + (v = g)); + } + if (y.done) return (n(i, v), d); + if (null === v) { + for (; !y.done; m++, y = c.next()) + null !== (y = p(i, y.value, u)) && + ((s = o(y, s, m)), + null === l ? (d = y) : (l.sibling = y), + (l = y)); + return d; + } + for (v = r(i, v); !y.done; m++, y = c.next()) + null !== (y = f(v, i, m, y.value, u)) && + (e && null !== y.alternate && v.delete(null === y.key ? m : y.key), + (s = o(y, s, m)), + null === l ? (d = y) : (l.sibling = y), + (l = y)); + return ( + e && + v.forEach(function (e) { + return t(i, e); + }), + d + ); + } + return function (e, r, o, c) { + var u = + "object" === typeof o && null !== o && o.type === C && null === o.key; + u && (o = o.props.children); + var d = "object" === typeof o && null !== o; + if (d) + switch (o.$$typeof) { + case x: + e: { + for (d = o.key, u = r; null !== u; ) { + if (u.key === d) { + if (7 === u.tag) { + if (o.type === C) { + (n(e, u.sibling), + ((r = i(u, o.props.children)).return = + e), + (e = r)); + break e; + } + } else if (u.elementType === o.type) { + (n(e, u.sibling), + ((r = i(u, o.props)).ref = _o(e, u, o)), + (r.return = e), + (e = r)); + break e; + } + n(e, u); + break; + } + (t(e, u), (u = u.sibling)); + } + o.type === C + ? (((r = Jc( + o.props.children, + e.mode, + c, + o.key + )).return = e), + (e = r)) + : (((c = $c( + o.type, + o.key, + o.props, + null, + e.mode, + c + )).ref = _o(e, r, o)), + (c.return = e), + (e = c)); + } + return s(e); + case _: + e: { + for (u = o.key; null !== r; ) { + if (r.key === u) { + if ( + 4 === r.tag && + r.stateNode.containerInfo === o.containerInfo && + r.stateNode.implementation === o.implementation + ) { + (n(e, r.sibling), + ((r = i(r, o.children || [])).return = e), + (e = r)); + break e; + } + n(e, r); + break; + } + (t(e, r), (r = r.sibling)); + } + (((r = Xc(o, e.mode, c)).return = e), (e = r)); + } + return s(e); + } + if ("string" === typeof o || "number" === typeof o) + return ( + (o = "" + o), + null !== r && 6 === r.tag + ? (n(e, r.sibling), ((r = i(r, o)).return = e), (e = r)) + : (n(e, r), ((r = Qc(o, e.mode, c)).return = e), (e = r)), + s(e) + ); + if (xo(o)) return v(e, r, o, c); + if (z(o)) return m(e, r, o, c); + if ((d && Co(e, o), "undefined" === typeof o && !u)) + switch (e.tag) { + case 1: + case 22: + case 0: + case 11: + case 15: + throw Error(a(152, $(e.type) || "Component")); + } + return n(e, r); + }; + } + var So = Io(!0), + Eo = Io(!1), + Wo = {}, + To = ci(Wo), + Ao = ci(Wo), + Po = ci(Wo); + function Mo(e) { + if (e === Wo) throw Error(a(174)); + return e; + } + function Ro(e, t) { + switch ((di(Po, t), di(Ao, e), di(To, Wo), (e = t.nodeType))) { + case 9: + case 11: + t = (t = t.documentElement) ? t.namespaceURI : he(null, ""); + break; + default: + t = he( + (t = (e = 8 === e ? t.parentNode : t).namespaceURI || null), + (e = e.tagName) + ); + } + (ui(To), di(To, t)); + } + function Oo() { + (ui(To), ui(Ao), ui(Po)); + } + function Do(e) { + Mo(Po.current); + var t = Mo(To.current), + n = he(t, e.type); + t !== n && (di(Ao, e), di(To, n)); + } + function Lo(e) { + Ao.current === e && (ui(To), ui(Ao)); + } + var Bo = ci(0); + function No(e) { + for (var t = e; null !== t; ) { + if (13 === t.tag) { + var n = t.memoizedState; + if ( + null !== n && + (null === (n = n.dehydrated) || "$?" === n.data || "$!" === n.data) + ) + return t; + } else if (19 === t.tag && void 0 !== t.memoizedProps.revealOrder) { + if (0 !== (64 & t.flags)) return t; + } else if (null !== t.child) { + ((t.child.return = t), (t = t.child)); + continue; + } + if (t === e) break; + for (; null === t.sibling; ) { + if (null === t.return || t.return === e) return null; + t = t.return; + } + ((t.sibling.return = t.return), (t = t.sibling)); + } + return null; + } + var Fo = null, + jo = null, + Ho = !1; + function zo(e, t) { + var n = Gc(5, null, null, 0); + ((n.elementType = "DELETED"), + (n.type = "DELETED"), + (n.stateNode = t), + (n.return = e), + (n.flags = 8), + null !== e.lastEffect + ? ((e.lastEffect.nextEffect = n), (e.lastEffect = n)) + : (e.firstEffect = e.lastEffect = n)); + } + function qo(e, t) { + switch (e.tag) { + case 5: + var n = e.type; + return ( + null !== + (t = + 1 !== t.nodeType || + n.toLowerCase() !== t.nodeName.toLowerCase() + ? null + : t) && ((e.stateNode = t), !0) + ); + case 6: + return ( + null !== + (t = "" === e.pendingProps || 3 !== t.nodeType ? null : t) && + ((e.stateNode = t), !0) + ); + default: + return !1; + } + } + function Go(e) { + if (Ho) { + var t = jo; + if (t) { + var n = t; + if (!qo(e, t)) { + if (!(t = $r(n.nextSibling)) || !qo(e, t)) + return ( + (e.flags = (-1025 & e.flags) | 2), + (Ho = !1), + void (Fo = e) + ); + zo(Fo, n); + } + ((Fo = e), (jo = $r(t.firstChild))); + } else ((e.flags = (-1025 & e.flags) | 2), (Ho = !1), (Fo = e)); + } + } + function Uo(e) { + for (e = e.return; null !== e && 5 !== e.tag && 3 !== e.tag && 13 !== e.tag; ) + e = e.return; + Fo = e; + } + function Vo(e) { + if (e !== Fo) return !1; + if (!Ho) return (Uo(e), (Ho = !0), !1); + var t = e.type; + if (5 !== e.tag || ("head" !== t && "body" !== t && !qr(t, e.memoizedProps))) + for (t = jo; t; ) (zo(e, t), (t = $r(t.nextSibling))); + if ((Uo(e), 13 === e.tag)) { + if (!(e = null !== (e = e.memoizedState) ? e.dehydrated : null)) + throw Error(a(317)); + e: { + for (e = e.nextSibling, t = 0; e; ) { + if (8 === e.nodeType) { + var n = e.data; + if ("/$" === n) { + if (0 === t) { + jo = $r(e.nextSibling); + break e; + } + t--; + } else ("$" !== n && "$!" !== n && "$?" !== n) || t++; + } + e = e.nextSibling; + } + jo = null; + } + } else jo = Fo ? $r(e.stateNode.nextSibling) : null; + return !0; + } + function $o() { + ((jo = Fo = null), (Ho = !1)); + } + var Jo = []; + function Ko() { + for (var e = 0; e < Jo.length; e++) Jo[e]._workInProgressVersionPrimary = null; + Jo.length = 0; + } + var Qo = k.ReactCurrentDispatcher, + Xo = k.ReactCurrentBatchConfig, + Yo = 0, + Zo = null, + ea = null, + ta = null, + na = !1, + ra = !1; + function ia() { + throw Error(a(321)); + } + function oa(e, t) { + if (null === t) return !1; + for (var n = 0; n < t.length && n < e.length; n++) + if (!ur(e[n], t[n])) return !1; + return !0; + } + function aa(e, t, n, r, i, o) { + if ( + ((Yo = o), + (Zo = t), + (t.memoizedState = null), + (t.updateQueue = null), + (t.lanes = 0), + (Qo.current = null === e || null === e.memoizedState ? Ma : Ra), + (e = n(r, i)), + ra) + ) { + o = 0; + do { + if (((ra = !1), !(25 > o))) throw Error(a(301)); + ((o += 1), + (ta = ea = null), + (t.updateQueue = null), + (Qo.current = Oa), + (e = n(r, i))); + } while (ra); + } + if ( + ((Qo.current = Pa), + (t = null !== ea && null !== ea.next), + (Yo = 0), + (ta = ea = Zo = null), + (na = !1), + t) + ) + throw Error(a(300)); + return e; + } + function sa() { + var e = { + memoizedState: null, + baseState: null, + baseQueue: null, + queue: null, + next: null + }; + return (null === ta ? (Zo.memoizedState = ta = e) : (ta = ta.next = e), ta); + } + function ca() { + if (null === ea) { + var e = Zo.alternate; + e = null !== e ? e.memoizedState : null; + } else e = ea.next; + var t = null === ta ? Zo.memoizedState : ta.next; + if (null !== t) ((ta = t), (ea = e)); + else { + if (null === e) throw Error(a(310)); + ((e = { + memoizedState: (ea = e).memoizedState, + baseState: ea.baseState, + baseQueue: ea.baseQueue, + queue: ea.queue, + next: null + }), + null === ta ? (Zo.memoizedState = ta = e) : (ta = ta.next = e)); + } + return ta; + } + function ua(e, t) { + return "function" === typeof t ? t(e) : t; + } + function da(e) { + var t = ca(), + n = t.queue; + if (null === n) throw Error(a(311)); + n.lastRenderedReducer = e; + var r = ea, + i = r.baseQueue, + o = n.pending; + if (null !== o) { + if (null !== i) { + var s = i.next; + ((i.next = o.next), (o.next = s)); + } + ((r.baseQueue = i = o), (n.pending = null)); + } + if (null !== i) { + ((i = i.next), (r = r.baseState)); + var c = (s = o = null), + u = i; + do { + var d = u.lane; + if ((Yo & d) === d) + (null !== c && + (c = c.next = + { + lane: 0, + action: u.action, + eagerReducer: u.eagerReducer, + eagerState: u.eagerState, + next: null + }), + (r = u.eagerReducer === e ? u.eagerState : e(r, u.action))); + else { + var l = { + lane: d, + action: u.action, + eagerReducer: u.eagerReducer, + eagerState: u.eagerState, + next: null + }; + (null === c ? ((s = c = l), (o = r)) : (c = c.next = l), + (Zo.lanes |= d), + (Hs |= d)); + } + u = u.next; + } while (null !== u && u !== i); + (null === c ? (o = r) : (c.next = s), + ur(r, t.memoizedState) || (La = !0), + (t.memoizedState = r), + (t.baseState = o), + (t.baseQueue = c), + (n.lastRenderedState = r)); + } + return [t.memoizedState, n.dispatch]; + } + function la(e) { + var t = ca(), + n = t.queue; + if (null === n) throw Error(a(311)); + n.lastRenderedReducer = e; + var r = n.dispatch, + i = n.pending, + o = t.memoizedState; + if (null !== i) { + n.pending = null; + var s = (i = i.next); + do { + ((o = e(o, s.action)), (s = s.next)); + } while (s !== i); + (ur(o, t.memoizedState) || (La = !0), + (t.memoizedState = o), + null === t.baseQueue && (t.baseState = o), + (n.lastRenderedState = o)); + } + return [o, r]; + } + function pa(e, t, n) { + var r = t._getVersion; + r = r(t._source); + var i = t._workInProgressVersionPrimary; + if ( + (null !== i + ? (e = i === r) + : ((e = e.mutableReadLanes), + (e = (Yo & e) === e) && + ((t._workInProgressVersionPrimary = r), Jo.push(t))), + e) + ) + return n(t._source); + throw (Jo.push(t), Error(a(350))); + } + function ha(e, t, n, r) { + var i = Rs; + if (null === i) throw Error(a(349)); + var o = t._getVersion, + s = o(t._source), + c = Qo.current, + u = c.useState(function () { + return pa(i, t, n); + }), + d = u[1], + l = u[0]; + u = ta; + var p = e.memoizedState, + h = p.refs, + f = h.getSnapshot, + v = p.source; + p = p.subscribe; + var m = Zo; + return ( + (e.memoizedState = { refs: h, source: t, subscribe: r }), + c.useEffect( + function () { + ((h.getSnapshot = n), (h.setSnapshot = d)); + var e = o(t._source); + if (!ur(s, e)) { + ((e = n(t._source)), + ur(l, e) || + (d(e), + (e = hc(m)), + (i.mutableReadLanes |= e & i.pendingLanes)), + (e = i.mutableReadLanes), + (i.entangledLanes |= e)); + for (var r = i.entanglements, a = e; 0 < a; ) { + var c = 31 - qt(a), + u = 1 << c; + ((r[c] |= e), (a &= ~u)); + } + } + }, + [n, t, r] + ), + c.useEffect( + function () { + return r(t._source, function () { + var e = h.getSnapshot, + n = h.setSnapshot; + try { + n(e(t._source)); + var r = hc(m); + i.mutableReadLanes |= r & i.pendingLanes; + } catch (o) { + n(function () { + throw o; + }); + } + }); + }, + [t, r] + ), + (ur(f, n) && ur(v, t) && ur(p, r)) || + (((e = { + pending: null, + dispatch: null, + lastRenderedReducer: ua, + lastRenderedState: l + }).dispatch = d = + Aa.bind(null, Zo, e)), + (u.queue = e), + (u.baseQueue = null), + (l = pa(i, t, n)), + (u.memoizedState = u.baseState = l)), + l + ); + } + function fa(e, t, n) { + return ha(ca(), e, t, n); + } + function va(e) { + var t = sa(); + return ( + "function" === typeof e && (e = e()), + (t.memoizedState = t.baseState = e), + (e = (e = t.queue = + { + pending: null, + dispatch: null, + lastRenderedReducer: ua, + lastRenderedState: e + }).dispatch = + Aa.bind(null, Zo, e)), + [t.memoizedState, e] + ); + } + function ma(e, t, n, r) { + return ( + (e = { tag: e, create: t, destroy: n, deps: r, next: null }), + null === (t = Zo.updateQueue) + ? ((t = { lastEffect: null }), + (Zo.updateQueue = t), + (t.lastEffect = e.next = e)) + : null === (n = t.lastEffect) + ? (t.lastEffect = e.next = e) + : ((r = n.next), (n.next = e), (e.next = r), (t.lastEffect = e)), + e + ); + } + function ga(e) { + return ((e = { current: e }), (sa().memoizedState = e)); + } + function ya() { + return ca().memoizedState; + } + function wa(e, t, n, r) { + var i = sa(); + ((Zo.flags |= e), + (i.memoizedState = ma(1 | t, n, void 0, void 0 === r ? null : r))); + } + function ba(e, t, n, r) { + var i = ca(); + r = void 0 === r ? null : r; + var o = void 0; + if (null !== ea) { + var a = ea.memoizedState; + if (((o = a.destroy), null !== r && oa(r, a.deps))) + return void ma(t, n, o, r); + } + ((Zo.flags |= e), (i.memoizedState = ma(1 | t, n, o, r))); + } + function ka(e, t) { + return wa(516, 4, e, t); + } + function xa(e, t) { + return ba(516, 4, e, t); + } + function _a(e, t) { + return ba(4, 2, e, t); + } + function Ca(e, t) { + return "function" === typeof t + ? ((e = e()), + t(e), + function () { + t(null); + }) + : null !== t && void 0 !== t + ? ((e = e()), + (t.current = e), + function () { + t.current = null; + }) + : void 0; + } + function Ia(e, t, n) { + return ( + (n = null !== n && void 0 !== n ? n.concat([e]) : null), + ba(4, 2, Ca.bind(null, t, e), n) + ); + } + function Sa() {} + function Ea(e, t) { + var n = ca(); + t = void 0 === t ? null : t; + var r = n.memoizedState; + return null !== r && null !== t && oa(t, r[1]) + ? r[0] + : ((n.memoizedState = [e, t]), e); + } + function Wa(e, t) { + var n = ca(); + t = void 0 === t ? null : t; + var r = n.memoizedState; + return null !== r && null !== t && oa(t, r[1]) + ? r[0] + : ((e = e()), (n.memoizedState = [e, t]), e); + } + function Ta(e, t) { + var n = qi(); + (Ui(98 > n ? 98 : n, function () { + e(!0); + }), + Ui(97 < n ? 97 : n, function () { + var n = Xo.transition; + Xo.transition = 1; + try { + (e(!1), t()); + } finally { + Xo.transition = n; + } + })); + } + function Aa(e, t, n) { + var r = pc(), + i = hc(e), + o = { + lane: i, + action: n, + eagerReducer: null, + eagerState: null, + next: null + }, + a = t.pending; + if ( + (null === a ? (o.next = o) : ((o.next = a.next), (a.next = o)), + (t.pending = o), + (a = e.alternate), + e === Zo || (null !== a && a === Zo)) + ) + ra = na = !0; + else { + if ( + 0 === e.lanes && + (null === a || 0 === a.lanes) && + null !== (a = t.lastRenderedReducer) + ) + try { + var s = t.lastRenderedState, + c = a(s, n); + if (((o.eagerReducer = a), (o.eagerState = c), ur(c, s))) return; + } catch (u) {} + fc(e, i, r); + } + } + var Pa = { + readContext: oo, + useCallback: ia, + useContext: ia, + useEffect: ia, + useImperativeHandle: ia, + useLayoutEffect: ia, + useMemo: ia, + useReducer: ia, + useRef: ia, + useState: ia, + useDebugValue: ia, + useDeferredValue: ia, + useTransition: ia, + useMutableSource: ia, + useOpaqueIdentifier: ia, + unstable_isNewReconciler: !1 + }, + Ma = { + readContext: oo, + useCallback: function (e, t) { + return ((sa().memoizedState = [e, void 0 === t ? null : t]), e); + }, + useContext: oo, + useEffect: ka, + useImperativeHandle: function (e, t, n) { + return ( + (n = null !== n && void 0 !== n ? n.concat([e]) : null), + wa(4, 2, Ca.bind(null, t, e), n) + ); + }, + useLayoutEffect: function (e, t) { + return wa(4, 2, e, t); + }, + useMemo: function (e, t) { + var n = sa(); + return ( + (t = void 0 === t ? null : t), + (e = e()), + (n.memoizedState = [e, t]), + e + ); + }, + useReducer: function (e, t, n) { + var r = sa(); + return ( + (t = void 0 !== n ? n(t) : t), + (r.memoizedState = r.baseState = t), + (e = (e = r.queue = + { + pending: null, + dispatch: null, + lastRenderedReducer: e, + lastRenderedState: t + }).dispatch = + Aa.bind(null, Zo, e)), + [r.memoizedState, e] + ); + }, + useRef: ga, + useState: va, + useDebugValue: Sa, + useDeferredValue: function (e) { + var t = va(e), + n = t[0], + r = t[1]; + return ( + ka( + function () { + var t = Xo.transition; + Xo.transition = 1; + try { + r(e); + } finally { + Xo.transition = t; + } + }, + [e] + ), + n + ); + }, + useTransition: function () { + var e = va(!1), + t = e[0]; + return (ga((e = Ta.bind(null, e[1]))), [e, t]); + }, + useMutableSource: function (e, t, n) { + var r = sa(); + return ( + (r.memoizedState = { + refs: { getSnapshot: t, setSnapshot: null }, + source: e, + subscribe: n + }), + ha(r, e, t, n) + ); + }, + useOpaqueIdentifier: function () { + if (Ho) { + var e = !1, + t = (function (e) { + return { $$typeof: D, toString: e, valueOf: e }; + })(function () { + throw ( + e || ((e = !0), n("r:" + (Kr++).toString(36))), + Error(a(355)) + ); + }), + n = va(t)[1]; + return ( + 0 === (2 & Zo.mode) && + ((Zo.flags |= 516), + ma( + 5, + function () { + n("r:" + (Kr++).toString(36)); + }, + void 0, + null + )), + t + ); + } + return (va((t = "r:" + (Kr++).toString(36))), t); + }, + unstable_isNewReconciler: !1 + }, + Ra = { + readContext: oo, + useCallback: Ea, + useContext: oo, + useEffect: xa, + useImperativeHandle: Ia, + useLayoutEffect: _a, + useMemo: Wa, + useReducer: da, + useRef: ya, + useState: function () { + return da(ua); + }, + useDebugValue: Sa, + useDeferredValue: function (e) { + var t = da(ua), + n = t[0], + r = t[1]; + return ( + xa( + function () { + var t = Xo.transition; + Xo.transition = 1; + try { + r(e); + } finally { + Xo.transition = t; + } + }, + [e] + ), + n + ); + }, + useTransition: function () { + var e = da(ua)[0]; + return [ya().current, e]; + }, + useMutableSource: fa, + useOpaqueIdentifier: function () { + return da(ua)[0]; + }, + unstable_isNewReconciler: !1 + }, + Oa = { + readContext: oo, + useCallback: Ea, + useContext: oo, + useEffect: xa, + useImperativeHandle: Ia, + useLayoutEffect: _a, + useMemo: Wa, + useReducer: la, + useRef: ya, + useState: function () { + return la(ua); + }, + useDebugValue: Sa, + useDeferredValue: function (e) { + var t = la(ua), + n = t[0], + r = t[1]; + return ( + xa( + function () { + var t = Xo.transition; + Xo.transition = 1; + try { + r(e); + } finally { + Xo.transition = t; + } + }, + [e] + ), + n + ); + }, + useTransition: function () { + var e = la(ua)[0]; + return [ya().current, e]; + }, + useMutableSource: fa, + useOpaqueIdentifier: function () { + return la(ua)[0]; + }, + unstable_isNewReconciler: !1 + }, + Da = k.ReactCurrentOwner, + La = !1; + function Ba(e, t, n, r) { + t.child = null === e ? Eo(t, null, n, r) : So(t, e.child, n, r); + } + function Na(e, t, n, r, i) { + n = n.render; + var o = t.ref; + return ( + io(t, i), + (r = aa(e, t, n, r, o, i)), + null === e || La + ? ((t.flags |= 1), Ba(e, t, r, i), t.child) + : ((t.updateQueue = e.updateQueue), + (t.flags &= -517), + (e.lanes &= ~i), + os(e, t, i)) + ); + } + function Fa(e, t, n, r, i, o) { + if (null === e) { + var a = n.type; + return "function" !== typeof a || + Uc(a) || + void 0 !== a.defaultProps || + null !== n.compare || + void 0 !== n.defaultProps + ? (((e = $c(n.type, null, r, t, t.mode, o)).ref = t.ref), + (e.return = t), + (t.child = e)) + : ((t.tag = 15), (t.type = a), ja(e, t, a, r, i, o)); + } + return ( + (a = e.child), + 0 === (i & o) && + ((i = a.memoizedProps), + (n = null !== (n = n.compare) ? n : lr)(i, r) && e.ref === t.ref) + ? os(e, t, o) + : ((t.flags |= 1), + ((e = Vc(a, r)).ref = t.ref), + (e.return = t), + (t.child = e)) + ); + } + function ja(e, t, n, r, i, o) { + if (null !== e && lr(e.memoizedProps, r) && e.ref === t.ref) { + if (((La = !1), 0 === (o & i))) return ((t.lanes = e.lanes), os(e, t, o)); + 0 !== (16384 & e.flags) && (La = !0); + } + return qa(e, t, n, r, o); + } + function Ha(e, t, n) { + var r = t.pendingProps, + i = r.children, + o = null !== e ? e.memoizedState : null; + if ("hidden" === r.mode || "unstable-defer-without-hiding" === r.mode) + if (0 === (4 & t.mode)) ((t.memoizedState = { baseLanes: 0 }), xc(t, n)); + else { + if (0 === (1073741824 & n)) + return ( + (e = null !== o ? o.baseLanes | n : n), + (t.lanes = t.childLanes = 1073741824), + (t.memoizedState = { baseLanes: e }), + xc(t, e), + null + ); + ((t.memoizedState = { baseLanes: 0 }), + xc(t, null !== o ? o.baseLanes : n)); + } + else + (null !== o ? ((r = o.baseLanes | n), (t.memoizedState = null)) : (r = n), + xc(t, r)); + return (Ba(e, t, i, n), t.child); + } + function za(e, t) { + var n = t.ref; + ((null === e && null !== n) || (null !== e && e.ref !== n)) && (t.flags |= 128); + } + function qa(e, t, n, r, i) { + var o = mi(n) ? fi : pi.current; + return ( + (o = vi(t, o)), + io(t, i), + (n = aa(e, t, n, r, o, i)), + null === e || La + ? ((t.flags |= 1), Ba(e, t, n, i), t.child) + : ((t.updateQueue = e.updateQueue), + (t.flags &= -517), + (e.lanes &= ~i), + os(e, t, i)) + ); + } + function Ga(e, t, n, r, i) { + if (mi(n)) { + var o = !0; + bi(t); + } else o = !1; + if ((io(t, i), null === t.stateNode)) + (null !== e && ((e.alternate = null), (t.alternate = null), (t.flags |= 2)), + wo(t, n, r), + ko(t, n, r, i), + (r = !0)); + else if (null === e) { + var a = t.stateNode, + s = t.memoizedProps; + a.props = s; + var c = a.context, + u = n.contextType; + "object" === typeof u && null !== u + ? (u = oo(u)) + : (u = vi(t, (u = mi(n) ? fi : pi.current))); + var d = n.getDerivedStateFromProps, + l = + "function" === typeof d || + "function" === typeof a.getSnapshotBeforeUpdate; + (l || + ("function" !== typeof a.UNSAFE_componentWillReceiveProps && + "function" !== typeof a.componentWillReceiveProps) || + ((s !== r || c !== u) && bo(t, a, r, u)), + (ao = !1)); + var p = t.memoizedState; + ((a.state = p), + ho(t, r, a, i), + (c = t.memoizedState), + s !== r || p !== c || hi.current || ao + ? ("function" === typeof d && + (mo(t, n, d, r), (c = t.memoizedState)), + (s = ao || yo(t, n, s, r, p, c, u)) + ? (l || + ("function" !== typeof a.UNSAFE_componentWillMount && + "function" !== typeof a.componentWillMount) || + ("function" === typeof a.componentWillMount && + a.componentWillMount(), + "function" === typeof a.UNSAFE_componentWillMount && + a.UNSAFE_componentWillMount()), + "function" === typeof a.componentDidMount && (t.flags |= 4)) + : ("function" === typeof a.componentDidMount && + (t.flags |= 4), + (t.memoizedProps = r), + (t.memoizedState = c)), + (a.props = r), + (a.state = c), + (a.context = u), + (r = s)) + : ("function" === typeof a.componentDidMount && (t.flags |= 4), + (r = !1))); + } else { + ((a = t.stateNode), + co(e, t), + (s = t.memoizedProps), + (u = t.type === t.elementType ? s : Qi(t.type, s)), + (a.props = u), + (l = t.pendingProps), + (p = a.context), + "object" === typeof (c = n.contextType) && null !== c + ? (c = oo(c)) + : (c = vi(t, (c = mi(n) ? fi : pi.current)))); + var h = n.getDerivedStateFromProps; + ((d = + "function" === typeof h || + "function" === typeof a.getSnapshotBeforeUpdate) || + ("function" !== typeof a.UNSAFE_componentWillReceiveProps && + "function" !== typeof a.componentWillReceiveProps) || + ((s !== l || p !== c) && bo(t, a, r, c)), + (ao = !1), + (p = t.memoizedState), + (a.state = p), + ho(t, r, a, i)); + var f = t.memoizedState; + s !== l || p !== f || hi.current || ao + ? ("function" === typeof h && (mo(t, n, h, r), (f = t.memoizedState)), + (u = ao || yo(t, n, u, r, p, f, c)) + ? (d || + ("function" !== typeof a.UNSAFE_componentWillUpdate && + "function" !== typeof a.componentWillUpdate) || + ("function" === typeof a.componentWillUpdate && + a.componentWillUpdate(r, f, c), + "function" === typeof a.UNSAFE_componentWillUpdate && + a.UNSAFE_componentWillUpdate(r, f, c)), + "function" === typeof a.componentDidUpdate && (t.flags |= 4), + "function" === typeof a.getSnapshotBeforeUpdate && + (t.flags |= 256)) + : ("function" !== typeof a.componentDidUpdate || + (s === e.memoizedProps && p === e.memoizedState) || + (t.flags |= 4), + "function" !== typeof a.getSnapshotBeforeUpdate || + (s === e.memoizedProps && p === e.memoizedState) || + (t.flags |= 256), + (t.memoizedProps = r), + (t.memoizedState = f)), + (a.props = r), + (a.state = f), + (a.context = c), + (r = u)) + : ("function" !== typeof a.componentDidUpdate || + (s === e.memoizedProps && p === e.memoizedState) || + (t.flags |= 4), + "function" !== typeof a.getSnapshotBeforeUpdate || + (s === e.memoizedProps && p === e.memoizedState) || + (t.flags |= 256), + (r = !1)); + } + return Ua(e, t, n, r, o, i); + } + function Ua(e, t, n, r, i, o) { + za(e, t); + var a = 0 !== (64 & t.flags); + if (!r && !a) return (i && ki(t, n, !1), os(e, t, o)); + ((r = t.stateNode), (Da.current = t)); + var s = + a && "function" !== typeof n.getDerivedStateFromError ? null : r.render(); + return ( + (t.flags |= 1), + null !== e && a + ? ((t.child = So(t, e.child, null, o)), (t.child = So(t, null, s, o))) + : Ba(e, t, s, o), + (t.memoizedState = r.state), + i && ki(t, n, !0), + t.child + ); + } + function Va(e) { + var t = e.stateNode; + (t.pendingContext + ? yi(0, t.pendingContext, t.pendingContext !== t.context) + : t.context && yi(0, t.context, !1), + Ro(e, t.containerInfo)); + } + var $a, + Ja, + Ka, + Qa, + Xa = { dehydrated: null, retryLane: 0 }; + function Ya(e, t, n) { + var r, + i = t.pendingProps, + o = Bo.current, + a = !1; + return ( + (r = 0 !== (64 & t.flags)) || + (r = (null === e || null !== e.memoizedState) && 0 !== (2 & o)), + r + ? ((a = !0), (t.flags &= -65)) + : (null !== e && null === e.memoizedState) || + void 0 === i.fallback || + !0 === i.unstable_avoidThisFallback || + (o |= 1), + di(Bo, 1 & o), + null === e + ? (void 0 !== i.fallback && Go(t), + (e = i.children), + (o = i.fallback), + a + ? ((e = Za(t, e, o, n)), + (t.child.memoizedState = { baseLanes: n }), + (t.memoizedState = Xa), + e) + : "number" === typeof i.unstable_expectedLoadTime + ? ((e = Za(t, e, o, n)), + (t.child.memoizedState = { baseLanes: n }), + (t.memoizedState = Xa), + (t.lanes = 33554432), + e) + : (((n = Kc( + { mode: "visible", children: e }, + t.mode, + n, + null + )).return = t), + (t.child = n))) + : (e.memoizedState, + a + ? ((i = ts(e, t, i.children, i.fallback, n)), + (a = t.child), + (o = e.child.memoizedState), + (a.memoizedState = + null === o + ? { baseLanes: n } + : { baseLanes: o.baseLanes | n }), + (a.childLanes = e.childLanes & ~n), + (t.memoizedState = Xa), + i) + : ((n = es(e, t, i.children, n)), (t.memoizedState = null), n)) + ); + } + function Za(e, t, n, r) { + var i = e.mode, + o = e.child; + return ( + (t = { mode: "hidden", children: t }), + 0 === (2 & i) && null !== o + ? ((o.childLanes = 0), (o.pendingProps = t)) + : (o = Kc(t, i, 0, null)), + (n = Jc(n, i, r, null)), + (o.return = e), + (n.return = e), + (o.sibling = n), + (e.child = o), + n + ); + } + function es(e, t, n, r) { + var i = e.child; + return ( + (e = i.sibling), + (n = Vc(i, { mode: "visible", children: n })), + 0 === (2 & t.mode) && (n.lanes = r), + (n.return = t), + (n.sibling = null), + null !== e && + ((e.nextEffect = null), + (e.flags = 8), + (t.firstEffect = t.lastEffect = e)), + (t.child = n) + ); + } + function ts(e, t, n, r, i) { + var o = t.mode, + a = e.child; + e = a.sibling; + var s = { mode: "hidden", children: n }; + return ( + 0 === (2 & o) && t.child !== a + ? (((n = t.child).childLanes = 0), + (n.pendingProps = s), + null !== (a = n.lastEffect) + ? ((t.firstEffect = n.firstEffect), + (t.lastEffect = a), + (a.nextEffect = null)) + : (t.firstEffect = t.lastEffect = null)) + : (n = Vc(a, s)), + null !== e ? (r = Vc(e, r)) : ((r = Jc(r, o, i, null)).flags |= 2), + (r.return = t), + (n.return = t), + (n.sibling = r), + (t.child = n), + r + ); + } + function ns(e, t) { + e.lanes |= t; + var n = e.alternate; + (null !== n && (n.lanes |= t), ro(e.return, t)); + } + function rs(e, t, n, r, i, o) { + var a = e.memoizedState; + null === a + ? (e.memoizedState = { + isBackwards: t, + rendering: null, + renderingStartTime: 0, + last: r, + tail: n, + tailMode: i, + lastEffect: o + }) + : ((a.isBackwards = t), + (a.rendering = null), + (a.renderingStartTime = 0), + (a.last = r), + (a.tail = n), + (a.tailMode = i), + (a.lastEffect = o)); + } + function is(e, t, n) { + var r = t.pendingProps, + i = r.revealOrder, + o = r.tail; + if ((Ba(e, t, r.children, n), 0 !== (2 & (r = Bo.current)))) + ((r = (1 & r) | 2), (t.flags |= 64)); + else { + if (null !== e && 0 !== (64 & e.flags)) + e: for (e = t.child; null !== e; ) { + if (13 === e.tag) null !== e.memoizedState && ns(e, n); + else if (19 === e.tag) ns(e, n); + else if (null !== e.child) { + ((e.child.return = e), (e = e.child)); + continue; + } + if (e === t) break e; + for (; null === e.sibling; ) { + if (null === e.return || e.return === t) break e; + e = e.return; + } + ((e.sibling.return = e.return), (e = e.sibling)); + } + r &= 1; + } + if ((di(Bo, r), 0 === (2 & t.mode))) t.memoizedState = null; + else + switch (i) { + case "forwards": + for (n = t.child, i = null; null !== n; ) + (null !== (e = n.alternate) && null === No(e) && (i = n), + (n = n.sibling)); + (null === (n = i) + ? ((i = t.child), (t.child = null)) + : ((i = n.sibling), (n.sibling = null)), + rs(t, !1, i, n, o, t.lastEffect)); + break; + case "backwards": + for (n = null, i = t.child, t.child = null; null !== i; ) { + if (null !== (e = i.alternate) && null === No(e)) { + t.child = i; + break; + } + ((e = i.sibling), (i.sibling = n), (n = i), (i = e)); + } + rs(t, !0, n, null, o, t.lastEffect); + break; + case "together": + rs(t, !1, null, null, void 0, t.lastEffect); + break; + default: + t.memoizedState = null; + } + return t.child; + } + function os(e, t, n) { + if ( + (null !== e && (t.dependencies = e.dependencies), + (Hs |= t.lanes), + 0 !== (n & t.childLanes)) + ) { + if (null !== e && t.child !== e.child) throw Error(a(153)); + if (null !== t.child) { + for ( + n = Vc((e = t.child), e.pendingProps), t.child = n, n.return = t; + null !== e.sibling; + + ) + ((e = e.sibling), + ((n = n.sibling = Vc(e, e.pendingProps)).return = t)); + n.sibling = null; + } + return t.child; + } + return null; + } + function as(e, t) { + if (!Ho) + switch (e.tailMode) { + case "hidden": + t = e.tail; + for (var n = null; null !== t; ) + (null !== t.alternate && (n = t), (t = t.sibling)); + null === n ? (e.tail = null) : (n.sibling = null); + break; + case "collapsed": + n = e.tail; + for (var r = null; null !== n; ) + (null !== n.alternate && (r = n), (n = n.sibling)); + null === r + ? t || null === e.tail + ? (e.tail = null) + : (e.tail.sibling = null) + : (r.sibling = null); + } + } + function ss(e, t, n) { + var r = t.pendingProps; + switch (t.tag) { + case 2: + case 16: + case 15: + case 0: + case 11: + case 7: + case 8: + case 12: + case 9: + case 14: + return null; + case 1: + case 17: + return (mi(t.type) && gi(), null); + case 3: + return ( + Oo(), + ui(hi), + ui(pi), + Ko(), + (r = t.stateNode).pendingContext && + ((r.context = r.pendingContext), (r.pendingContext = null)), + (null !== e && null !== e.child) || + (Vo(t) ? (t.flags |= 4) : r.hydrate || (t.flags |= 256)), + Ja(t), + null + ); + case 5: + Lo(t); + var o = Mo(Po.current); + if (((n = t.type), null !== e && null != t.stateNode)) + (Ka(e, t, n, r, o), e.ref !== t.ref && (t.flags |= 128)); + else { + if (!r) { + if (null === t.stateNode) throw Error(a(166)); + return null; + } + if (((e = Mo(To.current)), Vo(t))) { + ((r = t.stateNode), (n = t.type)); + var s = t.memoizedProps; + switch (((r[Xr] = t), (r[Yr] = s), n)) { + case "dialog": + (Tr("cancel", r), Tr("close", r)); + break; + case "iframe": + case "object": + case "embed": + Tr("load", r); + break; + case "video": + case "audio": + for (e = 0; e < Ir.length; e++) Tr(Ir[e], r); + break; + case "source": + Tr("error", r); + break; + case "img": + case "image": + case "link": + (Tr("error", r), Tr("load", r)); + break; + case "details": + Tr("toggle", r); + break; + case "input": + (ee(r, s), Tr("invalid", r)); + break; + case "select": + ((r._wrapperState = { wasMultiple: !!s.multiple }), + Tr("invalid", r)); + break; + case "textarea": + (ce(r, s), Tr("invalid", r)); + } + for (var u in (_e(n, s), (e = null), s)) + s.hasOwnProperty(u) && + ((o = s[u]), + "children" === u + ? "string" === typeof o + ? r.textContent !== o && (e = ["children", o]) + : "number" === typeof o && + r.textContent !== "" + o && + (e = ["children", "" + o]) + : c.hasOwnProperty(u) && + null != o && + "onScroll" === u && + Tr("scroll", r)); + switch (n) { + case "input": + (Q(r), re(r, s, !0)); + break; + case "textarea": + (Q(r), de(r)); + break; + case "select": + case "option": + break; + default: + "function" === typeof s.onClick && (r.onclick = Fr); + } + ((r = e), (t.updateQueue = r), null !== r && (t.flags |= 4)); + } else { + switch ( + ((u = 9 === o.nodeType ? o : o.ownerDocument), + e === le.html && (e = pe(n)), + e === le.html + ? "script" === n + ? (((e = u.createElement("div")).innerHTML = + "
            ' + )), + (this._creationTimeoutPassed = !1), + (this._subWindowsCreated = !1), + (this._dragSources = []), + (this._dragProxies = []), + (this._updatingColumnsResponsive = !1), + (this._firstLoad = !0), + (this._componentFactory = i), + (this._ignorePinned = !1), + (this._idToMinMaxConstraints = {}), + (this.width = null), + (this.height = null), + (this.root = null), + (this.openPopouts = []), + (this.selectedItem = null), + (this.isSubWindow = !1), + (this.eventHub = new t.utils.EventHub(this)), + (this.config = this._createConfig(n)), + (this.container = r), + (this.dropTargetIndicator = null), + (this.transitionIndicator = null), + (this.tabDropPlaceholder = e( + '
            ' + )), + !0 === this.isSubWindow && e("body").css("visibility", "hidden"), + (this._typeToItem = { + column: t.utils.fnBind(t.items.RowOrColumn, this, [!0]), + row: t.utils.fnBind(t.items.RowOrColumn, this, [!1]), + stack: t.items.Stack, + component: t.items.Component + })); + }), + (t.LayoutManager.__lm = t), + (t.LayoutManager.minifyConfig = function (e) { + return new t.utils.ConfigMinifier().minifyConfig(e); + }), + (t.LayoutManager.unminifyConfig = function (e) { + return new t.utils.ConfigMinifier().unminifyConfig(e); + }), + t.utils.copy(t.LayoutManager.prototype, { + registerComponent: function (e, t) { + if ("function" !== typeof t) + throw new Error("Please register a constructor function"); + if (void 0 !== this._components[e]) + throw new Error("Component " + e + " is already registered"); + this._components[e] = t; + }, + unregisterComponent: function (e) { + delete this._components[e]; + }, + toConfig: function (e) { + var n, r, i; + if (!1 === this.isInitialised) + throw new Error( + "Can't create config, layout not yet initialised" + ); + if (e && !(e instanceof t.items.AbstractContentItem)) + throw new Error("Root must be a ContentItem"); + for ( + (n = { + settings: t.utils.copy({}, this.config.settings), + dimensions: t.utils.copy({}, this.config.dimensions), + labels: t.utils.copy({}, this.config.labels), + context: t.utils.copy({}, this.config.context), + workspacesOptions: t.utils.copy( + {}, + this.config.workspacesOptions + ) + }).content = [], + r = function (e, t) { + var n, i; + for (n in t.config) + "content" !== n && (e[n] = t.config[n]); + if (t.contentItems.length) + for ( + e.content = [], i = 0; + i < t.contentItems.length; + i++ + ) + ((e.content[i] = {}), + r(e.content[i], t.contentItems[i])); + }, + r(n, e ? { contentItems: [e] } : this.root), + this._$reconcilePopoutWindows(), + n.openPopouts = [], + i = 0; + i < this.openPopouts.length; + i++ + ) + n.openPopouts.push(this.openPopouts[i].toConfig()); + return ( + (n.maximizedItemId = this._maximizedItem + ? "__glMaximised" + : null), + n + ); + }, + getComponent: function (e) { + if (void 0 === this._components[e]) + throw new t.errors.ConfigurationError( + 'Unknown component "' + e + '"' + ); + return this._components[e]; + }, + init: function () { + if ( + (!1 === this._subWindowsCreated && + (this._createSubWindows(), (this._subWindowsCreated = !0)), + "loading" !== document.readyState && null !== document.body) + ) { + if ( + !0 === this.isSubWindow && + !1 === this._creationTimeoutPassed + ) + return ( + setTimeout(t.utils.fnBind(this.init, this), 7), + void (this._creationTimeoutPassed = !0) + ); + (!0 === this.isSubWindow && this._adjustToWindowMode(), + this._setContainer(), + (this.dropTargetIndicator = + new t.controls.DropTargetIndicator(this.container)), + (this.transitionIndicator = + new t.controls.TransitionIndicator()), + this.updateSize(), + this._create(this.config), + this._bindEvents(), + (this.isInitialised = !0), + this._adjustColumnsResponsive(), + this._maximizeContainers(), + this.emit("initialised")); + } else e(document).ready(t.utils.fnBind(this.init, this)); + }, + updateSize: function (e, n) { + if (2 === arguments.length) ((this.width = e), (this.height = n)); + else { + var r = t.utils.getBounds(this.container); + ((this.width = r.width), (this.height = r.height)); + } + !0 === this.isInitialised && + (this.root.callDownwards("setSize", [this.width, this.height]), + this._maximizedItem && + (this._maximizedItem.element.width(this.width), + this._maximizedItem.element.height(this.height), + this._maximizedItem.callDownwards("setSize")), + Object.values(this._maximizedItemsInTargetContainer).forEach( + function (e) { + var n = e.contentItem, + r = e.maximizationContainer, + i = t.utils.getBounds(r.element); + (n.element.width(i.width), + n.element.height(i.height), + n.callDownwards("setSize")); + } + ), + this._adjustColumnsResponsive()); + }, + destroy: function () { + !1 !== this.isInitialised && + (this._onUnload(), + e(window).off("resize", this._resizeFunction), + e(window).off("unload beforeunload", this._unloadFunction), + this.root.callDownwards("_$destroy", [], !0), + (this.root.contentItems = []), + this.tabDropPlaceholder.remove(), + this.dropTargetIndicator.destroy(), + this.transitionIndicator.destroy(), + this.eventHub.destroy(), + this._dragSources.forEach(function (e) { + ("function" === typeof e._dragListener.destroy && + e._dragListener.destroy(), + (e._element = null), + (e._itemConfig = null), + (e._dragListener = null)); + }), + (this._dragSources = [])); + }, + createContentItem: function (e, n) { + var r; + if ("string" !== typeof e.type) + throw new t.errors.ConfigurationError( + "Missing parameter 'type'", + e + ); + if ( + ("react-component" === e.type && + ((e.type = "component"), + (e.componentName = "lm-react-component")), + !this._typeToItem[e.type]) + ) + throw ( + (r = + "Unknown type '" + + e.type + + "'. Valid types are " + + t.utils.objectKeys(this._typeToItem).join(",")), + new t.errors.ConfigurationError(r) + ); + return ( + "component" !== e.type || + n instanceof t.items.Stack || + !n || + (!0 === this.isSubWindow && n instanceof t.items.Root) || + (e = { + type: "stack", + width: e.width, + height: e.height, + content: [e] + }), + new this._typeToItem[e.type](this, e, n) + ); + }, + createPopout: function (e, n, r, i) { + var o, + a, + s, + c, + u, + d = e, + l = e instanceof t.items.AbstractContentItem, + p = this; + if (((r = r || null), l)) { + for ( + d = this.toConfig(e).content, + r = t.utils.getUniqueId(), + s = e.parent, + c = e; + 1 === s.contentItems.length && !s.isRoot; + + ) + ((s = s.parent), (c = c.parent)); + (s.addId(r), + isNaN(i) && (i = t.utils.indexOf(c, s.contentItems))); + } else d instanceof Array || (d = [d]); + if (!n && l) { + ((o = window.screenX || window.screenLeft), + (a = window.screenY || window.screenTop)); + var h = t.utils.getBounds(e.element); + n = { + left: o + h.left, + top: a + h.top, + width: h.width, + height: h.height + }; + } + return ( + n || + l || + (n = { + left: window.screenX || window.screenLeft + 20, + top: window.screenY || window.screenTop + 20, + width: 500, + height: 309 + }), + l && e.remove(), + (u = new t.controls.BrowserPopout(d, n, r, i, this)).on( + "initialised", + function () { + p.emit("windowOpened", u); + } + ), + u.on("closed", function () { + p._$reconcilePopoutWindows(); + }), + this.openPopouts.push(u), + u + ); + }, + createDragSource: function (n, r, i) { + this.config.settings.constrainDragToContainer = !1; + var o = new t.controls.DragSource(e(n), r, this, i); + return (this._dragSources.push(o), o); + }, + selectItem: function (e, t) { + if (!0 !== this.config.settings.selectionEnabled) + throw new Error( + "Please set selectionEnabled to true to use this feature" + ); + e !== this.selectedItem && + (null !== this.selectedItem && this.selectedItem.deselect(), + e && !0 !== t && e.select(), + (this.selectedItem = e), + this.emit("selectionChanged", e)); + }, + _$maximiseItem: function (e) { + var n = this._findItemToMaximizeIn(e); + if (n == this.root) { + if (null !== this._maximizedItem) { + var r = this._maximizedItem; + (this._$minimiseItem(this._maximizedItem), + (r.isMaximized = !1)); + } + ((this._maximizedItem = e), + this._maximizedItem.addId("__glMaximised"), + e.element.addClass("lm_maximised"), + e.element.after(this._maximizePlaceholder), + this.root.element.prepend(e.element)); + var i = t.utils.getBounds(this.container); + (e.element.width(i.width), + e.element.height(i.height), + e.callDownwards("setSize"), + this._maximizedItem.emit("maximized"), + this.emit("stateChanged")); + } else this._$maximiseInContainer(e, n); + }, + _$minimiseItem: function (e) { + this._maximizedItemsInTargetContainer[ + t.utils.idAsString(e.config.id) + ] + ? this._$minimiseInContainer(e) + : (e.element.removeClass("lm_maximised"), + e.hasId("__glMaximised") && e.removeId("__glMaximised"), + this._maximizePlaceholder.after(e.element), + this._maximizePlaceholder.remove(), + e.parent.callDownwards("setSize"), + (this._maximizedItem = null), + e.emit("minimized"), + this.emit("stateChanged")); + }, + _findItemToMaximizeIn: function (e) { + return e + ? e.config.workspacesConfig.maximizationBoundary + ? e + : this._findItemToMaximizeIn(e.parent) + : this.root; + }, + _$maximiseInContainer: function (n, r) { + var i = Object.values(this._maximizedItemsInTargetContainer).find( + function (e) { + return e.maximizationContainer === r; + } + ); + i && + (this._$minimiseItem(i.contentItem), + (i.contentItem.isMaximized = !1)); + var o = e( + '
            ' + ) + ); + ((this._maximizedItemsInTargetContainer[ + t.utils.idAsString(n.config.id) + ] = { contentItem: n, maximizationContainer: r, placeholder: o }), + n.addId("__glMaximised"), + n.element.addClass("lm_maximised_in_container"), + n.element.after(o), + r.element.prepend(n.element)); + var a = t.utils.getBounds(r.element); + (n.element.width(a.width), + n.element.height(a.height), + n.callDownwards("setSize"), + n.emit("maximized"), + this.emit("stateChanged")); + }, + _$minimiseInContainer: function (e) { + e.element.removeClass("lm_maximised_in_container"); + var n = + this._maximizedItemsInTargetContainer[ + t.utils.idAsString(e.config.id) + ].placeholder; + (e.hasId("__glMaximised") && e.removeId("__glMaximised"), + n.after(e.element), + n.remove(), + e.parent.callDownwards("setSize"), + delete this._maximizedItemsInTargetContainer[ + t.utils.idAsString(e.config.id) + ], + e.emit("minimized"), + this.emit("stateChanged")); + }, + _$closeWindow: function () { + window.setTimeout(function () { + window.close(); + }, 1); + }, + _$getArea: function (e, t) { + var n, + r, + i = 1 / 0, + o = null; + for (n = 0; n < this._itemAreas.length; n++) + e > (r = this._itemAreas[n]).x1 && + e < r.x2 && + t > r.y1 && + t < r.y2 && + i > r.surface && + ((i = r.surface), (o = r)); + return o; + }, + _$createRootItemAreas: function () { + var e = this.config.workspacesOptions, + t = e.allowDrop, + n = e.allowDropLeft, + r = e.allowDropTop, + i = e.allowDropRight, + o = e.allowDropBottom; + if (!1 !== t || !0 === n || !0 === r || !0 === i || !0 === o) { + var a = { y2: 0, x2: 0, y1: "y2", x1: "x2" }; + for (var s in a) { + var c = this.root._$getArea(); + ((c.side = s), + (c[s] = a[s] + ? c[a[s]] - 50 + : "y2" === s + ? 50 + this.root.element.offset().top + : 50), + (c.surface = (c.x2 - c.x1) * (c.y2 - c.y1)), + this._itemAreas.push(c)); + } + ((!1 === n || (!1 === t && !0 !== n)) && + (this._itemAreas[1] = void 0), + (!1 === r || (!1 === t && !0 !== r)) && + (this._itemAreas[0] = void 0), + (!1 === i || (!1 === t && !0 !== i)) && + (this._itemAreas[3] = void 0), + (!1 === o || (!1 === t && !0 !== o)) && + (this._itemAreas[2] = void 0), + (this._itemAreas = this._itemAreas.filter(function (e) { + return "undefined" !== typeof e; + }))); + } + }, + _$calculateItemAreas: function () { + var e, + n, + r = this._getAllContentItems(); + if (((this._itemAreas = []), 1 !== r.length)) { + for (this._$createRootItemAreas(), e = 0; e < r.length; e++) + if (r[e].isStack) { + var i = + r[e].config.workspacesConfig && + !0 === r[e].config.workspacesConfig.allowDrop; + if ( + (!1 !== this.config.workspacesOptions.allowDrop || + i) && + (!r[e].config.workspacesConfig || + !1 !== + r[e].config.workspacesConfig.allowDrop) && + null !== (n = r[e]._$getArea()) + ) + if (n instanceof Array) + this._itemAreas = this._itemAreas.concat(n); + else { + this._itemAreas.push(n); + var o = {}; + (t.utils.copy(o, n), + n.contentItem._contentAreaDimensions + .header && + (t.utils.copy( + o, + n.contentItem._contentAreaDimensions + .header.highlightArea + ), + (o.surface = + (o.x2 - o.x1) * (o.y2 - o.y1)), + this._itemAreas.push(o)), + r[e]._dropSegment && + (r[e]._dropSegment = null)); + } + } + "workspace" === this.config.settings.mode && + (this._itemAreas = [ + this._itemAreas[this._itemAreas.length - 1] + ]); + } else this._itemAreas.push(this.root._$getArea()); + }, + _$normalizeContentItem: function (n, r) { + if (!n) throw new Error("No content item defined"); + if ( + (t.utils.isFunction(n) && (n = n()), + n instanceof t.items.AbstractContentItem) + ) + return n; + if (e.isPlainObject(n) && n.type) { + var i = this.createContentItem(n, r); + return (i.callDownwards("_$init"), i); + } + throw new Error("Invalid contentItem"); + }, + _$reconcilePopoutWindows: function () { + var e, + t = []; + for (e = 0; e < this.openPopouts.length; e++) + !1 === this.openPopouts[e].getWindow().closed + ? t.push(this.openPopouts[e]) + : this.emit("windowClosed", this.openPopouts[e]); + this.openPopouts.length !== t.length && + (this.emit("stateChanged"), (this.openPopouts = t)); + }, + _getAllContentItems: function () { + var e = []; + return ( + (function t(n) { + if ((e.push(n), n.contentItems instanceof Array)) + for (var r = 0; r < n.contentItems.length; r++) + t(n.contentItems[r]); + })(this.root), + e + ); + }, + _bindEvents: function () { + (this._isFullPage && e(window).resize(this._resizeFunction), + e(window).on("unload beforeunload", this._unloadFunction), + this.on("itemCreated", this._onItemCreatedFunction), + this.on("itemDestroyed", this._onItemDestroyedFunction)); + }, + _onResize: function () { + (clearTimeout(this._resizeTimeoutId), + (this._resizeTimeoutId = setTimeout( + t.utils.fnBind(this.updateSize, this), + 100 + ))); + }, + _createConfig: function (n) { + var r = t.utils.getQueryStringParam("gl-window"); + return ( + r && + ((this.isSubWindow = !0), + (n = localStorage.getItem(r)), + (n = JSON.parse(n)), + (n = new t.utils.ConfigMinifier().unminifyConfig(n)), + localStorage.removeItem(r)), + (function e(t) { + for (var n in t) + "props" !== n && "object" === typeof t[n] + ? e(t[n]) + : "type" === n && + "react-component" === t[n] && + ((t.type = "component"), + (t.componentName = "lm-react-component")); + })((n = e.extend(!0, {}, t.config.defaultConfig, n))), + !1 === n.settings.hasHeaders && (n.dimensions.headerHeight = 0), + n + ); + }, + _adjustToWindowMode: function () { + var n = e( + '
            ' + ); + (n.click( + t.utils.fnBind(function () { + this.emit("popIn"); + }, this) + ), + (document.title = t.utils.stripTags( + this.config.content[0].title + )), + e("head").append( + e("body link, body style, template, .gl_keep") + ), + (this.container = e("body") + .html("") + .css("visibility", "visible") + .append(n)), + document.body.offsetHeight, + (window.__glInstance = this)); + }, + _createSubWindows: function () { + var e, t; + for (e = 0; e < this.config.openPopouts.length; e++) + ((t = this.config.openPopouts[e]), + this.createPopout( + t.content, + t.dimensions, + t.parentId, + t.indexInParent + )); + }, + _setContainer: function () { + var t = e(this.container || "body"); + if (0 === t.length) + throw new Error("GoldenLayout container not found"); + if (t.length > 1) + throw new Error( + "GoldenLayout more than one container element specified" + ); + (t[0] === document.body && + ((this._isFullPage = !0), + e("html, body").css({ + height: "100%", + margin: 0, + padding: 0, + overflow: "hidden" + })), + (this.container = t)); + }, + _create: function (e) { + var n; + if (!(e.content instanceof Array)) + throw ( + (n = + void 0 === e.content + ? "Missing setting 'content' on top level of configuration" + : "Configuration parameter 'content' must be an array"), + new t.errors.ConfigurationError(n, e) + ); + if (e.content.length > 1) + throw ( + (n = + "Top level content can't contain more then one element."), + new t.errors.ConfigurationError(n, e) + ); + ((this.root = new t.items.Root( + this, + { content: e.content }, + this.container + )), + this.root.callDownwards("_$init"), + "__glMaximised" === e.maximizedItemId && + this.root + .getItemsById(e.maximizedItemId)[0] + .toggleMaximise()); + }, + _onUnload: function () { + if (!0 === this.config.settings.closePopoutsOnUnload) + for (var e = 0; e < this.openPopouts.length; e++) + this.openPopouts[e].close(); + }, + _onItemCreated: function () { + this._idToMinMaxConstraints = {}; + }, + _onItemDestroyed: function () { + this._idToMinMaxConstraints = {}; + }, + _adjustColumnsResponsive: function () { + if ( + this._useResponsiveLayout() && + !this._updatingColumnsResponsive && + this.config.dimensions && + this.config.dimensions.minItemWidth && + 0 !== this.root.contentItems.length && + this.root.contentItems[0].isRow + ) { + this._firstLoad = !1; + var e = this.root.contentItems[0].contentItems.length; + if (!(e <= 1)) { + var t = this.config.dimensions.minItemWidth; + if ( + !(e * t <= this.width) && + this.container.is(":visible") + ) { + this._updatingColumnsResponsive = !0; + for ( + var n = e - Math.max(Math.floor(this.width / t), 1), + r = this.root.contentItems[0], + i = this._findAllStackContainers()[0], + o = 0; + o < n; + o++ + ) { + var a = r.contentItems[r.contentItems.length - 1]; + this._addChildContentItemsToContainer(i, a); + } + this._updatingColumnsResponsive = !1; + } + } + } else this._firstLoad = !1; + }, + _maximizeContainers: function () { + var e = this.root.getItemsByFilter(function (e) { + return ( + e.config.workspacesConfig && + e.config.workspacesConfig.isMaximized && + "component" != e.type + ); + }); + e.length && + e.forEach(function (e) { + e.toggleMaximise(); + }); + }, + _useResponsiveLayout: function () { + return ( + this.config.settings && + ("always" == this.config.settings.responsiveMode || + ("onload" == this.config.settings.responsiveMode && + this._firstLoad)) + ); + }, + _addChildContentItemsToContainer: function (e, n) { + "stack" === n.type + ? n.contentItems.forEach(function (t) { + (e.addChild(t), n.removeChild(t, !0)); + }) + : n.contentItems.forEach( + t.utils.fnBind(function (t) { + this._addChildContentItemsToContainer(e, t); + }, this) + ); + }, + _findAllStackContainers: function () { + var e = []; + return (this._findAllStackContainersRecursive(e, this.root), e); + }, + _findAllStackContainersRecursive: function (e, n) { + n.contentItems.forEach( + t.utils.fnBind(function (t) { + "stack" == t.type + ? e.push(t) + : t.isComponent || + this._findAllStackContainersRecursive(e, t); + }, this) + ); + }, + restoreMaximizedContainers: function () { + var e = this; + this.root + .getItemsByFilter(function (e) { + return e.hasId("__glMaximised") && "component" !== e.type; + }) + .forEach(function (t) { + e._$minimiseItem(t); + }); + } + }), + (t.LayoutManager.default = t.LayoutManager), + (G.exports = t.LayoutManager), + (window.GoldenLayout = t.LayoutManager), + (t.config.itemDefaultConfig = function () { + return { + isClosable: !0, + reorderEnabled: !0, + title: "", + workspacesConfig: {} + }; + }), + (t.config.defaultConfig = { + openPopouts: [], + settings: { + hasHeaders: !0, + constrainDragToContainer: !0, + reorderEnabled: !0, + selectionEnabled: !1, + popoutWholeStack: !1, + blockedPopoutsThrowError: !0, + closePopoutsOnUnload: !0, + showMinimizeIcon: !1, + showPopoutIcon: !0, + showMaximizeIcon: !0, + showCloseIcon: !0, + responsiveMode: "always", + tabOverlapAllowance: 0, + reorderOnTabMenuClick: !0, + tabControlOffset: 10, + workspaceInnerDrag: !0, + mode: "default" + }, + dimensions: { + borderWidth: 5, + borderGrabWidth: 15, + minItemHeight: 20, + maxItemHeight: 32767, + minItemWidth: 20, + maxItemWidth: 32767, + headerHeight: 20, + dragProxyWidth: 500, + dragProxyHeight: 500 + }, + labels: { + close: "close", + maximize: "maximize", + restore: "restore", + minimize: "minimize", + popout: "eject", + popin: "pop in", + tabDropdown: "additional tabs" + }, + workspacesOptions: {} + }), + (t.container.ItemContainer = function (n, r, i) { + (t.utils.EventEmitter.call(this), + (this.width = null), + (this.height = null), + (this.title = n.componentName), + (this.parent = r), + (this.layoutManager = i), + (this.isHidden = !1), + (this._config = n), + (this._element = e( + [ + '
            ', + '
            ', + "
            " + ].join("") + )), + (this._contentElement = this._element.find(".lm_content"))); + }), + t.utils.copy(t.container.ItemContainer.prototype, { + getElement: function () { + return this._contentElement; + }, + hide: function () { + (this.emit("hide"), (this.isHidden = !0), this._element.hide()); + }, + show: function () { + (this.emit("show"), + (this.isHidden = !1), + this._element.show(), + (0 == this.height && 0 == this.width) || this.emit("shown")); + }, + setSize: function (e, t) { + var n, + r, + i, + o, + a = this.parent, + s = this; + if ((!e && !t) || (e && t)) return !1; + for ( + ; + (!a.isColumn && t) || + (!a.isRow && e) || + a.contentItems.length <= 1; + + ) + if (((s = a), (a = a.parent).isRoot)) return !1; + for ( + this.layoutManager._ignorePinned = !0, + a._calculateRelativeSizes(), + n = + (("height" === (r = a.isColumn ? "height" : "width") + ? t + : e) / + (this._element[r]() * (1 / (s.config[r] / 100)))) * + 100, + i = (s.config[r] - n) / (a.contentItems.length - 1), + o = 0; + o < a.contentItems.length; + o++ + ) + a.contentItems[o] === s + ? (a.contentItems[o].config[r] = n) + : (a.contentItems[o].config[r] += i); + return (a.callDownwards("setSize"), !0); + }, + close: function () { + this._config.isClosable && + (this.emit("close"), this.parent.close()); + }, + getState: function () { + return this._config.componentState; + }, + extendState: function (t) { + this.setState(e.extend(!0, this.getState(), t)); + }, + setState: function (e) { + ((this._config.componentState = e), + this.parent.emitBubblingEvent("stateChanged")); + }, + setTitle: function (e) { + this.parent.setTitle(e); + }, + _$setSize: function (e, t) { + if (e !== this.width || t !== this.height) { + ((this.width = e), (this.height = t)); + var n = this._contentElement[0], + r = n.offsetWidth - n.clientWidth, + i = n.offsetHeight - n.clientHeight; + (this._contentElement + .width(this.width - r) + .height(this.height - i), + this.emit("resize")); + } + } + }), + (t.controls.BrowserPopout = function (e, n, r, i, o) { + (t.utils.EventEmitter.call(this), + (this.isInitialised = !1), + (this._config = e), + (this._dimensions = n), + (this._parentId = r), + (this._indexInParent = i), + (this._layoutManager = o), + (this._popoutWindow = null), + (this._id = null)); + }), + t.utils.copy(t.controls.BrowserPopout.prototype, { + toConfig: function () { + if (!1 === this.isInitialised) + throw new Error( + "Can't create config, layout not yet initialised" + ); + return { + dimensions: { + width: this.getGlInstance().width, + height: this.getGlInstance().height, + left: + this._popoutWindow.screenX || + this._popoutWindow.screenLeft, + top: + this._popoutWindow.screenY || + this._popoutWindow.screenTop + }, + content: this.getGlInstance().toConfig().content, + parentId: this._parentId, + indexInParent: this._indexInParent + }; + }, + getGlInstance: function () { + return this._popoutWindow.__glInstance; + }, + getWindow: function () { + return this._popoutWindow; + }, + close: function () { + if (this.getGlInstance()) this.getGlInstance()._$closeWindow(); + else + try { + this.getWindow().close(); + } catch (e) {} + }, + popIn: function () { + var t, n; + (this._indexInParent, + this._parentId && + ((t = e.extend(!0, {}, this.getGlInstance().toConfig()) + .content[0]), + (n = this._layoutManager.root.getItemsById( + this._parentId + )[0]) || + (n = + this._layoutManager.root.contentItems.length > 0 + ? this._layoutManager.root.contentItems[0] + : this._layoutManager.root)), + n.addChild(t, this._indexInParent), + this.close()); + }, + _serializeWindowOptions: function (e) { + var t, + n = []; + for (t in e) n.push(t + "=" + e[t]); + return n.join(","); + }, + _createUrl: function () { + var e, + n = { content: this._config }, + r = "gl-window-config-" + t.utils.getUniqueId(); + n = new t.utils.ConfigMinifier().minifyConfig(n); + try { + localStorage.setItem(r, JSON.stringify(n)); + } catch (i) { + throw new Error( + "Error while writing to localStorage " + i.toString() + ); + } + return 1 === (e = document.location.href.split("?")).length + ? e[0] + "?gl-window=" + r + : document.location.href + "&gl-window=" + r; + }, + _positionWindow: function () { + (this._popoutWindow.moveTo( + this._dimensions.left, + this._dimensions.top + ), + this._popoutWindow.focus()); + }, + _onInitialised: function () { + ((this.isInitialised = !0), + this.getGlInstance().on("popIn", this.popIn, this), + this.emit("initialised")); + }, + _onClose: function () { + setTimeout(t.utils.fnBind(this.emit, this, ["closed"]), 50); + } + }), + (t.controls.DragProxy = function (n, r, i, o, a, s) { + (t.utils.EventEmitter.call(this), + (this._dragListener = i), + (this._layoutManager = o), + (this._contentItem = a), + (this._originalParent = s), + (this._area = null), + (this._lastValidArea = null), + this._dragListener.on("drag", this._onDrag, this), + this._dragListener.on("dragStop", this._onDrop, this), + (this.element = e(t.controls.DragProxy._template)), + s && + s._side && + ((this._sided = s._sided), + this.element.addClass("lm_" + s._side), + ["right", "bottom"].indexOf(s._side) >= 0 && + this.element + .find(".lm_content") + .after(this.element.find(".lm_header"))), + this.element.css({ left: n, top: r }), + this.element + .find(".lm_tab") + .attr( + "title", + t.utils.stripTags(this._contentItem.config.title) + ), + this.element.find(".lm_title").html(this._contentItem.config.title), + (this.childElementContainer = this.element.find(".lm_content")), + this.childElementContainer.append(a.element), + this._originalParent && + this._originalParent.layoutManager.config && + this._originalParent.layoutManager.config.settings && + this._originalParent.layoutManager.config.settings + .disableDragProxy && + this.element.find(".lm_content").css("display", "none"), + this._updateTree(), + this._layoutManager._$calculateItemAreas(), + this._setDimensions(), + e(document.body).append(this.element)); + var c = t.utils.getBounds(this._layoutManager.container); + ((this._minX = c.left), + (this._minY = c.top), + (this._maxX = c.width + this._minX), + (this._maxY = c.height + this._minY), + (this._width = + this._layoutManager.config.dimensions.dragProxyWidth), + (this._height = + this._layoutManager.config.dimensions.dragProxyHeight), + this._setDropPosition(n, r)); + }), + (t.controls.DragProxy._template = + '
            '), + t.utils.copy(t.controls.DragProxy.prototype, { + _onDrag: function (e, t, n) { + var r = (n = + n.originalEvent && n.originalEvent.touches + ? n.originalEvent.touches[0] + : n).pageX, + i = n.pageY; + ((r > this._minX && + r < this._maxX && + i > this._minY && + i < this._maxY) || + !0 !== + this._layoutManager.config.settings + .constrainDragToContainer) && + this._setDropPosition(r, i); + }, + _setDropPosition: function (e, t) { + (this.element.css({ left: e, top: t }), + (this._area = this._layoutManager._$getArea(e, t)), + null !== this._area + ? ((this._lastValidArea = this._area), + this._area.contentItem._$highlightDropZone( + e, + t, + this._area + )) + : null !== this._lastValidArea && + (this._lastValidArea.contentItem._$highlightDropZone( + e, + t, + this._area + ), + (this._lastValidArea = this._area))); + }, + _onDrop: function (e) { + (this._layoutManager.dropTargetIndicator.hide(), + this.element.find(".lm_content").css("display", ""), + null === this._area || (e && e.canceled) + ? null === this._lastValidArea || (e && e.canceled) + ? !this._originalParent || (e && e.canceled) + ? this._contentItem._$destroy() + : this._originalParent.addChild(this._contentItem) + : this._lastValidArea.contentItem._$onDrop( + this._contentItem, + this._lastValidArea + ) + : (this._area.contentItem._$onDrop( + this._contentItem, + this._area + ), + this._originalParent && + this._area.contentItem !== this._originalParent && + this._layoutManager.emit( + "parentChanged", + this._contentItem, + this._originalParent + )), + this.element.remove()); + var t = this._layoutManager._dragProxies.indexOf(this); + (t > -1 && this._layoutManager._dragProxies.splice(t, 1), + this._layoutManager.emit("itemDropped", this._contentItem)); + }, + _updateTree: function () { + (this._contentItem.parent && + this._contentItem.parent.removeChild(this._contentItem, !0), + this._contentItem._$setParent(this)); + }, + _setDimensions: function () { + this._contentItem.callDownwards("_$show"); + } + }), + (t.controls.DragSource = function (e, t, n, r) { + ((this._element = e), + (this._itemConfig = t), + (this._layoutManager = n), + (this._dragListener = null), + (this._dragProxy = null), + this._createDragListener(r)); + }), + t.utils.copy(t.controls.DragSource.prototype, { + _createDragListener: function (e) { + (null !== this._dragListener && this._dragListener.destroy(), + (this._dragListener = + e || new t.utils.DragListener(this._element)), + "function" == typeof this._dragListener.on && + (this._dragListener.on( + "dragStart", + this._onDragStart, + this + ), + this._dragListener.on( + "dragStop", + this._createDragListener, + this + ))); + }, + _onDragStart: function (n, r) { + var i = this._itemConfig; + t.utils.isFunction(i) && (i = i()); + var o = this._layoutManager._$normalizeContentItem( + e.extend(!0, {}, i) + ); + ((this._dragProxy = new t.controls.DragProxy( + n, + r, + this._dragListener, + this._layoutManager, + o, + null + )), + this._layoutManager.transitionIndicator.transitionElements( + this._element, + this._dragProxy.element + )); + } + }), + (t.controls.DropTargetIndicator = function () { + ((this.element = e(t.controls.DropTargetIndicator._template)), + e(document.body).append(this.element)); + }), + (t.controls.DropTargetIndicator._template = + '
            '), + t.utils.copy(t.controls.DropTargetIndicator.prototype, { + destroy: function () { + this.element.remove(); + }, + highlight: function (e, t, n, r) { + this.highlightArea({ x1: e, y1: t, x2: n, y2: r }); + }, + highlightArea: function (e) { + e + ? this.element + .css({ + left: e.x1, + top: e.y1, + width: e.x2 - e.x1, + height: e.y2 - e.y1 + }) + .show() + : this.element.hide(); + }, + hide: function () { + this.element.hide(); + } + }), + (t.controls.Header = function (n, r) { + if ( + (t.utils.EventEmitter.call(this), + (this.layoutManager = n), + (this.element = e(t.controls.Header._template)), + !0 === this.layoutManager.config.settings.selectionEnabled && + (this.element.addClass("lm_selectable"), + this.element.on( + "click touchstart", + t.utils.fnBind(this._onHeaderClick, this) + )), + "workspace" === this.layoutManager.config.settings.mode && + this.element.addClass("header_double"), + "workspace" === this.layoutManager.config.settings.mode && + this.layoutManager._componentFactory) + ) { + var i = this.element.children(".lm_controls")[0], + o = this.element.children(".lm_workspace_controls")[0], + a = this.element.children(".lm_logo")[0]; + (this.layoutManager._componentFactory.createLogo && + this.layoutManager._componentFactory.createLogo({ domNode: a }), + this.layoutManager._componentFactory.createAddWorkspace && + this.layoutManager._componentFactory.createAddWorkspace({ + domNode: o + }), + this.layoutManager._componentFactory.createSystemButtons && + this.layoutManager._componentFactory.createSystemButtons({ + domNode: i + })); + } else if (this.layoutManager._componentFactory) { + this.element.children(".lm_controls")[0]; + var s = this.element.children(".lm_tabs_controls")[0], + c = this.element.children(".lm_logo")[0]; + (this.layoutManager._componentFactory.createBeforeGroupTabs && + this.layoutManager._componentFactory.createBeforeGroupTabs({ + domNode: c, + groupId: t.utils.idAsString(r.config.id), + workspaceId: + this.layoutManager.config.workspacesOptions.workspaceId, + elementId: t.utils.idAsString(r.config.id) + }), + this.layoutManager._componentFactory.createAfterGroupTabs && + this.layoutManager._componentFactory.createAfterGroupTabs({ + domNode: s, + groupId: t.utils.idAsString(r.config.id), + workspaceId: + this.layoutManager.config.workspacesOptions + .workspaceId, + elementId: t.utils.idAsString(r.config.id) + })); + } + ((this.tabsContainer = this.element.find(".lm_tabs")), + (this.tabDropdownContainer = + this.element.find(".lm_tabdropdown_list")), + this.tabDropdownContainer.hide(), + (this.controlsContainer = this.element.find(".lm_controls")), + (this.workspaceControlsContainer = + "workspace" === this.layoutManager.config.settings.mode + ? this.element.find(".lm_workspace_controls") + : void 0), + (this.tabsControlsContainer = + "workspace" !== this.layoutManager.config.settings.mode + ? this.element.find(".lm_tabs_controls") + : void 0), + (this.parent = r), + (this.tabs = []), + (this.activeContentItem = null), + (this.closeButton = null), + (this.tabDropdownButton = null), + (this.hideAdditionalTabsDropdown = t.utils.fnBind( + this._hideAdditionalTabsDropdown, + this + )), + e(document).mouseup(this.hideAdditionalTabsDropdown), + (this._lastVisibleTabIndex = -1), + (this._tabControlOffset = + this.layoutManager.config.settings.tabControlOffset), + (this._isDestroyed = !1), + ("workspace" === this.layoutManager.config.settings.mode && + this.layoutManager._componentFactory && + this.layoutManager._componentFactory.createSystemButtons) || + this._createControls()); + }), + (t.controls.Header._template = [ + '
            ', + '', + '
              ', + '
                ', + '
                  ', + '
                  ', + '
                    ', + '
                      ', + "
                      " + ].join("")), + t.utils.copy(t.controls.Header.prototype, { + createTab: function (e, n) { + var r, i; + for (i = 0; i < this.tabs.length; i++) + if (this.tabs[i].contentItem === e) return; + if (((r = new t.controls.Tab(this, e)), 0 === this.tabs.length)) + return ( + this.tabs.push(r), + void this.tabsContainer.append(r.element) + ); + ((void 0 === n || n > this.tabs.length) && (n = this.tabs.length), + n > 0 + ? this.tabs[n - 1].element.after(r.element) + : this.tabs[0].element.before(r.element), + this.tabs.splice(n, 0, r), + this._updateTabSizesWithoutDropdown()); + }, + moveTab: function (e, n) { + (t.utils.moveInArray(this.tabs, e, n), + this._updateTabSizesWithoutDropdown(), + this.parent._syncContentItemOrder()); + }, + removeTab: function (e) { + for (var t = 0; t < this.tabs.length; t++) + if (this.tabs[t].contentItem === e) + return ( + this.tabs[t]._$destroy(), + void this.tabs.splice(t, 1) + ); + throw new Error("contentItem is not controlled by this header"); + }, + setActiveContentItem: function (e) { + var t, n, r, i; + for (t = 0; t < this.tabs.length; t++) + ((r = this.tabs[t].contentItem === e), + this.tabs[t].setActive(r), + !0 === r && + ((this.activeContentItem = e), + (this.parent.config.activeItemIndex = t))); + if ( + this.layoutManager.config.settings.reorderOnTabMenuClick && + -1 !== this._lastVisibleTabIndex && + this.parent.config.activeItemIndex > this._lastVisibleTabIndex + ) { + for ( + i = this.tabs[this.parent.config.activeItemIndex], + n = this.parent.config.activeItemIndex; + n > 0; + n-- + ) + this.tabs[n] = this.tabs[n - 1]; + ((this.tabs[0] = i), (this.parent.config.activeItemIndex = 0)); + } + this.parent.emitBubblingEvent("stateChanged"); + }, + position: function (e) { + var t = this.parent._header.show; + return ( + t && !this.parent._side && (t = "top"), + void 0 !== e && + this.parent._header.show != e && + ((this.parent._header.show = e), + this.parent._setupHeaderPosition()), + t + ); + }, + _$setClosable: function (e) { + return ( + !(!this.closeButton || !this._isClosable()) && + (this.closeButton.element[e ? "show" : "hide"](), !0) + ); + }, + _$destroy: function () { + if (!this._isDestroyed) { + ((this._isDestroyed = !0), this.emit("destroy", this)); + for (var t = 0; t < this.tabs.length; t++) + this.tabs[t]._$destroy(); + (e(document).off("mouseup", this.hideAdditionalTabsDropdown), + this.element.remove()); + } + }, + _getHeaderSetting: function (e) { + if (e in this.parent._header) return this.parent._header[e]; + }, + _createControls: function () { + if ( + "workspace" !== this.layoutManager.config.settings.mode && + this.layoutManager._componentFactory.createGroupHeaderButtons + ) { + var e = + this.layoutManager._componentFactory.createGroupHeaderButtonsOptions( + { + element: this.controlsContainer[0], + contentItem: this.parent + } + ); + this.layoutManager._componentFactory.createGroupHeaderButtons( + e + ); + } else { + var n, r, i, o, a, s, c, u, d; + ((d = t.utils.fnBind(this._showAdditionalTabsDropdown, this)), + (u = this.layoutManager.config.labels.tabDropdown), + (this.tabDropdownButton = new t.controls.HeaderButton( + this, + u, + "lm_tabdropdown", + d + )), + this.tabDropdownButton.element.hide(), + this._getHeaderSetting("popout") && + ((r = t.utils.fnBind(this._onPopoutClick, this)), + (i = this._getHeaderSetting("popout")), + new t.controls.HeaderButton(this, i, "lm_popout", r)), + this._getHeaderSetting("minimize") && + ((minimizeLabel = this._getHeaderSetting("minimize")), + (minimizeButton = new t.controls.HeaderButton( + this, + minimizeLabel, + "lm_minimise", + void 0 + ))), + this._getHeaderSetting("maximize") && + ("workspace" !== + this.layoutManager.config.settings.mode && + (s = t.utils.fnBind( + this.parent.toggleMaximise, + this.parent + )), + (o = this._getHeaderSetting("maximize")), + (c = new t.controls.HeaderButton( + this, + o, + "lm_maximise", + s + )), + (a = this._getHeaderSetting("restore")), + this.parent.on("maximized", function () { + c.element.attr("title", a); + }), + this.parent.on("minimized", function () { + c.element.attr("title", o); + })), + this._isClosable() && + ("workspace" !== + this.layoutManager.config.settings.mode && + (n = t.utils.fnBind( + this.parent.remove, + this.parent + )), + (i = this._getHeaderSetting("close")), + (this.closeButton = new t.controls.HeaderButton( + this, + i, + "lm_close", + n + )))); + } + }, + _showAdditionalTabsDropdown: function () { + this.tabDropdownContainer.show(); + }, + _hideAdditionalTabsDropdown: function (e) { + this.tabDropdownContainer.hide(); + }, + _isClosable: function () { + return ( + this.parent.config.isClosable && + this.layoutManager.config.settings.showCloseIcon + ); + }, + _onPopoutClick: function () { + this.parent.emit("popoutRequested"); + }, + _onHeaderClick: function (e) { + e.target === this.element[0] && this.parent.select(); + }, + _updateTabSizes: function (e) { + if (0 !== this.tabs.length) { + (this.tabDropdownButton.element.toggle(!0 === e), + this.element.css( + this.parent._sided ? "height" : "width", + "" + )); + var t, + n, + r, + i, + o = + this.element.outerWidth() - + this.controlsContainer.outerWidth() - + this._tabControlOffset, + a = 0, + s = 0, + c = 0, + u = this.layoutManager.config.settings.tabOverlapAllowance, + d = !1, + l = this.activeContentItem + ? this.tabs.indexOf(this.activeContentItem.tab) + : 0, + p = this.tabs[l]; + for ( + this.parent._sided && + (o = + this.element.outerHeight() - + this.controlsContainer.outerHeight() - + this._tabControlOffset), + this._lastVisibleTabIndex = -1, + n = 0; + n < this.tabs.length; + n++ + ) + if ( + ((t = this.tabs[n].element), + this.tabsContainer.append(t), + (a += + t.outerWidth() + + parseInt(t.css("margin-right"), 10)), + (s = + l <= n + ? a + : a + + p.element.outerWidth() + + parseInt(p.element.css("margin-right"), 10)) > + o) + ) { + if (d) + n === l && + (t.css({ + "z-index": "auto", + "margin-left": "" + }), + this.tabsContainer.append(t)); + else if ( + (c = + l > 0 && l <= n + ? (s - o) / (n - 1) + : (s - o) / n) < u + ) { + for (r = 0; r <= n; r++) + ((i = r !== l && 0 !== r ? "-" + c + "px" : ""), + this.tabs[r].element.css({ + "z-index": n - r, + "margin-left": i + })); + ((this._lastVisibleTabIndex = n), + this.tabsContainer.append(t)); + } else d = !0; + if (d && n !== l) { + if (!e) return void this._updateTabSizes(!0); + (t.css({ "z-index": "auto", "margin-left": "" }), + this.tabDropdownContainer.append(t)); + } + } else + ((this._lastVisibleTabIndex = n), + t.css({ "z-index": "auto", "margin-left": "" }), + this.tabsContainer.append(t)); + } + }, + _updateTabSizesWithoutDropdown: function (e) { + if (0 !== this.tabs.length) { + var t, n; + (this.element.css(this.parent._sided ? "height" : "width", ""), + this.element.outerWidth(), + this.controlsContainer.outerWidth(), + this._tabControlOffset, + this.layoutManager.config.settings.tabOverlapAllowance); + var r = this.activeContentItem + ? this.tabs.indexOf(this.activeContentItem.tab) + : 0, + i = this.tabs[r]; + for ( + this.parent._sided && + (this.element.outerHeight(), + this.controlsContainer.outerHeight(), + this._tabControlOffset), + n = 0; + n < this.tabs.length; + n++ + ) + ((t = this.tabs[n].element), + this.tabsContainer.append(t), + t.outerWidth(), + parseInt(t.css("margin-right"), 10), + r <= n || + (i.element.outerWidth(), + parseInt(i.element.css("margin-right"), 10)), + t.css({ "z-index": "auto", "margin-left": "" })); + } + }, + _getLastIndexOfPinnedTab: function (e) { + var t = this.tabs.reduce( + function (t, n) { + return n.isPinned && ("function" != typeof e || e(n)) + ? n + : t; + }, + void 0 + ); + return t ? this.tabs.indexOf(t) : -1; + } + }), + (t.controls.HeaderButton = function (t, n, r, i) { + ((this._header = t), + (this.element = e('
                    • ')), + this._header.on("destroy", this._$destroy, this), + (this._action = i), + this.element.on("click touchstart", this._action), + this._header.controlsContainer.append(this.element)); + }), + t.utils.copy(t.controls.HeaderButton.prototype, { + _$destroy: function () { + (this.element.off(), this.element.remove()); + } + }), + (t.controls.Splitter = function (e, n, r) { + ((this._isVertical = e), + (this._size = n), + (this._grabSize = r < n ? n : r), + (this.element = this._createElement()), + (this._dragListener = new t.utils.DragListener(this.element))); + }), + t.utils.copy(t.controls.Splitter.prototype, { + on: function (e, t, n) { + this._dragListener.on(e, t, n); + }, + _$destroy: function () { + this.element.remove(); + }, + _createElement: function () { + var t = e('
                      '), + n = e('
                      '); + n.append(t); + var r = this._grabSize - this._size, + i = r / 2; + return ( + this._isVertical + ? (t.css("top", -i), + t.css("height", this._size + r), + n.addClass("lm_vertical"), + n.height(this._size)) + : (t.css("left", -i), + t.css("width", this._size + r), + n.addClass("lm_horizontal"), + n.width(this._size)), + n + ); + } + }), + (t.controls.Tab = function (n, r) { + ((this.header = n), + (this.contentItem = r), + (this._layoutManager = this.contentItem.layoutManager)); + var i = "workspace" === this._layoutManager.config.settings.mode, + o = t.utils.isCustomWorkspaceTab(this), + a = t.utils.isCustomWorkspaceWindowTab(this); + if ( + ((this.element = e( + o || a + ? t.controls.Tab._customTabTemplate + : t.controls.Tab._template + )), + (this._elementOffset = 0), + (this._xOfLastReorder = 0), + (this.titleElement = o + ? e(void 0) + : this.element.find(".lm_title")), + (this.closeElement = o + ? e(void 0) + : this.element.find(".lm_close_tab")), + this.closeElement[r.config.isClosable ? "show" : "hide"](), + (this.isActive = !1), + (this.isPinned = !1), + (this.title = r.config.title), + this.setTitle(this.title), + this.contentItem.on("titleChanged", this.setTitle, this), + !0 === this._layoutManager.config.settings.reorderEnabled && + !0 === r.config.reorderEnabled && + ((this._dragListener = new t.utils.TabDragListener( + this.element + )), + this._dragListener.on("dragStart", this._onDragStart, this), + this._dragListener.on( + "reorderStart", + this._onReorderStart, + this + ), + this.contentItem.on( + "destroy", + this._dragListener.destroy, + this._dragListener + )), + (this._onTabClickFn = t.utils.fnBind(this._onTabClick, this)), + (this._onCloseClickFn = t.utils.fnBind(this._onCloseClick, this)), + i && r.config.noTabHeader && this.element.hide(), + this.element.on("mousedown touchstart", this._onTabClickFn), + this.contentItem.config.isClosable + ? (this.closeElement.on( + "click touchstart", + this._onCloseClickFn + ), + this.closeElement.on("mousedown", this._onCloseMousedown)) + : this.closeElement.remove(), + (this.contentItem.tab = this), + this.contentItem.emit("tab", this), + this.contentItem.layoutManager.emit("tabCreated", this), + this.contentItem.isComponent && + ((this.contentItem.container.tab = this), + this.contentItem.container.emit("tab", this)), + o) + ) { + var s = + this._layoutManager._componentFactory.createWorkspaceTabsOptions( + { element: this.element[0], contentItem: r } + ); + this._layoutManager._componentFactory.createWorkspaceTabs(s); + } + if (a) { + var c = + this._layoutManager._componentFactory.createWorkspaceWindowTabsOptions( + { element: this.element[0], contentItem: r } + ); + this._layoutManager._componentFactory.createWorkspaceWindowTabs(c); + } + }), + (t.controls.Tab._template = + '
                    • '), + (t.controls.Tab._customTabTemplate = '
                    • '), + t.utils.copy(t.controls.Tab.prototype, { + setTitle: function (e) { + ((this.title = e), + t.utils.isCustomWorkspaceTab(this) || + this.element.attr("title", t.utils.stripTags(e)), + this.titleElement.html(e)); + }, + onCloseClick: void 0, + pin: function (e) { + if (!this.isPinned) { + (this.titleElement.hide(), this.closeElement.hide()); + var t = this.header.tabs.indexOf(this), + n = this.header._getLastIndexOfPinnedTab(), + r = n + 1; + ("number" === typeof e && (r = Math.min(e, n + 1)), + this.header.moveTab(t, r), + this.element.addClass("lm_pinned"), + (this.isPinned = !0)); + } + }, + unpin: function () { + if (this.isPinned) { + (this.titleElement.show(), this.closeElement.show()); + var e = this.header.tabs.indexOf(this), + t = this.header._getLastIndexOfPinnedTab(); + (e != t && this.header.moveTab(e, t), + this.element.removeClass("lm_pinned"), + (this.isPinned = !1)); + } + }, + setActive: function (e) { + e !== this.isActive && + ((this.isActive = e), + e + ? this.element.addClass("lm_active") + : this.element.removeClass("lm_active")); + }, + _$destroy: function () { + (this.element.off("mousedown touchstart", this._onTabClickFn), + this.closeElement.off("click touchstart", this._onCloseClickFn), + this._dragListener && + (this.contentItem.off( + "destroy", + this._dragListener.destroy, + this._dragListener + ), + this._dragListener.off("dragStart", this._onDragStart), + this._dragListener.off( + "reorderStart", + this._onReorderStart + ), + (this._dragListener = null)), + this.element.remove()); + }, + _onDragStart: function (e, n) { + !0 === this.contentItem.parent.isMaximized && + this.contentItem.parent.toggleMaximise(); + var r = + "workspace" === + this.contentItem.layoutManager.config.settings.mode, + i = this.contentItem.parent.header.tabs.length < 2, + o = + !this.contentItem.config.windowId && + this.contentItem.config.componentState && + !this.contentItem.config.componentState.windowId, + a = + !this.contentItem.layoutManager.config.settings + .workspaceInnerDrag && r; + if ( + (!r || !i) && + (r || !o) && + (!this._layoutManager.config || + !1 !== + this._layoutManager.config.workspacesOptions + .allowExtract || + !this.contentItem.config.workspacesConfig || + !0 === + this.contentItem.config.workspacesConfig + .allowExtract) && + (!this.contentItem.config.workspacesConfig || + !1 !== + this.contentItem.config.workspacesConfig + .allowExtract) && + !a + ) { + this._layoutManager.restoreMaximizedContainers.apply( + this._layoutManager + ); + var s = new t.controls.DragProxy( + e, + n, + this._dragListener, + this._layoutManager, + this.contentItem, + this.header.parent + ); + this._layoutManager._dragProxies.push(s); + } + }, + _onReorderStart: function (e, t) { + var n = + this.element[0].getBoundingClientRect().x - + this.header.element[0].getBoundingClientRect().x, + r = this.element[0].getBoundingClientRect().width; + this._elementOffset = n - e; + var i = "workspace" === this._layoutManager.config.settings.mode, + o = + i && + !1 === + this.contentItem.config.workspacesConfig + .allowWorkspaceTabReorder, + a = + !i && + !1 === + this.contentItem.config.workspacesConfig.allowReorder; + o || + a || + ((this._xOfLastReorder = e), + this.element.css("position", "absolute"), + this.element.css("z-index", "42"), + this.element.css( + "left", + "".concat(e + this._elementOffset, "px") + ), + this.element.css("width", "".concat(r, "px")), + this._dragListener.on("reorder", this._onReorder, this), + this._dragListener.on( + "reorderStop", + this._onReorderStop, + this + )); + }, + _onReorder: function (e, n) { + this.element.css("left", "".concat(e + this._elementOffset, "px")); + var r = this.header.tabs.indexOf(this); + if (this._xOfLastReorder > e && r > 0) { + var i = t.utils.getBounds(this.header.tabs[r - 1].element); + e < i.x + i.width / 2 && + (this.header.moveTab(r, r - 1), (this._xOfLastReorder = e)); + } else if ( + this._xOfLastReorder < e && + r < this.header.tabs.length - 1 + ) { + var o = t.utils.getBounds(this.header.tabs[r + 1].element); + e > o.x + o.width / 2 && + (this.header.moveTab(r, r + 1), (this._xOfLastReorder = e)); + } + this.element.css("z-index", "42"); + }, + _onReorderStop: function (e, t) { + var n = this, + r = this.header.tabs.indexOf(this), + i = this.header._getLastIndexOfPinnedTab(function (e) { + return e != n; + }); + (this.isPinned && i + 1 < r && this.header.moveTab(r, i + 1), + !this.isPinned && r < i && this.header.moveTab(r, i), + this.element.css("left", ""), + this.element.css("width", ""), + this.element.css("position", ""), + this.element.css("z-index", "auto"), + this._dragListener.off("reorder", this._onReorder), + this._dragListener.off("reorderStop", this._onReorderStop)); + }, + _onTabClick: function (e) { + if (0 === e.button || "touchstart" === e.type) { + var t = this.header.parent.getActiveContentItem(); + this.contentItem !== t && + this.header.parent.setActiveContentItem(this.contentItem); + } else + 1 === e.button && + this.contentItem.config.isClosable && + this._onCloseClick(e); + }, + _onCloseClick: function (e) { + (this.contentItem.layoutManager.emit("tabCloseRequested", this), + this.onCloseClick && this.onCloseClick(e)); + }, + _onCloseMousedown: function (e) { + e.stopPropagation(); + } + }), + (t.controls.TransitionIndicator = function () { + ((this._element = e('
                      ')), + e(document.body).append(this._element), + (this._toElement = null), + (this._fromDimensions = null), + (this._totalAnimationDuration = 200), + (this._animationStartTime = null)); + }), + t.utils.copy(t.controls.TransitionIndicator.prototype, { + destroy: function () { + this._element.remove(); + }, + transitionElements: function (e, t) {}, + _nextAnimationFrame: function () { + var e, + n = this._measure(this._toElement), + r = + (t.utils.now() - this._animationStartTime) / + this._totalAnimationDuration, + i = {}; + if (r >= 1) this._element.hide(); + else { + for (e in ((n.opacity = 0), this._fromDimensions)) + i[e] = + this._fromDimensions[e] + + (n[e] - this._fromDimensions[e]) * r; + (this._element.css(i), + t.utils.animFrame( + t.utils.fnBind(this._nextAnimationFrame, this) + )); + } + }, + _measure: function (e) { + var t = e.offset(); + return { + left: t.left, + top: t.top, + width: e.outerWidth(), + height: e.outerHeight() + }; + } + }), + (t.items.AbstractContentItem = function (e, n, r) { + (t.utils.EventEmitter.call(this), + (this.config = this._extendItemNode(n)), + (this.type = n.type), + (this.contentItems = []), + (this.parent = r), + (this.isInitialised = !1), + (this.isMaximized = + Array.isArray(n.id) && n.id.includes("__glMaximised")), + (this.isRoot = !1), + (this.isRow = !1), + (this.isColumn = !1), + (this.isStack = !1), + (this.isComponent = !1), + (this.isVisible = !0), + (this.layoutManager = e), + (this._pendingEventPropagations = {}), + (this._throttledEvents = ["stateChanged"]), + (this._isDestroyed = !1), + this.on(t.utils.EventEmitter.ALL_EVENT, this._propagateEvent, this), + n.content && this._createContentItems(n)); + }), + t.utils.copy(t.items.AbstractContentItem.prototype, { + setSize: function () { + throw new Error("Abstract Method"); + }, + callDownwards: function (e, t, n, r) { + var i; + for ( + !0 !== n && !0 !== r && this[e].apply(this, t || []), i = 0; + i < this.contentItems.length; + i++ + ) + this.contentItems[i].callDownwards(e, t, n); + !0 === n && !0 !== r && this[e].apply(this, t || []); + }, + removeChild: function (e, n) { + var r = t.utils.indexOf(e, this.contentItems); + if (-1 === r) + throw new Error( + "Can't remove child item. Unknown content item" + ); + (!0 !== n && this.contentItems[r]._$destroy(), + this.contentItems.splice(r, 1), + this.config.content.splice(r, 1), + this.contentItems.length > 0 + ? this.callDownwards("setSize") + : this instanceof t.items.Root || + !0 !== this.config.isClosable || + this.parent.removeChild(this)); + }, + addChild: function (e, t) { + ((void 0 === t || t > this.contentItems.length) && + (t = this.contentItems.length), + this.contentItems.splice(t, 0, e), + void 0 === this.config.content && (this.config.content = []), + this.config.content.splice(t, 0, e.config), + (e.parent = this), + !0 === e.parent.isInitialised && + !1 === e.isInitialised && + e._$init()); + }, + replaceChild: function (e, n, r) { + n = this.layoutManager._$normalizeContentItem(n); + var i = t.utils.indexOf(e, this.contentItems), + o = e.element[0].parentNode; + if (-1 === i) + throw new Error( + "Can't replace child. oldChild is not child of this" + ); + o.replaceChild(n.element[0], e.element[0]); + var a = e.isVisible; + (!0 === r && ((e.parent = null), e._$destroy()), + (this.contentItems[i] = n), + (n.parent = this), + this.isStack && + ((this.header.tabs[i].contentItem = n), + (n.tab = this.header.tabs[i])), + !0 === n.parent.isInitialised && + !1 === n.isInitialised && + n._$init(), + a || n._$hide(), + this.callDownwards("setSize")); + }, + replaceChildren: function (e) { + var t = this; + e = e.map(function (e) { + return t.layoutManager._$normalizeContentItem(e); + }); + var n = this.contentItems; + (this.addChild(e[0]), + n.forEach(function (e) { + return t.removeChild(e); + }), + e.slice(1).forEach(function (e) { + return t.addChild(e); + }), + this.callDownwards("setSize")); + }, + remove: function () { + this.parent.removeChild(this); + }, + popout: function () { + var e = this.layoutManager.createPopout(this); + return (this.emitBubblingEvent("stateChanged"), e); + }, + toggleMaximise: function (e) { + (e && e.preventDefault(), + !0 === this.isMaximized + ? this.layoutManager._$minimiseItem(this) + : this.layoutManager._$maximiseItem(this), + (this.isMaximized = !this.isMaximized), + this.emitBubblingEvent("stateChanged")); + }, + select: function () { + this.layoutManager.selectedItem !== this && + (this.layoutManager.selectItem(this, !0), + this.element.addClass("lm_selected")); + }, + deselect: function () { + this.layoutManager.selectedItem === this && + ((this.layoutManager.selectedItem = null), + this.element.removeClass("lm_selected")); + }, + setTitle: function (e) { + ((this.config.title = e), + this.emit("titleChanged", e), + this.emit("stateChanged")); + }, + hasId: function (e) { + return ( + !!this.config.id && + ("string" === typeof this.config.id + ? this.config.id === e + : this.config.id instanceof Array + ? -1 !== t.utils.indexOf(e, this.config.id) + : void 0) + ); + }, + addId: function (e) { + this.hasId(e) || + (this.config.id + ? "string" === typeof this.config.id + ? (this.config.id = [this.config.id, e]) + : this.config.id instanceof Array && + this.config.id.push(e) + : (this.config.id = e)); + }, + removeId: function (e) { + if (!this.hasId(e)) throw new Error("Id not found"); + if ("string" === typeof this.config.id) delete this.config.id; + else if (this.config.id instanceof Array) { + var n = t.utils.indexOf(e, this.config.id); + this.config.id.splice(n, 1); + } + }, + getItemsByFilter: function (e) { + var t = []; + return ( + (function n(r) { + for (var i = 0; i < r.contentItems.length; i++) + (!0 === e(r.contentItems[i]) && + t.push(r.contentItems[i]), + n(r.contentItems[i])); + })(this), + t + ); + }, + getItemsById: function (e) { + return this.getItemsByFilter(function (n) { + return n.config.id instanceof Array + ? -1 !== t.utils.indexOf(e, n.config.id) + : n.config.id === e; + }); + }, + getItemsByType: function (e) { + return this._$getItemsByProperty("type", e); + }, + getComponentsByName: function (e) { + var t, + n = this._$getItemsByProperty("componentName", e), + r = []; + for (t = 0; t < n.length; t++) + r.push( + n[t].instance && 0 !== Object.keys(n[t].instance).length + ? n[t].instance + : n[t] + ); + return r; + }, + _$getItemsByProperty: function (e, t) { + return this.getItemsByFilter(function (n) { + return n[e] === t; + }); + }, + _$setParent: function (e) { + this.parent = e; + }, + _$highlightDropZone: function (e, t, n) { + this.layoutManager.dropTargetIndicator.highlightArea(n); + }, + _$onDrop: function (e) { + this.addChild(e); + }, + _$hide: function () { + (this._callOnActiveComponents("hide"), + this.element.hide(), + (this.isVisible = !1), + this.layoutManager.updateSize()); + }, + _$show: function () { + (this._callOnActiveComponents("show"), + this.element.show(), + (this.isVisible = !0), + this.layoutManager.updateSize()); + }, + _callOnActiveComponents: function (e) { + var t, + n, + r = this.getItemsByType("stack"); + for (n = 0; n < r.length; n++) + (t = r[n].getActiveContentItem()) && + t.isComponent && + t.container[e](); + }, + _$destroy: function () { + this._isDestroyed || + ((this._isDestroyed = !0), + this.emitBubblingEvent("beforeItemDestroyed"), + this.callDownwards("_$destroy", [], !0, !0), + this.element.remove(), + this.emitBubblingEvent("itemDestroyed")); + }, + _$getArea: function (e) { + e = e || this.element; + var n = t.utils.getBounds(e); + return { + x1: n.left, + y1: n.top, + x2: n.left + n.width, + y2: n.top + n.height, + surface: n.width * n.height, + contentItem: this + }; + }, + _$init: function () { + var e; + for (this.setSize(), e = 0; e < this.contentItems.length; e++) + this.childElementContainer.append(this.contentItems[e].element); + ((this.isInitialised = !0), + this.emitBubblingEvent("itemCreated"), + this.emitBubblingEvent(this.type + "Created")); + }, + emitBubblingEvent: function (e) { + var n = new t.utils.BubblingEvent(e, this); + this.emit(e, n); + }, + _createContentItems: function (e) { + var n, r; + if (!(e.content instanceof Array)) + throw new t.errors.ConfigurationError( + "content must be an Array", + e + ); + for (r = 0; r < e.content.length; r++) + ((n = this.layoutManager.createContentItem(e.content[r], this)), + this.contentItems.push(n)); + }, + _extendItemNode: function (e) { + var n = t.config.itemDefaultConfig(); + for (var r in n) void 0 === e[r] && (e[r] = n[r]); + return e; + }, + _propagateEvent: function (e, n) { + n instanceof t.utils.BubblingEvent && + !1 === n.isPropagationStopped && + !0 === this.isInitialised && + (!1 === this.isRoot && this.parent + ? this.parent.emit.apply( + this.parent, + Array.prototype.slice.call(arguments, 0) + ) + : this._scheduleEventPropagationToLayoutManager(e, n)); + }, + _scheduleEventPropagationToLayoutManager: function (e, n) { + -1 === t.utils.indexOf(e, this._throttledEvents) + ? this.layoutManager.emit(e, n.origin) + : !0 !== this._pendingEventPropagations[e] && + ((this._pendingEventPropagations[e] = !0), + t.utils.animFrame( + t.utils.fnBind( + this._propagateEventToLayoutManager, + this, + [e, n] + ) + )); + }, + _propagateEventToLayoutManager: function (e, t) { + ((this._pendingEventPropagations[e] = !1), + this.layoutManager.emit(e, t)); + }, + _memoizeConstraint: function (e, n) { + var r = t.utils.idAsString(this.config.id); + r && + (this.layoutManager._idToMinMaxConstraints[r] + ? (this.layoutManager._idToMinMaxConstraints[r][e] = n) + : (this.layoutManager._idToMinMaxConstraints[r] = _( + {}, + "".concat(e), + n + ))); + } + }), + (t.items.Component = function (n, r, i) { + t.items.AbstractContentItem.call(this, n, r, i); + var o = n.getComponent(this.config.componentName), + a = e.extend(!0, {}, this.config.componentState || {}); + ((a.componentName = this.config.componentName), + (this.componentName = this.config.componentName), + "" === this.config.title && + (this.config.title = this.config.componentName), + (this.isComponent = !0), + (this.container = new t.container.ItemContainer( + this.config, + this, + n + )), + (this.instance = new o(this.container, a)), + (this.element = this.container._element)); + }), + t.utils.extend(t.items.Component, t.items.AbstractContentItem), + t.utils.copy(t.items.Component.prototype, { + close: function () { + this.parent.removeChild(this); + }, + setSize: function () { + if (this.element.is(":visible")) { + var e = t.utils.getBounds(this.element); + (this.emit("size-changed", { + width: e.width, + height: e.height + }), + this.container._$setSize(e.width, e.height)); + } + }, + getMinWidth: function () { + return ( + (this.config.workspacesConfig && + this.config.workspacesConfig.minWidth) || + this.layoutManager.config.dimensions.minItemWidth + ); + }, + getMaxWidth: function () { + return ( + (this.config.workspacesConfig && + this.config.workspacesConfig.maxWidth) || + this.layoutManager.config.dimensions.maxItemWidth + ); + }, + getMinHeight: function () { + return ( + (this.config.workspacesConfig && + this.config.workspacesConfig.minHeight) || + this.layoutManager.config.dimensions.minItemHeight + ); + }, + getMaxHeight: function () { + return ( + (this.config.workspacesConfig && + this.config.workspacesConfig.maxHeight) || + this.layoutManager.config.dimensions.maxItemHeight + ); + }, + _$init: function () { + (t.items.AbstractContentItem.prototype._$init.call(this), + this.container.emit("open")); + }, + _$hide: function () { + (this.container.hide(), + t.items.AbstractContentItem.prototype._$hide.call(this)); + }, + _$show: function () { + (this.container.show(), + t.items.AbstractContentItem.prototype._$show.call(this)); + }, + _$shown: function () { + (this.container.shown(), + t.items.AbstractContentItem.prototype._$shown.call(this)); + }, + _$destroy: function () { + (this.container.emit("destroy", this), + t.items.AbstractContentItem.prototype._$destroy.call(this)); + }, + _$getArea: function () { + return null; + } + }), + (t.items.Root = function (n, r, i) { + (t.items.AbstractContentItem.call(this, n, r, null), + (this.isRoot = !0), + (this.type = "root"), + (this.element = e( + '
                      ' + )), + (this.childElementContainer = this.element), + (this._containerElement = i), + this._containerElement.append(this.element)); + }), + t.utils.extend(t.items.Root, t.items.AbstractContentItem), + t.utils.copy(t.items.Root.prototype, { + addChild: function (e) { + if (this.contentItems.length > 0) + throw new Error("Root node can only have a single child"); + ((e = this.layoutManager._$normalizeContentItem(e, this)), + this.childElementContainer.append(e.element), + t.items.AbstractContentItem.prototype.addChild.call(this, e), + this.callDownwards("setSize"), + this.emitBubblingEvent("stateChanged")); + }, + setSize: function (e, n) { + var r = t.utils.getBounds(this._containerElement); + ((e = "undefined" === typeof e ? r.width : e), + (n = "undefined" === typeof n ? r.height : n), + this.element.width(e), + this.element.height(n), + this.contentItems[0] && + (this.contentItems[0].element.width(e), + this.contentItems[0].element.height(n))); + }, + getMinWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minWidth) return n.minWidth; + var r = + this.config.workspacesConfig.minWidth || + this.layoutManager.config.dimensions.minItemWidth, + i = this.contentItems.reduce(function (t, n) { + return (t += + n.getMinWidth() || + e.layoutManager.config.dimensions.minItemWidth); + }, 0), + o = Math.max(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minWidth", + o + ), + o + ); + }, + getMaxWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxWidth) return n.maxWidth; + var r = + this.config.workspacesConfig.maxWidth || + this.layoutManager.config.dimensions.maxItemWidth, + i = this.contentItems.reduce(function (t, n) { + return (t += + n.getMaxWidth() || + e.layoutManager.config.dimensions.maxItemWidth); + }, 0), + o = Math.min(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxWidth", + o + ), + o + ); + }, + getMinHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minHeight) return n.minHeight; + var r = + this.config.workspacesConfig.minHeight || + this.layoutManager.config.dimensions.minItemHeight, + i = this.contentItems.reduce(function (t, n) { + return (t += + n.getMinHeight() || + e.layoutManager.config.dimensions.minItemHeight); + }, 0), + o = Math.max(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minHeight", + o + ), + o + ); + }, + getMaxHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxHeight) return n.maxHeight; + var r = + this.config.workspacesConfig.maxHeight || + this.layoutManager.config.dimensions.maxItemHeight, + i = this.contentItems.reduce(function (t, n) { + return (t += + n.getMaxHeight() || + e.layoutManager.config.dimensions.maxItemHeight); + }, 0), + o = Math.min(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxHeight", + o + ), + o + ); + }, + _$highlightDropZone: function (e, n, r) { + (this.layoutManager.tabDropPlaceholder.remove(), + t.items.AbstractContentItem.prototype._$highlightDropZone.apply( + this, + arguments + )); + }, + _$onDrop: function (e, n) { + var r; + if ( + (e.isComponent && + ((r = this.layoutManager.createContentItem( + { type: "stack", header: e.config.header || {} }, + this + ))._$init(), + r.addChild(e), + (e = r)), + this.contentItems.length) + ) { + var i = "x" == n.side[0] ? "row" : "column", + o = "x" == n.side[0] ? "width" : "height", + a = "2" == n.side[1], + s = this.contentItems[0]; + if ((!s) instanceof t.items.RowOrColumn || s.type != i) { + var c = this.layoutManager.createContentItem( + { type: i }, + this + ); + (this.replaceChild(s, c), + c.addChild(e, a ? 0 : void 0, !0), + c.addChild(s, a ? void 0 : 0, !0), + (s.config[o] = 50), + (e.config[o] = 50), + c.callDownwards("setSize")); + } else { + var u = s.contentItems[a ? 0 : s.contentItems.length - 1]; + (s.addChild(e, a ? 0 : void 0, !0), + (u.config[o] *= 0.5), + (e.config[o] = u.config[o]), + s.callDownwards("setSize")); + } + } else this.addChild(e); + } + }), + (t.items.RowOrColumn = function (n, r, i, o) { + (t.items.AbstractContentItem.call(this, r, i, o), + (this.isRow = !n), + (this.isColumn = n), + (this.element = e( + '
                      ' + )), + (this.childElementContainer = this.element), + (this._splitterSize = r.config.dimensions.borderWidth), + (this._splitterGrabSize = r.config.dimensions.borderGrabWidth), + (this._isColumn = n), + (this._dimension = n ? "height" : "width"), + (this._splitter = []), + (this._splitterPosition = null), + (this._splitterMinPosition = null), + (this._splitterMaxPosition = null), + (this._layoutManager = r)); + }), + t.utils.extend(t.items.RowOrColumn, t.items.AbstractContentItem), + t.utils.copy(t.items.RowOrColumn.prototype, { + addChild: function (e, n, r) { + var i, o, a, s; + if ( + ((e = this.layoutManager._$normalizeContentItem(e, this)), + (void 0 === n || n > this.contentItems.length) && + (n = this.contentItems.length), + this.contentItems.length > 0 + ? ((s = this._createSplitter(Math.max(0, n - 1)).element), + n > 0 + ? (this.contentItems[n - 1].element.after(s), + s.after(e.element)) + : (this.contentItems[0].element.before(s), + s.before(e.element))) + : this.childElementContainer.append(e.element), + t.items.AbstractContentItem.prototype.addChild.call(this, e, n), + (i = (1 / this.contentItems.length) * 100), + !0 !== r) + ) { + for (a = 0; a < this.contentItems.length; a++) + this.contentItems[a] === e + ? (e.config[this._dimension] = i) + : ((o = this.contentItems[a].config[this._dimension] *= + (100 - i) / 100), + (this.contentItems[a].config[this._dimension] = o)); + (this.callDownwards("setSize"), + this.emitBubblingEvent("stateChanged")); + } else this.emitBubblingEvent("stateChanged"); + }, + removeChild: function (e, n) { + var r, + i, + o = e.config[this._dimension], + a = t.utils.indexOf(e, this.contentItems), + s = Math.max(a - 1, 0); + if (-1 === a) + throw new Error( + "Can't remove child. ContentItem is not child of this Row or Column" + ); + for ( + this._splitter[s] && + (this._splitter[s]._$destroy(), + this._splitter.splice(s, 1)), + r = 0; + r < this.contentItems.length; + r++ + ) + this.contentItems[r] !== e && + (this.contentItems[r].config[this._dimension] += + o / (this.contentItems.length - 1)); + (t.items.AbstractContentItem.prototype.removeChild.call(this, e, n), + 1 === this.contentItems.length && !0 === this.config.isClosable + ? ((i = this.contentItems[0]), + (this.contentItems = []), + this.parent.replaceChild(this, i, !0)) + : (this.callDownwards("setSize"), + this.emitBubblingEvent("stateChanged"))); + }, + replaceChild: function (e, n) { + var r = e.config[this._dimension]; + ((n.config = n.config || {}), + (n.config[this._dimension] = r), + t.items.AbstractContentItem.prototype.replaceChild.call( + this, + e, + n + ), + this.callDownwards("setSize"), + this.emitBubblingEvent("stateChanged")); + }, + setSize: function () { + (this.contentItems.length > 0 && + (this._calculateRelativeSizes(), this._setAbsoluteSizes()), + this.emitBubblingEvent("stateChanged"), + this.emit("resize")); + }, + getMinWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minWidth) return n.minWidth; + var r = + this.config.workspacesConfig.minWidth || + this.layoutManager.config.dimensions.minItemWidth, + i = this.contentItems.reduce(function (t, n) { + return ( + "row" === e.config.type + ? (t += + n.getMinWidth() || + e.layoutManager.config.dimensions + .minItemWidth) + : "column" === e.config.type && + (t = Math.max( + n.getMinWidth() || + e.layoutManager.config.dimensions + .minItemWidth, + t + )), + t + ); + }, 0), + o = Math.max(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minWidth", + o + ), + o + ); + }, + getMaxWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxWidth) return n.maxWidth; + var r = + this.config.workspacesConfig.maxWidth || + this.layoutManager.config.dimensions.maxItemWidth; + if (!this.contentItems.length) return r; + var i = this.contentItems.reduce(function (t, n) { + return ( + "row" === e.config.type + ? (t += + n.getMaxWidth() || + e.layoutManager.config.dimensions + .maxItemWidth) + : "column" === e.config.type && + (t = Math.min( + n.getMaxWidth() || + e.layoutManager.config.dimensions + .maxItemWidth, + t || r + )), + t + ); + }, 0), + o = Math.min(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxWidth", + o + ), + o + ); + }, + getMinHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minHeight) return n.minHeight; + var r = + this.config.workspacesConfig.minHeight || + this.layoutManager.config.dimensions.minItemHeight, + i = this.contentItems.reduce(function (t, n) { + return ( + "row" === e.config.type + ? (t = Math.max( + n.getMinHeight() || + e.layoutManager.config.dimensions + .minItemHeight, + t + )) + : "column" === e.config.type && + (t += + n.getMinHeight() || + e.layoutManager.config.dimensions + .minItemHeight), + t + ); + }, 0), + o = Math.max(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minHeight", + o + ), + o + ); + }, + getMaxHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxHeight) return n.maxHeight; + var r = + this.config.workspacesConfig.maxHeight || + this.layoutManager.config.dimensions.maxItemHeight; + if (!this.contentItems.length) return r; + var i = this.contentItems.reduce(function (t, n) { + return ( + "row" === e.config.type + ? (t = Math.min( + n.getMaxHeight() || + e.layoutManager.config.dimensions + .maxItemHeight, + t || r + )) + : "column" === e.config.type && + (t += + n.getMaxHeight() || + e.layoutManager.config.dimensions + .maxItemHeight), + t + ); + }, 0), + o = Math.min(r, i); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxHeight", + o + ), + o + ); + }, + _$init: function () { + var e; + if (!0 !== this.isInitialised) + for ( + t.items.AbstractContentItem.prototype._$init.call(this), + e = 0; + e < this.contentItems.length - 1; + e++ + ) + this.contentItems[e].element.after( + this._createSplitter(e).element + ); + }, + _setAbsoluteSizes: function () { + var e, + n = this, + r = this._calculateAbsoluteSizes(), + i = this.contentItems.filter(function (e) { + return ( + e.config.workspacesConfig.isPinned && + !n._layoutManager._ignorePinned + ); + }), + o = r.additionalPixel, + a = i.filter(function (e) { + var i = t.utils.getBounds(e.element), + o = n.isColumn ? i.height : i.width, + a = n.contentItems.indexOf(e); + return Math.floor(o) > Math.floor(r.itemSizes[a]); + }); + a.forEach(function (e) { + var i = t.utils.getBounds(e.element), + a = n.isColumn ? i.height : i.width, + s = n.contentItems.indexOf(e), + c = Math.floor(a - r.itemSizes[s]), + u = Math.min(o, c); + ((r.itemSizes[s] += u), (o -= u)); + }); + var s = Math.ceil(o / (this.contentItems.length - i.length)); + for (e = 0; e < this.contentItems.length; e++) { + if ( + o > 0 && + !this.contentItems[e].config.workspacesConfig.isPinned + ) { + var c = Math.min(o, s); + ((r.itemSizes[e] += c), (o -= c)); + } + this._isColumn + ? (this.contentItems[e].element.width(r.totalWidth), + this.contentItems[e].element.height(r.itemSizes[e])) + : (this.contentItems[e].element.width(r.itemSizes[e]), + this.contentItems[e].element.height(r.totalHeight)); + var u = t.utils.getBounds(this.contentItems[e].element); + this._isColumn && + this.contentItems[e].config.workspacesConfig.isPinned && + this._layoutManager._ignorePinned + ? (this.contentItems[e].config.workspacesConfig.pinnedSize = + u.height) + : this.contentItems[e].config.workspacesConfig.isPinned && + this._layoutManager._ignorePinned && + (this.contentItems[e].config.workspacesConfig.pinnedSize = + u.width); + } + }, + _calculateAbsoluteSizes: function () { + var e, + n, + r = t.utils.getBounds(this.element), + i = (this.contentItems.length - 1) * this._splitterSize, + o = r.width, + a = r.height, + s = 0, + c = []; + for ( + this._isColumn ? (a -= i) : (o -= i), e = 0; + e < this.contentItems.length; + e++ + ) + ((s += n = + this._isColumn + ? Math.floor( + a * (this.contentItems[e].config.height / 100) + ) + : Math.floor( + o * (this.contentItems[e].config.width / 100) + )), + c.push(n)); + return { + itemSizes: c, + additionalPixel: Math.floor((this._isColumn ? a : o) - s), + totalWidth: o, + totalHeight: a + }; + }, + _calculateRelativeSizes: function () { + var e, + t = 0, + n = [], + r = this._isColumn ? "height" : "width"; + for (e = 0; e < this.contentItems.length; e++) + void 0 !== this.contentItems[e].config[r] + ? (t += this.contentItems[e].config[r]) + : n.push(this.contentItems[e]); + if (100 === Math.round(t)) + return ( + this._respectItemWidthConstraints(), + void this._respectItemHeightConstraints() + ); + if (Math.round(t) < 100 && n.length > 0) { + for (e = 0; e < n.length; e++) + n[e].config[r] = (100 - t) / n.length; + return ( + this._respectItemWidthConstraints(), + void this._respectItemHeightConstraints() + ); + } + if (Math.round(t) > 100) + for (e = 0; e < n.length; e++) + ((n[e].config[r] = 50), (t += 50)); + for (e = 0; e < this.contentItems.length; e++) + this.contentItems[e].config[r] = + (this.contentItems[e].config[r] / t) * 100; + (this._respectItemWidthConstraints(), + this._respectItemHeightConstraints()); + }, + _respectItemWidthConstraints: function () { + var e, + n, + r, + i, + o, + a, + s = + (this.layoutManager.config.dimensions && + this.layoutManager.config.dimensions.minItemWidth) || + 0, + c = + (this.layoutManager.config.dimensions && + this.layoutManager.config.dimensions.maxItemWidth) || + 32767, + u = [], + d = [], + l = 0, + p = 0, + h = 0, + f = 0, + v = 0, + m = 0, + g = 0, + y = null, + w = []; + if (!(this._isColumn || !s || this.contentItems.length <= 1)) { + ((e = this._calculateAbsoluteSizes()), + (c = Math.min(c, e.totalWidth))); + for (var b = 0; b < this.contentItems.length; b++) { + ((y = this.contentItems[b]), (g = e.itemSizes[b])); + var k = t.utils.getBounds(y.element), + x = y.config.workspacesConfig.pinnedSize || k.width, + _ = + y.config.workspacesConfig.isPinned && + !this._layoutManager._ignorePinned + ? x + : y.getMaxWidth(), + C = + y.config.workspacesConfig.isPinned && + !this._layoutManager._ignorePinned + ? x + : y.getMinWidth(), + I = Math.min(void 0 === _ ? c : _, e.totalWidth), + S = void 0 === C ? s : C; + (g < S + ? ((p += S - g), + (a = { maxWidth: I, minWidth: S, width: S })) + : ((l += Math.min(g, I) - S), + (a = { maxWidth: I, minWidth: S, width: g }), + u.push(a)), + g > I + ? ((h += g - I), (a.width = I)) + : ((f += I - Math.max(g, S)), d.push(a)), + w.push(a)); + } + var E = 0 === p || p > l, + W = 0 === h || h > f; + if (E && W) return !0; + if (!E) + for (n = p / l, v = p, b = 0; b < u.length; b++) + ((a = u[b]), + (v -= i = Math.round((a.width - a.minWidth) * n)), + (a.width -= i)); + if (!W) + for (r = h / f, m = h, b = 0; b < d.length; b++) + ((a = d[b]), + (m -= o = Math.round((a.maxWidth - a.width) * r)), + (a.width += o)); + for ( + E || (0 !== v && (w[w.length - 1].width -= v)), + W || (0 !== m && (w[w.length - 1].width += m)), + b = 0; + b < this.contentItems.length; + b++ + ) + this.contentItems[b].config.width = + (w[b].width / e.totalWidth) * 100; + return !1; + } + }, + _respectItemHeightConstraints: function () { + var e, + n, + r, + i, + o, + a = + (this.layoutManager.config.dimensions && + this.layoutManager.config.dimensions.minItemHeight) || + 0, + s = + (this.layoutManager.config.dimensions && + this.layoutManager.config.dimensions.maxItemHeight) || + 32767, + c = [], + u = [], + d = 0, + l = 0, + p = 0, + h = 0, + f = 0, + v = 0, + m = 0, + g = 0, + y = null, + w = []; + if (!(this._isRow || !a || this.contentItems.length <= 1)) { + ((e = this._calculateAbsoluteSizes()), + (s = Math.min(e.totalHeight, s))); + for (var b = 0; b < this.contentItems.length; b++) { + ((y = this.contentItems[b]), (g = e.itemSizes[b])); + var k = + y.config.workspacesConfig.pinnedSize || + t.utils.getBounds(y.element).height, + x = + y.config.workspacesConfig.isPinned && + !this._layoutManager._ignorePinned + ? k + : y.getMaxHeight(), + _ = + y.config.workspacesConfig.isPinned && + !this._layoutManager._ignorePinned + ? k + : y.getMinHeight(), + C = Math.min(void 0 === x ? s : x, e.totalHeight), + I = void 0 === _ ? a : _; + (g < I + ? ((l += I - g), + (o = { maxHeight: C, minHeight: I, height: I })) + : ((d += Math.min(g, C) - I), + (o = { maxHeight: C, minHeight: I, height: g }), + c.push(o)), + g > C + ? ((p += g - C), (o.height = C)) + : ((h += C - Math.max(g, I)), u.push(o)), + w.push(o)); + } + var S = 0 === l || l > d, + E = 0 === p || p > h; + if (S && E) return !0; + if (!S) + for (n = l / d, f = l, b = 0; b < c.length; b++) + ((o = c[b]), + (f -= v = Math.round((o.height - a) * n)), + (o.height -= v)); + if (!E) + for (r = p / h, m = p, b = 0; b < u.length; b++) + ((o = u[b]), + (m -= i = Math.round((o.maxHeight - o.height) * r)), + (o.height += i)); + for ( + S || (0 !== f && (w[w.length - 1].height -= f)), + E || (0 !== m && (w[w.length - 1].height += m)), + b = 0; + b < this.contentItems.length; + b++ + ) + this.contentItems[b].config.height = + (w[b].height / e.totalHeight) * 100; + return !1; + } + }, + _createSplitter: function (e) { + var n; + return ( + (n = new t.controls.Splitter( + this._isColumn, + this._splitterSize, + this._splitterGrabSize + )).on( + "drag", + t.utils.fnBind(this._onSplitterDrag, this, [n]), + this + ), + n.on( + "dragStop", + t.utils.fnBind(this._onSplitterDragStop, this, [n]), + this + ), + n.on( + "dragStart", + t.utils.fnBind(this._onSplitterDragStart, this, [n]), + this + ), + this._splitter.splice(e, 0, n), + n + ); + }, + _getItemsForSplitter: function (e) { + var n = t.utils.indexOf(e, this._splitter); + return { + before: this.contentItems[n], + after: this.contentItems[n + 1] + }; + }, + _getMinimumDimensions: function (e) { + for (var t = 0, n = 0, r = 0; r < e.length; ++r) + ((t = Math.max(e[r].getMinWidth() || 0, t)), + (n = Math.max(e[r].getMinHeight() || 0, n))); + return { horizontal: t, vertical: n }; + }, + _getMaximumDimensions: function (e) { + for (var t = 32767, n = 32767, r = 0; r < e.length; ++r) + ((t = Math.min(e[r].getMaxWidth() || 0, t)), + (n = Math.min(e[r].getMaxHeight() || 0, n))); + return { horizontal: t, vertical: n }; + }, + _setMinMaxSplitterPosition: function (e) { + var t = + this.layoutManager.config.dimensions[ + this._isColumn ? "minItemHeight" : "minItemWidth" + ], + n = + this.layoutManager.config.dimensions[ + this.isColumn ? "maxItemHeight" : "maxItemWidth" + ], + r = this._getMinimumDimensions( + [].concat(o(e.before.contentItems), [e.before]) + ), + i = this._getMaximumDimensions( + [].concat(o(e.before.contentItems), [e.before]) + ), + a = this._isColumn ? r.vertical : r.horizontal, + s = this.isColumn ? i.vertical : i.horizontal, + c = this._getMinimumDimensions( + [].concat(o(e.after.contentItems), [e.after]) + ), + u = this._getMaximumDimensions( + [].concat(o(e.after.contentItems), [e.after]) + ), + d = this._isColumn ? c.vertical : c.horizontal, + l = this.isColumn ? u.vertical : u.horizontal, + p = -1 * (e.before.element[this._dimension]() - (a || t)), + h = -1 * ((l || n) - e.after.element[this._dimension]()), + f = (s || n) - e.before.element[this._dimension](), + v = e.after.element[this._dimension]() - (d || t); + ((this._splitterPosition = 0), + (this._splitterMinPosition = Math.max(p, h)), + (this._splitterMaxPosition = Math.min(f, v))); + }, + _onSplitterDragStart: function (e) { + this.layoutManager._ignorePinned = !0; + var t = this._getItemsForSplitter(e); + this._setMinMaxSplitterPosition(t); + }, + _onSplitterDrag: function (e, t, n) { + if ( + !this._layoutManager.config || + !1 !== this.config.workspacesConfig.allowSplitters + ) { + var r = this._isColumn ? n : t; + (r > this._splitterMinPosition && + r < this._splitterMaxPosition && + ((this._splitterPosition = r), + e.element.css(this._isColumn ? "top" : "left", r)), + this._layoutManager.emit("splitterDragged", e)); + } + }, + _onSplitterDragStop: function (e) { + var n = this; + if ( + !this._layoutManager.config || + !1 !== this.config.workspacesConfig.allowSplitters + ) { + var r = this._getItemsForSplitter(e), + i = r.before.element[this._dimension](), + o = r.after.element[this._dimension](), + a = (this._splitterPosition + i) / (i + o), + s = + r.before.config[this._dimension] + + r.after.config[this._dimension]; + ((r.before.config[this._dimension] = a * s), + (r.after.config[this._dimension] = (1 - a) * s), + e.element.css({ top: 0, left: 0 }), + t.utils.animFrame(function () { + (t.utils.fnBind(n.callDownwards, n, ["setSize"])(), + (n._layoutManager._ignorePinned = !1), + Object.values( + n.layoutManager._maximizedItemsInTargetContainer + ).length && n._layoutManager.updateSize()); + }), + this._layoutManager.emit("splitterDragStopped", e)); + } + } + }), + (t.items.Stack = function (n, r, i) { + (t.items.AbstractContentItem.call(this, n, r, i), + (this.element = e('
                      ')), + (this._activeContentItem = null)); + var o = n.config; + if ( + ((this._header = { + show: !0 === o.settings.hasHeaders && !1 !== r.hasHeaders, + popout: o.settings.showPopoutIcon && o.labels.popout, + maximize: o.settings.showMaximizeIcon && o.labels.maximize, + minimize: o.settings.showMinimizeIcon && o.labels.minimize, + close: o.settings.showCloseIcon && o.labels.close + }), + o.header && t.utils.copy(this._header, o.header), + r.header && t.utils.copy(this._header, r.header), + r.content && + r.content[0] && + r.content[0].header && + t.utils.copy(this._header, r.content[0].header), + (this._dropZones = {}), + (this._dropSegment = null), + (this._contentAreaDimensions = null), + (this._dropIndex = null), + (this.isStack = !0), + n._componentFactory && + n._componentFactory.createId && + (!this.config.id || !this.config.id.length)) + ) { + var a = n._componentFactory.createId(); + a && this.addId(a); + } + ((this.childElementContainer = e('
                      ')), + (this.header = new t.controls.Header(n, this)), + this.element.append(this.header.element), + this.element.append(this.childElementContainer), + this._setupHeaderPosition(), + this._$validateClosability()); + }), + t.utils.extend(t.items.Stack, t.items.AbstractContentItem), + t.utils.copy(t.items.Stack.prototype, { + setSize: function () { + var e, + n = t.utils.getBounds(this.header.element), + r = t.utils.getBounds(this.element), + i = this._header.show ? n.height : 0, + o = r.width - (this._sided ? i : 0), + a = r.height - (this._sided ? 0 : i); + for ( + this.childElementContainer.width(o), + this.childElementContainer.height(a), + e = 0; + e < this.contentItems.length; + e++ + ) + this.contentItems[e].element.width(o).height(a); + (this.emit("resize"), this.emitBubblingEvent("stateChanged")); + }, + getMinWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minWidth) return n.minWidth; + var r = + this.config.workspacesConfig.minWidth || + this.layoutManager.config.dimensions.minItemWidth, + i = this.contentItems.reduce(function (t, n) { + return Math.max( + t, + n.getMinWidth() || + e.layoutManager.config.dimensions.minItemWidth + ); + }, r); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minWidth", + i + ), + i + ); + }, + getMaxWidth: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxWidth) return n.maxWidth; + var r = + this.config.workspacesConfig.maxWidth || + this.layoutManager.config.dimensions.maxItemWidth, + i = this.contentItems.reduce(function (t, n) { + var r = n.getMaxWidth(); + return Math.min( + t, + r || e.layoutManager.config.dimensions.maxItemWidth + ); + }, r); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxWidth", + i + ), + i + ); + }, + getMinHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.minHeight) return n.minHeight; + var r = + this.config.workspacesConfig.minHeight || + this.layoutManager.config.dimensions.minItemHeight, + i = this.header.element, + o = i ? this.realHeight(i) : 0; + this.config.workspacesConfig.wrapper && (o = 0); + var a = this.contentItems.reduce(function (t, n) { + return Math.max( + t, + n.getMinHeight() + o || + e.layoutManager.config.dimensions.minItemHeight + ); + }, r); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "minHeight", + a + ), + a + ); + }, + getMaxHeight: function () { + var e = this, + n = + this.layoutManager._idToMinMaxConstraints[ + t.utils.idAsString(this.config.id) + ]; + if (n && "number" === typeof n.maxHeight) return n.maxHeight; + var r = + this.config.workspacesConfig.maxHeight || + this.layoutManager.config.dimensions.maxItemHeight, + i = this.header.element, + o = i ? this.realHeight(i) : 0; + this.config.workspacesConfig.wrapper && (o = 0); + var a = this.contentItems.reduce(function (t, n) { + return Math.min( + t, + n.getMaxHeight() + o || + e.layoutManager.config.dimensions.maxItemHeight + ); + }, r); + return ( + t.items.AbstractContentItem.prototype._memoizeConstraint.call( + this, + "maxHeight", + a + ), + a + ); + }, + realHeight: function (n) { + if (!n || !n[0]) return 0; + var r = t.utils.getBounds(n).height; + if (r > 0) return r; + var i = n.clone(); + (i.css("visibility", "hidden"), e("body").append(i)); + var o = t.utils.getBounds(i).height; + return (i.remove(), o); + }, + _$init: function () { + var e, n; + if (!0 !== this.isInitialised) { + for ( + t.items.AbstractContentItem.prototype._$init.call(this), + e = 0; + e < this.contentItems.length; + e++ + ) + (this.header.createTab(this.contentItems[e]), + this.contentItems[e]._$hide()); + if (this.contentItems.length > 0) { + if ( + !(n = + this.contentItems[this.config.activeItemIndex || 0]) + ) + throw new Error( + "Configured activeItemIndex out of bounds" + ); + (this.setActiveContentItem(n), + this.contentItems + .filter(function (e) { + return e.config.workspacesConfig.isPinned; + }) + .forEach(function (e) { + e.tab.pin(); + })); + } + } + }, + setActiveContentItem: function (e) { + if (-1 === t.utils.indexOf(e, this.contentItems)) + throw new Error("contentItem is not a child of this stack"); + var n = this._activeContentItem; + (null !== this._activeContentItem && + this._activeContentItem._$hide(), + (this._activeContentItem = e), + this.header.setActiveContentItem(e), + e._$show(), + this.emit("activeContentItemChanged", e), + this.layoutManager.emit("activeContentItemChanged", e), + n && n.emit("focusLost"), + this.emitBubblingEvent("stateChanged")); + }, + getActiveContentItem: function () { + return this.header.activeContentItem; + }, + addChild: function (n, r) { + var i = + !(arguments.length > 2 && void 0 !== arguments[2]) || + arguments[2]; + n = this.layoutManager._$normalizeContentItem(n, this); + var o = this.header._getLastIndexOfPinnedTab(), + a = + n.config && + n.config.workspacesConfig && + n.config.workspacesConfig.isPinned; + (r >= 0 && r <= o && !a && (r = o + 1), + t.items.AbstractContentItem.prototype.addChild.call(this, n, r), + this.childElementContainer.append(n.element), + this.header.createTab(n, r), + a && n.tab.pin(r), + e(this.layoutManager.container).is(":visible") && i + ? this.setActiveContentItem(n) + : n._$hide(), + this.callDownwards("setSize"), + this._$validateClosability(), + this.emitBubblingEvent("stateChanged")); + }, + removeChild: function (e, n) { + var r = t.utils.indexOf(e, this.contentItems); + if ( + (t.items.AbstractContentItem.prototype.removeChild.call( + this, + e, + n + ), + this.header.removeTab(e), + this.header.activeContentItem === e) + ) + if (this.contentItems.length > 0) { + var i = this._getItemToFocusAfterRemove.call(this, r); + this.setActiveContentItem(i); + } else this._activeContentItem = null; + (this._syncActiveItemIndex(), + this._$validateClosability(), + this.emitBubblingEvent("stateChanged")); + }, + _$validateClosability: function () { + var e, t, n; + for ( + e = this.header._isClosable(), + n = 0, + t = this.contentItems.length; + n < t && e; + n++ + ) + e = this.contentItems[n].config.isClosable; + this.header._$setClosable(e); + }, + _$destroy: function () { + (t.items.AbstractContentItem.prototype._$destroy.call(this), + this.header._$destroy()); + }, + _$onDrop: function (e) { + if (null !== this._dropSegment) { + if ("header" === this._dropSegment) + return ( + this._resetHeaderDropZone(), + void this.addChild(e, this._dropIndex) + ); + if ("body" !== this._dropSegment) { + var n, + r, + i, + o = + "top" === this._dropSegment || + "bottom" === this._dropSegment, + a = + "left" === this._dropSegment || + "right" === this._dropSegment, + s = + "top" === this._dropSegment || + "left" === this._dropSegment, + c = + (o && this.parent.isColumn) || + (a && this.parent.isRow), + u = o ? "column" : "row", + d = o ? "height" : "width"; + (e.isComponent && + ((r = this.layoutManager.createContentItem( + { type: "stack", header: e.config.header || {} }, + this + ))._$init(), + r.addChild(e), + (e = r)), + c + ? ((n = t.utils.indexOf( + this, + this.parent.contentItems + )), + this.parent.addChild(e, s ? n : n + 1, !0), + (this.config[d] *= 0.5), + (e.config[d] = this.config[d]), + this.parent.callDownwards("setSize")) + : ((u = o ? "column" : "row"), + (i = this.layoutManager.createContentItem( + { type: u }, + this + )), + this.parent.replaceChild(this, i), + i.addChild(e, s ? 0 : void 0, !0), + i.addChild(this, s ? void 0 : 0, !0), + (this.config[d] = 50), + (e.config[d] = 50), + i.callDownwards("setSize"))); + } else this.addChild(e); + } + }, + _$highlightDropZone: function (e, t) { + var n, r; + for (n in this._contentAreaDimensions) + if ( + (r = this._contentAreaDimensions[n].hoverArea).x1 < e && + r.x2 > e && + r.y1 < t && + r.y2 > t + ) + return void ("header" === n + ? ((this._dropSegment = "header"), + this._highlightHeaderDropZone(this._sided ? t : e)) + : (this._resetHeaderDropZone(), + this._highlightBodyDropZone(n))); + ((this._dropSegment = null), + this._resetHeaderDropZone(), + this.layoutManager.dropTargetIndicator.highlightArea(null)); + }, + _$getArea: function () { + if (!1 === this.element.is(":visible")) return null; + var e = t.items.AbstractContentItem.prototype._$getArea, + n = e.call(this, this.header.element), + r = e.call(this, this.childElementContainer), + i = r.x2 - r.x1, + o = r.y2 - r.y1; + return ( + !this.config.workspacesConfig || + (!1 !== this.config.workspacesConfig.allowDrop && + !1 !== this.config.workspacesConfig.allowDropHeader) || + !0 === this.config.workspacesConfig.allowDropHeader + ? (this._contentAreaDimensions = { + header: { + hoverArea: { + x1: n.x1, + y1: n.y1, + x2: n.x2, + y2: n.y2 + }, + highlightArea: { + x1: n.x1, + y1: n.y1, + x2: n.x2, + y2: n.y2 + } + } + }) + : (this._contentAreaDimensions = {}), + this._activeContentItem && + !1 === this._activeContentItem.isComponent + ? n + : 0 === this.contentItems.length + ? ((this._contentAreaDimensions.body = { + hoverArea: { + x1: r.x1, + y1: r.y1, + x2: r.x2, + y2: r.y2 + }, + highlightArea: { + x1: r.x1, + y1: r.y1, + x2: r.x2, + y2: r.y2 + } + }), + e.call(this, this.element)) + : ("workspace" !== + this.layoutManager.config.settings.mode && + ((!this.config.workspacesConfig || + (!1 !== + this.config.workspacesConfig.allowDrop && + !1 !== + this.config.workspacesConfig + .allowDropLeft) || + !0 === + this.config.workspacesConfig + .allowDropLeft) && + (this._contentAreaDimensions.left = { + hoverArea: { + x1: r.x1, + y1: r.y1, + x2: r.x1 + 0.25 * i, + y2: r.y2 + }, + highlightArea: { + x1: r.x1, + y1: r.y1, + x2: r.x1 + 0.5 * i, + y2: r.y2 + } + }), + (!this.config.workspacesConfig || + (!1 !== + this.config.workspacesConfig.allowDrop && + !1 !== + this.config.workspacesConfig + .allowDropTop) || + !0 === + this.config.workspacesConfig + .allowDropTop) && + (this._contentAreaDimensions.top = { + hoverArea: { + x1: r.x1 + 0.25 * i, + y1: r.y1, + x2: r.x1 + 0.75 * i, + y2: r.y1 + 0.5 * o + }, + highlightArea: { + x1: r.x1, + y1: r.y1, + x2: r.x2, + y2: r.y1 + 0.5 * o + } + }), + (!this.config.workspacesConfig || + (!1 !== + this.config.workspacesConfig.allowDrop && + !1 !== + this.config.workspacesConfig + .allowDropRight) || + !0 === + this.config.workspacesConfig + .allowDropRight) && + (this._contentAreaDimensions.right = { + hoverArea: { + x1: r.x1 + 0.75 * i, + y1: r.y1, + x2: r.x2, + y2: r.y2 + }, + highlightArea: { + x1: r.x1 + 0.5 * i, + y1: r.y1, + x2: r.x2, + y2: r.y2 + } + }), + (!this.config.workspacesConfig || + (!1 !== + this.config.workspacesConfig.allowDrop && + !1 !== + this.config.workspacesConfig + .allowDropBottom) || + !0 === + this.config.workspacesConfig + .allowDropBottom) && + (this._contentAreaDimensions.bottom = { + hoverArea: { + x1: r.x1 + 0.25 * i, + y1: r.y1 + 0.5 * o, + x2: r.x1 + 0.75 * i, + y2: r.y2 + }, + highlightArea: { + x1: r.x1, + y1: r.y1 + 0.5 * o, + x2: r.x2, + y2: r.y2 + } + })), + e.call(this, this.element)) + ); + }, + _highlightHeaderDropZone: function (e) { + var n, + r, + i, + o, + a, + s, + c, + u, + d = this.header.tabs.length, + l = !1; + if (0 === d) + return ( + (c = this.header.element.offset()), + void this.layoutManager.dropTargetIndicator.highlightArea({ + x1: c.left, + x2: c.left + 100, + y1: + c.top + + t.utils.getBounds(this.header.element).height - + 20, + y2: + c.top + + t.utils.getBounds(this.header.element).height + }) + ); + for (n = 0; n < d; n++) { + a = (r = this.header.tabs[n].element).offset(); + var p = t.utils.getBounds(r); + if ( + (this._sided + ? ((o = a.top), (i = a.left), (u = p.height)) + : ((o = a.left), (i = a.top), (u = p.width)), + e > o && e < o + u) + ) { + l = !0; + break; + } + } + if (!(!1 === l && e < o)) { + e < o + u / 2 + ? ((this._dropIndex = n), + r.before(this.layoutManager.tabDropPlaceholder)) + : ((this._dropIndex = Math.min(n + 1, d)), + r.after(this.layoutManager.tabDropPlaceholder)); + var h = t.utils.getBounds( + this.layoutManager.tabDropPlaceholder + ); + if (this._sided) + return ( + (placeHolderTop = + this.layoutManager.tabDropPlaceholder.offset().top), + void this.layoutManager.dropTargetIndicator.highlightArea( + { + x1: i, + x2: i + r.innerHeight(), + y1: placeHolderTop, + y2: placeHolderTop + h.width + } + ) + ); + ((s = this.layoutManager.tabDropPlaceholder.offset().left), + this.layoutManager.dropTargetIndicator.highlightArea({ + x1: s, + x2: s + h.width, + y1: i, + y2: i + r.innerHeight() + })); + } + }, + _resetHeaderDropZone: function () { + this.layoutManager.tabDropPlaceholder.remove(); + }, + _setupHeaderPosition: function () { + var e = + ["right", "left", "bottom"].indexOf(this._header.show) >= 0 && + this._header.show; + if ( + (this.header.element.toggle(!!this._header.show), + (this._side = e), + (this._sided = ["right", "left"].indexOf(this._side) >= 0), + this.element.removeClass("lm_left lm_right lm_bottom"), + this._side && this.element.addClass("lm_" + this._side), + this.element.find(".lm_header").length && + this.childElementContainer) + ) { + var t = + ["right", "bottom"].indexOf(this._side) >= 0 + ? "before" + : "after"; + (this.header.element[t](this.childElementContainer), + this.callDownwards("setSize")); + } + }, + _highlightBodyDropZone: function (e) { + var t = this._contentAreaDimensions[e].highlightArea; + (this.layoutManager.dropTargetIndicator.highlightArea(t), + (this._dropSegment = e)); + }, + _syncContentItemOrder: function () { + var e = this, + t = []; + (this.header.tabs.forEach(function (n) { + var r = Array.isArray(n.contentItem.config.id) + ? n.contentItem.config.id[0] + : n.contentItem.config.id, + i = e.contentItems.find(function (e) { + var t = Array.isArray(e.config.id) + ? e.config.id[0] + : e.config.id; + return r === t; + }); + i && t.push(i); + }), + this.contentItems.length === t.length && + (this.contentItems = t)); + }, + _getItemToFocusAfterRemove: function (e) { + for (var t = e - 1; t >= 0; t--) { + var n = this.contentItems[t]; + if (!n.config.noTabHeader) return n; + } + for (var r = e + 1; r < this.contentItems.length; r++) { + var i = this.contentItems[r]; + if (!i.config.noTabHeader) return i; + } + return this.contentItems[Math.max(e - 1, 0)]; + }, + _syncActiveItemIndex: function () { + var e = t.utils.indexOf(this._activeContentItem, this.contentItems); + e > -1 && (this.config.activeItemIndex = e); + } + }), + (t.utils.BubblingEvent = function (e, t) { + ((this.name = e), (this.origin = t), (this.isPropagationStopped = !1)); + }), + (t.utils.BubblingEvent.prototype.stopPropagation = function () { + this.isPropagationStopped = !0; + }), + (t.utils.ConfigMinifier = function () { + if ( + ((this._keys = [ + "settings", + "hasHeaders", + "constrainDragToContainer", + "selectionEnabled", + "dimensions", + "borderWidth", + "minItemHeight", + "minItemWidth", + "headerHeight", + "dragProxyWidth", + "dragProxyHeight", + "labels", + "close", + "maximize", + "minimize", + "popout", + "content", + "componentName", + "componentState", + "id", + "width", + "type", + "height", + "isClosable", + "title", + "popoutWholeStack", + "openPopouts", + "parentId", + "activeItemIndex", + "reorderEnabled", + "borderGrabWidth" + ]), + this._keys.length > 36) + ) + throw new Error("Too many keys in config minifier map"); + this._values = [ + !0, + !1, + "row", + "column", + "stack", + "component", + "close", + "maximize", + "minimize", + "open in new window" + ]; + }), + t.utils.copy(t.utils.ConfigMinifier.prototype, { + minifyConfig: function (e) { + var t = {}; + return (this._nextLevel(e, t, "_min"), t); + }, + unminifyConfig: function (e) { + var t = {}; + return (this._nextLevel(e, t, "_max"), t); + }, + _nextLevel: function (e, t, n) { + var r, i; + for (r in e) + (e instanceof Array && (r = parseInt(r, 10)), + e.hasOwnProperty(r) && + ((i = this[n](r, this._keys)), + "object" === typeof e[r] + ? ((t[i] = e[r] instanceof Array ? [] : {}), + this._nextLevel(e[r], t[i], n)) + : (t[i] = this[n](e[r], this._values)))); + }, + _min: function (e, n) { + if ("string" === typeof e && 1 === e.length) return "___" + e; + var r = t.utils.indexOf(e, n); + return -1 === r ? e : r.toString(36); + }, + _max: function (e, t) { + return "string" === typeof e && 1 === e.length + ? t[parseInt(e, 36)] + : "string" === typeof e && "___" === e.substr(0, 3) + ? e[3] + : e; + } + }), + (t.utils.EventHub = function (n) { + (t.utils.EventEmitter.call(this), + (this._layoutManager = n), + (this._dontPropagateToParent = null), + (this._childEventSource = null), + this.on( + t.utils.EventEmitter.ALL_EVENT, + t.utils.fnBind(this._onEventFromThis, this) + ), + (this._boundOnEventFromChild = t.utils.fnBind( + this._onEventFromChild, + this + )), + e(window).on("gl_child_event", this._boundOnEventFromChild)); + }), + (t.utils.EventHub.prototype._onEventFromThis = function () { + var e = Array.prototype.slice.call(arguments); + (this._layoutManager.isSubWindow && + e[0] !== this._dontPropagateToParent && + this._propagateToParent(e), + this._propagateToChildren(e), + (this._dontPropagateToParent = null), + (this._childEventSource = null)); + }), + (t.utils.EventHub.prototype._$onEventFromParent = function (e) { + ((this._dontPropagateToParent = e[0]), this.emit.apply(this, e)); + }), + (t.utils.EventHub.prototype._onEventFromChild = function (e) { + ((this._childEventSource = e.originalEvent.__gl), + this.emit.apply(this, e.originalEvent.__glArgs)); + }), + (t.utils.EventHub.prototype._propagateToParent = function (e) { + var t, + n = "gl_child_event"; + (document.createEvent + ? (t = window.opener.document.createEvent("HTMLEvents")).initEvent( + n, + !0, + !0 + ) + : ((t = window.opener.document.createEventObject()).eventType = n), + (t.eventName = n), + (t.__glArgs = e), + (t.__gl = this._layoutManager), + document.createEvent + ? window.opener.dispatchEvent(t) + : window.opener.fireEvent("on" + t.eventType, t)); + }), + (t.utils.EventHub.prototype._propagateToChildren = function (e) { + var t, n; + for (n = 0; n < this._layoutManager.openPopouts.length; n++) + (t = this._layoutManager.openPopouts[n].getGlInstance()) && + t !== this._childEventSource && + t.eventHub._$onEventFromParent(e); + }), + (t.utils.EventHub.prototype.destroy = function () { + e(window).off("gl_child_event", this._boundOnEventFromChild); + }), + (t.utils.ReactComponentHandler = function (e, t) { + ((this._reactComponent = null), + (this._originalComponentWillUpdate = null), + (this._container = e), + (this._initialState = t), + (this._reactClass = this._getReactClass()), + this._container.on("open", this._render, this), + this._container.on("destroy", this._destroy, this)); + }), + t.utils.copy(t.utils.ReactComponentHandler.prototype, { + _render: function () { + ((this._reactComponent = ReactDOM.render( + this._getReactComponent(), + this._container.getElement()[0] + )), + (this._originalComponentWillUpdate = + this._reactComponent.componentWillUpdate || function () {}), + (this._reactComponent.componentWillUpdate = + this._onUpdate.bind(this)), + this._container.getState() && + this._reactComponent.setState(this._container.getState())); + }, + _destroy: function () { + (ReactDOM.unmountComponentAtNode(this._container.getElement()[0]), + this._container.off("open", this._render, this), + this._container.off("destroy", this._destroy, this)); + }, + _onUpdate: function (e, t) { + (this._container.setState(t), + this._originalComponentWillUpdate.call( + this._reactComponent, + e, + t + )); + }, + _getReactClass: function () { + var e, + t = this._container._config.component; + if (!t) + throw new Error( + "No react component name. type: react-component needs a field `component`" + ); + if (!(e = this._container.layoutManager.getComponent(t))) + throw new Error( + 'React component "' + + t + + '" not found. Please register all components with GoldenLayout using `registerComponent(name, component)`' + ); + return e; + }, + _getReactComponent: function () { + var t = { + glEventHub: this._container.layoutManager.eventHub, + glContainer: this._container + }, + n = e.extend(t, this._container._config.props); + return React.createElement(this._reactClass, n); + } + }), + (t.utils.TabDragListener = function (n, r) { + (t.utils.EventEmitter.call(this), + (this._eElement = e(n)), + (this._oDocument = e(document)), + (this._eBody = e(document.body)), + (this._nButtonCode = r || 0), + (this._nDelay = 400), + (this._nDistance = 10), + (this._nX = 0), + (this._nY = 0), + (this._nOriginalX = 0), + (this._nOriginalY = 0), + (this._bDragging = !1), + (this._fMove = t.utils.fnBind(this.onMouseMove, this)), + (this._fUp = t.utils.fnBind(this.onMouseUp, this)), + (this._fDown = t.utils.fnBind(this.onMouseDown, this)), + this._eElement.on("mousedown touchstart", this._fDown)); + }), + (t.utils.TabDragListener.timeout = null), + (t.utils.TabDragListener.reorderTimeout = null), + t.utils.copy(t.utils.TabDragListener.prototype, { + destroy: function () { + (this._eElement.unbind("mousedown touchstart", this._fDown), + this._oDocument.unbind("mouseup touchend", this._fUp), + (this._eElement = null), + (this._oDocument = null), + (this._eBody = null)); + }, + onMouseDown: function (e) { + if ( + (e.preventDefault(), 0 == e.button || "touchstart" === e.type) + ) { + var n = this._getCoordinates(e); + ((this._nOriginalX = n.x), + (this._nOriginalY = n.y), + this._oDocument.on("mousemove touchmove", this._fMove), + this._oDocument.one("mouseup touchend", this._fUp), + (this.reorderTimeout = setTimeout( + t.utils.fnBind(function () { + this._startReorder(e); + }, this), + this._nDelay + ))); + } + }, + onMouseMove: function (e) { + var n = this._getCoordinates(e); + if (null != this._timeout) + (e.preventDefault(), + (this._nX = n.x - this._nOriginalX), + (this._nY = n.y - this._nOriginalY), + !1 === this._bDragging && + (Math.abs(this._nX) > this._nDistance || + Math.abs(this._nY) > this._nDistance) && + (clearTimeout(this._timeout), this._startDrag(e)), + this._bDragging && + this.emit("drag", this._nX, this._nY, e)); + else if (this._inReorder) { + var r = this._eElement.parent()[0].getBoundingClientRect(), + i = r.left - n.x > 15 || n.x - r.right > 15, + o = r.top - n.y > 15 || n.y - r.bottom > 15; + i || o + ? (this._timeout = setTimeout( + t.utils.fnBind(function () { + this._startDrag(e); + }, this), + this._nDelay + )) + : this._onReorder(e); + } + }, + onMouseUp: function (e) { + (this._stopReorder(e), + clearTimeout(this._timeout), + (this._timeout = null), + this._eBody.removeClass("lm_dragging"), + this._eElement.removeClass("lm_dragging"), + this._oDocument.find("iframe").css("pointer-events", ""), + this._oDocument.unbind("mousemove touchmove", this._fMove), + this._oDocument.unbind("mouseup touchend", this._fUp), + !0 === this._bDragging && + ((this._bDragging = !1), + this.emit("dragStop", e, this._nOriginalX + this._nX))); + }, + _startDrag: function (e) { + (this._stopReorder(e), + (this._bDragging = !0), + this._eBody.addClass("lm_dragging"), + this._eElement.addClass("lm_dragging"), + this._oDocument.find("iframe").css("pointer-events", "none"), + this.emit("dragStart", this._nOriginalX, this._nOriginalY, e)); + }, + _startReorder: function (e) { + ((this._inReorder = !0), + this._oDocument.find("iframe").css("pointer-events", "none"), + this.emit( + "reorderStart", + this._nOriginalX, + this._nOriginalY, + e + )); + }, + _onReorder: function (e) { + if (this._inReorder) { + var t = this._getCoordinates(e); + this.emit("reorder", t.x, t.y); + } + }, + _stopReorder: function (e) { + if ((clearTimeout(this.reorderTimeout), null !== this._inReorder)) { + var t = this._getCoordinates(e); + this.emit("reorderStop", t.x, t.y); + } + this._inReorder = !1; + }, + _getCoordinates: function (e) { + return { + x: (e = + e.originalEvent && e.originalEvent.touches + ? e.originalEvent.touches[0] + : e).pageX, + y: e.pageY + }; + } + }), + (t.errors.ConfigurationError = function (e, t) { + (Error.call(this), + (this.name = "Configuration Error"), + (this.message = e), + (this.node = t)); + }), + (t.errors.ConfigurationError.prototype = new Error())); + })(window.$)); + var J = function () { + var e = arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : 21; + return crypto.getRandomValues(new Uint8Array(e)).reduce(function (e, t) { + return (e += + (t &= 63) < 36 + ? t.toString(36) + : t < 62 + ? (t - 26).toString(36).toUpperCase() + : t > 62 + ? "-" + : "_"); + }, ""); + }, + K = function (e) { + return Array.isArray(e) ? e[0] : e; + }, + Q = function () { + var e = function e(t) { + return "component" === t.type + ? t.id + ? [t] + : [] + : t.content.reduce(function (t, n) { + return (t = [].concat(o(t), o(e(n)))); + }, []); + }; + return ( + arguments.length > 0 && void 0 !== arguments[0] ? arguments[0] : [] + ).reduce(function (t, n) { + return [].concat(o(t), o(e(n))); + }, []); + }, + X = function (e) { + var t = []; + return ( + (function e(n) { + "window" !== n.type + ? n.children.forEach(function (t) { + return e(t); + }) + : t.push(n); + })(e), + t + ); + }, + Y = function (e) { + var t = function e(t) { + if ("component" === t.type) return t.id ? [t] : []; + var n = t.content.reduce(function (t, n) { + return (t = [].concat(o(t), o(e(n)))); + }, []); + return [].concat(o(n), [t]); + }; + return e.reduce(function (e, n) { + return [].concat(o(e), o(t(n))); + }, []); + }, + Z = function (e) { + var t = $(e)[0].getBoundingClientRect(); + return { + x: Math.round(t.x), + y: Math.round(t.y), + left: Math.round(t.left), + top: Math.round(t.top), + width: Math.round(t.width), + height: Math.round(t.height) + }; + }, + ee = function (e) { + return "___workspace___".concat(e); + }, + te = function (e) { + if (!e || !e[0]) return 0; + var t = e.clone(); + (t.css("visibility", "hidden"), $("body").append(t)); + var n = t[0].getBoundingClientRect().height; + return (t.remove(), n); + }, + ne = function (e) { + switch (e) { + case "isWindowInWorkspace": + case "addWindow": + case "addContainer": + case "getWorkspaceSnapshot": + case "openWorkspace": + case "saveLayout": + case "exportAllLayouts": + case "deleteLayout": + case "getAllWorkspacesSummaries": + case "maximizeItem": + case "restoreItem": + case "closeItem": + case "setItemTitle": + case "addWorkspaceChildren": + case "ejectWindow": + case "createWorkspace": + case "forceLoadWindow": + case "focusItem": + case "bundleWorkspace": + case "bundleItem": + case "getFrameSummary": + case "moveFrame": + case "getFrameSnapshot": + case "getSnapshot": + case "moveWindowTo": + case "generateLayout": + case "ping": + case "hibernateWorkspace": + case "resumeWorkspace": + case "lockWorkspace": + case "lockContainer": + case "lockWindow": + case "resizeItem": + case "pinWorkspace": + case "unpinWorkspace": + case "getWorkspaceIcon": + case "setWorkspaceIcon": + case "initFrame": + case "createFrame": + case "initFrameFromSnapshot": + case "getWorkspacesLayouts": + case "setMaximizationBoundary": + case "operationCheck": + case "getDecorationsSize": + return !0; + default: + return { isSupported: !1 }; + } + }, + re = function () { + return J(10); + }, + ie = function () { + return "g42-".concat(re()); + }, + oe = function (e) { + return "nestHere".concat(e); + }, + ae = new ((function () { + function e() { + (w(this, e), (this._idToLayout = {})); + } + return ( + x(e, [ + { + key: "layouts", + get: function () { + return Object.values(this._idToLayout); + } + }, + { + key: "workspaceIds", + get: function () { + return Object.keys(this._idToLayout); + } + }, + { + key: "workspaceLayout", + get: function () { + return this._workspaceLayout; + }, + set: function (e) { + this._workspaceLayout = e; + } + }, + { + key: "workspaceLayoutHeader", + get: function () { + return this._workspaceLayout.root.contentItems[0].header; + } + }, + { + key: "getWorkspaceLayoutItemById", + value: function (e) { + return this.workspaceLayout.root.getItemsById(e)[0]; + } + }, + { + key: "getById", + value: function (e) { + return ((e = K(e)), this._idToLayout[e]); + } + }, + { + key: "getByContainerId", + value: function (e) { + return ( + (e = K(e)), + this._idToLayout[e] || this.getByContainerIdCore(e) + ); + } + }, + { + key: "removeById", + value: function (e) { + delete this._idToLayout[e]; + } + }, + { + key: "removeLayout", + value: function (e) { + var t; + (null === (t = this._idToLayout[e].layout) || + void 0 === t || + t.destroy(), + (this._idToLayout[e].layout = void 0)); + } + }, + { + key: "addOrUpdate", + value: function (e, t, n) { + var r = this.getById(e); + if (r) + return ( + (r.layout = n), + void (r.windows = this.mergeWindows(r.windows, t)) + ); + this._idToLayout[e] = { + id: e, + windows: t, + layout: n, + hibernatedWindows: [], + lastActive: Date.now() + }; + } + }, + { + key: "getWindow", + value: function (e) { + var t = K(e); + return this.layouts.reduce( + function (e, n) { + return ( + e || + n.windows.find(function (e) { + return e.id === t || e.windowId === t; + }) + ); + }, + void 0 + ); + } + }, + { + key: "getActiveWorkspace", + value: function () { + var e = + this.workspaceLayout.root.contentItems[0].getActiveContentItem() + .config.id; + return this.getById(e); + } + }, + { + key: "addWindow", + value: function (e, t) { + var n = this.getById(t); + ((n.windows = n.windows.filter(function (t) { + return t.id !== e.id; + })), + n.windows.push(e)); + } + }, + { + key: "removeWindow", + value: function (e, t) { + var n = this.getById(t); + n.windows = n.windows.filter(function (t) { + return t.id !== e.id; + }); + } + }, + { + key: "getByWindowId", + value: function (e) { + e = K(e); + var t = this.layouts.find(function (t) { + return t.windows.some(function (t) { + return t.id === e || t.windowId === e; + }); + }); + return ( + t || + this.layouts.find(function (t) { + return ( + !!(null === t || void 0 === t + ? void 0 + : t.layout) && t.layout.root.getItemsById(e)[0] + ); + }) + ); + } + }, + { + key: "getWindowContentItem", + value: function (e) { + var t = this.layouts + .filter(function (e) { + return e.layout; + }) + .reduce( + function (t, n) { + return t || n.layout.root.getItemsById(e)[0]; + }, + void 0 + ); + if (t && t.isComponent) return t; + var n = this.layouts + .filter(function (e) { + return e.layout; + }) + .reduce( + function (t, n) { + return ( + t || + n.layout.root.getItemsByFilter(function (t) { + return ( + t.isComponent && + t.config.componentState.windowId === e + ); + })[0] + ); + }, + void 0 + ); + return (null === n || void 0 === n ? void 0 : n.isComponent) + ? n + : void 0; + } + }, + { + key: "getContainer", + value: function (e) { + return ( + (e = K(e)), + this.layouts + .reduce(function (e, t) { + return (t.layout && e.push(t.layout), e); + }, []) + .reduce( + function (t, n) { + var r = n.root.getItemsById(e)[0]; + return "component" === + (null === r || void 0 === r + ? void 0 + : r.type) + ? t + : t || r; + }, + void 0 + ) + ); + } + }, + { + key: "getWorkspaceContext", + value: function (e) { + var t, + n, + r, + i = this.getById(e); + return null === + (r = + null === + (n = + null === + (t = + null === i || void 0 === i + ? void 0 + : i.layout) || void 0 === t + ? void 0 + : t.config) || void 0 === n + ? void 0 + : n.workspacesOptions) || void 0 === r + ? void 0 + : r.context; + } + }, + { + key: "syncWorkspaceOrder", + value: function () { + var e = this, + t = this.workspaceLayout.root.getItemsByType("stack")[0]; + if ("stack" === t.type) { + var n = t.contentItems.map(function (e) { + return K(e.config.id); + }), + r = {}; + (n.forEach(function (t) { + r[t] = e._idToLayout[t]; + }), + Object.keys(r).length === + Object.keys(this._idToLayout).length && + (this._idToLayout = r)); + } + } + }, + { + key: "getWorkspaceContentItem", + value: function (e) { + return this.workspaceLayout.root.getItemsById(e)[0]; + } + }, + { + key: "getWorkspaceTabElement", + value: function (e) { + var t; + return null === (t = this.getWorkspaceContentItem(e)) || + void 0 === t + ? void 0 + : t.tab; + } + }, + { + key: "getByContainerIdCore", + value: function (e) { + return this.layouts + .reduce(function (e, t) { + return (t.layout && e.push(t), e); + }, []) + .find(function (t) { + return t.layout.root.getItemsById(e)[0]; + }); + } + }, + { + key: "mergeWindows", + value: function (e, t) { + return t.map(function (t) { + var n = t.windowId; + if (!n) { + var r = e.find(function (e) { + return e.id === t.id; + }); + n = null === r || void 0 === r ? void 0 : r.windowId; + } + return Object.assign(Object.assign({}, t), { windowId: n }); + }); + } + } + ]), + e + ); + })())(), + se = "emptyVisibleWindow", + ce = "emptyFrame", + ue = "T42.Web.Platform.Control", + de = 32767, + le = 20, + pe = "no-app-window", + he = "Add App", + fe = "Maximize", + ve = "Restore", + me = "Extract", + ge = "Close"; + function ye(e) { + if ( + e && + e.errorHandling && + "function" !== typeof e.errorHandling && + "log" !== e.errorHandling && + "silent" !== e.errorHandling && + "throw" !== e.errorHandling + ) + throw new Error( + 'Invalid options passed to createRegistry. Prop errorHandling should be ["log" | "silent" | "throw" | (err) => void], but ' + + typeof e.errorHandling + + " was passed" + ); + var t = e && "function" === typeof e.errorHandling && e.errorHandling, + n = {}; + function r(n, r) { + var i = n instanceof Error ? n : new Error(n); + if (t) t(i); + else { + var o = + '[ERROR] callback-registry: User callback for key "' + + r + + '" failed: ' + + i.stack; + if (e) + switch (e.errorHandling) { + case "log": + return console.error(o); + case "silent": + return; + case "throw": + throw new Error(o); + } + console.error(o); + } + } + return { + add: function (e, t, i) { + var o = n[e]; + return ( + o || ((o = []), (n[e] = o)), + o.push(t), + i && + setTimeout(function () { + i.forEach(function (i) { + var o; + if ( + null === (o = n[e]) || void 0 === o + ? void 0 + : o.includes(t) + ) + try { + Array.isArray(i) + ? t.apply(void 0, i) + : t.apply(void 0, [i]); + } catch (Sn) { + r(Sn, e); + } + }); + }, 0), + function () { + var r = n[e]; + r && + (0 === + (r = r.reduce(function (e, n, r) { + return ((n === t && e.length === r) || e.push(n), e); + }, [])).length + ? delete n[e] + : (n[e] = r)); + } + ); + }, + execute: function (e) { + for (var t = [], i = 1; i < arguments.length; i++) t[i - 1] = arguments[i]; + var o = n[e]; + if (!o || 0 === o.length) return []; + var a = []; + return ( + o.forEach(function (n) { + try { + var i = n.apply(void 0, t); + a.push(i); + } catch (Sn) { + (a.push(void 0), r(Sn, e)); + } + }), + a + ); + }, + clear: function () { + n = {}; + }, + clearKey: function (e) { + n[e] && delete n[e]; + } + }; + } + ye.default = ye; + var we = ye, + be = new ((function () { + function e() { + var t = this; + (w(this, e), + (this._visibilityState = { + logo: void 0, + workspaceTabs: {}, + addWorkspace: void 0, + systemButtons: void 0, + workspaceContents: {}, + beforeGroupTabs: {}, + workspaceWindowTabs: {}, + afterGroupTabs: {}, + groupHeaderButtons: {} + }), + (this._lastSelectedWorkspaceWindowTab = {}), + (this._callbackRegistry = we()), + (this._componentsFactory = {}), + (this._decoratedFactory = {}), + (this._observer = new MutationObserver(function (e) { + Array.from(e).forEach(function (e) { + var n = e.target, + r = t.getWorkspaceIdFromContents(n), + i = + "none" === n.style.display + ? "workspace-contents-hidden" + : "workspace-contents-shown"; + t._callbackRegistry.execute(i, r); + }); + }))); + } + return ( + x(e, [ + { + key: "decoratedFactory", + get: function () { + return this._decoratedFactory; + } + }, + { + key: "init", + value: function (e, t) { + var n = this; + ((this._componentsFactory = t), + (null === t || void 0 === t + ? void 0 + : t.createAddWorkspace) && + (this.decoratedFactory.createAddWorkspace = function ( + t + ) { + return ( + (t.frameId = e), + (n._visibilityState.addWorkspace = t), + n._componentsFactory.createAddWorkspace(t) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createWorkspaceTabs) && + (this.decoratedFactory.createWorkspaceTabs = function ( + e + ) { + var r; + !0 === e.isSelected && + n.changeSelectedWorkspaceState(e); + var i = + null !== + (r = + n._visibilityState.workspaceTabs[ + e.workspaceId + ]) && void 0 !== r + ? r + : {}; + return ( + (n._visibilityState.workspaceTabs[ + e.workspaceId + ] = Object.assign(Object.assign({}, i), e)), + n.setupCleanup( + n._componentsFactory.removeWorkspaceTabs, + "workspaceTabs", + e.workspaceId, + void 0, + void 0, + e.workspaceId + ), + t.createWorkspaceTabs(e) + ); + }), + (null === t || void 0 === t ? void 0 : t.createLogo) && + (this.decoratedFactory.createLogo = function (t) { + return ( + (t.frameId = e), + (n._visibilityState.logo = t), + n._componentsFactory.createLogo(t) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createSystemButtons) && + (this.decoratedFactory.createSystemButtons = function ( + r + ) { + var i, o, a, s; + return ( + (r.frameId = e), + (r.close = + null !== (i = r.close) && void 0 !== i + ? i + : { visible: !1 }), + (r.maximize = + null !== (o = r.maximize) && void 0 !== o + ? o + : { visible: !1 }), + (r.restore = + null !== (a = r.restore) && void 0 !== a + ? a + : { visible: !1 }), + (r.minimize = + null !== (s = r.minimize) && void 0 !== s + ? s + : { visible: !1 }), + (r.close.title = "Close"), + (r.maximize.title = "Maximize"), + (r.restore.title = "Restore"), + (r.minimize.title = "Minimize"), + (n._visibilityState.systemButtons = r), + t.createSystemButtons(r) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createWorkspaceContents) && + (this.decoratedFactory.createWorkspaceContents = + function (e) { + var r = e; + n._visibilityState.workspaceContents[ + e.workspaceId + ] = r; + var i = n.onWorkspaceClosed( + e.workspaceId, + function () { + (n.cleanupWorkspaceContents( + e.workspaceId + ), + i()); + } + ); + return ( + n.subscribeForWorkspaceContentsVisibility( + e.workspaceId + ), + t.createWorkspaceContents(e) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createBeforeGroupTabs) && + (this.decoratedFactory.createBeforeGroupTabs = + function (e) { + return ( + (n._visibilityState.beforeGroupTabs[ + e.groupId + ] = e), + n.setupCleanup( + n._componentsFactory + .removeBeforeGroupTabs, + "beforeGroupTabs", + e.groupId, + void 0, + e.groupId, + e.workspaceId + ), + t.createBeforeGroupTabs(e) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createWorkspaceWindowTabs) && + (this.decoratedFactory.createWorkspaceWindowTabs = + function (e) { + return ( + !0 === e.isSelected && + n.changeSelectedWorkspaceWindowState(e), + (n._visibilityState.workspaceWindowTabs[ + e.placementId + ] = e), + n.setupCleanup( + n._componentsFactory + .removeWorkspaceWindowTabs, + "workspaceWindowTabs", + e.placementId, + e.placementId, + e.groupId, + e.workspaceId + ), + t.createWorkspaceWindowTabs(e) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createAfterGroupTabs) && + (this.decoratedFactory.createAfterGroupTabs = function ( + e + ) { + return ( + (n._visibilityState.afterGroupTabs[e.groupId] = + e), + n.setupCleanup( + n._componentsFactory.removeAfterGroupTabs, + "afterGroupTabs", + e.groupId, + void 0, + e.groupId, + e.workspaceId + ), + t.createAfterGroupTabs(e) + ); + }), + (null === t || void 0 === t + ? void 0 + : t.createGroupHeaderButtons) && + (this.decoratedFactory.createGroupHeaderButtons = + function (e) { + return ( + (n._visibilityState.groupHeaderButtons[ + e.groupId + ] = e), + n.setupCleanup( + n._componentsFactory + .removeGroupHeaderButtons, + "groupHeaderButtons", + e.groupId, + void 0, + e.groupId, + e.workspaceId + ), + t.createGroupHeaderButtons(e) + ); + }), + (null === t || void 0 === t ? void 0 : t.updateAddWorkspace) + ? (this.decoratedFactory.updateAddWorkspace = function ( + e + ) { + n._visibilityState.addWorkspace && + ((n._visibilityState.addWorkspace = + Object.assign( + Object.assign( + {}, + n._visibilityState.addWorkspace + ), + e + )), + t.updateAddWorkspace(e)); + }) + : (this.decoratedFactory.updateAddWorkspace = + function () {}), + ( + null === t || void 0 === t + ? void 0 + : t.updateWorkspaceTabs + ) + ? (this.decoratedFactory.updateWorkspaceTabs = + function (e) { + var r; + if ( + n._visibilityState.workspaceTabs[ + e.workspaceId + ] + ) { + !0 === e.isSelected && + n.changeSelectedWorkspaceState(e); + var i = + null !== + (r = + n._visibilityState + .workspaceTabs[ + e.workspaceId + ]) && void 0 !== r + ? r + : {}; + ((n._visibilityState.workspaceTabs[ + e.workspaceId + ] = Object.assign( + Object.assign({}, i), + e + )), + t.updateWorkspaceTabs(e)); + } + }) + : (this.decoratedFactory.updateWorkspaceTabs = + function () {}), + ( + null === t || void 0 === t + ? void 0 + : t.updateWorkspaceWindowTabs + ) + ? (this.decoratedFactory.updateWorkspaceWindowTabs = + function (e) { + var r; + if ( + n._visibilityState.workspaceWindowTabs[ + e.placementId + ] + ) { + !0 === e.isSelected && + n.changeSelectedWorkspaceWindowState( + e + ); + var i = + null !== + (r = + n._visibilityState + .workspaceTabs[ + e.placementId + ]) && void 0 !== r + ? r + : {}; + ((e.channels = Object.assign( + Object.assign( + {}, + n._visibilityState + .workspaceWindowTabs[ + e.placementId + ].channels + ), + e.channels + )), + (e.close = Object.assign( + Object.assign( + {}, + n._visibilityState + .workspaceWindowTabs[ + e.placementId + ].close + ), + e.close + )), + (n._visibilityState.workspaceWindowTabs[ + e.placementId + ] = Object.assign( + Object.assign({}, i), + e + )), + t.updateWorkspaceWindowTabs(e)); + } + }) + : (this.decoratedFactory.updateWorkspaceWindowTabs = + function () {}), + ( + null === t || void 0 === t + ? void 0 + : t.updateAfterGroupTabs + ) + ? (this.decoratedFactory.updateAfterGroupTabs = + function (e) { + var r; + if ( + n._visibilityState.afterGroupTabs[ + e.groupId + ] + ) { + var i = + null !== + (r = + n._visibilityState + .afterGroupTabs[ + e.groupId + ]) && void 0 !== r + ? r + : {}; + ((n._visibilityState.groupHeaderButtons[ + e.groupId + ] = Object.assign( + Object.assign({}, i), + e + )), + t.updateAfterGroupTabs(e)); + } + }) + : (this.decoratedFactory.updateAfterGroupTabs = + function () {}), + ( + null === t || void 0 === t + ? void 0 + : t.updateGroupHeaderButtons + ) + ? (this.decoratedFactory.updateGroupHeaderButtons = + function (e) { + var r; + if ( + n._visibilityState.groupHeaderButtons[ + e.groupId + ] + ) { + var i = + null !== + (r = + n._visibilityState + .groupHeaderButtons[ + e.groupId + ]) && void 0 !== r + ? r + : {}; + ((e.addWindow = Object.assign( + Object.assign( + {}, + n._visibilityState + .groupHeaderButtons[e.groupId] + .addWindow + ), + e.addWindow + )), + (e.maximize = Object.assign( + Object.assign( + {}, + n._visibilityState + .groupHeaderButtons[ + e.groupId + ].maximize + ), + e.maximize + )), + (e.restore = Object.assign( + Object.assign( + {}, + n._visibilityState + .groupHeaderButtons[ + e.groupId + ].restore + ), + e.restore + )), + (e.eject = Object.assign( + Object.assign( + {}, + n._visibilityState + .groupHeaderButtons[ + e.groupId + ].eject + ), + e.eject + )), + (n._visibilityState.groupHeaderButtons[ + e.groupId + ] = Object.assign( + Object.assign({}, i), + e + )), + t.updateGroupHeaderButtons(e)); + } + }) + : (this.decoratedFactory.updateGroupHeaderButtons = + function () {}), + t && + ((this.decoratedFactory.createId = function () { + return re(); + }), + (this.decoratedFactory.createWorkspaceTabsOptions = + function (e) { + var t, + n, + r = e.element, + i = e.contentItem, + o = + i.parent.contentItems.indexOf(i) === + (i.parent.config.activeItemIndex || 0); + return { + domNode: r, + workspaceId: K(i.config.id), + title: i.config.title, + isSelected: o, + isPinned: + i.config.workspacesConfig.isPinned, + icon: i.config.workspacesConfig.icon, + showSaveButton: + null === + (t = + i.config.workspacesConfig + .showSaveButton) || + void 0 === t || + t, + showCloseButton: + null === + (n = + i.config.workspacesConfig + .showCloseButton) || + void 0 === n || + n, + layoutName: + i.config.workspacesConfig.layoutName + }; + }), + (this.decoratedFactory.createWorkspaceWindowTabsOptions = + function (e) { + var t, + n, + r = e.element, + i = e.contentItem, + o = + i.parent.contentItems.indexOf(i) === + (i.parent.config.activeItemIndex || 0); + return { + domNode: r, + groupId: K(i.parent.config.id), + placementId: K(i.config.id), + windowId: + null === + (t = i.config.componentState) || + void 0 === t + ? void 0 + : t.windowId, + workspaceId: K( + i.layoutManager.root.config.id + ), + title: i.config.title, + isSelected: o, + channels: { + color: "transparent", + visible: !1 + }, + close: { + title: ge, + visible: + null === + (n = + i.config.workspacesConfig + .showCloseButton) || + void 0 === n || + n + } + }; + }), + (this.decoratedFactory.createGroupHeaderButtonsOptions = + function (e) { + var t = e.element, + n = e.contentItem; + return { + isAddWindowPopupActive: !1, + domNode: t, + groupId: K(n.config.id), + workspaceId: + n.layoutManager.config.workspacesOptions + .workspaceId, + addWindow: { visible: !0, title: he }, + eject: { visible: !0, title: me }, + maximize: { + visible: !n.isMaximized, + title: fe + }, + restore: { + visible: n.isMaximized, + title: ve + } + }; + }))); + } + }, + { + key: "reInitialize", + value: function (e) { + ((null === e || void 0 === e ? void 0 : e.createLogo) && + this._visibilityState.logo && + e.createLogo(this._visibilityState.logo), + (null === e || void 0 === e + ? void 0 + : e.createAddWorkspace) && + this._visibilityState.addWorkspace && + e.createAddWorkspace( + this._visibilityState.addWorkspace + ), + (null === e || void 0 === e + ? void 0 + : e.createWorkspaceTabs) && + Object.values( + this._visibilityState.workspaceTabs + ).forEach(function (t) { + e.createWorkspaceTabs(t); + }), + (null === e || void 0 === e + ? void 0 + : e.createSystemButtons) && + this._visibilityState.systemButtons && + e.createSystemButtons( + this._visibilityState.systemButtons + ), + (null === e || void 0 === e + ? void 0 + : e.createWorkspaceContents) && + Object.values( + this._visibilityState.workspaceContents + ).forEach(function (t) { + e.createWorkspaceContents(t); + }), + (null === e || void 0 === e + ? void 0 + : e.createBeforeGroupTabs) && + Object.values( + this._visibilityState.beforeGroupTabs + ).forEach(function (t) { + e.createBeforeGroupTabs(t); + }), + (null === e || void 0 === e + ? void 0 + : e.createWorkspaceWindowTabs) && + Object.values( + this._visibilityState.workspaceWindowTabs + ).forEach(function (t) { + e.createWorkspaceWindowTabs(t); + }), + (null === e || void 0 === e + ? void 0 + : e.createAfterGroupTabs) && + Object.values( + this._visibilityState.afterGroupTabs + ).forEach(function (t) { + e.createAfterGroupTabs(t); + }), + (null === e || void 0 === e + ? void 0 + : e.createGroupHeaderButtons) && + Object.values( + this._visibilityState.groupHeaderButtons + ).forEach(function (t) { + e.createGroupHeaderButtons(t); + }), + (this._componentsFactory = e)); + } + }, + { + key: "onWorkspaceContentsShown", + value: function (e) { + this._callbackRegistry.add("workspace-contents-shown", e); + } + }, + { + key: "onWorkspaceContentsHidden", + value: function (e) { + this._callbackRegistry.add("workspace-contents-hidden", e); + } + }, + { + key: "notifyWorkspaceClosed", + value: function (e) { + this._callbackRegistry.execute( + "workspace-closed-".concat(e), + e + ); + } + }, + { + key: "notifyGroupClosed", + value: function (e) { + this._callbackRegistry.execute("group-closed-".concat(e), e); + } + }, + { + key: "notifyWindowClosed", + value: function (e) { + this._callbackRegistry.execute("window-closed-".concat(e), e); + } + }, + { + key: "onWorkspaceClosed", + value: function (e, t) { + return this._callbackRegistry.add( + "workspace-closed-".concat(e), + t + ); + } + }, + { + key: "onGroupClosed", + value: function (e, t) { + return this._callbackRegistry.add("group-closed-".concat(e), t); + } + }, + { + key: "onWindowClosed", + value: function (e, t) { + return this._callbackRegistry.add( + "window-closed-".concat(e), + t + ); + } + }, + { + key: "subscribeForWorkspaceContentsVisibility", + value: function (e) { + var t = document.getElementById(oe(e)); + t && + this._observer.observe(t, { + attributes: !0, + attributeFilter: ["style"] + }); + } + }, + { + key: "getWorkspaceIdFromContents", + value: function (e) { + return e.id.split("nestHere")[1]; + } + }, + { + key: "changeSelectedWorkspaceState", + value: function (e) { + var t = this._lastSelectedWorkspaceTab; + (t && + this.decoratedFactory.updateWorkspaceTabs({ + workspaceId: t.workspaceId, + isSelected: !1 + }), + (this._lastSelectedWorkspaceTab = e)); + } + }, + { + key: "changeSelectedWorkspaceWindowState", + value: function (e) { + var t = this._lastSelectedWorkspaceWindowTab[e.groupId]; + (t && + this.decoratedFactory.updateWorkspaceWindowTabs({ + placementId: t.placementId, + isSelected: !1 + }), + (this._lastSelectedWorkspaceWindowTab[e.groupId] = e)); + } + }, + { + key: "cleanupWorkspaceContents", + value: function (e) { + if (e) { + (this._componentsFactory.removeWorkspaceContents({ + workspaceId: e + }), + delete this._visibilityState.workspaceContents[e]); + var t = document.getElementById(oe(e)); + t && t.remove(); + } + } + }, + { + key: "setupCleanup", + value: function (e, t, n, r, i, o) { + var a = this, + s = function () {}, + c = function () {}, + u = function () {}, + d = function () { + (e && e({ elementId: n }), + delete a._visibilityState[t][n], + s(), + c(), + u()); + }; + (r && (s = this.onWindowClosed(r, d)), + i && (c = this.onGroupClosed(i, d)), + o && (u = this.onWorkspaceClosed(o, d))); + } + } + ]), + e + ); + })())(), + ke = (function () { + function e() { + (w(this, e), (this.workspaceLayoutElementId = "#outter-layout-container")); + } + return ( + x(e, [ + { + key: "showWorkspaceSaveButton", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + n.element.hasClass(e.HibernationIconClass) || + n.element.children(".lm_saveButton").show(); + } + }, + { + key: "hideWorkspaceSaveButton", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + n.element.hasClass(e.HibernationIconClass) || + n.element.children(".lm_saveButton").hide(); + } + }, + { + key: "showWorkspaceIconButton", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + if (n && !n.element.hasClass(e.HibernationIconClass)) { + var r = n.element.children(".lm_iconButton"); + (r.css("display", "flex"), + r.show(), + n.element + .find(".lm_iconButtonContent") + .css( + "-webkit-mask-image", + 'url("'.concat(t.icon, '")') + )); + } + } + }, + { + key: "hideWorkspaceIconButton", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + n && + !n.element.hasClass(e.HibernationIconClass) && + n.element.children(".lm_iconButton").hide(); + } + }, + { + key: "replaceWorkspaceSaveButtonWithIcon", + value: function (e) { + be.decoratedFactory.createWorkspaceTabs || + (this.hideWorkspaceSaveButton(e), + this.showWorkspaceIconButton(e)); + } + }, + { + key: "replaceWorkspaceIconButtonWithSave", + value: function (e) { + be.decoratedFactory.createWorkspaceTabs || + (this.hideWorkspaceIconButton(e), + this.showWorkspaceSaveButton(e)); + } + }, + { + key: "hideHibernatedIcon", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + n && + n.element + .children(".lm_saveButton") + .removeClass(e.HibernationIconClass); + } + }, + { + key: "showHibernationIcon", + value: function (t) { + var n = + t.workspaceTab || ae.getWorkspaceTabElement(t.workspaceId); + if (n) { + var r = n.element.children(".lm_saveButton"); + (r.is(":visible") || r.show(), + r.addClass(e.HibernationIconClass), + r.attr("title", "Hibernated")); + } + } + }, + { + key: "showSaveIcon", + value: function (t) { + var n = + t.workspaceTab || + ae.getWorkspaceTabElement(t.workspaceId), + r = ae.getById(t.workspaceId); + if (n) { + var i = n.element.children(".lm_saveButton"); + (i.removeClass(e.HibernationIconClass), + i.attr("title", "Save"), + r.layout && + !1 === + r.layout.config.workspacesOptions + .showSaveButton && + i.hide()); + } + } + }, + { + key: "showWorkspaceCloseButton", + value: function (e) { + var t = + e.workspaceTab || ae.getWorkspaceTabElement(e.workspaceId); + t && t.element.children(".lm_close_tab").show(); + } + }, + { + key: "hideWorkspaceCloseButton", + value: function (e) { + var t = + e.workspaceTab || ae.getWorkspaceTabElement(e.workspaceId); + t && t.element.children(".lm_close_tab").hide(); + } + }, + { + key: "addInvisibleStyle", + value: function (e) { + var t = document.createElement("style"); + ((t.type = "text/css"), + (t.innerHTML = + ".lm_content.transparent-color { background-color: ".concat( + e, + "; }" + )), + document.getElementsByTagName("head")[0].appendChild(t)); + } + }, + { + key: "makeContentInvisible", + value: function () { + $( + ".lm_item_container .lm_content .lm_item_container .lm_content" + ).addClass("transparent-color"); + } + }, + { + key: "hideWorkspaceRootItem", + value: function (e) { + var t = ae.getById(e); + (null === t || void 0 === t ? void 0 : t.layout) && + $(t.layout.root.contentItems[0].element[0]).hide(); + } + }, + { + key: "showWorkspaceRootItem", + value: function (e, t) { + var n = ae.getById(e); + (null === n || void 0 === n ? void 0 : n.layout) && + ($(n.layout.root.contentItems[0].element[0]).show(), + n.layout.root.getItemsByType("stack").forEach(function (e) { + t.refreshTabsMaxWidth(e.header.tabsContainer); + })); + } + }, + { + key: "waitForTransition", + value: function (e) { + return this.hasTransition(e) + ? new Promise(function (t) { + var n = function () {}, + r = function (r) { + r.pseudoElement || + r.path[0] !== e || + (t(), n()); + }, + i = function (r) { + r.pseudoElement || + r.path[0] !== e || + (t(), n()); + }; + ((n = function () { + (e.removeEventListener("transitionend", r), + e.removeEventListener("transitioncancel", i)); + }), + e.addEventListener("transitionend", r), + e.addEventListener("transitioncancel", i)); + }) + : Promise.resolve(); + } + }, + { + key: "changeTheme", + value: function (e, t) { + var n = $("html"); + (t.forEach(function (e) { + return n.removeClass(e); + }), + n.addClass(e)); + } + }, + { + key: "updateAddWorkspaceButtonActiveState", + value: function (e) { + if (!be.decoratedFactory.createAddWorkspace) { + var t = ae.workspaceLayoutHeader.element + .children(".lm_workspace_controls") + .children(".lm_add_button"); + e ? t.addClass("active") : t.removeClass("active"); + } + } + }, + { + key: "updateAddWindowButtonActiveState", + value: function (e, t) { + if (!be.decoratedFactory.createGroupHeaderButtons) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Cannot show add window button of " + .concat(n.type, " ") + .concat(n.config.id) + ); + var r = n.header.element + .children(".lm_controls") + .children(".lm_add_button"); + (null === r || void 0 === r || r.show(), + t ? r.addClass("active") : r.removeClass("active")); + } + } + }, + { + key: "getFrameLayoutContainerBounds", + value: function () { + return Z(this.getFrameLayoutContainer()); + } + }, + { + key: "getFrameLayoutContainer", + value: function () { + return $(this.workspaceLayoutElementId)[0]; + } + }, + { + key: "getFrameDecorationsSize", + value: function () { + var e = this.getFrameLayoutContainerBounds(); + return { + height: window.innerHeight - e.height, + width: window.innerWidth - e.width + }; + } + }, + { + key: "getWorkspaceDecorationsSize", + value: function (e) { + var t = this.getFrameLayoutContainerBounds(); + return { + height: t.height - e.height, + width: t.width - e.width + }; + } + }, + { + key: "getGroupDecorationsSize", + value: function (e) { + var t = ae.getContainer(e), + n = Z(t.element), + r = Z(t.contentItems[0].element); + return { + height: n.height - r.height, + width: n.width - r.width + }; + } + }, + { + key: "hasTransition", + value: function (e) { + return ( + "all 0s ease 0s" !== + window + .getComputedStyle(e, null) + .getPropertyValue("transition") + ); + } + } + ]), + e + ); + })(); + ke.HibernationIconClass = "lm_hibernationIcon"; + var xe = new ke(), + _e = (function () { + function e() { + w(this, e); + } + return ( + x(e, [ + { + key: "init", + value: function () { + ((this.containerElement = xe.getFrameLayoutContainer()), + this.setupEvents()); + } + }, + { + key: "refreshTabsMaxWidth", + value: function (e) { + var t = this, + n = e.children(), + r = this.visibleTabs($(e)).reduce(function (e, n) { + return e + t.getTabWidth(n); + }, 0); + (e.css("max-width", "".concat(r, "px")), + Array.from(n).forEach(function (e) { + var n = $(e).children(".lm_title"), + r = Z(e).width; + (n.css("max-width", "".concat(0.75 * r, "px")), + t.refreshTabClasses(e)); + })); + } + }, + { + key: "setupEvents", + value: function () { + var e = this, + t = new MutationObserver(function (t) { + Array.from(t).forEach(function (t) { + if ( + "childList" === t.type && + t.target.classList.contains("lm_tabs") + ) { + var n = $(t.target); + e.handleTabCountChanged( + n, + Array.from(t.removedNodes), + Array.from(t.addedNodes) + ); + } else if ( + "attributes" === t.type && + t.target.classList.contains("lm_stack") && + "style" === t.attributeName + ) { + var r = $(t.target); + e.handleTabHeaderResized(r); + } + }); + }); + return ( + t.observe(this.containerElement, { + childList: !0, + subtree: !0, + attributes: !0, + attributeFilter: ["style"], + attributeOldValue: !1, + characterData: !1, + characterDataOldValue: !1 + }), + function () { + t.disconnect(); + } + ); + } + }, + { + key: "handleTabCountChanged", + value: function (e, t, n) { + var r = this, + i = e.children(), + o = this.visibleTabs($(e)).reduce(function (e, t) { + return e + r.getTabWidth(t); + }, 0); + (e.css("max-width", "".concat(o, "px")), + Array.from(i).forEach(function (e) { + var n = $(e).children(".lm_title"), + i = Z(e).width; + (n.css("max-width", "".concat(0.75 * i, "px")), + t.length && r.refreshTabClasses(e)); + })); + } + }, + { + key: "handleTabHeaderResized", + value: function (e) { + var t = this, + n = e.children(".lm_header").children(".lm_tabs"), + r = this.visibleTabs($(n)); + r.forEach(function (e, n) { + var i = $(e).children(".lm_title"), + o = Z(r[n]).width; + (i.css("max-width", "".concat(0.75 * o, "px")), + t.refreshTabClasses(e)); + }); + } + }, + { + key: "refreshTabClasses", + value: function (e) { + var t = $(e).outerWidth(), + n = e.classList, + r = function () { + (n.remove("lm_tab_mini"), + n.remove("lm_tab_small"), + n.remove("lm_tab_mid")); + }; + this.isTabPinned(e) + ? r() + : t >= 35 && t < 55 + ? (n.remove("lm_tab_mini"), + n.remove("lm_tab_small"), + n.add("lm_tab_mid")) + : t >= 25 && t < 35 + ? (n.remove("lm_tab_mini"), + n.remove("lm_tab_mid"), + n.add("lm_tab_small")) + : t >= 55 + ? r() + : t < 25 && + (n.remove("lm_tab_mid"), + n.remove("lm_tab_small"), + n.add("lm_tab_mini")); + } + }, + { + key: "visibleTabs", + value: function (e) { + return Array.from(e.children()) + .filter(function (e) { + return $(e).is(":visible"); + }) + .map(function (e) { + return e; + }); + } + }, + { + key: "isTabPinned", + value: function (e) { + return e.classList.contains("lm_pinned"); + } + }, + { + key: "getTabWidth", + value: function (e) { + return this.isTabPinned(e) ? Z(e).width : 200; + } + } + ]), + e + ); + })(), + Ce = n(474).default || n(474), + Ie = (function () { + function e(t, n, r, i, o, a) { + (w(this, e), + (this.emitter = t), + (this._stateResolver = n), + (this._options = r), + (this._configFactory = i), + (this._wrapperFactory = o), + (this._layoutComponentsFactory = a), + (this._maximizedId = "__glMaximised"), + (this.getImmediateChildEmptyWindow = function (e) { + return "component" === e.type + ? e.config.componentName === se + ? e + : void 0 + : "stack" === e.type + ? e.getComponentsByName(se)[0] + : e.contentItems.reduce( + function (e, t) { + return ( + e || + ("component" === t.type + ? t.config.componentName === se + ? t + : void 0 + : t.contentItems.find(function (e) { + return ( + "component" === e.type && + e.config.componentName === se + ); + })) + ); + }, + void 0 + ); + })); + } + return ( + x(e, [ + { + key: "bounds", + get: function () { + return Z(document.getElementById("outter-layout-container")); + } + }, + { + key: "init", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (this._frameId = e.frameId), + (this._showLoadingIndicator = + e.showLoadingIndicator), + (this._tabObserver = new _e()), + this._tabObserver.init(), + (t.next = 6), + this.initWorkspaceConfig( + e.workspaceLayout + ) + ); + case 6: + return ( + this.refreshLayoutSize(), + (t.next = 9), + Promise.all( + e.workspaceConfigs.map( + function (e) { + return q( + n, + void 0, + void 0, + s().mark( + function t() { + return s().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + return ( + (t.next = 2), + this.initWorkspaceContents( + e.id, + e.config, + !1 + ) + ); + case 2: + this.emitter.raiseEvent( + "workspace-added", + { + workspace: + ae.getById( + e.id + ) + } + ); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + } + ) + ); + } + ) + ) + ); + case 9: + (this.setupOuterLayout(), + ae.workspaceIds.forEach( + function (e) { + n.setupContentLayouts( + e + ); + } + )); + case 11: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "reinit", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + this.reinitWorkspaceConfig( + e.workspaceLayout + ), + this.refreshLayoutSize(), + (t.next = 4), + Promise.all( + e.workspaceConfigs.map( + function (e) { + return q( + n, + void 0, + void 0, + s().mark( + function t() { + return s().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + return ( + (t.next = 2), + this.initWorkspaceContents( + e.id, + e.config, + !1 + ) + ); + case 2: + this.emitter.raiseEvent( + "workspace-added", + { + workspace: + ae.getById( + e.id + ) + } + ); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + } + ) + ); + } + ) + ) + ); + case 4: + (this._tabObserver.refreshTabsMaxWidth( + ae.workspaceLayoutHeader + .tabsContainer + ), + ae.workspaceIds.forEach( + function (e) { + n.setupContentLayouts( + e + ); + } + )); + case 6: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "addWindow", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + a, + c, + u, + d, + l, + p = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ( + ((t = + t || + K( + ae.workspaceLayout.root.contentItems[0].getActiveContentItem() + .config.id + )), + (r = ae.getByContainerId(t)), + !this._stateResolver.isWorkspaceHibernated( + r.id + )) + ) { + n.next = 4; + break; + } + throw new Error( + "Could not add window to ".concat( + r.id, + " because its hibernated" + ) + ); + case 4: + if (r.layout) { + n.next = 9; + break; + } + return ( + this.hideAddButton(r.id), + (n.next = 8), + this.initWorkspaceContents( + r.id, + e, + !0 + ) + ); + case 8: + return n.abrupt("return"); + case 9: + return ( + (i = + r.layout.root.getItemsByFilter( + function (e) { + return ( + e.isColumn || + e.isRow + ); + } + )[0]), + t && + t !== r.id && + (i = + r.layout.root.getItemsById( + t + )[0]), + i || + (i = + r.layout.root.getItemsByFilter( + function (e) { + return e.isStack; + } + )[0]), + (a = + this.getWindowInfoFromConfig( + e + )), + (c = a.placementId), + a.windowId, + a.url, + a.appName, + this._layoutComponentsFactory.registerWindowComponent( + r.layout, + K(c) + ), + (u = + this.getImmediateChildEmptyWindow( + i + )), + (d = ae.getWorkspaceContentItem( + r.id + )), + (l = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: r, + workspaceContentItem: + d + } + )), + "component" === e.type + ? this.applyLockConfig( + e, + i, + l, + t === r.id + ) + : [] + .concat( + o(Y(e.content)), + [e] + ) + .forEach( + function (e) { + p.applyLockConfig( + e, + i, + l, + t === r.id + ); + } + ), + n.abrupt( + "return", + new Promise(function (t) { + var n, + o, + a = + p.emitter.onContentComponentCreated( + function ( + e + ) { + e.config + .id === + c && + (a(), + t()); + } + ); + if ( + ("stack" === + r.layout.root + .contentItems[0] + .type && + "component" !== + e.type && + (e = Q([e])[0]), + u && + u.parent && + !(null === + (n = + u.parent + .config + .workspacesConfig) || + void 0 === n + ? void 0 + : n.wrapper)) + ) { + var s = + p._configFactory.wrapInGroup( + [e] + ); + s.workspacesConfig.wrapper = + !1; + var d = z( + (null === + (o = + u.parent + .config) || + void 0 === o + ? void 0 + : o.workspacesConfig) || + {}, + ["wrapper"] + ); + return ( + (s.workspacesConfig = + Object.assign( + Object.assign( + {}, + s.workspacesConfig + ), + d + )), + u.parent.parent.replaceChild( + u.parent, + s + ), + void (r.windows = + r.windows.filter( + function ( + e + ) { + return ( + e.id !== + K( + u + .config + .id + ) + ); + } + )) + ); + } + if (u) + return ( + u.parent.replaceChild( + u, + e + ), + void (r.windows = + r.windows.filter( + function ( + e + ) { + return ( + e.id !== + K( + u + .config + .id + ) + ); + } + )) + ); + i.addChild(e); + }) + ) + ); + case 19: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "addContainer", + value: function (e, t) { + var n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, + a, + c, + u, + d, + l, + p, + h, + f = this; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + ((i = ae.getByContainerId(t)), + !this._stateResolver.isWorkspaceHibernated( + i.id + )) + ) { + r.next = 3; + break; + } + throw new Error( + "Could not add container to ".concat( + i.id, + " because its hibernated" + ) + ); + case 3: + if (i.layout) { + r.next = 10; + break; + } + return ( + (a = + e.id || + this._configFactory.getId()), + e && (e.id = a), + this.hideAddButton(i.id), + (r.next = 9), + this.initWorkspaceContents( + i.id, + e, + !0 + ) + ); + case 9: + return r.abrupt("return", K(a)); + case 10: + if ( + ((c = + i.layout.root.getItemsByFilter( + function (e) { + return ( + e.isColumn || + e.isRow + ); + } + )[0]), + t && + (c = + i.layout.root.getItemsById( + t + )[0]), + c || + (c = + i.layout.root.getItemsByFilter( + function (e) { + return e.isStack; + } + )[0]), + i.id === t && + ("column" === e.type || + "stack" === e.type + ? this.bundleWorkspace( + i.id, + "row" + ) + : "row" === e.type && + this.bundleWorkspace( + i.id, + "column" + ), + (c = + i.layout.root + .contentItems[0])), + e.content && + Q(e.content).forEach( + function (e) { + f._layoutComponentsFactory.registerWindowComponent( + i.layout, + K(e.id) + ); + } + ), + e.content && + ((u = [].concat( + o(Y(e.content)), + [e] + )), + (d = + ae.getWorkspaceContentItem( + i.id + )), + (l = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: i, + workspaceContentItem: + d + } + )), + u.forEach(function (e) { + f.applyLockConfig( + e, + c, + l, + t === i.id + ); + })), + "component" !== c.type) + ) { + r.next = 18; + break; + } + throw new Error( + "The target item for add container can't be a component" + ); + case 18: + return ( + (p = c.contentItems.find( + function (e) { + return ( + "stack" === + e.type && + !0 === + e.config + .workspacesConfig + .wrapper + ); + } + )), + (h = + (null === + (n = + null === p || + void 0 === p + ? void 0 + : p + .contentItems[0]) || + void 0 === n + ? void 0 + : n.config + .componentName) === + se), + r.abrupt( + "return", + new Promise(function ( + t, + n + ) { + var r = function () {}, + o = setTimeout( + function () { + (r(), + n( + "Component with id ".concat( + e.id, + " could not be created in 10000ms" + ) + )); + }, + 1e4 + ); + if ( + ((r = + f.emitter.onContentItemCreated( + function ( + n, + a + ) { + n === + i.id && + a.type === + e.type && + (t( + K( + a + .config + .id + ) + ), + r(), + clearTimeout( + o + )); + } + )), + 1 === + (null === p || + void 0 === p + ? void 0 + : p + .contentItems + .length) && + h) + ) { + var a = + c.getComponentsByName( + se + )[0]; + ((i.windows = + i.windows.filter( + function ( + e + ) { + return ( + e.id !== + a + .config + .id + ); + } + )), + a.parent.replaceChild( + a, + e + )); + } else c.addChild(e); + }) + ) + ); + case 21: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "closeContainer", + value: function (e) { + var t = ae.getByContainerId(e) || ae.getByWindowId(e); + if (!t) + throw new Error( + "Could not find container ".concat( + e, + " to close in any workspace" + ) + ); + var n = t.layout.root.getItemsById(e)[0]; + n.parent.isRoot ? this.resetWorkspace(t.id) : n.remove(); + } + }, + { + key: "bundleWorkspace", + value: function (e, t) { + var n = this, + r = ae.getById(e), + i = r.layout.root.contentItems.map(function (e) { + var t; + return null === + (t = n._wrapperFactory.getContainerWrapper({ + itemId: e.config.id + })) || void 0 === t + ? void 0 + : t.config; + }), + o = r.layout.root.contentItems[0], + a = { type: t, content: i, workspacesConfig: {} }; + r.layout.root.replaceChild(o, a); + } + }, + { + key: "bundleItem", + value: function (e, t) { + var n, + r = ae.getContainer(e); + if (!r) + throw new Error( + "Cannot find item " + .concat(e, " to bundle it into a ") + .concat(t) + ); + if (r.parent.type === t) + throw new Error( + "Cannot bundle item " + .concat(e, " to ") + .concat(t, " because its parent is a ") + .concat(r.parent.type) + ); + var i = { + type: t, + content: [ + null === + (n = this._wrapperFactory.getContainerWrapper({ + itemId: e + })) || void 0 === n + ? void 0 + : n.config + ], + workspacesConfig: {} + }; + r.parent.replaceChild(r, i); + } + }, + { + key: "hideAddButton", + value: function (e) { + $("#".concat(oe(e))) + .children(".add-button") + .hide(); + } + }, + { + key: "showAddButton", + value: function (e) { + $("#".concat(oe(e))) + .children(".add-button") + .show(); + } + }, + { + key: "addWorkspace", + value: function (e, t) { + var n, r, i, o; + return q( + this, + void 0, + void 0, + s().mark(function a() { + var c, + u, + d, + l, + p, + h, + f, + v = this; + return s().wrap( + function (a) { + for (;;) + switch ((a.prev = a.next)) { + case 0: + if ( + ((c = + ae.workspaceLayout.root.getItemsByFilter( + function (e) { + return e.isStack; + } + )[0]), + (u = { + componentName: + this._configFactory.getWorkspaceLayoutComponentName( + e + ), + type: "component", + workspacesConfig: + Object.assign( + {}, + t.workspacesOptions + ), + id: e, + noTabHeader: + null === + (n = + null === t || + void 0 === t + ? void 0 + : t.workspacesOptions) || + void 0 === n + ? void 0 + : n.noTabHeader, + title: + (null === + (r = + null === t || + void 0 === t + ? void 0 + : t.workspacesOptions) || + void 0 === r + ? void 0 + : r.title) || + this._configFactory.getWorkspaceTitle( + this._stateResolver.getWorkspaceTitles() + ) + }), + (d = !0), + !0 === u.noTabHeader + ? (d = !1) + : "boolean" === + typeof t + .workspacesOptions + .selected && + (d = + t.workspacesOptions + .selected), + this._layoutComponentsFactory.registerWorkspaceComponent( + e + ), + (l = + null === + (i = + t.workspacesOptions) || + void 0 === i + ? void 0 + : i.positionIndex), + null === + (o = t.workspacesOptions) || + void 0 === o || + delete o.positionIndex, + !(l < 0)) + ) { + a.next = 9; + break; + } + throw new Error( + "Cannot place the workspace on index ".concat( + l, + " because its negative" + ) + ); + case 9: + if ( + ((p = + c.header._getLastIndexOfPinnedTab()), + !(l <= p) || + t.workspacesOptions + .isPinned) + ) { + a.next = 12; + break; + } + throw new Error( + "Cannot place and unpinned workspace before the last pinned workspace at position ".concat( + p + ) + ); + case 12: + return ( + c.addChild(u, l, d), + (a.next = 15), + this.initWorkspaceContents( + e, + t, + !1 + ) + ); + case 15: + ((h = + ae.getWorkspaceContentItem(e)), + !1 === + (f = + this._wrapperFactory.getWorkspaceWrapper( + { + workspaceId: e, + workspaceContentItem: + h + } + )).showCloseButton && + xe.hideWorkspaceCloseButton( + { workspaceTab: h.tab } + ), + !1 === f.showSaveButton && + xe.hideWorkspaceSaveButton({ + workspaceTab: h.tab + }), + f.isPinned && + (xe.replaceWorkspaceSaveButtonWithIcon( + { + workspaceTab: h.tab, + icon: f.icon + } + ), + xe + .waitForTransition( + h.tab.element[0] + ) + .then(function () { + v._tabObserver.refreshTabsMaxWidth( + h.parent.header + .tabsContainer + ); + })), + this.setupContentLayouts(e)); + case 21: + case "end": + return a.stop(); + } + }, + a, + this + ); + }) + ); + } + }, + { + key: "reinitializeWorkspace", + value: function (e, t) { + var n, + r, + i = ae.getWorkspaceContentItem(e); + return ( + ae.removeLayout(e), + (null === (n = t.workspacesOptions) || void 0 === n + ? void 0 + : n.reuseWorkspaceId) && + delete t.workspacesOptions.reuseWorkspaceId, + (null === (r = t.workspacesOptions) || void 0 === r + ? void 0 + : r.title) && + this.setWorkspaceTitle( + K(i.config.id), + t.workspacesOptions.title + ), + this.initWorkspaceContents(e, t, !1) + ); + } + }, + { + key: "removeWorkspace", + value: function (e) { + var t = ae.getWorkspaceLayoutItemById(e); + if (!t) + throw new Error( + "Could not find workspace to remove with id ".concat(e) + ); + (ae.getById(e) && ae.removeLayout(e), + ae.removeById(e), + t.remove()); + } + }, + { + key: "resetWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + (((n = + ae.getById( + e + )).hibernatedWindows = []), + n.windows + .filter(function (e) { + return ( + e.appName || + e.windowId + ); + }) + .forEach(function (e) { + var t = + ae.getWindowContentItem( + e.id + ); + t && + r.emitter.raiseEvent( + "tab-close-requested", + { item: t } + ); + }), + n.layout.root + .getItemsByType("component") + .forEach(function (e) { + e.remove(); + }), + ae.removeLayout(n.id), + this.showAddButton(n.id)); + case 7: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "getDragElement", + value: function () { + return $(".lm_dragProxy")[0]; + } + }, + { + key: "setDragElementSize", + value: function (e, t) { + var n = this, + r = this.getDragElement(); + if (r) { + (r.setAttribute("width", "".concat(e, "px")), + r.setAttribute("height", "".concat(t, "px"))); + var i = $(r) + .children(".lm_content") + .children(".lm_item_container")[0]; + (i.setAttribute("width", "".concat(e, "px")), + i.setAttribute("height", "".concat(t, "px")), + i.setAttribute("style", "")); + } else { + var o = new MutationObserver(function (r) { + var i; + (Array.from(r).forEach(function (e) { + var t = $(e.addedNodes); + i || (i = t.find(".lm_dragProxy")); + }), + i && (o.disconnect(), n.setDragElementSize(e, t))); + }); + o.observe($("body")[0], { childList: !0, subtree: !0 }); + } + } + }, + { + key: "removeLayoutElement", + value: function (e) { + var t; + return ( + ae.layouts + .filter(function (e) { + return e.layout; + }) + .forEach(function (n) { + var r = n.layout.root.getItemsById(e)[0]; + r && + n.windows.find(function (t) { + return t.id === e; + }) && + ((n.windows = n.windows.filter(function (t) { + return t.id !== e; + })), + r.remove(), + (t = n)); + }), + t + ); + } + }, + { + key: "setWindowTitle", + value: function (e, t) { + var n = ae.getWindowContentItem(e); + if (!n) + throw new Error( + "Could not find window " + .concat(e, " to change its title to ") + .concat(t) + ); + (n.setTitle(t), + (n.config.componentState.title = t), + be.decoratedFactory.updateWorkspaceWindowTabs({ + placementId: K(n.config.id), + title: t + })); + } + }, + { + key: "setWorkspaceTitle", + value: function (e, t) { + (ae.getWorkspaceLayoutItemById(e).setTitle(t), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: e, + title: t + })); + } + }, + { + key: "focusWindow", + value: function (e) { + var t = ae.getByWindowId(e); + if (!t) + throw new Error( + "Could not find workspace for window ".concat(e) + ); + if (this._stateResolver.isWorkspaceHibernated(t.id)) + throw new Error( + "Could not focus window " + .concat(e, " because the workspace ") + .concat(t.id, " is hibernated") + ); + var n = t.layout.root.getItemsById(e)[0]; + n.parent.setActiveContentItem(n); + } + }, + { + key: "focusWorkspace", + value: function (e) { + var t = ae.getWorkspaceLayoutItemById(e); + t.parent.setActiveContentItem(t); + } + }, + { + key: "maximizeWindow", + value: function (e) { + var t = ae.getByWindowId(e); + if (!t) + throw new Error( + "Could not find workspace for window ".concat(e) + ); + if (this._stateResolver.isWorkspaceHibernated(t.id)) + throw new Error( + "Could not maximize window " + .concat(e, " because the workspace ") + .concat(t.id, " is hibernated") + ); + var n = t.layout.root.getItemsById(e)[0]; + n.parent.hasId(this._maximizedId) || + (n.parent.layoutManager._$maximiseItem(n.parent), + (n.parent.isMaximized = n.parent.hasId("__glMaximised"))); + } + }, + { + key: "restoreWindow", + value: function (e) { + var t = ae.getByWindowId(e); + if (!t) + throw new Error( + "Could not find workspace for window ".concat(e) + ); + if (this._stateResolver.isWorkspaceHibernated(t.id)) + throw new Error( + "Could not restore window " + .concat(e, " because the workspace ") + .concat(t.id, " is hibernated") + ); + var n = t.layout.root.getItemsById(e)[0]; + n.parent.hasId(this._maximizedId) && + (n.parent.layoutManager._$minimiseItem(n.parent), + (n.parent.isMaximized = n.parent.hasId("__glMaximised"))); + } + }, + { + key: "maximizeContainer", + value: function (e) { + var t = ae.getContainer(e); + if (!t) + throw new Error( + "Could not find item " + .concat(e, " in frame ") + .concat(this._frameId) + ); + t.hasId("__glMaximised") || + (t.layoutManager._$maximiseItem(t), + (t.isMaximized = t.hasId("__glMaximised"))); + } + }, + { + key: "restoreContainer", + value: function (e) { + var t = ae.getContainer(e); + if (!t) + throw new Error( + "Could not find item " + .concat(e, " in frame ") + .concat(this._frameId) + ); + t.hasId("__glMaximised") && + (t.layoutManager._$minimiseItem(t), + (t.isMaximized = t.hasId("__glMaximised"))); + } + }, + { + key: "showLoadedWindow", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i, o; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this.waitForWindowContainer(e) + ); + case 2: + ((r = ae.getWindowContentItem(e)), + (i = ae.getByWindowId(e)), + ((o = + r.config).componentState.windowId = + t), + (i.windows.find(function (t) { + return t.id === e; + }).windowId = t), + r.parent.replaceChild(r, o)); + case 8: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "isWindowVisible", + value: function (e) { + e = K(e); + var t = ae.getWindowContentItem(e).parent; + return ( + 1 === t.contentItems.length || + t.getActiveContentItem().config.id === e + ); + } + }, + { + key: "showHibernationIcon", + value: function (e) { + var t, + n = + null === (t = ae.getWorkspaceContentItem(e)) || + void 0 === t + ? void 0 + : t.tab; + if (n) { + var r = n.element.children(".lm_saveButton"); + (r.addClass("lm_hibernationIcon"), + r.attr("title", "hibernated")); + } + } + }, + { + key: "showSaveIcon", + value: function (e) { + var t, + n = + null === (t = ae.getWorkspaceContentItem(e)) || + void 0 === t + ? void 0 + : t.tab; + if (n) { + var r = n.element.children(".lm_saveButton"); + (r.removeClass("lm_hibernationIcon"), + r.attr("title", "save")); + } else console.error("Could not find the tab for", e); + } + }, + { + key: "hideLoadingIndicator", + value: function (e) { + var t = ae.getWindowContentItem(e); + if (null === t || void 0 === t ? void 0 : t.tab) { + var n = + t.tab.element[0].getElementsByClassName( + "lm_hibernationIcon" + )[0]; + null === n || void 0 === n || n.remove(); + } + } + }, + { + key: "refreshWorkspaceSize", + value: function (e) { + var t = document.getElementById(oe(e)), + n = ae.getById(e); + if (t && (null === n || void 0 === n ? void 0 : n.layout)) { + var r = Z(t); + n.layout.updateSize(r.width, r.height); + } + } + }, + { + key: "resizeRow", + value: function (e, t) { + var n = e.getItemsByType("component")[0], + r = this.validateRowHeight(e, t); + if (r) { + if ("number" === typeof t) r -= te(n.parent.header.element); + this.resizeComponentCore(n, void 0, r); + } + } + }, + { + key: "resizeColumn", + value: function (e, t) { + var n = e.getItemsByType("component")[0], + r = this.validateColumnWidth(e, t); + r && this.resizeComponentCore(n, r); + } + }, + { + key: "resizeStack", + value: function (e, t, n) { + var r = this.validateStackWidth(e, t), + i = this.validateStackHeight(e, n), + o = e.getItemsByType("component")[0]; + "number" === typeof i && (i -= te(o.parent.header.element)); + this.resizeComponentCore(o, r, i); + } + }, + { + key: "resizeComponent", + value: function (e, t, n) { + this.resizeComponentCore(e, t, n); + } + }, + { + key: "togglePinWorkspace", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).isPinned + ? this.unpinWorkspace(e) + : this.pinWorkspace(e, void 0); + } + }, + { + key: "pinWorkspace", + value: function (e, t) { + var n = this, + r = ae.getWorkspaceContentItem(e), + i = this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e, + workspaceContentItem: r + }), + o = t || i.icon; + if (!o) + throw new Error( + "Workspace " + .concat(e, " cannot be pinned because ") + .concat(o, " is an invalid icon") + ); + (r.tab.pin(), + t && (i.icon = t), + xe.replaceWorkspaceSaveButtonWithIcon({ + workspaceTab: r.tab, + icon: o + }), + xe.waitForTransition(r.tab.element[0]).then(function () { + n._tabObserver.refreshTabsMaxWidth( + r.parent.header.tabsContainer + ); + }), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: e, + icon: t, + isPinned: !0 + })); + } + }, + { + key: "unpinWorkspace", + value: function (e) { + var t = this, + n = ae.getWorkspaceContentItem(e), + r = this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e, + workspaceContentItem: n + }); + (n.tab.unpin(), + r.showSaveButton && + xe.showWorkspaceSaveButton({ workspaceTab: n.tab }), + r.showCloseButton || + xe.hideWorkspaceCloseButton({ workspaceTab: n.tab }), + xe.hideWorkspaceIconButton({ workspaceTab: n.tab }), + xe.waitForTransition(n.tab.element[0]).then(function () { + t._tabObserver.refreshTabsMaxWidth( + n.parent.header.tabsContainer + ); + }), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: e, + isPinned: !1 + })); + } + }, + { + key: "hideWorkspaceRootItem", + value: function (e) { + xe.hideWorkspaceRootItem(e); + } + }, + { + key: "showWorkspaceRootItem", + value: function (e) { + xe.showWorkspaceRootItem(e, this._tabObserver); + } + }, + { + key: "refreshTabSizes", + value: function (e) { + var t, n, r; + (null !== + (r = + null === + (n = + null === (t = ae.getById(e)) || void 0 === t + ? void 0 + : t.layout) || void 0 === n + ? void 0 + : n.root.getItemsByType("stack")) && void 0 !== r + ? r + : [] + ).forEach(function (e) { + var t; + return null === (t = e.header) || void 0 === t + ? void 0 + : t._updateTabSizesWithoutDropdown(); + }); + } + }, + { + key: "resizeComponentCore", + value: function (e, t, n) { + var r = this.validateComponentWidth(e, t), + i = this.validateComponentHeight(e, n); + if ("number" === typeof r) { + var o = e.container.setSize(r, void 0); + if ((e.container.setSize(r, void 0), !o)) + throw new Error( + "Failed to resize window " + .concat(e.config.id, " to ") + .concat( + r, + " width.\n This is most likely caused by a missing row parent element - to change the width please make sure that there is a row element" + ) + ); + } + if ("number" === typeof i) { + var a = e.container.setSize(void 0, i); + if ((e.container.setSize(void 0, i), !a)) + throw new Error( + "Failed to resize component " + .concat(e.config.id, " to ") + .concat( + i, + " height.\n This is most likely caused by a missing column parent element - to change the height please make sure that there is a column element" + ) + ); + } + } + }, + { + key: "validateRowHeight", + value: function (e, t) { + if (t) { + var n = e.parent, + r = n.getMaxHeight(), + i = e.getMaxHeight(), + o = e.getMinHeight(), + a = Z(n.element).height, + s = + a - + n.contentItems + .filter(function (t) { + return t !== e; + }) + .reduce(function (e, t) { + return (e += t.getMinHeight()); + }, 0); + if (!(s <= 0)) { + var c = n.contentItems + .filter(function (t) { + return t !== e; + }) + .reduce(function (e, t) { + return (e += t.getMaxHeight()); + }, 0), + u = Math.max(a - c, 0), + d = Math.min(r, i, s), + l = Math.max(u, o); + if (!(d < l)) return Math.min(Math.max(l, t), d); + } + } + } + }, + { + key: "validateColumnWidth", + value: function (e, t) { + if (t) { + var n = e.parent, + r = n.getMaxWidth(), + i = e.getMaxWidth(), + o = e.getMinWidth(), + a = Z(n.element).width, + s = + a - + n.contentItems + .filter(function (t) { + return t !== e; + }) + .reduce(function (e, t) { + return (e += t.getMinWidth()); + }, 0); + if (!(s <= 0)) { + var c = n.contentItems + .filter(function (t) { + return t !== e; + }) + .reduce(function (e, t) { + return (e += t.getMaxWidth()); + }, 0), + u = Math.max(a - c, 0), + d = Math.min(r, i, s), + l = Math.max(u, o); + if (!(d < l)) return Math.min(Math.max(l, t), d); + } + } + } + }, + { + key: "validateStackHeight", + value: function (e, t) { + if (t) { + var n = e.getMaxHeight(), + r = e.getMinHeight(); + if (!(n < r)) return Math.min(Math.max(r, t), n); + } + } + }, + { + key: "validateStackWidth", + value: function (e, t) { + if (t) { + var n = e.getMaxWidth(), + r = e.getMinWidth(); + if (!(n < r)) return Math.min(Math.max(r, t), n); + } + } + }, + { + key: "validateComponentHeight", + value: function (e, t) { + if (t) { + var n = e.getMaxHeight(), + r = e.getMinHeight(); + if (!(n < r)) return Math.min(Math.max(r, t), n); + } + } + }, + { + key: "validateComponentWidth", + value: function (e, t) { + if (t) { + var n = e.getMaxWidth(), + r = e.getMinWidth(); + if (!(n < r)) return Math.min(Math.max(r, t), n); + } + } + }, + { + key: "initWorkspaceContents", + value: function (e, t, n) { + var r = this; + if (!t || ("component" !== t.type && !t.content.length)) + return ( + ae.addOrUpdate(e, []), + this.showAddButton(e), + Promise.resolve() + ); + var i = (function (e, t) { + var n, + r, + i = 0, + o = setTimeout(function () { + r(); + }, t || 1e4); + return { + reject: function (e) { + (clearTimeout(o), r(e)); + }, + signal: function () { + ++i >= e && (clearTimeout(o), n()); + }, + promise: new Promise(function (e, t) { + ((n = e), (r = t)); + }) + }; + })(2); + (t.settings || + (t.settings = + this._configFactory.getDefaultWorkspaceSettings()), + t.type && + "workspace" !== t.type && + (t = { + settings: + this._configFactory.getDefaultWorkspaceSettings(), + content: [t] + })); + var o = ae.getWorkspaceContentItem(e), + a = o.config.workspacesConfig, + s = t.workspacesOptions, + c = n ? Object.assign({}, a, s) : s; + ("boolean" === typeof c.selected && delete c.selected, + (o.config.workspacesConfig = c), + (t.workspacesOptions = c), + (t.workspacesOptions.workspaceId = e)); + var u = new V(t, $("#".concat(oe(e))), be.decoratedFactory); + (ae.addOrUpdate(e, []), + this._layoutComponentsFactory.registerEmptyWindowComponent( + u, + e + ), + Q(t.content).forEach(function (e) { + r._layoutComponentsFactory.registerWindowComponent( + u, + K(e.id) + ); + })); + var d = $("#".concat(oe(e))); + return ( + new Ce(function () { + r.emitter.raiseEvent("workspace-container-resized", { + workspaceId: e + }); + }).observe(d[0]), + u.on("initialised", function () { + var t = Q(u.toConfig().content); + (ae.addOrUpdate( + e, + t.map(function (e) { + var t = u.root.getItemsById(K(e.id))[0].element; + return { + id: K(e.id), + bounds: Z(t), + windowId: e.componentState.windowId + }; + }), + u + ), + r.emitter.raiseEvent("content-layout-init", { + layout: u + })); + var n = Z(d); + (u.updateSize(n.width, n.height), i.signal()); + }), + u.on("stateChanged", function () { + r.emitter.raiseEvent("content-layout-state-changed", { + layoutId: e + }); + }), + u.on("itemCreated", function (t) { + var n, i; + if (t.isComponent) + (t.on("size-changed", function () { + var n = ae + .getById(e) + .windows.find(function (e) { + return e.id === t.config.id; + }); + n && (n.bounds = Z(t.element)); + var i = t.config.id; + r.emitter.raiseEvent("content-item-resized", { + target: t.element[0], + id: K(i) + }); + }), + (t.config.componentName === se || + (null === (n = t.parent) || void 0 === n + ? void 0 + : n.config.workspacesConfig.wrapper)) && + (null === (i = t.tab) || + void 0 === i || + i.header.position(!1))); + else { + if (t.isRoot) + return void ( + (t.id && t.id.length) || + t.addId(e) + ); + ((t.config.id && t.config.id.length) || + t.addId(r._configFactory.getId()), + ("row" !== t.type && + "column" !== t.type && + "stack" !== t.type) || + (t.on("maximized", function () { + r.emitter.raiseEvent( + "container-maximized", + { container: t } + ); + }), + t.on("minimized", function () { + r.emitter.raiseEvent( + "container-restored", + { container: t } + ); + }))); + } + r.emitter.raiseEvent("content-item-created", { + workspaceId: e, + item: t + }); + }), + u.on("itemDestroyed", function (t) { + (r.emitter.raiseEvent("content-item-removed", { + workspaceId: e, + item: t + }), + "component" === t.type && + r._layoutComponentsFactory.unregisterWindowComponent( + u, + t.config.componentName + )); + }), + u.on("stackCreated", function (e) { + var t = r._wrapperFactory.getContainerWrapper({ + containerContentItem: e + }); + (!1 === t.showMaximizeButton && + r.hideMaximizeButton(e, t.id), + !1 === + u.config.workspacesOptions.showEjectButtons && + !0 !== t.showEjectButton && + r.hideEjectButton(e, t.id), + !1 === t.showEjectButton && + r.hideEjectButton(e, t.id), + !1 === + u.config.workspacesOptions + .showAddWindowButtons && + !0 !== t.showAddWindowButton && + r.hideAddWindowButton(e, t.id), + !1 === t.showAddWindowButton && + r.hideAddWindowButton(e, t.id), + e.on("activeContentItemChanged", function () { + var t = e.getActiveContentItem(); + if (t.isComponent) { + var n = t.config.id, + i = [ + { + id: K(t.config.id), + bounds: Z(t.element), + windowId: + t.config.componentState + .windowId, + appName: + t.config.componentState + .appName, + url: t.config.componentState.url + } + ], + o = e.header.tabs + .reduce(function (e, t) { + var n = t.contentItem.config; + if ("component" === n.type) { + var r = { + id: K(n.id), + bounds: Z( + t.contentItem + .element + ), + windowId: + n.componentState + .windowId, + appName: + n.componentState + .appName, + url: n.componentState + .url + }; + e.push(r); + } + return e; + }, []) + .filter(function (e) { + return e.id !== n; + }); + (r.emitter.raiseEvent( + "tab-selection-changed", + { item: t } + ), + r.emitter.raiseEvent( + "selection-changed", + { toBack: o, toFront: i } + )); + } + }), + e.on("popoutRequested", function () { + var t = e.getActiveContentItem(); + r.emitter.raiseEvent("eject-requested", { + item: t + }); + })); + }), + u.on("tabCreated", function (e) { + if ( + (e._dragListener.on("drag", function () { + r.emitter.raiseEvent("tab-drag", { tab: e }); + }), + e._dragListener.on("dragStart", function () { + r.emitter.raiseEvent("tab-drag-start", { + tab: e + }); + }), + e._dragListener.on("dragStop", function () { + r.emitter.raiseEvent("tab-drag-end", { + tab: e + }); + }), + e.element.on("mousedown", function () { + r.emitter.raiseEvent("tab-element-mouse-down", { + tab: e + }); + }), + r.refreshTabSizeClass(e), + r._showLoadingIndicator && + "component" === + (null === e || void 0 === e + ? void 0 + : e.contentItem.type) && + !r._stateResolver.isWindowLoaded( + e.contentItem.config.id + )) + ) { + var t = document.createElement("div"); + (t.classList.add( + "lm_saveButton", + "lm_hibernationIcon" + ), + e.element[0].prepend(t)); + } + }), + u.on("tabCloseRequested", function (e) { + r.emitter.raiseEvent("tab-close-requested", { + item: e.contentItem + }); + }), + u.on("componentCreated", function (t) { + var n = r.emitter.raiseEvent( + "content-component-created", + { component: t, workspaceId: e } + ); + Array.isArray(n) + ? Promise.all(n) + .then(function () { + i.signal(); + }) + .catch(function (e) { + return i.reject(e); + }) + : n + .then(function () { + i.signal(); + }) + .catch(function (e) { + return i.reject(e); + }); + }), + u.on("activeContentItemChanged", function (t) { + r.emitter.raiseEvent( + "workspace-global-selection-changed", + { component: t, workspaceId: e } + ); + }), + u.on("itemDropped", function (e) { + r.emitter.raiseEvent("item-dropped", { item: e }); + }), + (u._ignorePinned = !0), + u.init(), + i.promise.then(function () { + u._ignorePinned = !1; + }) + ); + } + }, + { + key: "initWorkspaceConfig", + value: function (e) { + var t = this; + return new Promise(function (n) { + ((e.settings.selectionEnabled = !0), + (ae.workspaceLayout = new V( + e, + $(xe.getFrameLayoutContainer()), + be.decoratedFactory + )), + new Ce(function (e) { + Array.from(e).forEach(function (e) { + t.emitter.raiseEvent( + "outer-layout-container-resized", + { target: e.target } + ); + }); + }).observe($("#outter-layout-container")[0]), + t.registerWorkspaceComponents(e), + ae.workspaceLayout.on("initialised", function () { + (t.emitter.raiseEvent( + "workspace-layout-initialised", + {} + ), + ae.workspaceLayout.root + .getItemsByType("stack")[0] + .header.tabs.forEach(function (e) { + var n, + r, + i, + o = + t._wrapperFactory.getWorkspaceWrapper( + { + workspace: void 0, + workspaceContentItem: + e.contentItem + } + ); + (o.isPinned && + (xe.replaceWorkspaceSaveButtonWithIcon( + { + workspaceTab: e, + icon: o.icon + } + ), + xe + .waitForTransition(e.element[0]) + .then(function () { + t._tabObserver.refreshTabsMaxWidth( + e.contentItem.parent + .header + .tabsContainer + ); + })), + (null === + (i = + null === + (r = + null === + (n = + e.contentItem) || + void 0 === n + ? void 0 + : n.config) || + void 0 === r + ? void 0 + : r.workspacesConfig) || + void 0 === i + ? void 0 + : i.selected) && + delete e.contentItem.config + .workspacesConfig.selected); + }), + n()); + }), + ae.workspaceLayout.on("stackCreated", function (e) { + var n = + e.header.controlsContainer.children( + ".lm_close" + )[0]; + n && + (n.onclick = function () { + t.emitter.raiseEvent("close-frame", {}); + }); + var r = e.header.element[0]; + (new MutationObserver(function () { + var e = t.getElementByClass(r, "lm_add_button"); + e && + be.decoratedFactory.createAddWorkspace && + (e.onclick = function (n) { + (n.stopPropagation(), + t.emitter.raiseEvent( + "workspace-add-button-clicked", + { bounds: Z(e) } + )); + }); + }).observe(e.header.element[0], { + attributes: !1, + childList: !0, + subtree: !0 + }), + e.on("activeContentItemChanged", function () { + return q( + t, + void 0, + void 0, + s().mark(function t() { + var n, r, i, a; + return s().wrap( + function (t) { + for (;;) + switch ( + (t.prev = t.next) + ) { + case 0: + if ( + 0 !== + ae + .workspaceIds + .length + ) { + t.next = 2; + break; + } + return t.abrupt( + "return" + ); + case 2: + return ( + (n = + e.getActiveContentItem()), + (r = + n.config + .id), + (t.next = 6), + this.waitForLayout( + K(r) + ) + ); + case 6: + ((i = + ae.workspaceIds.reduce( + function ( + e, + t + ) { + return [].concat( + o( + e + ), + o( + ae.getById( + t + ) + .windows + ) + ); + }, + [] + )), + (a = i), + this.emitter.raiseEvent( + "workspace-selection-changed", + { + workspace: + ae.getById( + r + ), + toBack: a + } + )); + case 9: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + })); + }), + ae.workspaceLayout.on("itemCreated", function (e) { + e.isComponent && + e.on("size-changed", function () { + (t.emitter.raiseEvent( + "workspace-content-container-resized", + { target: e, id: K(e.config.id) } + ), + t.emitter.raiseEventWithDynamicName( + "workspace-content-container-resized-".concat( + e.config.id + ), + e + )); + }); + }), + ae.workspaceLayout.on("tabCreated", function (e) { + var n = document.createElement("div"), + r = document.createElement("div"), + i = document.createElement("span"); + (r.classList.add("lm_iconButton"), + i.classList.add("lm_iconButtonContent"), + r.appendChild(i), + n.classList.add("lm_saveButton"), + (n.onclick = function (n) { + t.emitter.raiseEvent( + "workspace-save-requested", + { + workspaceId: K( + e.contentItem.config.id + ) + } + ); + }), + t._options.disableCustomButtons || + (be.decoratedFactory.createWorkspaceTabs || + (e.element[0].prepend(r), + e.element[0].prepend(n)), + (e.element[0].onclick = function (e) { + (-1 !== e.composedPath().indexOf(n) && + document.activeElement.blur(), + e.stopPropagation()); + })), + t.refreshTabSizeClass(e)); + var o = ae.getById(e.contentItem.config.id), + a = t._wrapperFactory.getWorkspaceWrapper({ + workspace: o, + workspaceContentItem: e.contentItem + }); + (!1 === a.showSaveButton && + xe.hideWorkspaceSaveButton({ workspaceTab: e }), + !1 === a.showCloseButton && + xe.hideWorkspaceCloseButton({ + workspaceTab: e + }), + e._dragListener.on("reorderStop", function () { + ae.syncWorkspaceOrder(); + })); + }), + ae.workspaceLayout.on( + "tabCloseRequested", + function (e) { + t.emitter.raiseEvent( + "workspace-tab-close-requested", + { + workspace: ae.getById( + e.contentItem.config.id + ) + } + ); + } + ), + ae.workspaceLayout.on("itemDestroyed", function (e) { + "component" === e.type && + t._layoutComponentsFactory.unregisterWorkspaceComponent( + e.config.componentName + ); + }), + ae.workspaceLayout.on("itemDestroyed", function (e) { + t.emitter.raiseEvent("workspace-tab-destroyed", { + workspaceId: K(e.config.id) + }); + }), + ae.workspaceLayout.init()); + }); + } + }, + { + key: "reinitWorkspaceConfig", + value: function (e) { + var t = e.content[0]; + if ("stack" !== t.type) + throw new Error( + "Cannot reinitialize the frame with config ".concat( + JSON.stringify(e) + ) + ); + (this.registerWorkspaceComponents(e), + ae.workspaceLayout.root + .getItemsByType("stack")[0] + .replaceChildren(t.content)); + } + }, + { + key: "setupOuterLayout", + value: function () { + this.emitter.onOuterLayoutContainerResized(function (e) { + var t = Z(e); + ae.workspaceLayout.updateSize(t.width, t.height); + }); + } + }, + { + key: "setupContentLayouts", + value: function (e) { + var t = this.emitter.onContentContainerResized(function (t) { + var n, + r = + null === (n = ae.getById(e)) || void 0 === n + ? void 0 + : n.layout; + if (r) { + var i = $("#".concat(oe(e))), + o = Z(i[0]); + r.updateSize(o.width, o.height); + } + }, e), + n = this.emitter.onWorkspaceTabDestroyed(function (r) { + r === e && (t(), n()); + }); + } + }, + { + key: "waitForLayout", + value: function (e) { + var t = this; + return new Promise(function (n) { + var r = t.emitter.onContentLayoutInit(function (t) { + t.root.config.id === e && (n(), r()); + }); + ae.getById(e) && (n(), r()); + }); + } + }, + { + key: "waitForWindowContainer", + value: function (e) { + var t = this; + return new Promise(function (n) { + var r = t.emitter.onContentComponentCreated(function (t) { + t.config.id === e && (n(), r()); + }); + ae.getWindowContentItem(e) && (n(), r()); + }); + } + }, + { + key: "getWindowInfoFromConfig", + value: function (e) { + return "component" !== e.type + ? this.getWindowInfoFromConfig(e.content[0]) + : { + placementId: K(e.id), + windowId: e.componentState.windowId, + appName: e.componentState.appName, + url: e.componentState.url + }; + } + }, + { + key: "refreshLayoutSize", + value: function () { + var e = xe.getFrameLayoutContainerBounds(); + ae.workspaceLayout.updateSize(e.width, e.height); + } + }, + { + key: "refreshTabSizeClass", + value: function (e) { + var t = e.header.tabs, + n = t + .map(function (e) { + return e.element; + }) + .some(function (e) { + return e.hasClass("lm_tab_small"); + }), + r = t + .map(function (e) { + return e.element; + }) + .some(function (e) { + return e.hasClass("lm_tab_mini"); + }); + (n && e.element.addClass("lm_tab_small"), + r && e.element.addClass("lm_tab_mini")); + } + }, + { + key: "getElementByClass", + value: function (e, t) { + var n = e.getElementsByClassName(t); + if (n.length > 1) + throw new Error( + "Multiple elements with class " + .concat(t, " in element with id ") + .concat(e.id, " and class ") + .concat(e.className, " are not supported") + ); + return n[0]; + } + }, + { + key: "applyLockConfig", + value: function (e, t, n, r) { + var i, + o, + a, + s, + c, + u = r ? n.allowDrop : t.config.workspacesConfig.allowDrop, + d = r + ? n.allowSplitters + : t.config.workspacesConfig.allowSplitters; + if ("stack" === e.type) { + if ( + ("undefined" === typeof e.workspacesConfig.allowDrop && + (e.workspacesConfig.allowDrop = + null !== (i = e.workspacesConfig.allowDrop) && + void 0 !== i + ? i + : u), + "undefined" === typeof e.workspacesConfig.allowExtract) + ) { + var l = n.allowExtract; + e.workspacesConfig.allowExtract = + null !== (o = e.workspacesConfig.allowExtract) && + void 0 !== o + ? o + : l; + } + if ( + "undefined" === typeof e.workspacesConfig.allowReorder + ) { + var p = n.allowWindowReorder; + e.workspacesConfig.allowReorder = + null !== (a = e.workspacesConfig.allowReorder) && + void 0 !== a + ? a + : p; + } + ("undefined" === + typeof e.workspacesConfig.showAddWindowButton && + (e.workspacesConfig.showAddWindowButton = + n.showAddWindowButtons), + "undefined" === + typeof e.workspacesConfig.showEjectButton && + (e.workspacesConfig.showEjectButton = + n.showEjectButtons)); + } else if ("row" === e.type || "column" === e.type) + ("undefined" === typeof e.workspacesConfig.allowDrop && + (e.workspacesConfig.allowDrop = + null !== (s = e.workspacesConfig.allowDrop) && + void 0 !== s + ? s + : u), + "undefined" === + typeof e.workspacesConfig.allowSplitters && + (e.workspacesConfig.allowSplitters = + null !== + (c = e.workspacesConfig.allowSplitters) && + void 0 !== c + ? c + : d)); + else if ("component" === e.type) { + if ( + "undefined" === typeof e.workspacesConfig.allowExtract + ) { + var h = r + ? n.allowExtract + : t.config.workspacesConfig.allowExtract; + e.workspacesConfig.allowExtract = h; + } + if ( + "undefined" === typeof e.workspacesConfig.allowReorder + ) { + var f = r + ? n.allowWindowReorder + : t.config.workspacesConfig.allowReorder; + e.workspacesConfig.allowReorder = f; + } + "undefined" === typeof e.workspacesConfig.showCloseButton && + (e.workspacesConfig.showWindowCloseButtons = + n.showWindowCloseButtons); + } + } + }, + { + key: "registerWorkspaceComponents", + value: function (e) { + var t = this; + e.content[0].content.forEach(function (e) { + var n = e.id; + t._layoutComponentsFactory.registerWorkspaceComponent(K(n)); + }); + } + }, + { + key: "hideMaximizeButton", + value: function (e, t) { + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: t, + maximize: { visible: !1 }, + restore: { visible: !1 } + }); + } + }, + { + key: "hideEjectButton", + value: function (e, t) { + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: t, + eject: { visible: !1 } + }); + } + }, + { + key: "hideAddWindowButton", + value: function (e, t) { + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: t, + addWindow: { visible: !1 } + }); + } + } + ]), + e + ); + })(), + Se = (function () { + function e(t) { + (w(this, e), (this._registry = t)); + } + return ( + x(e, [ + { + key: "onWorkspaceLayoutInit", + value: function (e) { + return this._registry.add("workspace-layout-initialised", e); + } + }, + { + key: "onContentLayoutInit", + value: function (e) { + return this._registry.add("content-layout-init", e); + } + }, + { + key: "onOuterLayoutContainerResized", + value: function (e) { + return this._registry.add("outer-layout-container-resized", e); + } + }, + { + key: "onContentContainerResized", + value: function (e, t) { + return t + ? this._registry.add( + "workspace-content-container-resized-".concat(t), + e + ) + : this._registry.add( + "workspace-content-container-resized", + e + ); + } + }, + { + key: "onWorkspaceContainerResized", + value: function (e) { + return this._registry.add("workspace-container-resized", e); + } + }, + { + key: "onContentItemResized", + value: function (e) { + return this._registry.add("content-item-resized", e); + } + }, + { + key: "onContentComponentCreated", + value: function (e) { + return this._registry.add("content-component-created", e); + } + }, + { + key: "onFrameCloseRequested", + value: function (e) { + return this._registry.add("close-frame", e); + } + }, + { + key: "onRestoreRequested", + value: function (e) { + return this._registry.add("restore-frame", e); + } + }, + { + key: "onMaximizeRequested", + value: function (e) { + return this._registry.add("maximize-frame", e); + } + }, + { + key: "onMinimizeRequested", + value: function (e) { + return this._registry.add("minimize-frame", e); + } + }, + { + key: "onMoveAreaChanged", + value: function (e) { + return this._registry.add("move-area-changed", e); + } + }, + { + key: "onTabCloseRequested", + value: function (e) { + return this._registry.add("tab-close-requested", e); + } + }, + { + key: "onTabDragStart", + value: function (e) { + return this._registry.add("tab-drag-start", e); + } + }, + { + key: "onTabDrag", + value: function (e) { + return this._registry.add("tab-drag", e); + } + }, + { + key: "onTabDragEnd", + value: function (e) { + return this._registry.add("tab-drag-end", e); + } + }, + { + key: "onTabElementMouseDown", + value: function (e) { + return this._registry.add("tab-element-mouse-down", e); + } + }, + { + key: "onSelectionChanged", + value: function (e) { + return this._registry.add("selection-changed", e); + } + }, + { + key: "onWorkspaceAdded", + value: function (e) { + return this._registry.add("workspace-added", e); + } + }, + { + key: "onWorkspaceSelectionChanged", + value: function (e) { + return this._registry.add("workspace-selection-changed", e); + } + }, + { + key: "onWorkspaceTabCloseRequested", + value: function (e) { + return this._registry.add("workspace-tab-close-requested", e); + } + }, + { + key: "onAddButtonClicked", + value: function (e) { + return this._registry.add("add-button-clicked", e); + } + }, + { + key: "onContentLayoutStateChanged", + value: function (e) { + return this._registry.add("content-layout-state-changed", e); + } + }, + { + key: "onContentItemCreated", + value: function (e) { + return this._registry.add("content-item-created", e); + } + }, + { + key: "onWorkspaceAddButtonClicked", + value: function (e) { + return this._registry.add("workspace-add-button-clicked", e); + } + }, + { + key: "onWorkspaceSaveRequested", + value: function (e) { + return this._registry.add("workspace-save-requested", e); + } + }, + { + key: "onContainerMaximized", + value: function (e) { + return this._registry.add("container-maximized", e); + } + }, + { + key: "onContainerRestored", + value: function (e) { + return this._registry.add("container-restored", e); + } + }, + { + key: "onEjectRequested", + value: function (e) { + return this._registry.add("eject-requested", e); + } + }, + { + key: "onComponentSelectedInWorkspace", + value: function (e) { + return this._registry.add( + "workspace-global-selection-changed", + e + ); + } + }, + { + key: "onItemDropped", + value: function (e) { + return this._registry.add("item-dropped", e); + } + }, + { + key: "onContentItemRemoved", + value: function (e) { + return this._registry.add("content-item-removed", e); + } + }, + { + key: "onWorkspaceLockConfigurationChanged", + value: function (e) { + return this._registry.add( + "workspace-lock-configuration-changed", + e + ); + } + }, + { + key: "onContainerLockConfigurationChanged", + value: function (e) { + return this._registry.add( + "container-lock-configuration-changed", + e + ); + } + }, + { + key: "onWindowLockConfigurationChanged", + value: function (e) { + return this._registry.add( + "window-lock-configuration-changed", + e + ); + } + }, + { + key: "onWorkspaceTabDestroyed", + value: function (e) { + return this._registry.add("workspace-tab-destroyed", e); + } + }, + { + key: "onTabSelectionChanged", + value: function (e) { + return this._registry.add("tab-selection-changed", e); + } + }, + { + key: "raiseEvent", + value: function (e, t) { + var n, + r = (n = this._registry).execute.apply( + n, + [e].concat(o(Object.values(t))) + ); + return (Array.isArray(r) && + r.some(function (e) { + return e && e.then; + })) || + (r && !Array.isArray(r) && r.then) + ? r + : Promise.resolve(r); + } + }, + { + key: "raiseEventWithDynamicName", + value: function (e) { + for ( + var t, + n = arguments.length, + r = new Array(n > 1 ? n - 1 : 0), + i = 1; + i < n; + i++ + ) + r[i - 1] = arguments[i]; + (t = this._registry).execute.apply(t, [e].concat(r)); + } + } + ]), + e + ); + })(), + Ee = (function () { + function e(t, n) { + (w(this, e), + (this._registry = we()), + (this._idToFrame = {}), + (this._glue = t), + (this._platformCommunicator = n)); + } + return ( + x(e, [ + { + key: "startFrame", + value: function (e, t, n, r, i) { + return q( + this, + void 0, + void 0, + s().mark(function o() { + return s().wrap( + function (o) { + for (;;) + switch ((o.prev = o.next)) { + case 0: + return o.abrupt( + "return", + this.startCore(e, t, n, r, i) + ); + case 1: + case "end": + return o.stop(); + } + }, + o, + this + ); + }) + ); + } + }, + { + key: "moveFrame", + value: function (e, t) { + var n = this._idToFrame[e], + r = $(n); + (0 !== t.width && + 0 !== t.height && + (r.css("top", "".concat(t.top, "px")), + r.css("left", "".concat(t.left, "px"))), + r.css("width", "".concat(t.width, "px")), + r.css("height", "".concat(t.height, "px"))); + } + }, + { + key: "selectionChanged", + value: function (e, t) { + var n = this; + (t.forEach(function (e) { + $(n._idToFrame[e]).css("z-index", "-1"); + }), + e.forEach(function (e) { + $(n._idToFrame[e]).hasClass("maximized-active-tab") + ? $(n._idToFrame[e]).css( + "z-index", + n.getMaximizedFrameZIndex() + ) + : $(n._idToFrame[e]).css("z-index", "19"); + })); + } + }, + { + key: "maximizeTab", + value: function (e) { + $(this._idToFrame[e]).addClass("maximized-active-tab"); + } + }, + { + key: "restoreTab", + value: function (e) { + $(this._idToFrame[e]).removeClass("maximized-active-tab"); + } + }, + { + key: "selectionChangedDeep", + value: function (e, t) { + var n = this; + (t.forEach(function (e) { + $(n._idToFrame[e]).css("z-index", "-1"); + }), + e.forEach(function (e) { + $(n._idToFrame[e]).hasClass("maximized-active-tab") + ? $(n._idToFrame[e]).css("z-index", "42") + : $(n._idToFrame[e]).css("z-index", "19"); + })); + } + }, + { + key: "bringToFront", + value: function (e) { + $(this._idToFrame[e]).css("z-index", "999"); + } + }, + { + key: "remove", + value: function (e) { + var t = this._idToFrame[e]; + t && + (delete this._idToFrame[e], + t.remove(), + this._registry.execute("frame-removed", e)); + } + }, + { + key: "onFrameLoaded", + value: function (e) { + return this._registry.add("frameLoaded", e); + } + }, + { + key: "onFrameRemoved", + value: function (e) { + return this._registry.add("frame-removed", e); + } + }, + { + key: "onFrameContentClicked", + value: function (e) { + return this._registry.add("frame-content-clicked", e); + } + }, + { + key: "onWindowTitleChanged", + value: function (e) { + return this._registry.add("window-title-changed", e); + } + }, + { + key: "hasFrame", + value: function (e) { + return !!this._idToFrame[e]; + } + }, + { + key: "getWindowId", + value: function (e) { + if (this.hasFrame(e)) + return this._idToFrame[e].name.split("#wsp")[0]; + } + }, + { + key: "startCore", + value: function (e, t, n, r, i) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var o, a; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ( + ((r = r || ie()), + !this._idToFrame[e]) + ) { + n.next = 3; + break; + } + return n.abrupt( + "return", + this._idToFrame[e] + ); + case 3: + if (t) { + n.next = 5; + break; + } + throw new Error( + "The url of window with itemId ".concat( + e, + " is undefined" + ) + ); + case 5: + return ( + ((o = + document.createElement( + "iframe" + )).name = "".concat( + r, + "#wsp" + )), + (o.loading = "lazy"), + (o.style.top = "30000px"), + (o.style.width = "30000px"), + (o.style.width = "0px"), + (o.style.height = "0px"), + (o.src = t), + (n.next = 15), + this.getSandboxSettingsForApp(i) + ); + case 15: + return ( + (a = n.sent) && + o.setAttribute( + "sandbox", + a.flags + ), + document.body.appendChild(o), + this._registry.execute( + "frameLoaded", + e + ), + o.setAttribute("id", e), + $(o).css( + "position", + "absolute" + ), + (this._idToFrame[e] = o), + (n.next = 24), + this.waitForWindow(r) + ); + case 24: + return n.abrupt("return", o); + case 25: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "waitForWindow", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i = function () {}, + o = setTimeout(function () { + (r( + "Window with id ".concat( + e, + " did not appear in 5000ms" + ) + ), + i()); + }, 5e3); + ((i = t._glue.windows.onWindowAdded(function (t) { + t.id === e && (i(), n(), clearTimeout(o)); + })), + t._glue.windows.list().find(function (t) { + return t.id === e; + }) && (n(), i(), clearTimeout(o))); + }); + } + }, + { + key: "getMaximizedFrameZIndex", + value: function () { + return "42"; + } + }, + { + key: "getSandboxSettingsForApp", + value: function (e) { + var t, n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, o, a; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (r.next = 2), + this._platformCommunicator.askForSettings() + ); + case 2: + return ( + (i = r.sent), + (o = i.iframeSandbox), + (a = + this._glue.appManager.application( + e + )), + r.abrupt( + "return", + (null === + (n = + null === + (t = + null === + a || + void 0 === a + ? void 0 + : a.userProperties) || + void 0 === t + ? void 0 + : t.details) || + void 0 === n + ? void 0 + : n.workspacesSandbox) || + o + ) + ); + case 6: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + } + ]), + e + ); + })(), + We = new ((function () { + function e() { + (w(this, e), (this.LAST_SESSION_KEY = "g42_workspace_frame_cache")); + } + return ( + x(e, [ + { + key: "get", + value: function (e) { + return JSON.parse(sessionStorage.getItem(e)); + } + }, + { + key: "set", + value: function (e, t) { + sessionStorage.setItem(e, JSON.stringify(t)); + } + } + ]), + e + ); + })())(), + Te = new ((function () { + function e() { + w(this, e); + } + return ( + x(e, [ + { + key: "config", + get: function () { + return this._config; + } + }, + { + key: "loadConfig", + value: function () { + var e, + t = new URLSearchParams(window.location.search), + n = t.get(ce), + r = t.get("disableCustomButtons"), + i = t.get("workspaceName"), + o = t.get("workspaceNames"), + a = t.get("context"), + s = t.get("build"), + c = []; + try { + c = JSON.parse(o) || c; + } catch (d) {} + try { + e = JSON.parse(a); + } catch (d) {} + i && c.push(i); + var u = { + emptyFrame: null != n && void 0 !== n, + disableCustomButtons: null != r && void 0 !== r, + workspaceNames: c, + context: e, + build: null !== s && void 0 !== s + }; + return ((this._config = u), this.cleanUpUrl(), u); + } + }, + { + key: "cleanUpUrl", + value: function () { + var e = this.removeQueryParams(window.location.search, [ce]); + window.history.replaceState( + null, + document.title, + window.location.origin + window.location.pathname + e + ); + } + }, + { + key: "removeQueryParams", + value: function (e, t) { + return ( + t.forEach(function (t) { + var n = new URLSearchParams(e), + r = n.get(t); + Array.from(n.keys()).indexOf(t) > -1 && + (e = e.replace("".concat(t, "=").concat(r), "")); + }), + "&" === e[e.length - 1] && (e = e.substr(0, e.length - 1)), + (e = (e = e.replace("&&", "&")).replace("?&", "?")) + ); + } + } + ]), + e + ); + })())(), + Ae = (function () { + function e(t, n, r, i, o, a) { + (w(this, e), + (this.resolver = t), + (this._glue = n), + (this._configFactory = r), + (this._configConverter = i), + (this._constraintsValidator = o), + (this._platformCommunicator = a), + (this._layoutsType = "Workspace"), + (this._layoutComponentType = "Workspace")); + } + return ( + x(e, [ + { + key: "getInitialConfig", + value: function () { + var e; + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i, + o, + a, + c = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if (!this._initialWorkspaceConfig) { + t.next = 2; + break; + } + return t.abrupt( + "return", + this._configFactory.generateInitialConfig( + this._initialWorkspaceConfig + ) + ); + case 2: + if ( + !(n = Te.config) + .workspaceNames || + !n.workspaceNames.length + ) { + t.next = 14; + break; + } + return ( + (t.next = 6), + Promise.all( + n.workspaceNames.map( + function (e) { + return q( + c, + void 0, + void 0, + s().mark( + function t() { + return s().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + return ( + (t.next = 2), + this.getWorkspaceByName( + e + ) + ); + case 2: + return t.abrupt( + "return", + t.sent + ); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + } + ) + ); + } + ) + ) + ); + case 6: + if ( + ((r = t.sent), + (i = r.map(function (e) { + return ( + (e.config.workspacesOptions = + e.config + .workspacesOptions || + {}), + (e.config.workspacesOptions.context = + e.layoutData.context), + e.config + ); + })), + !(o = i.filter(function (e) { + return e; + })).length) + ) { + t.next = 12; + break; + } + return ( + o.forEach(function (e, t) { + ((e.id = + c._configFactory.getId()), + (e.workspacesOptions = + e.workspacesOptions || + {}), + n.context && + e.workspacesOptions + .context + ? (e.workspacesOptions.context = + Object.assign( + e + .workspacesOptions + .context, + n.context + )) + : n.context && + (e.workspacesOptions.context = + n.context), + (e.workspacesOptions.layoutName = + n.workspaceNames[ + t + ])); + }), + t.abrupt( + "return", + this._configFactory.generateInitialConfig( + o + ) + ) + ); + case 12: + t.next = 19; + break; + case 14: + if ( + null === (e = Te.config) || + void 0 === e + ? void 0 + : e.build + ) { + t.next = 19; + break; + } + if ( + !(a = this.getLastSession()) || + !a.length + ) { + t.next = 19; + break; + } + return ( + a.forEach(function (e) { + e && + (e.id = + c._configFactory.getId()); + }), + t.abrupt( + "return", + this._configFactory.generateInitialConfig( + a + ) + ) + ); + case 19: + return t.abrupt( + "return", + this._configFactory.getDefaultFrameConfig( + this.resolver.getWorkspaceTitles() + ) + ); + case 20: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "getLastSession", + value: function () { + var e, + t = this; + if ( + null === + (e = + this._platformCommunicator.platformConfig + .workspacesFrameCache) || + void 0 === e || + e + ) + return (We.get(We.LAST_SESSION_KEY) || []) + .filter(function (e) { + return e; + }) + .map(function (e) { + return ( + t.addWorkspaceIds(e), + t._configConverter.convertToRendererConfig(e) + ); + }); + } + }, + { + key: "getSavedWorkspaceNames", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + var t, + n, + r = this; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this._glue.layouts.getAll( + this._layoutsType + ) + ); + case 2: + return ( + (t = e.sent), + (n = t.filter(function (e) { + return ( + e.type === + r._layoutsType + ); + })), + e.abrupt( + "return", + n.map(function (e) { + return e.name; + }) + ) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "export", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return e.abrupt( + "return", + this._glue.layouts.export( + this._layoutsType + ) + ); + case 1: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "getWorkspaceByName", + value: function (e) { + var t, n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, o, a; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (r.next = 2), + this._glue.layouts.get( + e, + this._layoutsType + ) + ); + case 2: + return ( + (i = r.sent), + (o = i.components[0].state), + this._constraintsValidator.fixWorkspace( + o + ), + (a = + this._configConverter.convertToRendererConfig( + o + )), + null === + (t = + null === a || + void 0 === a + ? void 0 + : a.workspacesOptions) || + void 0 === t || + delete t.positionIndex, + this.addWorkspaceIds(a), + r.abrupt("return", { + config: a, + layoutData: { + metadata: i.metadata, + name: e, + context: + null !== + (n = + o.context) && + void 0 !== n + ? n + : {} + } + }) + ); + case 9: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "delete", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this._glue.layouts.remove( + this._layoutsType, + e + ) + ); + case 2: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "save", + value: function (e) { + var t; + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i, o, a, c, u; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ( + ((r = e.workspace), + (i = e.name), + (o = e.saveContext), + r.layout || r.hibernateConfig) + ) { + n.next = 3; + break; + } + throw new Error( + "An empty layout cannot be saved" + ); + case 3: + return ( + (( + (null === (t = r.layout) || + void 0 === t + ? void 0 + : t.config) || + r.hibernateConfig + ).workspacesOptions.name = i), + (n.next = 6), + this.saveWorkspaceCore(r, i) + ); + case 6: + if ( + ((a = n.sent).config.title && + delete a.config.title, + (c = void 0), + !o) + ) { + n.next = 18; + break; + } + return ( + (n.prev = 10), + (n.next = 13), + this.getWorkspaceContext(r.id) + ); + case 13: + ((c = n.sent), (n.next = 18)); + break; + case 16: + ((n.prev = 16), + (n.t0 = n.catch(10))); + case 18: + return ( + (u = { + name: i, + type: this._layoutsType, + metadata: e.metadata, + components: [ + { + type: this + ._layoutComponentType, + state: { + children: + a.children, + config: a.config, + context: + null !== + c && + void 0 !== c + ? c + : {} + } + } + ] + }), + (n.prev = 19), + (n.next = 22), + this._glue.layouts.import( + [u], + "merge" + ) + ); + case 22: + n.next = 28; + break; + case 24: + throw ( + (n.prev = 24), + (n.t1 = n.catch(19)), + console.error(n.t1), + n.t1 + ); + case 28: + return n.abrupt("return", u); + case 29: + case "end": + return n.stop(); + } + }, + n, + this, + [ + [10, 16], + [19, 24] + ] + ); + }) + ); + } + }, + { + key: "generateLayout", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if (t.layout) { + n.next = 2; + break; + } + throw new Error( + "An empty layout cannot be generated" + ); + case 2: + return ( + (t.layout.config.workspacesOptions.name = + e), + (n.next = 5), + this.saveWorkspaceCore(t, e) + ); + case 5: + return ( + (r = n.sent).config.title && + delete r.config.title, + n.abrupt("return", { + name: e, + type: this._layoutsType, + metadata: {}, + components: [ + { + type: this + ._layoutComponentType, + state: { + children: + r.children, + config: r.config, + context: {} + } + } + ] + }) + ); + case 8: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "saveWorkspacesFrame", + value: function (e) { + var t, n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, + o, + a = this; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + null === + (n = + null === + (t = + this + ._platformCommunicator + .platformConfig) || + void 0 === t + ? void 0 + : t.workspacesFrameCache) || + void 0 === n || + n + ) { + r.next = 3; + break; + } + return r.abrupt("return"); + case 3: + return ( + (i = e.map(function (e) { + return a.saveWorkspaceCoreSync( + e + ); + })), + (r.next = 6), + Promise.all(i) + ); + case 6: + ((o = r.sent), + We.set(We.LAST_SESSION_KEY, o)); + case 8: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "setInitialWorkspaceConfig", + value: function (e) { + this._initialWorkspaceConfig = e; + } + }, + { + key: "applyWindowLayoutState", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r = this; + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (n = function e(t) { + return q( + r, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ( + (n.prev = + n.next) + ) { + case 0: + if ( + "window" !== + t.type + ) { + n.next = 9; + break; + } + if ( + t + .config + .appName !== + pe && + t + .config + .appName + ) { + n.next = 7; + break; + } + return ( + (t.config.appName = + pe), + (n.next = 5), + this.getWindowLayoutState( + t + .config + .windowId + ) + ); + case 5: + ((r = + n.sent), + (t.config.noAppWindowState = + r)); + case 7: + n.next = 10; + break; + case 9: + t.children.forEach( + function ( + t + ) { + e( + t + ); + } + ); + case 10: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + }), + (t.next = 3), + Promise.all( + e.children.map(function (e) { + return q( + r, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + return ( + (t.next = 2), + n( + e + ) + ); + case 2: + case "end": + return t.stop(); + } + }, + t + ); + }) + ); + }) + ) + ); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "removeWorkspaceItemIds", + value: function (e) { + !(function e(t) { + var n; + ("id" in t && delete t.id, + "window" !== t.type && + (null === (n = t.children) || + void 0 === n || + n.forEach(function (t) { + return e(t); + }))); + })(e); + } + }, + { + key: "removeWorkspaceWindowWindowIds", + value: function (e) { + !(function e(t) { + var n; + ("window" === t.type && delete t.config.windowId, + "window" !== t.type && + (null === (n = t.children) || + void 0 === n || + n.forEach(function (t) { + return e(t); + }))); + })(e); + } + }, + { + key: "applySavedContexts", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = X(e)), + (i = r + .map(function (e) { + return e.config + .windowId; + }) + .filter(function (e) { + return e; + })), + (n.next = 4), + this._platformCommunicator.requestOnLayoutSaveContexts( + { + layoutName: + t.layoutName, + layoutType: + t.layoutType, + context: t.context, + windowIds: i + } + ) + ); + case 4: + n.sent.forEach(function (e) { + var t = e.windowId, + n = e.windowContext; + r.find(function (e) { + return ( + e.config.windowId === t + ); + }).config.context = n; + }); + case 6: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "saveWorkspaceCore", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if (e.layout || e.hibernateConfig) { + n.next = 2; + break; + } + return n.abrupt("return", void 0); + case 2: + return ( + (r = + this.resolver.getWorkspaceConfig( + e.id + )).workspacesOptions + .layoutName && + delete r.workspacesOptions + .layoutName, + (i = + this._configConverter.convertToAPIConfig( + r + )), + this.removeWorkspaceItemIds(i), + (n.next = 8), + this.applyWindowLayoutState(i) + ); + case 8: + return ( + (n.next = 10), + this.applySavedContexts(i, { + layoutName: t, + layoutType: "Workspace" + }) + ); + case 10: + return ( + this.windowSummariesToWindowLayout( + i + ), + this.workspaceSummaryToWorkspaceLayout( + i + ), + n.abrupt("return", i) + ); + case 13: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "saveWorkspaceCoreSync", + value: function (e) { + if (e.layout || e.hibernateConfig) { + var t = this.resolver.getWorkspaceConfig(e.id), + n = this._configConverter.convertToAPIConfig(t); + return ( + this.removeWorkspaceItemIds(n), + this.windowSummariesToWindowLayout(n), + this.workspaceSummaryToWorkspaceLayout(n), + n + ); + } + } + }, + { + key: "windowSummariesToWindowLayout", + value: function (e) { + !(function e(t) { + if ("window" === t.type) + return ( + delete t.config.isLoaded, + delete t.config.windowId, + delete t.config.workspaceId, + delete t.config.frameId, + delete t.config.positionIndex, + void (t.config.appName && delete t.config.url) + ); + t.children.forEach(function (t) { + return e(t); + }); + })(e); + } + }, + { + key: "workspaceSummaryToWorkspaceLayout", + value: function (e) { + (null === e || void 0 === e ? void 0 : e.config) && + (delete e.config.frameId, delete e.config.positionIndex); + } + }, + { + key: "addWorkspaceIds", + value: function (e) { + var t = this; + if (e) { + !(function e(n) { + ((n.id = t._configFactory.getId()), + n.type && + "component" === n.type && + (n.componentName = "app".concat(n.id)), + "component" !== n.type && + n.content && + n.content.forEach(function (t) { + return e(t); + })); + })(e); + } + } + }, + { + key: "removeWorkspaceIds", + value: function (e) { + !(function e(t) { + ("id" in t && delete t.id, + "component" === + (null === t || void 0 === t ? void 0 : t.type) && + ((t.componentName = "placeHolderId"), + (t.title = "placeHolderId")), + "component" !== t.type && + t.content && + t.content.forEach(function (t) { + return e(t); + })); + })(e); + } + }, + { + key: "getWorkspaceContext", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this._glue.contexts.get(ee(e)) + ); + case 2: + return t.abrupt("return", t.sent); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "getWindowLayoutState", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (n = + this._glue.windows.findById( + e + )), + (t.t0 = {}), + (t.next = 4), + n.getURL() + ); + case 4: + return ( + (t.t1 = t.sent), + (t.t2 = { url: t.t1 }), + t.abrupt("return", { + bounds: t.t0, + createArgs: t.t2 + }) + ); + case 7: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + } + ]), + e + ); + })(), + Pe = (function () { + function e(t, n, r, i, o) { + (w(this, e), + (this._frameId = t), + (this._layoutEventEmitter = n), + (this.frameController = r), + (this.converter = i), + (this.wrapperFactory = o)); + } + return ( + x(e, [ + { + key: "getWindowSummary", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((e = Array.isArray(e) + ? e[0] + : e), + (n = + ae.getWindowContentItem(e))) + ) { + t.next = 6; + break; + } + return ( + (t.next = 5), + this.waitForWindowContentItem(e) + ); + case 5: + n = ae.getWindowContentItem(e); + case 6: + return ( + (r = + this.wrapperFactory.getWindowWrapper( + { windowContentItem: n } + )), + t.abrupt("return", r.summary) + ); + case 8: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "getWindowSummarySync", + value: function (e, t) { + e = Array.isArray(e) ? e[0] : e; + var n = t || ae.getWindowContentItem(e); + return this.wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).summary; + } + }, + { + key: "getWorkspaceConfig", + value: function (e) { + var t = ae.getById(e); + if (!t) + throw new Error( + "Could find workspace to remove with id ".concat(e) + ); + return this.wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceId: t.id + }).config; + } + }, + { + key: "getWorkspaceSnapshot", + value: function (e, t, n) { + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (i = + this.getWorkspaceSnapshotSync( + e, + t + )), + (r.next = 3), + t.layoutsManager.applyWindowLayoutState( + i + ) + ); + case 3: + return ( + n && + (t.layoutsManager.removeWorkspaceItemIds( + i + ), + t.layoutsManager.removeWorkspaceWindowWindowIds( + i + )), + (r.t0 = e), + (r.t1 = i.children), + (r.t2 = i.config), + (r.t3 = t.getFrameSummary( + this._frameId + )), + (r.next = 10), + t.getWorkspaceContext(i.id) + ); + case 10: + return ( + (r.t4 = r.sent), + r.abrupt("return", { + id: r.t0, + children: r.t1, + config: r.t2, + frameSummary: r.t3, + context: r.t4 + }) + ); + case 12: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "getAllWorkspacesLayouts", + value: function (e, t) { + var n = this, + r = ae.workspaceIds.map(function (t) { + return n.getWorkspaceSnapshotSync(t, e); + }); + return Promise.all( + r.map(function (r) { + return q( + n, + void 0, + void 0, + s().mark(function n() { + var i; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (i = r.id), + (n.next = 3), + e.layoutsManager.applyWindowLayoutState( + r + ) + ); + case 3: + return ( + (n.next = 5), + e.layoutsManager.applySavedContexts( + r, + t + ) + ); + case 5: + return ( + e.layoutsManager.removeWorkspaceItemIds( + r + ), + e.layoutsManager.removeWorkspaceWindowWindowIds( + r + ), + (n.t0 = i), + (n.t1 = r.children), + (n.t2 = r.config), + (n.t3 = + e.getFrameSummary( + this._frameId + )), + (n.next = 13), + e.getWorkspaceContext(i) + ); + case 13: + return ( + (n.t4 = n.sent), + n.abrupt("return", { + id: n.t0, + children: n.t1, + config: n.t2, + frameSummary: n.t3, + context: n.t4 + }) + ); + case 15: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + }) + ); + } + }, + { + key: "getWorkspaceSummary", + value: function (e) { + return this.wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).summary; + } + }, + { + key: "isWindowMaximized", + value: function (e) { + var t = K(e), + n = ae.getWindowContentItem(t); + return this.wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).isMaximized; + } + }, + { + key: "isWindowInMaximizedContainer", + value: function (e) { + var t = Array.isArray(e) ? e[0] : e; + return !!(function e(t) { + if (t && !t.isRoot) + return t.hasId("__glMaximised") ? t : e(t.parent); + })(ae.getWindowContentItem(t)); + } + }, + { + key: "isWindowSelected", + value: function (e) { + var t = K(e), + n = ae.getWindowContentItem(t); + return this.wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).isSelected; + } + }, + { + key: "isWorkspaceHibernated", + value: function (e) { + var t = ae.getById(e); + if (!t) + throw new Error( + "Could not find workspace " + .concat(e, " in ") + .concat(this._frameId, " to check if hibernated") + ); + return ( + ae.getWorkspaceContentItem(t.id), + this.wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceId: t.id + }).isHibernated + ); + } + }, + { + key: "getContainerSummary", + value: function (e) { + e = K(e); + var t = ae.getContainer(e); + return this.wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).summary; + } + }, + { + key: "getContainerSummaryByReference", + value: function (e, t) { + if ("component" === e.type) + throw new Error( + "Tried to get container summary from item " + .concat(e.type, " ") + .concat(e.config.id) + ); + return this.wrapperFactory.getContainerWrapper({ + containerContentItem: e, + workspaceId: t + }).summary; + } + }, + { + key: "isWindowInWorkspace", + value: function (e) { + return !!ae.getWindowContentItem(e); + } + }, + { + key: "getFrameSnapshot", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + o = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + Promise.all( + ae.workspaceIds.map( + function (n) { + return o.getWorkspaceSnapshot( + n, + e, + t + ); + } + ) + ) + ); + case 2: + return ( + (r = n.sent), + (i = + this.getFrameConstraints()), + n.abrupt("return", { + id: this._frameId, + config: Object.assign( + {}, + i + ), + workspaces: r + }) + ); + case 5: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "getSnapshot", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.prev = 0), + n.abrupt( + "return", + this.getWorkspaceConfig(e) + ) + ); + case 4: + return ( + (n.prev = 4), + (n.t0 = n.catch(0)), + n.abrupt( + "return", + this.getFrameSnapshot(t) + ) + ); + case 7: + case "end": + return n.stop(); + } + }, + n, + this, + [[0, 4]] + ); + }) + ); + } + }, + { + key: "getWorkspaceSnapshotSync", + value: function (e, t) { + var n = this.getWorkspaceConfig(e), + r = this.converter.convertToAPIConfig(n); + return { + id: r.id, + children: r.children, + config: r.config, + frameSummary: t.getFrameSummary(this._frameId) + }; + } + }, + { + key: "isWindowLoaded", + value: function (e) { + return this.frameController.hasFrame(K(e)); + } + }, + { + key: "getRendererWindowBounds", + value: function () { + return { + left: window.visualViewport.offsetLeft, + top: window.visualViewport.offsetTop, + width: window.visualViewport.width, + height: window.visualViewport.height + }; + } + }, + { + key: "getFrameConstraints", + value: function () { + var e = this; + return ae.workspaceIds + .map(function (t) { + return e.wrapperFactory.getWorkspaceWrapper({ + workspaceId: t + }); + }) + .reduce( + function (t, n) { + var r = e.getRendererWindowBounds(), + i = r.width - n.bounds.width, + o = r.height - n.bounds.height, + a = Math.ceil( + Math.max(n.minWidth + i, t.minWidth) + ), + s = Math.ceil( + Math.max(n.minHeight + o, t.minHeight) + ), + c = Math.ceil( + Math.min(n.maxWidth + i, t.maxWidth) + ), + u = Math.ceil( + Math.min(n.maxHeight + o, t.maxHeight) + ); + return ( + s <= u && + a <= c && + ((t.minWidth = a), + (t.minHeight = s), + (t.maxWidth = c), + (t.maxHeight = u)), + t + ); + }, + { + minWidth: le, + maxWidth: de, + minHeight: le, + maxHeight: de + } + ); + } + }, + { + key: "getWorkspaceIcon", + value: function (e) { + return this.wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).icon; + } + }, + { + key: "getWorkspaceTitles", + value: function () { + var e = this; + return ae.workspaceIds.map(function (t) { + return e.wrapperFactory.getWorkspaceWrapper({ + workspaceId: t + }).title; + }); + } + }, + { + key: "getFrameBounds", + value: function () { + return { + top: window.screenTop, + left: window.screenLeft, + width: window.innerWidth, + height: window.innerHeight + }; + } + }, + { + key: "waitForWindowContentItem", + value: function (e) { + var t = this; + return new Promise(function (n) { + var r = t._layoutEventEmitter.onContentComponentCreated( + function (t) { + t.config.id === e && (r(), n()); + } + ); + ae.getWindowContentItem(e) && (r(), n()); + }); + } + } + ]), + e + ); + })(), + Me = (function () { + function e() { + (w(this, e), (this._pattern = /^Untitled ([0-9]+)$/)); + } + return ( + x(e, [ + { + key: "getTitle", + value: function (e) { + var t = this, + n = + arguments.length > 1 && void 0 !== arguments[1] + ? arguments[1] + : 0, + r = e + .filter(function (e) { + return t._pattern.test(e); + }) + .map(function (e) { + return parseInt(t._pattern.exec(e)[1], 10); + }), + i = r.length + ? r.sort(function (e, t) { + return e - t; + })[r.length - 1] + : 0; + return "Untitled ".concat(i + 1 + n); + } + } + ]), + e + ); + })(), + Re = (function () { + function e(t) { + (w(this, e), + (this._titleGenerator = new Me()), + (this._defaultWorkspaceLayoutSettings = { + showCloseIcon: !1, + showMaximizeIcon: !1, + showPopoutIcon: !1, + disableDragProxy: !0, + mode: "workspace" + }), + (this._glue = t)); + } + return ( + x(e, [ + { + key: "createEmptyVisibleWindowConfig", + value: function () { + return Object.assign( + Object.assign({}, this.createWindowConfigurationCore()), + { componentState: { header: !1 } } + ); + } + }, + { + key: "createGDWindowConfig", + value: function (e) { + var t = this.createWindowConfigurationCore(e.id), + n = { + allowExtract: e.allowExtract, + allowReorder: e.allowReorder, + showCloseButton: e.showCloseButton, + minWidth: e.minWidth, + minHeight: e.minHeight, + maxWidth: e.maxWidth, + maxHeight: e.maxHeight, + positionIndex: e.positionIndex, + isMaximized: e.isMaximized, + noAppWindowState: e.noAppWindowState + }; + return Object.assign(Object.assign({}, t), { + componentName: "app".concat(t.id), + windowId: e.windowId, + title: e.title, + componentState: { + windowId: e.windowId, + appName: e.appName, + url: e.url, + title: e.title, + context: e.context + }, + workspacesConfig: n + }); + } + }, + { + key: "createApiWindow", + value: function (e) { + return { + id: Array.isArray(e.id) ? e.id[0] : e.id, + type: "window", + config: { + windowId: e.windowId, + isMaximized: e.isMaximized, + isLoaded: void 0 !== e.windowId, + isFocused: e.isFocused, + isSelected: e.isSelected, + appName: e.appName, + url: e.url, + title: e.title, + workspaceId: e.workspaceId, + frameId: e.frameId, + positionIndex: e.positionIndex, + allowExtract: e.allowExtract, + allowReorder: e.allowReorder, + showCloseButton: e.showCloseButton, + minWidth: e.minWidth, + maxWidth: e.maxWidth, + minHeight: e.minHeight, + maxHeight: e.maxHeight, + widthInPx: e.widthInPx, + heightInPx: e.heightInPx + } + }; + } + }, + { + key: "getWorkspaceLayoutComponentName", + value: function (e) { + return "workspace".concat(e); + } + }, + { + key: "getWorkspaceTitle", + value: function (e) { + return this._titleGenerator.getTitle(e); + } + }, + { + key: "getId", + value: function () { + return re(); + } + }, + { + key: "getDefaultWorkspaceSettings", + value: function () { + return { + mode: "default", + showCloseIcon: !1, + showPopoutIcon: !0 + }; + } + }, + { + key: "getDefaultFrameConfig", + value: function (e) { + var t = re(); + return { + frameId: void 0, + workspaceConfigs: [ + { id: t, config: this.getDefaultWorkspaceConfig() } + ], + workspaceLayout: { + settings: this._defaultWorkspaceLayoutSettings, + content: [ + { + type: "stack", + content: [ + { + type: "component", + id: t, + componentName: + this.getWorkspaceLayoutComponentName( + t + ), + componentState: {}, + workspacesConfig: {}, + title: this.getWorkspaceTitle(e) + } + ], + workspacesConfig: {} + } + ] + } + }; + } + }, + { key: "getDefaultWorkspaceConfig", value: function () {} }, + { + key: "generateInitialConfig", + value: function (e) { + var t = this, + n = e.find(function (e) { + var t; + return null === + (t = + null === e || void 0 === e + ? void 0 + : e.workspacesOptions) || void 0 === t + ? void 0 + : t.selected; + }), + r = { + settings: this._defaultWorkspaceLayoutSettings, + content: [ + { + type: "stack", + activeItemIndex: n + ? e.indexOf(n) + : e.length - 1, + content: e.map(function (e) { + var n, + r, + i, + o = re(); + return { + workspacesConfig: Object.assign( + {}, + e.workspacesOptions + ), + type: "component", + id: + (null === e || void 0 === e + ? void 0 + : e.id) || o, + componentName: + t.getWorkspaceLayoutComponentName( + K( + null === e || void 0 === e + ? void 0 + : e.id + ) || o + ), + componentState: {}, + noTabHeader: + null === + (n = + null === e || void 0 === e + ? void 0 + : e.workspacesOptions) || + void 0 === n + ? void 0 + : n.noTabHeader, + title: + (null === + (r = + null === e || void 0 === e + ? void 0 + : e.workspacesOptions) || + void 0 === r + ? void 0 + : r.title) || + (null === + (i = + null === e || void 0 === e + ? void 0 + : e.workspacesOptions) || + void 0 === i + ? void 0 + : i.name) || + t.getWorkspaceTitle(ae.workspaceIds) + }; + }), + workspacesConfig: {} + } + ] + }; + return { + frameId: void 0, + workspaceConfigs: e.map(function (e, t) { + var n = null === e || void 0 === e ? void 0 : e.id; + return ( + n || + "component" === r.content[0].type || + (n = r.content[0].content[t].id), + { id: n, config: e } + ); + }), + workspaceLayout: r + }; + } + }, + { + key: "wrapInGroup", + value: function (e) { + return this.wrap(e, "stack"); + } + }, + { + key: "getAppNameFromWindowId", + value: function (e) { + var t = this._glue.appManager.instances().find(function (t) { + return t.agm.windowId === e; + }); + return null === t || void 0 === t ? void 0 : t.application.name; + } + }, + { + key: "convertLayoutOptionsToWorkspaceItem", + value: function (e, t, n) { + var r, i; + return q( + this, + void 0, + void 0, + s().mark(function o() { + var a, c; + return s().wrap(function (o) { + for (;;) + switch ((o.prev = o.next)) { + case 0: + return ( + (o.next = 2), + n.getWorkspaceByName(e) + ); + case 2: + return ( + (a = o.sent), + ((c = + a.config).workspacesOptions.context = + a.layoutData.context), + (null === t || void 0 === t + ? void 0 + : t.context) && + c.workspacesOptions.context + ? (c.workspacesOptions.context = + Object.assign( + a.layoutData.context, + null === t || + void 0 === t + ? void 0 + : t.context + )) + : (null === t || void 0 === t + ? void 0 + : t.context) && + (c.workspacesOptions.context = + null === t || void 0 === t + ? void 0 + : t.context), + (c.workspacesOptions.title = + (null === t || void 0 === t + ? void 0 + : t.title) || e), + (c.workspacesOptions.icon = + null !== + (r = + null === t || + void 0 === t + ? void 0 + : t.icon) && + void 0 !== r + ? r + : c.workspacesOptions.icon), + (c.workspacesOptions.allowSystemHibernation = + null !== + (i = + null === t || + void 0 === t + ? void 0 + : t.allowSystemHibernation) && + void 0 !== i + ? i + : c.workspacesOptions + .allowSystemHibernation), + c && + c.workspacesOptions && + !c.workspacesOptions.name && + (c.workspacesOptions.name = e), + c && + ((c.workspacesOptions = + c.workspacesOptions || {}), + (c.workspacesOptions.layoutName = + a.layoutData.name)), + c && + t && + (c.workspacesOptions.loadingStrategy = + t.loadingStrategy), + c && + void 0 !== + (null === t || void 0 === t + ? void 0 + : t.noTabHeader) && + ((c.workspacesOptions = + c.workspacesOptions || {}), + (c.workspacesOptions.noTabHeader = + null === t || void 0 === t + ? void 0 + : t.noTabHeader)), + c && + void 0 !== + (null === t || void 0 === t + ? void 0 + : t.isPinned) && + ((c.workspacesOptions = + c.workspacesOptions || {}), + (c.workspacesOptions.isPinned = + null === t || void 0 === t + ? void 0 + : t.isPinned)), + c && + void 0 !== + (null === t || void 0 === t + ? void 0 + : t.isSelected) && + ((c.workspacesOptions = + c.workspacesOptions || {}), + (c.workspacesOptions.selected = + null === t || void 0 === t + ? void 0 + : t.isSelected)), + o.abrupt("return", c) + ); + case 16: + case "end": + return o.stop(); + } + }, o); + }) + ); + } + }, + { + key: "getEmptyWorkspaceConfig", + value: function (e) { + return Object.assign( + Object.assign({}, this.getDefaultWorkspaceSettings()), + { content: [], workspacesOptions: { title: e } } + ); + } + }, + { + key: "createWindowConfigurationCore", + value: function (e) { + return { + workspacesConfig: {}, + type: "component", + id: e || this.getId(), + componentName: se + }; + } + }, + { + key: "wrap", + value: function (e, t) { + return { + workspacesConfig: { + wrapper: !0, + isMaximized: + "stack" === t && + e.some(function (e) { + return e.workspacesConfig.isMaximized; + }) + }, + type: t, + content: e + }; + } + } + ]), + e + ); + })(), + Oe = (function () { + function e(t) { + (w(this, e), + (this._configFactory = t), + (this.flat = function (e) { + return e.reduce(function (e, t) { + return [].concat(o(e), o(Array.isArray(t) ? t : [t])); + }, []); + })); + } + return ( + x(e, [ + { + key: "convertToRendererConfig", + value: function (e) { + if (e) return this.convertToRendererConfigCore(e, void 0); + } + }, + { + key: "convertToAPIConfig", + value: function (e) { + if (e) return this.convertToApiConfigCore(e); + } + }, + { + key: "convertToRendererConfigCore", + value: function (e, t) { + var n, + r, + i, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b, + k, + x, + _, + C, + I, + S, + E, + W, + T, + A, + P, + M, + R, + O, + D, + L, + B, + N, + F, + j, + H, + z, + q, + G, + U, + V, + $, + J, + K, + Q, + X, + Y, + Z, + ee, + te, + ne, + re, + ie, + oe, + ae, + se, + ce, + ue, + de, + le, + pe = this, + he = { + type: e.type, + content: [], + workspacesOptions: e.config || {} + }; + if ( + (("workspace" !== e.type && e.type) || + (he = this.applyDefaultRendererConfig({ + content: [], + workspacesOptions: e.config + })), + "workspace" === e.type || !e.type) + ) { + var fe = e, + ve = fe.children; + if ( + ve.length > 1 && + ve.every(function (e) { + return "column" === e.type; + }) + ) + he.content.push( + this.wrap( + ve.map(function (e) { + return pe.convertToRendererConfigCore( + e, + fe + ); + }), + "row" + ) + ); + else if ( + ve.length > 1 && + ve.every(function (e) { + return "row" === e.type; + }) + ) + he.content.push( + this.wrap( + ve.map(function (e) { + return pe.convertToRendererConfigCore( + e, + fe + ); + }), + "column" + ) + ); + else { + var me; + (me = he.content).push.apply( + me, + o( + ve.map(function (e) { + return pe.convertToRendererConfigCore( + e, + fe + ); + }) + ) + ); + } + return he; + } + if ("column" === e.type || "row" === e.type) + return ( + (de = he.content).push.apply( + de, + o( + e.children.map(function (t) { + return pe.convertToRendererConfigCore(t, e); + }) + ) + ), + 0 === he.content.length && + he.content.push( + this.getGroupWithEmptyVisibleWindow() + ), + he.workspacesConfig || (he.workspacesConfig = {}), + (he.workspacesConfig.allowDrop = + null === (n = e.config) || void 0 === n + ? void 0 + : n.allowDrop), + (he.workspacesConfig.allowSplitters = + null === (r = e.config) || void 0 === r + ? void 0 + : r.allowSplitters), + (he.workspacesConfig.isPinned = + null === (i = e.config) || void 0 === i + ? void 0 + : i.isPinned), + (he.workspacesConfig.maxWidth = + null === (a = e.config) || void 0 === a + ? void 0 + : a.maxWidth), + (he.workspacesConfig.minWidth = + null === (s = e.config) || void 0 === s + ? void 0 + : s.minWidth), + (he.workspacesConfig.maxHeight = + null === (c = e.config) || void 0 === c + ? void 0 + : c.maxHeight), + (he.workspacesConfig.minHeight = + null === (u = e.config) || void 0 === u + ? void 0 + : u.minHeight), + (he.workspacesConfig.positionIndex = + null === (d = e.config) || void 0 === d + ? void 0 + : d.positionIndex), + (he.workspacesConfig.isMaximized = + null === (l = e.config) || void 0 === l + ? void 0 + : l.isMaximized), + (he.width = this.convertSizeToRendererConfigSafely( + null === (p = e.config) || void 0 === p + ? void 0 + : p.width + )), + (he.height = this.convertSizeToRendererConfigSafely( + null === (h = e.config) || void 0 === h + ? void 0 + : h.height + )), + (he.workspacesConfig.maximizationBoundary = + null === (f = e.config) || void 0 === f + ? void 0 + : f.maximizationBoundary), + he + ); + if ("group" === e.type) + return ( + (he.type = "stack"), + (le = he.content).push.apply( + le, + o( + e.children.map(function (t) { + return pe.convertToRendererConfigCore(t, e); + }) + ) + ), + 0 === he.content.length && + he.content.push( + this._configFactory.createEmptyVisibleWindowConfig() + ), + he.workspacesConfig || (he.workspacesConfig = {}), + (he.workspacesConfig.allowDrop = + null === (v = e.config) || void 0 === v + ? void 0 + : v.allowDrop), + (he.workspacesConfig.allowDropHeader = + null === (m = e.config) || void 0 === m + ? void 0 + : m.allowDropHeader), + (he.workspacesConfig.allowDropLeft = + null === (g = e.config) || void 0 === g + ? void 0 + : g.allowDropLeft), + (he.workspacesConfig.allowDropRight = + null === (y = e.config) || void 0 === y + ? void 0 + : y.allowDropRight), + (he.workspacesConfig.allowDropTop = + null === (w = e.config) || void 0 === w + ? void 0 + : w.allowDropTop), + (he.workspacesConfig.allowDropBottom = + null === (b = e.config) || void 0 === b + ? void 0 + : b.allowDropBottom), + (he.workspacesConfig.allowExtract = + null === (k = e.config) || void 0 === k + ? void 0 + : k.allowExtract), + (he.workspacesConfig.allowReorder = + null === (x = e.config) || void 0 === x + ? void 0 + : x.allowReorder), + (he.workspacesConfig.showMaximizeButton = + null === (_ = e.config) || void 0 === _ + ? void 0 + : _.showMaximizeButton), + (he.workspacesConfig.showEjectButton = + null === (C = e.config) || void 0 === C + ? void 0 + : C.showEjectButton), + (he.workspacesConfig.showAddWindowButton = + null === (I = e.config) || void 0 === I + ? void 0 + : I.showAddWindowButton), + (he.workspacesConfig.maxWidth = + null === (S = e.config) || void 0 === S + ? void 0 + : S.maxWidth), + (he.workspacesConfig.minWidth = + null === (E = e.config) || void 0 === E + ? void 0 + : E.minWidth), + (he.workspacesConfig.maxHeight = + null === (W = e.config) || void 0 === W + ? void 0 + : W.maxHeight), + (he.workspacesConfig.minHeight = + null === (T = e.config) || void 0 === T + ? void 0 + : T.minHeight), + (he.activeItemIndex = + null === (A = e.config) || void 0 === A + ? void 0 + : A.activeTabIndex), + (he.workspacesConfig.positionIndex = + null === (P = e.config) || void 0 === P + ? void 0 + : P.positionIndex), + (he.workspacesConfig.isMaximized = + null === (M = e.config) || void 0 === M + ? void 0 + : M.isMaximized), + (he.width = this.convertSizeToRendererConfigSafely( + null === (R = e.config) || void 0 === R + ? void 0 + : R.width + )), + (he.height = this.convertSizeToRendererConfigSafely( + null === (O = e.config) || void 0 === O + ? void 0 + : O.height + )), + he + ); + if ("window" === e.type) { + var ge = + (null === (D = e.config) || void 0 === D + ? void 0 + : D.appName) || e.appName, + ye = + null === (L = e.config) || void 0 === L + ? void 0 + : L.windowId; + !ge && + ye && + (ge = this._configFactory.getAppNameFromWindowId(ye)); + var we = this._configFactory.createGDWindowConfig({ + windowId: ye, + id: e.id, + appName: ge, + url: + (null === (B = e.config) || void 0 === B + ? void 0 + : B.url) || e.url, + title: + (null === (N = e.config) || void 0 === N + ? void 0 + : N.title) || e.title, + context: + (null === (F = e.config) || void 0 === F + ? void 0 + : F.context) || e.context, + allowExtract: + null !== + (H = + null === + (j = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === j + ? void 0 + : j.allowExtract) && void 0 !== H + ? H + : e.allowExtract, + allowReorder: + null !== + (q = + null === + (z = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === z + ? void 0 + : z.allowReorder) && void 0 !== q + ? q + : e.allowReorder, + showCloseButton: + null !== + (U = + null === + (G = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === G + ? void 0 + : G.showCloseButton) && void 0 !== U + ? U + : e.showCloseButton, + minWidth: + null !== + ($ = + null === + (V = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === V + ? void 0 + : V.minWidth) && void 0 !== $ + ? $ + : e.minWidth, + maxWidth: + null !== + (K = + null === + (J = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === J + ? void 0 + : J.maxWidth) && void 0 !== K + ? K + : e.maxWidth, + minHeight: + null !== + (X = + null === + (Q = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === Q + ? void 0 + : Q.minHeight) && void 0 !== X + ? X + : e.minHeight, + maxHeight: + null !== + (Z = + null === + (Y = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === Y + ? void 0 + : Y.maxHeight) && void 0 !== Z + ? Z + : e.maxHeight, + positionIndex: + null !== + (te = + null === + (ee = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === ee + ? void 0 + : ee.positionIndex) && void 0 !== te + ? te + : e.positionIndex, + isMaximized: + null !== + (re = + null === + (ne = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === ne + ? void 0 + : ne.isMaximized) && void 0 !== re + ? re + : e.isMaximized, + noAppWindowState: + null !== + (oe = + null === + (ie = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === ie + ? void 0 + : ie.noAppWindowState) && void 0 !== oe + ? oe + : e.noAppWindowState + }); + if ("group" !== t.type) { + we.componentState.header = !1; + var be = this.wrap([we], "stack"); + return ( + (be.width = + null !== + (se = + null === + (ae = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === ae + ? void 0 + : ae.width) && void 0 !== se + ? se + : e.width), + (be.height = + null !== + (ue = + null === + (ce = + null === e || void 0 === e + ? void 0 + : e.config) || void 0 === ce + ? void 0 + : ce.height) && void 0 !== ue + ? ue + : e.height), + be + ); + } + return we; + } + } + }, + { + key: "convertToApiConfigCore", + value: function (e) { + var t, + n, + r, + i, + o, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b, + k, + x, + _, + C, + I = this; + if (!e.type || "workspace" === e.type) { + var S = this.flat( + e.content.map(function (e) { + return I.convertToApiConfigCore(e); + }) + ); + return { + id: K(e.id), + config: e.workspacesOptions, + children: S + }; + } + if ("component" === e.type && e.componentName === se) return []; + if ( + "component" !== e.type && + e.workspacesConfig && + e.workspacesConfig.wrapper + ) { + var E = this.flat( + e.content.map(function (e) { + return I.convertToApiConfigCore(e); + }) + ); + return ( + E.forEach(function (t) { + ((t.config.width = e.width), + (t.config.height = e.height)); + }), + E + ); + } + if ("component" === e.type) { + var W = e.workspacesConfig; + return this._configFactory.createApiWindow({ + id: e.id, + isFocused: !1, + isMaximized: W.isMaximized, + isSelected: W.isSelected, + windowId: e.componentState.windowId, + appName: e.componentState.appName, + url: e.componentState.url, + frameId: W.frameId, + workspaceId: W.workspaceId, + title: W.title, + positionIndex: W.positionIndex, + allowExtract: W.allowExtract, + allowReorder: W.allowReorder, + showCloseButton: W.showCloseButton, + maxHeight: W.maxHeight, + maxWidth: W.maxWidth, + minHeight: W.minHeight, + minWidth: W.minWidth, + widthInPx: W.widthInPx, + heightInPx: W.heightInPx + }); + } + var T = e, + A = { + id: K(e.id), + type: "stack" === e.type ? "group" : e.type, + children: this.flat( + e.content.map(function (e) { + return I.convertToApiConfigCore(e); + }) + ), + config: { + positionIndex: + null === (t = T.workspacesConfig) || + void 0 === t + ? void 0 + : t.positionIndex, + frameId: + null === (n = T.workspacesConfig) || + void 0 === n + ? void 0 + : n.frameId, + workspaceId: + null === (r = T.workspacesConfig) || + void 0 === r + ? void 0 + : r.workspaceId, + activeTabIndex: T.activeItemIndex, + width: T.width, + height: T.height, + allowDrop: + null === (i = T.workspacesConfig) || + void 0 === i + ? void 0 + : i.allowDrop, + allowDropHeader: + null === (o = T.workspacesConfig) || + void 0 === o + ? void 0 + : o.allowDropHeader, + allowDropLeft: + null === (a = T.workspacesConfig) || + void 0 === a + ? void 0 + : a.allowDropLeft, + allowDropRight: + null === (s = T.workspacesConfig) || + void 0 === s + ? void 0 + : s.allowDropRight, + allowDropTop: + null === (c = T.workspacesConfig) || + void 0 === c + ? void 0 + : c.allowDropTop, + allowDropBottom: + null === (u = T.workspacesConfig) || + void 0 === u + ? void 0 + : u.allowDropBottom, + isPinned: + null === (d = T.workspacesConfig) || + void 0 === d + ? void 0 + : d.isPinned, + allowExtract: + null === (l = T.workspacesConfig) || + void 0 === l + ? void 0 + : l.allowExtract, + allowReorder: + null === (p = T.workspacesConfig) || + void 0 === p + ? void 0 + : p.allowReorder, + showMaximizeButton: + null === (h = T.workspacesConfig) || + void 0 === h + ? void 0 + : h.showMaximizeButton, + showEjectButton: + null === (f = T.workspacesConfig) || + void 0 === f + ? void 0 + : f.showEjectButton, + showAddWindowButton: + null === (v = T.workspacesConfig) || + void 0 === v + ? void 0 + : v.showAddWindowButton, + allowSplitters: + null === (m = T.workspacesConfig) || + void 0 === m + ? void 0 + : m.allowSplitters, + minWidth: + null === (g = T.workspacesConfig) || + void 0 === g + ? void 0 + : g.minWidth, + maxWidth: + null === (y = T.workspacesConfig) || + void 0 === y + ? void 0 + : y.maxWidth, + minHeight: + null === (w = T.workspacesConfig) || + void 0 === w + ? void 0 + : w.minHeight, + maxHeight: + null === (b = T.workspacesConfig) || + void 0 === b + ? void 0 + : b.maxHeight, + widthInPx: + null === (k = T.workspacesConfig) || + void 0 === k + ? void 0 + : k.widthInPx, + heightInPx: + null === (x = T.workspacesConfig) || + void 0 === x + ? void 0 + : x.heightInPx, + isMaximized: + null === (_ = T.workspacesConfig) || + void 0 === _ + ? void 0 + : _.isMaximized, + maximizationBoundary: + null === (C = T.workspacesConfig) || + void 0 === C + ? void 0 + : C.maximizationBoundary + } + }; + return ( + "group" !== A.type + ? (delete A.config.allowExtract, + delete A.config.allowReorder, + delete A.config.allowDropHeader, + delete A.config.allowDropLeft, + delete A.config.allowDropTop, + delete A.config.allowDropRight, + delete A.config.allowDropBottom, + delete A.config.showMaximizeButton, + delete A.config.showEjectButton, + delete A.config.showAddWindowButton) + : delete A.config.allowSplitters, + A + ); + } + }, + { + key: "wrap", + value: function (e, t) { + return { + workspacesConfig: { + wrapper: !0, + isMaximized: + "stack" === t && + e.some(function (e) { + return e.workspacesConfig.isMaximized; + }) + }, + type: t, + content: e + }; + } + }, + { + key: "applyDefaultRendererConfig", + value: function (e) { + return Object.assign( + { + settings: Object.assign( + {}, + this._configFactory.getDefaultWorkspaceSettings() + ) + }, + e + ); + } + }, + { + key: "getGroupWithEmptyVisibleWindow", + value: function () { + return this.wrap( + [this._configFactory.createEmptyVisibleWindowConfig()], + "stack" + ); + } + }, + { + key: "convertSizeToRendererConfigSafely", + value: function (e) { + return e > 0 ? e : void 0; + } + } + ]), + e + ); + })(), + De = (function () { + function e(t, n, r) { + (w(this, e), + (this._externalPopupManager = t), + (this._componentPopupManager = n), + (this._componentFactory = r)); + } + return ( + x(e, [ + { + key: "showAddWindowPopup", + value: function (e, t) { + var n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + !(null === + (n = + this + ._componentFactory) || + void 0 === n + ? void 0 + : n.createAddApplicationPopup) + ) { + r.next = 5; + break; + } + return ( + (r.next = 3), + this._componentPopupManager.showAddWindowPopup( + e, + t + ) + ); + case 3: + r.next = 7; + break; + case 5: + return ( + (r.next = 7), + this._externalPopupManager.showAddWindowPopup( + e, + t + ) + ); + case 7: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "showOpenWorkspacePopup", + value: function (e, t) { + var n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + !(null === + (n = + this + ._componentFactory) || + void 0 === n + ? void 0 + : n.createAddWorkspacePopup) + ) { + r.next = 5; + break; + } + return ( + (r.next = 3), + this._componentPopupManager.showOpenWorkspacePopup( + e, + t + ) + ); + case 3: + r.next = 7; + break; + case 5: + return ( + (r.next = 7), + this._externalPopupManager.showOpenWorkspacePopup( + e, + t + ) + ); + case 7: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "showSaveWorkspacePopup", + value: function (e, t) { + var n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + if ( + !(null === + (n = + this + ._componentFactory) || + void 0 === n + ? void 0 + : n.createSaveWorkspacePopup) + ) { + r.next = 5; + break; + } + return ( + (r.next = 3), + this._componentPopupManager.showSaveWorkspacePopup( + e, + t + ) + ); + case 3: + r.next = 7; + break; + case 5: + return ( + (r.next = 7), + this._externalPopupManager.showSaveWorkspacePopup( + e, + t + ) + ); + case 7: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "hidePopup", + value: function () { + (this._externalPopupManager.hidePopup(), + this._componentFactory && + this._componentPopupManager.hidePopup()); + } + }, + { + key: "onPopupStateChanged", + value: function (e) { + var t = this._externalPopupManager.onPopupStateChanged(e), + n = this._componentPopupManager.onPopupStateChanged(e); + return function () { + (t(), n()); + }; + } + } + ]), + e + ); + })(), + Le = (function () { + function e(t) { + (w(this, e), + (this.componentFactory = t), + (this.openPopupInfo = void 0), + (this.registry = we())); + } + return ( + x(e, [ + { + key: "showAddWindowPopup", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + ((this.openPopupInfo = { + type: "addApplication", + workspaceId: t.workspaceId, + boxId: t.boxId + }), + this.notifyCustomElements( + this.openPopupInfo, + !0 + ), + this.registry.execute( + "popup-state-changed", + this.openPopupInfo, + !0 + )); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "showOpenWorkspacePopup", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + ((this.openPopupInfo = { + type: "openWorkspace" + }), + this.notifyCustomElements( + this.openPopupInfo, + !0 + ), + this.registry.execute( + "popup-state-changed", + this.openPopupInfo, + !0 + )); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "showSaveWorkspacePopup", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + ((this.openPopupInfo = { + type: "saveWorkspace", + workspaceId: t.workspaceId + }), + this.registry.execute( + "popup-state-changed", + this.openPopupInfo, + !0 + )); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "hidePopup", + value: function () { + (this.openPopupInfo && + this.registry.execute( + "popup-state-changed", + this.openPopupInfo, + !1 + ), + this.notifyCustomElements(this.openPopupInfo, !1), + (this.openPopupInfo = void 0)); + } + }, + { + key: "onPopupStateChanged", + value: function (e) { + return this.registry.add("popup-state-changed", e); + } + }, + { + key: "notifyCustomElements", + value: function (e, t) { + "openWorkspace" === + (null === e || void 0 === e ? void 0 : e.type) + ? be.decoratedFactory.updateAddWorkspace({ + isAddWorkspacePopupActive: t + }) + : "addApplication" === + (null === e || void 0 === e ? void 0 : e.type) && + (be.decoratedFactory.updateAfterGroupTabs({ + isAddWindowPopupActive: t, + workspaceId: e.workspaceId, + groupId: e.boxId + }), + be.decoratedFactory.updateGroupHeaderButtons({ + isAddWindowPopupActive: t, + workspaceId: e.workspaceId, + groupId: e.boxId + })); + } + } + ]), + e + ); + })(), + Be = (function (e) { + g(n, e); + var t = y(n); + function n(e, r) { + var i; + return ( + w(this, n), + ((i = t.call(this, r))._addApplicationType = "addApplication"), + (i._openWorkspaceType = "openWorkspace"), + (i._saveWorkspaceType = "saveWorkspace"), + (i._showPopupMethod = "T42.Workspaces.ShowPopup"), + (i._glue = e), + i.initPopup(), + i.registerHideMethod(), + i.registerResizeMethod(), + i + ); + } + return ( + x(n, [ + { + key: "showAddWindowPopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showAddWindowPopup: { + get: function () { + return v( + f(n.prototype), + "showAddWindowPopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + this.hidePopup(), + (n.next = 3), + this.getPopupSize( + this._addApplicationType, + t + ) + ); + case 3: + ((r = n.sent), + this.showElement( + this._popup, + e, + r + ), + i.showAddWindowPopup.call( + this, + e, + t + )); + case 6: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showOpenWorkspacePopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showOpenWorkspacePopup: { + get: function () { + return v( + f(n.prototype), + "showOpenWorkspacePopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + this.hidePopup(), + (n.next = 3), + this.getPopupSize( + this._openWorkspaceType, + t + ) + ); + case 3: + ((r = n.sent), + this.showElement( + this._popup, + e, + r + ), + i.showOpenWorkspacePopup.call( + this, + e, + t + )); + case 6: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showSaveWorkspacePopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showSaveWorkspacePopup: { + get: function () { + return v( + f(n.prototype), + "showSaveWorkspacePopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + this.hidePopup(), + (n.next = 3), + this.getPopupSize( + this._saveWorkspaceType, + t + ) + ); + case 3: + ((r = n.sent), + this.showElement( + this._popup, + e, + r + ), + i.showSaveWorkspacePopup.call( + this, + e, + t + )); + case 6: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "hidePopup", + value: function () { + ($(this._popup).css("visibility", "hidden"), + v(f(n.prototype), "hidePopup", this).call(this)); + } + }, + { key: "initPopup", value: function () {} }, + { + key: "showElement", + value: function (e, t, n) { + ($(e) + .css("visibility", "visible") + .css("top", "".concat(t.top, "px")) + .css("left", "".concat(t.left, "px")), + n.height && $(e).css("height", "".concat(n.height, "px")), + n.width && $(e).css("width", "".concat(n.width, "px"))); + var r = e.getBoundingClientRect(), + i = document.body.getBoundingClientRect(), + o = i.width - r.right - 10, + a = i.height - r.bottom - 10; + (o < 0 && $(e).css("left", t.left + o), + a < 0 && $(e).css("top", t.top + a)); + } + }, + { + key: "resizePopup", + value: function (e) { + var t = $(this._popup); + (e.height && t.css("height", "".concat(e.height, "px")), + e.width && t.css("width", "".concat(e.width, "px"))); + var n = this._popup.getBoundingClientRect(), + r = document.body.getBoundingClientRect(), + i = r.width - n.right - 10, + o = r.height - n.bottom - 10; + if (i < 0) { + var a = t.css("left"), + s = parseInt(a.substring(0, a.length - 2)); + t.css("left", s + i); + } + if (o < 0) { + var c = t.css("top"), + u = parseInt(c.substring(0, c.length - 2)); + t.css("top", u + o); + } + } + }, + { + key: "getPopupSize", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = this.getPopupInteropId()), + (i = this._glue.agm + .servers() + .find(function (e) { + return e.windowId === r; + })), + (n.next = 4), + this._glue.agm.invoke( + this._showPopupMethod, + { type: e, payload: t }, + i + ) + ); + case 4: + return n.abrupt( + "return", + n.sent.returned + ); + case 5: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { key: "registerHideMethod", value: function () {} }, + { key: "registerResizeMethod", value: function () {} }, + { + key: "getPopupInteropId", + value: function () { + try { + return this._popup.contentWindow.interopId || "best"; + } catch (e) { + console.warn( + "Could not get the popup interop id using best" + ); + } + return "best"; + } + }, + { + key: "getPopupWindowTemplate", + value: function (e) { + return '' + ); + } + } + ]), + n + ); + })(Le), + Ne = (function (e) { + g(n, e); + var t = y(n); + function n(e, r) { + var i, o, a; + return ( + w(this, n), + ((a = t.call(this, e))._addApplicationType = "addApplication"), + (a._openWorkspaceType = "openWorkspace"), + (a._saveWorkspaceType = "saveWorkspace"), + (a._popupSizes = + (_((i = {}), a._addApplicationType, { height: 200, width: 200 }), + _(i, a._openWorkspaceType, { height: 200, width: 200 }), + _(i, a._saveWorkspaceType, { height: 200, width: 200 }), + i)), + (a.hidePopup = function () { + return ( + (document.body.onclick = void 0), + $(a._popup).css("visibility", "hidden"), + v(((o = h(a)), f(n.prototype)), "hidePopup", o).call(o), + new Promise(function (e) { + var t; + ( + null === (t = a.componentFactory) || void 0 === t + ? void 0 + : t.hideSystemPopups + ) + ? a.componentFactory.hideSystemPopups(e) + : e(); + }) + ); + }), + (a._frameId = r), + a.initPopup(), + a + ); + } + return ( + x(n, [ + { + key: "showAddWindowPopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showAddWindowPopup: { + get: function () { + return v( + f(n.prototype), + "showAddWindowPopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this.showInternalAddAppPopup( + e, + t.boxId, + t.workspaceId + ) + ); + case 2: + i.showAddWindowPopup.call( + this, + e, + t + ); + case 3: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showOpenWorkspacePopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showOpenWorkspacePopup: { + get: function () { + return v( + f(n.prototype), + "showOpenWorkspacePopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this.showInternalOpenWorkspacePopup( + e + ) + ); + case 2: + i.showOpenWorkspacePopup.call( + this, + e, + t + ); + case 3: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showSaveWorkspacePopup", + value: function (e, t) { + var r = this, + i = Object.create(null, { + showSaveWorkspacePopup: { + get: function () { + return v( + f(n.prototype), + "showSaveWorkspacePopup", + r + ); + } + } + }); + return q( + this, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this.showInternalSaveWorkspacePopup( + e, + t + ) + ); + case 2: + i.showSaveWorkspacePopup.call( + this, + e, + t + ); + case 3: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showInternalSaveWorkspacePopup", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this.hidePopup() + ); + case 2: + ((r = this.getPopupSize( + this._saveWorkspaceType + )), + this.showElement( + this._popup, + e, + r + ), + this.componentFactory.createSaveWorkspacePopup( + { + frameId: this._frameId, + domNode: this._popup, + resizePopup: function ( + e + ) { + return i.resizePopup( + e, + i._saveWorkspaceType, + $(i._popup) + ); + }, + hidePopup: + this.hidePopup, + workspaceId: + t.workspaceId, + buildMode: t.buildMode + } + )); + case 5: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showInternalOpenWorkspacePopup", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this.hidePopup() + ); + case 2: + ((n = this.getPopupSize( + this._openWorkspaceType + )), + this.showElement( + this._popup, + e, + n + ), + this.componentFactory.createAddWorkspacePopup( + { + domNode: this._popup, + frameId: this._frameId, + hidePopup: + this.hidePopup, + resizePopup: function ( + e + ) { + return r.resizePopup( + e, + r._openWorkspaceType, + $(r._popup) + ); + } + } + )); + case 5: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "showInternalAddAppPopup", + value: function (e, t, n) { + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, + o = this; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (r.next = 2), + this.hidePopup() + ); + case 2: + ((i = this.getPopupSize( + this._addApplicationType + )), + this.showElement( + this._popup, + e, + i + ), + this.componentFactory.createAddApplicationPopup( + { + domNode: this._popup, + boxId: t, + resizePopup: function ( + e + ) { + return o.resizePopup( + e, + o._addApplicationType, + $(o._popup) + ); + }, + hidePopup: + this.hidePopup, + workspaceId: n, + frameId: this._frameId + } + )); + case 5: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "initPopup", + value: function () { + ((this._popup = document.createElement("div")), + this._popup.classList.add("workspaces-system-popup"), + document.body.appendChild(this._popup)); + } + }, + { + key: "showElement", + value: function (e, t, n) { + var r = this; + ((document.body.onclick = function (e) { + -1 === e.composedPath().indexOf(r._popup) && r.hidePopup(); + }), + (document.body.onblur = function () { + "iframe" === + document.activeElement.tagName.toLowerCase() && + r.hidePopup(); + }), + $(e) + .css("visibility", "visible") + .css("top", "".concat(t.top, "px")) + .css("left", "".concat(t.left, "px")), + n.height && $(e).css("height", "".concat(n.height, "px")), + n.width && $(e).css("width", "".concat(n.width, "px"))); + var i = e.getBoundingClientRect(), + o = document.body.getBoundingClientRect(), + a = o.width - i.right - 10, + s = o.height - i.bottom - 10; + (a < 0 && $(e).css("left", t.left + a), + s < 0 && $(e).css("top", t.top + s)); + } + }, + { + key: "resizePopup", + value: function (e, t, n) { + (e.height && + (n.css("height", "".concat(e.height, "px")), + (this._popupSizes[t].height = e.height)), + e.width && + (n.css("width", "".concat(e.width, "px")), + (this._popupSizes[t].width = e.width))); + var r = n[0].getBoundingClientRect(), + i = document.body.getBoundingClientRect(), + o = i.width - r.right - 10, + a = i.height - r.bottom - 10; + if (o < 0) { + var s = n.css("left"), + c = parseInt(s.substring(0, s.length - 2), 10); + n.css("left", c + o); + } + if (a < 0) { + var u = n.css("top"), + d = parseInt(u.substring(0, u.length - 2), 10); + n.css("top", d + a); + } + } + }, + { + key: "getPopupSize", + value: function (e) { + return this._popupSizes[e]; + } + } + ]), + n + ); + })(Le), + Fe = (function () { + function e(t, n, r, i, o, a, s) { + (w(this, e), + (this._glue = t), + (this._stateResolver = n), + (this._frameController = r), + (this._manager = i), + (this._delayedExecutor = o), + (this._platformCommunicator = a), + (this._systemSettings = s), + (this.registry = we()), + (this.WAIT_FOR_WINDOWS_TIMEOUT = 3e4), + (this.idToWindowPromise = {})); + } + return ( + x(e, [ + { + key: "start", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + o, + a = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if (e.config.componentName !== se) { + n.next = 2; + break; + } + return n.abrupt("return"); + case 2: + if ( + "undefined" === + typeof this.idToWindowPromise[ + K(e.config.id) + ] + ) { + n.next = 4; + break; + } + return n.abrupt( + "return", + this.idToWindowPromise[ + K(e.config.id) + ] + ); + case 4: + if ((r = ae.getById(t))) { + n.next = 7; + break; + } + return n.abrupt("return"); + case 7: + return ( + (i = this.startCore(e, r)), + (this.idToWindowPromise[ + K(e.config.id) + ] = i), + (o = + this._frameController.onFrameRemoved( + function (t) { + t === + K( + e.config.id + ) && + (o(), + delete a + .idToWindowPromise[ + t + ]); + } + )), + n.abrupt("return", i) + ); + case 11: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "getLoadingStrategy", + value: function (e, t, n) { + var r, i; + return (null === n || void 0 === n ? void 0 : n.loadingStrategy) + ? n.loadingStrategy + : ( + null === + (r = + null === t || void 0 === t + ? void 0 + : t.workspacesOptions) || void 0 === r + ? void 0 + : r.loadingStrategy + ) + ? t.workspacesOptions.loadingStrategy + : ( + null === e || void 0 === e + ? void 0 + : e.loadingStrategy + ) + ? null === + (i = + null === e || void 0 === e + ? void 0 + : e.loadingStrategy) || void 0 === i + ? void 0 + : i.defaultStrategy + : void 0; + } + }, + { + key: "startLazy", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i, + o = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + null === (n = ae.getById(e)) || + void 0 === n + ? void 0 + : n.layout + ) { + t.next = 3; + break; + } + return t.abrupt("return"); + case 3: + return ( + (r = + n.layout.root.getItemsByType( + "component" + )), + (i = + this.getComponentsByVisibility( + r.map(function (e) { + return e; + }) + )), + t.abrupt( + "return", + Promise.all( + i.visibleComponents.map( + function (t) { + return o.start( + t, + e + ); + } + ) + ) + ) + ); + case 6: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "startDelayed", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i, + o, + a, + c, + u = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + null === (n = ae.getById(e)) || + void 0 === n + ? void 0 + : n.layout + ) { + t.next = 3; + break; + } + return t.abrupt("return"); + case 3: + return ( + (r = + n.layout.root.getItemsByType( + "component" + )), + (i = + this.getComponentsByVisibility( + r.map(function (e) { + return e; + }) + )), + (o = i.visibleComponents.map( + function (t) { + return u.start(t, e); + } + )), + (t.next = 8), + this._systemSettings.getSettings() + ); + case 8: + return ( + (a = t.sent.loadingStrategy), + (c = Promise.all(o).then( + function () { + var t, n, r; + return u._delayedExecutor.startExecution( + i.notImmediatelyVisibleComponents.map( + function (t) { + return { + id: K( + t + .config + .id + ), + action: function () { + return u.start( + t, + e + ); + } + }; + } + ), + { + batchSize: + (null === + (t = + null === + a || + void 0 === + a + ? void 0 + : a.delayed) || + void 0 === t + ? void 0 + : t.batch) || + 1, + executionInterval: + (null === + (n = + null === + a || + void 0 === + a + ? void 0 + : a.delayed) || + void 0 === n + ? void 0 + : n.interval) || + 5e3, + initialDelay: + (null === + (r = + null === + a || + void 0 === + a + ? void 0 + : a.delayed) || + void 0 === r + ? void 0 + : r.initialOffsetInterval) || + 1e3 + } + ); + } + )), + t.abrupt("return", c) + ); + case 11: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "startDirect", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i = this; + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + null === (n = ae.getById(e)) || + void 0 === n + ? void 0 + : n.layout + ) { + t.next = 3; + break; + } + return t.abrupt("return"); + case 3: + return ( + (r = + n.layout.root.getItemsByType( + "component" + )), + (t.next = 6), + Promise.all( + r.map(function (t) { + return i.start(t, e); + }) + ) + ); + case 6: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "onStarted", + value: function (e) { + return this.registry.add("on-started", e); + } + }, + { + key: "onLoaded", + value: function (e) { + return this.registry.add("on-loaded", e); + } + }, + { + key: "onFailed", + value: function (e) { + return this.registry.add("on-failed", e); + } + }, + { + key: "waitForWindows", + value: function (e, t) { + var n = this; + return new Promise(function (r, i) { + var o, + a = function () {}, + s = function () {}, + u = c( + n.waitFor(t.length, function () { + (r(), a(), s(), clearTimeout(o)); + }), + 2 + ), + d = u[0], + l = u[1]; + ((o = setTimeout(function () { + i( + "Waiting for windows " + .concat(JSON.stringify(t), " in workspace ") + .concat(e, ", but only heard ") + .concat(JSON.stringify(l()), " in ") + .concat(n.WAIT_FOR_WINDOWS_TIMEOUT, " seconds") + ); + }, n.WAIT_FOR_WINDOWS_TIMEOUT)), + (a = n.onLoaded(function (n) { + var r = n.summary; + r.config.workspaceId === e && + t.includes(r.itemId) && + d(r.itemId); + })), + (s = n.onFailed(function (n) { + n.workspaceId === e && + t.includes(K(n.component.config.id)) && + d(n.component.config.id); + }))); + }); + } + }, + { + key: "getUrlByAppName", + value: function (e) { + var t, n, r, i; + if (e) + return null === + (i = + null === + (r = + null === + (n = + null === + (t = this._glue.appManager) || + void 0 === t + ? void 0 + : t.application(e)) || + void 0 === n + ? void 0 + : n.userProperties) || void 0 === r + ? void 0 + : r.details) || void 0 === i + ? void 0 + : i.url; + } + }, + { + key: "raiseFailed", + value: function (e, t) { + this.registry.execute("on-failed", { + component: e, + workspaceId: t + }); + } + }, + { + key: "getTitleByAppName", + value: function (e) { + var t, n; + if (e) + return null === + (n = + null === (t = this._glue.appManager) || void 0 === t + ? void 0 + : t.application(e)) || void 0 === n + ? void 0 + : n.title; + } + }, + { + key: "getAppNameByWindowId", + value: function (e) { + var t, n, r, i; + return null === + (i = + null === + (r = + null === + (n = + null === (t = this._glue.appManager) || + void 0 === t + ? void 0 + : t.instances()) || void 0 === n + ? void 0 + : n.find(function (t) { + return t.id === e; + })) || void 0 === r + ? void 0 + : r.application) || void 0 === i + ? void 0 + : i.name; + } + }, + { + key: "waitFor", + value: function (e, t) { + var n = []; + return [ + function (r) { + (n.push(r), n.length === e && t()); + }, + function () { + return n; + } + ]; + } + }, + { + key: "validateTitle", + value: function (e) { + if (null === e || void 0 === e ? void 0 : e.length) return e; + } + }, + { + key: "getComponentsByVisibility", + value: function (e) { + var t = this, + n = e.filter(function (e) { + return t._stateResolver.isWindowSelected(e.config.id); + }), + r = e.filter(function (e) { + return !n.includes(e); + }); + return { + visibleComponents: n, + notImmediatelyVisibleComponents: r + }; + } + }, + { + key: "startCore", + value: function (e, t) { + var n, r, i, a, c; + return q( + this, + void 0, + void 0, + s().mark(function u() { + var d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b, + k, + x, + _, + C, + I, + S, + E, + W, + T = this; + return s().wrap( + function (s) { + for (;;) + switch ((s.prev = s.next)) { + case 0: + if ( + ((d = Z(e.element)), + (l = e.config.componentState), + (p = l.title), + (h = l.appName), + (f = l.windowId), + (v = K(e.config.id)), + (m = this.getTitleByAppName(h)), + (g = + this.validateTitle(p) || + this.validateTitle(m) || + this.validateTitle(h) || + "Glue"), + (y = + null === + (n = + null === e || + void 0 === e + ? void 0 + : e.config + .componentState) || + void 0 === n + ? void 0 + : n.context), + (w = + this.getUrlByAppName( + l.appName + ) || + (null === + (a = + null === + (i = + null === + (r = + e + .config + .workspacesConfig) || + void 0 === r + ? void 0 + : r.noAppWindowState) || + void 0 === i + ? void 0 + : i.createArgs) || + void 0 === a + ? void 0 + : a.url)), + (b = ae.getWindow(v)), + (k = + !b || + !ae.getWindow(v).windowId), + (x = t.hibernatedWindows.some( + function (t) { + return ( + t.id === + K(e.config.id) + ); + } + )), + ae.addWindow( + { + id: v, + bounds: d, + windowId: f, + url: w, + appName: h + }, + t.id + ), + w || !f) + ) { + s.next = 20; + break; + } + return ( + (_ = this._glue.windows + .list() + .find(function (e) { + return e.id === f; + })), + (s.next = 17), + _.getURL() + ); + case 17: + ((w = s.sent), + (ae.getWindow(v).url = w)); + case 20: + if ( + ((f = f || ie()), + (null === + (c = + e.config + .componentState) || + void 0 === c + ? void 0 + : c.context) && + delete e.config + .componentState.context, + (e.config.componentState.url = + w), + g && + (e.setTitle(g), + be.decoratedFactory.updateWorkspaceWindowTabs( + { + placementId: v, + title: g + } + )), + !k || x) + ) { + s.next = 36; + break; + } + if ( + ((C = + this._stateResolver.getWindowSummarySync( + e.config.id, + e + )), + this._manager.workspacesEventEmitter.raiseWindowEvent( + { + action: "added", + payload: { + windowSummary: C + } + } + ), + !(I = + this._glue.windows.findById( + f + ))) + ) { + s.next = 36; + break; + } + return ( + (s.prev = 29), + (s.next = 32), + I.close() + ); + case 32: + s.next = 36; + break; + case 34: + ((s.prev = 34), + (s.t0 = s.catch(29))); + case 36: + return ( + (s.prev = 36), + (s.next = 39), + this._platformCommunicator.notifyFrameWillStart( + f, + h, + y, + g, + t.id + ) + ); + case 39: + return ( + (s.next = 41), + this._frameController.startFrame( + v, + w, + void 0, + f, + h + ) + ); + case 41: + if ( + ((S = ae.getWindow(v)), + (e.config.componentState.windowId = + f), + (S.windowId = f), + be.decoratedFactory.updateWorkspaceWindowTabs( + { + placementId: v, + windowId: f + } + ), + this._glue.windows + .findById(f) + .getTitle() + .then(function (t) { + T.validateTitle(g) && + (e.setTitle(t), + be.decoratedFactory.updateWorkspaceWindowTabs( + { + placementId: + v, + title: g + } + )); + }) + .catch(function (e) { + console.warn( + "Failed while setting the window title", + e + ); + }), + this._frameController.moveFrame( + v, + Z(e.element) + ), + !k || x) + ) { + s.next = 56; + break; + } + return ( + (s.t1 = + this._manager.workspacesEventEmitter), + (s.next = 52), + this._stateResolver.getWindowSummary( + v + ) + ); + case 52: + ((s.t2 = s.sent), + (s.t3 = { + windowSummary: s.t2 + }), + (s.t4 = { + action: "loaded", + payload: s.t3 + }), + s.t1.raiseWindowEvent.call( + s.t1, + s.t4 + )); + case 56: + if (h) { + s.next = 62; + break; + } + if ( + ((E = + this.getAppNameByWindowId( + f + )), + e.config.componentState) + ) { + s.next = 60; + break; + } + throw new Error( + "Invalid state - the created component " + .concat( + v, + " with windowId " + ) + .concat( + f, + " is missing its state object" + ) + ); + case 60: + ((e.config.componentState.appName = + E), + (S.appName = E)); + case 62: + ((W = + e.layoutManager.root.getItemsByFilter( + function (e) { + return ( + e.isMaximized && + "component" !== + e.type + ); + } + )), + W.reduce(function (e, t) { + return [].concat( + o(e), + o( + t.getItemsByFilter( + function (e) { + return ( + "component" === + e.type + ); + } + ) + ) + ); + }, []).some(function (t) { + return t === e; + }) && + (this._frameController.maximizeTab( + v + ), + this._frameController.selectionChanged( + [v], + [] + )), + (s.next = 75)); + break; + case 67: + if ( + ((s.prev = 67), + (s.t5 = s.catch(36)), + this.raiseFailed(e, t.id), + w + ? this._frameController.moveFrame( + v, + Z(e.element) + ) + : ((e.config.componentState.windowId = + f), + this._manager.closeTab( + e, + !1 + )), + (e.config.componentState.windowId = + void 0), + ae.getById(t.id)) + ) { + s.next = 75; + break; + } + throw new Error( + "Workspace " + .concat( + t.id, + " failed ot initialize because none of the specified windows were able to load\n Internal error: " + ) + .concat(s.t5) + ); + case 75: + return ( + (s.prev = 75), + (t.hibernatedWindows = + t.hibernatedWindows.filter( + function (t) { + return ( + t.id !== + K(e.config.id) + ); + } + )), + s.finish(75) + ); + case 78: + case "end": + return s.stop(); + } + }, + u, + this, + [ + [29, 34], + [36, 67, 75, 78] + ] + ); + }) + ); + } + } + ]), + e + ); + })(), + je = (function () { + function e() { + (w(this, e), (this.actionsInProgress = [])); + } + return ( + x(e, [ + { + key: "startExecution", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + a = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = this.splitInBatches( + e, + t.batchSize + )), + (n.next = 3), + this.waitFor(t.initialDelay) + ); + case 3: + return ( + (i = r.reduce(function (e, n) { + return q( + a, + void 0, + void 0, + s().mark(function r() { + var i; + return s().wrap( + function (r) { + for (;;) + switch ( + (r.prev = + r.next) + ) { + case 0: + return ( + (r.next = 2), + e + ); + case 2: + return ( + (i = + r.sent), + (r.t0 = + i.push), + (r.t1 = + i), + (r.t2 = + o), + (r.next = 8), + this.executeBatch( + n + ) + ); + case 8: + return ( + (r.t3 = + r.sent), + (r.t4 = + (0, + r.t2)( + r.t3 + )), + r.t0.apply.call( + r.t0, + r.t1, + r.t4 + ), + (r.next = 13), + this.waitFor( + t.executionInterval + ) + ); + case 13: + return r.abrupt( + "return", + Promise.resolve( + i + ) + ); + case 14: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + }, Promise.resolve([]))), + n.abrupt( + "return", + i.then(function () { + a.actionsInProgress = + []; + }) + ) + ); + case 5: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "isActionInProgress", + value: function (e) { + return this.actionsInProgress.some(function (t) { + return t.id === e; + }); + } + }, + { + key: "executeBatch", + value: function (e) { + return ( + (this.actionsInProgress = e), + Promise.all( + e.map(function (e) { + return e.action(); + }) + ) + ); + } + }, + { + key: "splitInBatches", + value: function (e, t) { + return e.reduce(function (e, n, r) { + if (r % t === 0) e.push([n]); + else { + var i = e.pop(); + (i.push(n), e.push(i)); + } + return e; + }, []); + } + }, + { + key: "waitFor", + value: function (e) { + return new Promise(function (t) { + setTimeout(function () { + t(); + }, e); + }); + } + } + ]), + e + ); + })(), + He = (function () { + function e(t) { + (w(this, e), (this._platformCommunicator = t)); + } + return ( + x(e, [ + { + key: "getSettings", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (this.settings) { + e.next = 4; + break; + } + return ( + (e.next = 3), + this._platformCommunicator.askForSettings() + ); + case 3: + this.settings = e.sent; + case 4: + return e.abrupt( + "return", + this.settings + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + } + ]), + e + ); + })(), + ze = (function () { + function e() { + w(this, e); + } + return ( + x(e, [ + { + key: "validateWorkspace", + value: function (e) { + var t = this; + return !this.getAllItemsFromWorkspace(e).filter(function (e) { + return !t.areConstraintsValid(t.getConstraintsFromItem(e)); + }).length; + } + }, + { + key: "fixWorkspace", + value: function (e) { + var t = this, + n = this.getAllItemsFromWorkspace(e); + return ( + !n.filter(function (e) { + return !t.areConstraintsValid( + t.getConstraintsFromItem(e) + ); + }).length || + (n.forEach(function (e) { + e.config && + ((e.config.minWidth = le), + (e.config.minHeight = le), + (e.config.maxWidth = de), + (e.config.maxHeight = de)); + }), + !1) + ); + } + }, + { + key: "fixNewWindow", + value: function (e, t, n) { + var r, i, o, a, s; + if ( + void 0 !== + (null === (r = e.config) || void 0 === r + ? void 0 + : r.minWidth) || + void 0 !== + (null === (i = e.config) || void 0 === i + ? void 0 + : i.maxWidth) || + void 0 !== + (null === (o = e.config) || void 0 === o + ? void 0 + : o.minHeight) || + void 0 !== + (null === (a = e.config) || void 0 === a + ? void 0 + : a.maxHeight) + ) { + (!(function e(t, r) { + s || + ("window" !== t.type && + (t.id !== r + ? t.children.forEach(function (t) { + e(t, n); + }) + : (s = t))); + })(t, n), + s.children.push(e), + this.validateWorkspace(t) || + ((e.config.minWidth = le), + (e.config.maxWidth = de), + (e.config.minHeight = le), + (e.config.maxHeight = de))); + } + } + }, + { + key: "fixNewContainer", + value: function (e, t, n) { + var r; + if ( + ((function e(t, i) { + r || + ("window" !== t.type && + (t.id !== i + ? t.children.forEach(function (t) { + e(t, n); + }) + : (r = t))); + })(t, n), + r.children.push(e), + !this.validateWorkspace(t)) + ) { + !(function e(t) { + (t.config && + ((t.config.minWidth = le), + (t.config.maxWidth = de), + (t.config.minHeight = le), + (t.config.maxHeight = de)), + "window" !== t.type && + t.children.forEach(function (t) { + return e(t); + })); + })(e); + } + } + }, + { + key: "getAllItemsFromWorkspace", + value: function (e) { + var t = []; + return ( + (function e(n) { + (t.push(n), + "window" !== n.type && + n.children.forEach(function (t) { + return e(t); + })); + })(e), + t + ); + } + }, + { + key: "areConstraintsValid", + value: function (e) { + return e.minWidth <= e.maxWidth && e.minHeight <= e.maxHeight; + } + }, + { + key: "getConstraintsFromItem", + value: function (e) { + var t, + n, + r, + i, + o, + a, + s, + c, + u = this, + d = + null !== + (n = + null === (t = e.config) || void 0 === t + ? void 0 + : t.minWidth) && void 0 !== n + ? n + : le, + l = + null !== + (i = + null === (r = e.config) || void 0 === r + ? void 0 + : r.maxWidth) && void 0 !== i + ? i + : de, + p = + null !== + (a = + null === (o = e.config) || void 0 === o + ? void 0 + : o.minHeight) && void 0 !== a + ? a + : le, + h = + null !== + (c = + null === (s = e.config) || void 0 === s + ? void 0 + : s.maxHeight) && void 0 !== c + ? c + : de, + f = 0, + v = 0, + m = 0, + g = 0; + return "window" === e.type + ? { minWidth: d, maxWidth: l, minHeight: p, maxHeight: h } + : ("row" === e.type + ? e.children.forEach(function (e) { + var t, + n, + r, + i, + o = u.getConstraintsFromItem(e); + ((f += + null !== (t = o.minWidth) && void 0 !== t + ? t + : le), + (v += + null !== (n = o.maxWidth) && + void 0 !== n + ? n + : de), + (m = Math.max( + null !== (r = o.minHeight) && + void 0 !== r + ? r + : le, + m + )), + (g = Math.min( + null !== (i = o.maxHeight) && + void 0 !== i + ? i + : de, + g || h + ))); + }) + : "column" === e.type + ? e.children.forEach(function (e) { + var t, + n, + r, + i, + o = u.getConstraintsFromItem(e); + ((f = Math.max( + null !== (t = o.minWidth) && void 0 !== t + ? t + : le, + f + )), + (v = Math.min( + null !== (n = o.maxWidth) && + void 0 !== n + ? n + : de, + v || l + )), + (m += + null !== (r = o.minHeight) && + void 0 !== r + ? r + : le), + (g += + null !== (i = o.maxHeight) && + void 0 !== i + ? i + : de)); + }) + : e.children.forEach(function (e) { + var t, + n, + r, + i, + o = u.getConstraintsFromItem(e); + ((f = Math.max( + null !== (t = o.minWidth) && void 0 !== t + ? t + : le, + f + )), + (v = Math.min( + null !== (n = o.maxWidth) && + void 0 !== n + ? n + : de, + v || l + )), + (m = Math.max( + null !== (r = o.minHeight) && + void 0 !== r + ? r + : le, + m + )), + (g = Math.min( + null !== (i = o.maxHeight) && + void 0 !== i + ? i + : de, + g || h + ))); + }), + (v = v || l), + (g = g || h), + { + minWidth: Math.max(d, f), + maxWidth: Math.min(l, v), + minHeight: Math.max(p, m), + maxHeight: Math.min(h, g) + }); + } + } + ]), + e + ); + })(), + qe = (function () { + function e(t, n) { + (w(this, e), (this._glue = t), (this._frameId = n)); + } + return ( + x(e, [ + { + key: "platformConfig", + get: function () { + return window.glue42core || window.iobrowser; + } + }, + { + key: "requestOnLayoutSaveContexts", + value: function (e) { + var t, n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (r.next = 2), + this.isOperationSupported({ + domain: "workspaces", + operation: + "getWorkspaceWindowsOnLayoutSaveContext" + }) + ); + case 2: + if (r.sent) { + r.next = 6; + break; + } + return ( + console.warn( + "Workspace layout ".concat( + e.layoutName, + " won't save the window contexts because the platform must be at lease version 1.13.0" + ) + ), + r.abrupt("return", []) + ); + case 6: + return ( + (r.prev = 6), + (r.next = 9), + this._glue.agm.invoke(ue, { + domain: "workspaces", + operation: + "getWorkspaceWindowsOnLayoutSaveContext", + data: e + }) + ); + case 9: + return ( + (i = r.sent), + r.abrupt( + "return", + null !== + (n = + null === + (t = + null === + i || + void 0 === i + ? void 0 + : i.returned) || + void 0 === t + ? void 0 + : t.windowsOnSaveData) && + void 0 !== n + ? n + : [] + ) + ); + case 13: + ((r.prev = 13), + (r.t0 = r.catch(6)), + console.warn( + "The save of window contexts unexpectedly failed with ", + r.t0 + )); + case 16: + return r.abrupt("return", []); + case 17: + case "end": + return r.stop(); + } + }, + r, + this, + [[6, 13]] + ); + }) + ); + } + }, + { + key: "notifyFrameWillStart", + value: function (e, t, n, r, i) { + var o = (window.glue42core || window.iobrowser).communicationId; + return this._glue.interop.invoke( + ue, + { + domain: t ? "appManager" : "windows", + operation: t + ? "registerWorkspaceApp" + : "registerWorkspaceWindow", + data: { + name: "".concat(t || "window", "_").concat(e), + windowId: e, + frameId: this._frameId, + appName: t, + context: n, + title: r, + workspaceId: i + } + }, + o ? { instance: o } : void 0 + ); + } + }, + { + key: "notifyFrameWillClose", + value: function (e, t) { + var n = (window.glue42core || window.iobrowser).communicationId; + return this._glue.interop.invoke( + ue, + { + domain: t ? "appManager" : "windows", + operation: t + ? "unregisterWorkspaceApp" + : "unregisterWorkspaceWindow", + data: { windowId: e } + }, + n ? { instance: n } : void 0 + ); + } + }, + { + key: "askForSettings", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + var t, n, r; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (!this._systemSettings) { + e.next = 2; + break; + } + return e.abrupt( + "return", + this._systemSettings + ); + case 2: + return ( + (t = + window.glue42core || + window.iobrowser), + (n = t.communicationId), + (e.next = 6), + this._glue.interop.invoke( + ue, + { + domain: "workspaces", + operation: + "getWorkspacesConfig", + data: {} + }, + n ? { instance: n } : void 0 + ) + ); + case 6: + return ( + (r = e.sent), + (this._systemSettings = + r.returned), + e.abrupt( + "return", + this._systemSettings + ) + ); + case 9: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "isOperationSupported", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.prev = 0), + (t.next = 3), + this._glue.agm.invoke(ue, { + domain: e.domain, + operation: "operationCheck", + data: { + operation: e.operation + } + }) + ); + case 3: + return ( + (n = t.sent), + t.abrupt( + "return", + n.returned.isSupported + ) + ); + case 7: + return ( + (t.prev = 7), + (t.t0 = t.catch(0)), + t.abrupt("return", !1) + ); + case 10: + case "end": + return t.stop(); + } + }, + t, + this, + [[0, 7]] + ); + }) + ); + } + } + ]), + e + ); + })(), + Ge = (function () { + function e(t, n, r, i, o) { + (w(this, e), + (this.wrapperFactory = t), + (this.layoutEventEmitter = n), + (this.containerContentItem = r), + (this.frameId = i), + (this.workspaceId = o)); + } + return ( + x(e, [ + { + key: "id", + get: function () { + var e; + return K( + null === (e = this.containerContentItem) || void 0 === e + ? void 0 + : e.config.id + ); + } + }, + { + key: "minWidth", + get: function () { + var e; + return null !== (e = this.containerContentItem.getMinWidth()) && + void 0 !== e + ? e + : le; + }, + set: function (e) { + if ("row" === this.containerContentItem.type) + throw new Error( + "Cannot set minWidth ".concat( + e, + " to a container of type row" + ) + ); + if (isNaN(e) || e < 0) + throw new Error( + "Invalued value passed for minWidth ".concat(e) + ); + this.containerContentItem.config.workspacesConfig.minWidth = e; + } + }, + { + key: "minHeight", + get: function () { + var e; + return null !== + (e = this.containerContentItem.getMinHeight()) && + void 0 !== e + ? e + : le; + }, + set: function (e) { + if ("column" === this.containerContentItem.type) + throw new Error( + "Cannot set minHeight ".concat( + e, + " to a container of type column" + ) + ); + if (isNaN(e) || e < 0) + throw new Error( + "Invalued value passed for minHeight ".concat(e) + ); + this.containerContentItem.config.workspacesConfig.minHeight = e; + } + }, + { + key: "maxWidth", + get: function () { + var e; + return null !== (e = this.containerContentItem.getMaxWidth()) && + void 0 !== e + ? e + : de; + }, + set: function (e) { + if ("row" === this.containerContentItem.type) + throw new Error( + "Cannot set maxWidth ".concat( + e, + " to a container of type row" + ) + ); + if (isNaN(e) || e < 0) + throw new Error( + "Invalued value passed for maxWidth ".concat(e) + ); + this.containerContentItem.config.workspacesConfig.maxWidth = e; + } + }, + { + key: "maxHeight", + get: function () { + var e; + return null !== + (e = this.containerContentItem.getMaxHeight()) && + void 0 !== e + ? e + : de; + }, + set: function (e) { + if ("column" === this.containerContentItem.type) + throw new Error( + "Cannot set maxHeight ".concat( + e, + " to a container of type column" + ) + ); + if (isNaN(e) || e < 0) + throw new Error( + "Invalued value passed for maxHeight ".concat(e) + ); + this.containerContentItem.config.workspacesConfig.maxHeight = e; + } + }, + { + key: "allowDrop", + get: function () { + return this.getLockPropertyFromConfig("allowDrop"); + }, + set: function (e) { + (this.setLockPropertyFromConfig("allowDrop", e), + this.populateChildrenAllowDrop(e)); + } + }, + { + key: "allowDropHeader", + get: function () { + return this.getLockPropertyFromConfig("allowDropHeader"); + }, + set: function (e) { + this.setLockPropertyFromConfig("allowDropHeader", e); + } + }, + { + key: "allowDropLeft", + get: function () { + return this.getLockPropertyFromConfig("allowDropLeft"); + }, + set: function (e) { + this.setLockPropertyFromConfig("allowDropLeft", e); + } + }, + { + key: "allowDropRight", + get: function () { + return this.getLockPropertyFromConfig("allowDropRight"); + }, + set: function (e) { + this.setLockPropertyFromConfig("allowDropRight", e); + } + }, + { + key: "allowDropTop", + get: function () { + return this.getLockPropertyFromConfig("allowDropTop"); + }, + set: function (e) { + this.setLockPropertyFromConfig("allowDropTop", e); + } + }, + { + key: "allowDropBottom", + get: function () { + return this.getLockPropertyFromConfig("allowDropBottom"); + }, + set: function (e) { + this.setLockPropertyFromConfig("allowDropBottom", e); + } + }, + { + key: "allowExtract", + get: function () { + return this.getLockPropertyFromConfig("allowExtract"); + }, + set: function (e) { + (this.setLockPropertyFromConfig("allowExtract", e), + this.populateChildrenAllowExtract(e)); + } + }, + { + key: "allowReorder", + get: function () { + return this.getLockPropertyFromConfig("allowReorder"); + }, + set: function (e) { + (this.setLockPropertyFromConfig("allowReorder", e), + this.populateChildrenAllowReorder(e)); + } + }, + { + key: "allowSplitters", + get: function () { + if ("stack" === this.containerContentItem.config.type) + throw new Error( + "Accessing allowSplitters of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for rows and columns" + ) + ); + return this.getLockPropertyFromConfig("allowSplitters"); + }, + set: function (e) { + if ("stack" === this.containerContentItem.config.type) + throw new Error( + "Setting allowSplitters of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for rows and columns" + ) + ); + (this.setLockPropertyFromConfig("allowSplitters", e), + this.populateChildrenAllowSplitters(e)); + } + }, + { + key: "showMaximizeButton", + get: function () { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Accessing showMaximizeButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + return this.getLockPropertyFromConfig("showMaximizeButton"); + }, + set: function (e) { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Setting showMaximizeButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + this.setLockPropertyFromConfig("showMaximizeButton", e); + } + }, + { + key: "showEjectButton", + get: function () { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Accessing showEjectButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + return this.getLockPropertyFromConfig("showEjectButton"); + }, + set: function (e) { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Setting showEjectButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + (this.setLockPropertyFromConfig("showEjectButton", e), + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: this.id, + eject: { visible: e } + })); + } + }, + { + key: "showAddWindowButton", + get: function () { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Accessing showAddWindowButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + return this.getLockPropertyFromConfig("showAddWindowButton"); + }, + set: function (e) { + if ("stack" !== this.containerContentItem.config.type) + throw new Error( + "Setting showAddWindowButton of container " + .concat(this.containerContentItem.type, " ") + .concat( + this.id, + " the property is available only for stacks" + ) + ); + (this.setLockPropertyFromConfig("showAddWindowButton", e), + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: this.id, + addWindow: { visible: e } + })); + } + }, + { + key: "positionIndex", + get: function () { + var e, t; + return ( + (null === + (t = + null === (e = this.containerContentItem) || + void 0 === e + ? void 0 + : e.parent) || void 0 === t + ? void 0 + : t.contentItems.indexOf(this.containerContentItem)) || + 0 + ); + } + }, + { + key: "bounds", + get: function () { + var e, t, n, r; + if (!this.containerContentItem) return {}; + this.containerContentItem.config.workspacesConfig || + (this.containerContentItem.config.workspacesConfig = {}); + var i = + null !== (e = this.workspaceId) && void 0 !== e + ? e + : null === (t = ae.getByContainerId(this.id)) || + void 0 === t + ? void 0 + : t.id; + if (i && this.isWorkspaceSelected(i)) { + var o = Z(this.containerContentItem.element); + return ( + (this.containerContentItem.config.workspacesConfig.cachedBounds = + o), + o + ); + } + var a = Z(this.containerContentItem.element); + return 0 === a.width && + 0 === a.height && + (null === + (n = + this.containerContentItem.config + .workspacesConfig) || void 0 === n + ? void 0 + : n.cachedBounds) + ? null === + (r = + this.containerContentItem.config + .workspacesConfig) || void 0 === r + ? void 0 + : r.cachedBounds + : a; + } + }, + { + key: "isPinned", + get: function () { + var e; + return ( + null !== + (e = + this.containerContentItem.config.workspacesConfig + .isPinned) && + void 0 !== e && + e + ); + } + }, + { + key: "maximizationBoundary", + get: function () { + var e; + return ( + null !== + (e = + this.containerContentItem.config.workspacesConfig + .maximizationBoundary) && + void 0 !== e && + e + ); + }, + set: function (e) { + this.containerContentItem.config.workspacesConfig.maximizationBoundary = + e; + } + }, + { + key: "activeItemId", + get: function () { + return "stack" !== this.containerContentItem.type + ? "" + : K( + this.containerContentItem.getActiveContentItem() + .config.id + ); + } + }, + { + key: "summary", + get: function () { + var e, + t, + n, + r = + null !== (e = this.workspaceId) && void 0 !== e + ? e + : null === (t = ae.getByContainerId(this.id)) || + void 0 === t + ? void 0 + : t.id, + i = this.getUserFriendlyType( + (null === (n = this.containerContentItem) || + void 0 === n + ? void 0 + : n.type) || "workspace" + ), + o = { + workspaceId: r, + frameId: this.frameId, + positionIndex: this.positionIndex, + allowDrop: this.allowDrop, + minWidth: this.minWidth, + maxWidth: this.maxWidth, + minHeight: this.minHeight, + maxHeight: this.maxHeight, + widthInPx: this.bounds.width, + heightInPx: this.bounds.height, + isPinned: this.isPinned, + isMaximized: this.isMaximized, + maximizationBoundary: this.maximizationBoundary + }, + a = "window" === i ? void 0 : i; + return ( + "group" === a && + (o = Object.assign(Object.assign({}, o), { + allowExtract: this.allowExtract, + allowReorder: this.allowReorder, + showMaximizeButton: this.showMaximizeButton, + showEjectButton: this.showEjectButton, + showAddWindowButton: this.showAddWindowButton, + allowDropHeader: this.allowDropHeader, + allowDropLeft: this.allowDropLeft, + allowDropRight: this.allowDropRight, + allowDropTop: this.allowDropTop, + allowDropBottom: this.allowDropBottom + })), + "group" !== a && + (o = Object.assign(Object.assign({}, o), { + allowSplitters: this.allowSplitters + })), + { + itemId: this.id, + type: "window" === i ? void 0 : i, + config: o + } + ); + } + }, + { + key: "config", + get: function () { + var e, + t = ( + ae.getByContainerId( + this.containerContentItem.config.id + ) || ae.getByWindowId(this.id) + ).layout.toConfig(), + n = this.findElementInConfig(this.id, t); + return ( + (n.workspacesConfig.isPinned = + null !== (e = n.workspacesConfig.isPinned) && + void 0 !== e && + e), + n + ); + } + }, + { + key: "isMaximized", + get: function () { + return this.containerContentItem.hasId("__glMaximised"); + } + }, + { + key: "populateChildrenAllowDrop", + value: function (e) { + var t = this; + !(function n(r) { + r.forEach(function (r) { + "component" !== r.type && + ((t.wrapperFactory.getContainerWrapper({ + containerContentItem: r + }).allowDrop = e), + n(r.contentItems)); + }); + })(this.containerContentItem.contentItems); + } + }, + { + key: "populateChildrenAllowExtract", + value: function (e) { + var t = this; + !(function n(r) { + r.forEach(function (r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r + }).allowExtract = e; + n(r.contentItems); + } else { + t.wrapperFactory.getWindowWrapper({ + windowContentItem: r + }).allowExtract = e; + } + }); + })(this.containerContentItem.contentItems); + } + }, + { + key: "populateChildrenAllowReorder", + value: function (e) { + var t = this; + !(function n(r) { + r.forEach(function (r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r + }).allowReorder = e; + n(r.contentItems); + } else { + t.wrapperFactory.getWindowWrapper({ + windowContentItem: r + }).allowReorder = e; + } + }); + })(this.containerContentItem.contentItems); + } + }, + { + key: "populateChildrenAllowSplitters", + value: function (e) { + var t = this; + !(function n(r) { + r.forEach(function (r) { + "component" !== r.type && + "stack" !== r.type && + ((t.wrapperFactory.getContainerWrapper({ + containerContentItem: r + }).allowSplitters = e), + n(r.contentItems)); + }); + })(this.containerContentItem.contentItems); + } + }, + { + key: "getUserFriendlyType", + value: function (e) { + return "stack" === e + ? "group" + : "root" === e + ? "workspace" + : "component" === e + ? "window" + : e; + } + }, + { + key: "findElementInConfig", + value: function (e, t) { + var n = (function t(n) { + return K(n.id) === e + ? [n] + : (n.content || []).reduce(function (e, n) { + return [].concat(o(e), o(t(n))); + }, []); + })(t); + return n.find(function (e) { + return e.id; + }); + } + }, + { + key: "isWorkspaceSelected", + value: function (e) { + return this.wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).isSelected; + } + }, + { + key: "getLockPropertyFromConfig", + value: function (e) { + var t; + return ( + null === + (t = + this.containerContentItem.config.workspacesConfig[ + e + ]) || + void 0 === t || + t + ); + } + }, + { + key: "setLockPropertyFromConfig", + value: function (e, t) { + var n = this.getLockPropertyFromConfig(e); + ((this.containerContentItem.config.workspacesConfig[e] = t), + n !== this.getLockPropertyFromConfig(e) && + this.layoutEventEmitter.raiseEvent( + "container-lock-configuration-changed", + { item: this.containerContentItem } + )); + } + } + ]), + e + ); + })(), + Ue = (function () { + function e(t, n, r, i) { + (w(this, e), + (this.wrapperFactory = t), + (this.layoutEventEmitter = n), + (this.windowContentItem = r), + (this.frameId = i)); + } + return ( + x(e, [ + { + key: "minWidth", + get: function () { + return this.windowContentItem.getMinWidth(); + }, + set: function (e) { + this.windowContentItem.config.workspacesConfig.minWidth = e; + } + }, + { + key: "maxWidth", + get: function () { + return this.windowContentItem.getMaxWidth(); + }, + set: function (e) { + this.windowContentItem.config.workspacesConfig.maxWidth = e; + } + }, + { + key: "minHeight", + get: function () { + return this.windowContentItem.getMinHeight(); + }, + set: function (e) { + this.windowContentItem.config.workspacesConfig.minHeight = e; + } + }, + { + key: "maxHeight", + get: function () { + return this.windowContentItem.getMaxHeight(); + }, + set: function (e) { + this.windowContentItem.config.workspacesConfig.maxHeight = e; + } + }, + { + key: "allowExtract", + get: function () { + return this.getLockPropertyFromConfig("allowExtract"); + }, + set: function (e) { + this.setLockPropertyInConfig("allowExtract", e); + } + }, + { + key: "allowReorder", + get: function () { + return this.getLockPropertyFromConfig("allowReorder"); + }, + set: function (e) { + this.setLockPropertyInConfig("allowReorder", e); + } + }, + { + key: "showCloseButton", + get: function () { + return this.getLockPropertyFromConfig("showCloseButton"); + }, + set: function (e) { + (this.setLockPropertyInConfig("showCloseButton", e), + be.decoratedFactory.updateWorkspaceWindowTabs({ + placementId: K(this.windowContentItem.config.id), + close: { visible: e } + })); + } + }, + { + key: "isMaximized", + get: function () { + var e, t, n; + return ( + null !== + (n = + null === + (t = + null === (e = this.windowContentItem) || + void 0 === e + ? void 0 + : e.parent) || void 0 === t + ? void 0 + : t.isMaximized) && + void 0 !== n && + n + ); + } + }, + { + key: "isSelected", + get: function () { + var e, t; + return ( + "function" === + typeof (null === (e = this.windowContentItem) || + void 0 === e + ? void 0 + : e.parent.getActiveContentItem) && + K( + null === (t = this.windowContentItem) || void 0 === t + ? void 0 + : t.parent.getActiveContentItem().config.id + ) === K(this.windowContentItem.config.id) + ); + } + }, + { + key: "index", + get: function () { + var e, t; + return ( + (null === + (t = + null === (e = this.windowContentItem.parent) || + void 0 === e + ? void 0 + : e.contentItems) || void 0 === t + ? void 0 + : t.indexOf(this.windowContentItem)) || 0 + ); + } + }, + { + key: "isTabless", + get: function () { + var e, + t, + n, + r = + null === (e = this.windowContentItem) || void 0 === e + ? void 0 + : e.parent; + return !!(null === + (n = + null === + (t = + null === r || void 0 === r + ? void 0 + : r.config) || void 0 === t + ? void 0 + : t.workspacesConfig) || void 0 === n + ? void 0 + : n.wrapper); + } + }, + { + key: "summary", + get: function () { + return this.getSummaryCore( + this.windowContentItem, + K(this.windowContentItem.config.id) + ); + } + }, + { + key: "config", + get: function () { + var e; + return null === (e = this.windowContentItem) || void 0 === e + ? void 0 + : e.config; + } + }, + { + key: "bounds", + get: function () { + var e, t, n; + if (!this.windowContentItem) return {}; + this.windowContentItem.config.workspacesConfig || + (this.windowContentItem.config.workspacesConfig = {}); + var r = + null === + (e = ae.getByWindowId( + K(this.windowContentItem.config.id) + )) || void 0 === e + ? void 0 + : e.id; + if (r && this.isWorkspaceSelected(r)) { + var i = Z(this.windowContentItem.element); + return ( + (this.windowContentItem.config.workspacesConfig.cachedBounds = + i), + i + ); + } + var o = Z(this.windowContentItem.element); + return 0 === o.width && + 0 === o.height && + (null === + (t = this.windowContentItem.config.workspacesConfig) || + void 0 === t + ? void 0 + : t.cachedBounds) + ? null === + (n = + this.windowContentItem.config.workspacesConfig) || + void 0 === n + ? void 0 + : n.cachedBounds + : o; + } + }, + { + key: "getSummaryCore", + value: function (e, t) { + var n, + r, + i, + o, + a = void 0 !== e.config.componentState.windowId, + s = this.index, + c = + null !== + (n = + e.layoutManager.config.workspacesOptions + .workspaceId) && void 0 !== n + ? n + : null === (r = ae.getByWindowId(t)) || void 0 === r + ? void 0 + : r.id, + u = e.config.componentState, + d = u.appName, + l = u.url, + p = u.windowId, + h = this.getUserFriendlyParent(e); + return { + itemId: K(e.config.id), + parentId: + null !== + (o = K( + null === + (i = + null === h || void 0 === h + ? void 0 + : h.config) || void 0 === i + ? void 0 + : i.id + )) && void 0 !== o + ? o + : K(e.config.id), + config: { + frameId: this.frameId, + isLoaded: a, + isFocused: !1, + isSelected: this.isSelected, + positionIndex: s, + workspaceId: c, + windowId: p, + isMaximized: this.isMaximized, + appName: d, + url: l, + title: e.config.title, + allowExtract: this.allowExtract, + allowReorder: this.allowReorder, + showCloseButton: this.showCloseButton, + minWidth: this.minWidth, + maxWidth: this.maxWidth, + minHeight: this.minHeight, + maxHeight: this.maxHeight, + widthInPx: this.bounds.width, + heightInPx: this.bounds.height + } + }; + } + }, + { + key: "getUserFriendlyParent", + value: function (e) { + var t, n, r; + return e.parent + ? ( + null === + (r = + null === + (n = + null === (t = e.parent) || + void 0 === t + ? void 0 + : t.config) || void 0 === n + ? void 0 + : n.workspacesConfig) || void 0 === r + ? void 0 + : r.wrapper + ) + ? this.getUserFriendlyParent(e.parent) + : e.parent + : e; + } + }, + { + key: "isWorkspaceSelected", + value: function (e) { + return this.wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).isSelected; + } + }, + { + key: "getPropertyFromConfig", + value: function (e) { + var t, n, r; + return ( + null !== + (r = + null === + (n = + null === (t = this.windowContentItem) || + void 0 === t + ? void 0 + : t.config) || void 0 === n + ? void 0 + : n.workspacesConfig) && void 0 !== r + ? r + : {} + )[e]; + } + }, + { + key: "getLockPropertyFromConfig", + value: function (e) { + var t; + return ( + null === (t = this.getPropertyFromConfig(e)) || + void 0 === t || + t + ); + } + }, + { + key: "setPropertyInConfig", + value: function (e, t) { + this.windowContentItem.config.workspacesConfig[e] = t; + } + }, + { + key: "setLockPropertyInConfig", + value: function (e, t) { + var n = this.getLockPropertyFromConfig(e); + (this.setPropertyInConfig(e, t), + n !== this.getLockPropertyFromConfig(e) && + this.layoutEventEmitter.raiseEvent( + "window-lock-configuration-changed", + { item: this.windowContentItem } + )); + } + } + ]), + e + ); + })(), + Ve = (function () { + function e(t, n, r, i, o) { + (w(this, e), + (this.wrapperFactory = t), + (this.layoutEventEmitter = n), + (this.workspace = r), + (this.workspaceContentItem = i), + (this.frameId = o)); + } + return ( + x(e, [ + { + key: "id", + get: function () { + return this.workspace.id; + } + }, + { + key: "title", + get: function () { + var e, + t = this.workspaceContentItem; + return ( + (null === (e = t.tab) || void 0 === e ? void 0 : e.title) || + t.config.workspacesOptions.title || + t.config.title || + t.config.componentName + ); + } + }, + { + key: "lastFocusedWindowId", + get: function () { + var e, + t, + n, + r, + i, + o, + a = this; + if ( + !(null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) + ) + return ""; + var s = + null === + (n = + null === (t = this.workspace.layout.config) || + void 0 === t + ? void 0 + : t.workspacesOptions) || void 0 === n + ? void 0 + : n.focusedWindowId; + if (s) return s; + var c = + null === + (i = + null === (r = this.workspace.layout.config) || + void 0 === r + ? void 0 + : r.workspacesOptions) || void 0 === i + ? void 0 + : i.focusedGroupId, + u = this.workspace.layout.root.getItemsById(c)[0]; + if (u && "component" !== u.type && u.contentItems.length) { + var d = u.contentItems[u.contentItems.length - 1].config.id; + return K(d); + } + return null === + (o = this.workspace.windows.filter(function (e) { + return a.wrapperFactory.getWindowWrapper({ + itemId: e.id, + workspaceId: a.workspace.id + }).isSelected; + })[0]) || void 0 === o + ? void 0 + : o.id; + } + }, + { + key: "isSelected", + get: function () { + var e = ae.workspaceLayout.root + .getItemsById(this.workspace.id)[0] + .parent.getActiveContentItem(); + return K(e.config.id) === this.workspace.id; + } + }, + { + key: "isHibernated", + get: function () { + return ( + "undefined" !== typeof this.workspace.hibernateConfig && + null !== this.workspace.hibernateConfig + ); + } + }, + { + key: "tabIndex", + get: function () { + var e = this; + return ae.workspaceLayout.root + .getItemsById(this.workspace.id)[0] + .parent.header.tabs.findIndex(function (t) { + return K(t.contentItem.config.id) === e.workspace.id; + }); + } + }, + { + key: "isPinned", + get: function () { + return !!this.workspaceContentItem.tab.isPinned; + } + }, + { + key: "config", + get: function () { + var e = this.workspace; + if (this.isHibernated) + return ( + (e.hibernateConfig.workspacesOptions.isPinned = + this.isPinned), + e.hibernateConfig + ); + var t = e.layout + ? e.layout.toConfig() + : { workspacesOptions: {}, content: [], id: e.id }; + return ( + (t.workspacesOptions.frameId = this.frameId), + (t.workspacesOptions.positionIndex = this.tabIndex), + (t.workspacesOptions.isHibernated = this.isHibernated), + (t.workspacesOptions.isSelected = this.isSelected), + (t.workspacesOptions.allowDrop = this.allowDrop), + (t.workspacesOptions.allowDropLeft = this.allowDropLeft), + (t.workspacesOptions.allowDropTop = this.allowDropTop), + (t.workspacesOptions.allowDropRight = this.allowDropRight), + (t.workspacesOptions.allowDropBottom = + this.allowDropBottom), + (t.workspacesOptions.allowExtract = this.allowExtract), + (t.workspacesOptions.allowWindowReorder = + this.allowWindowReorder), + (t.workspacesOptions.allowSystemHibernation = + this.allowSystemHibernation), + (t.workspacesOptions.showCloseButton = + this.showCloseButton), + (t.workspacesOptions.showSaveButton = this.showSaveButton), + (t.workspacesOptions.allowWorkspaceTabReorder = + this.allowWorkspaceTabReorder), + (t.workspacesOptions.allowSplitters = this.allowSplitters), + (t.workspacesOptions.showAddWindowButtons = + this.showAddWindowButtons), + (t.workspacesOptions.showEjectButtons = + this.showEjectButtons), + (t.workspacesOptions.showWindowCloseButtons = + this.showWindowCloseButtons), + (t.workspacesOptions.minWidth = Math.max( + this.minWidth, + le + )), + (t.workspacesOptions.maxWidth = Math.min( + this.maxWidth, + de + )), + (t.workspacesOptions.minHeight = Math.max( + this.minHeight, + le + )), + (t.workspacesOptions.maxHeight = Math.min( + this.maxHeight, + de + )), + (t.workspacesOptions.widthInPx = this.bounds.width), + (t.workspacesOptions.heightInPx = this.bounds.height), + (t.workspacesOptions.isPinned = this.isPinned), + (t.workspacesOptions.icon = this.icon), + (t.workspacesOptions.lastActive = e.lastActive), + t.workspacesOptions.title || + (t.workspacesOptions.title = this.title), + (t.workspacesOptions.name = + t.workspacesOptions.name || t.workspacesOptions.title), + this.transformComponentsToWindowSummary(t), + this.transformParentsToContainerSummary(t), + t + ); + } + }, + { + key: "summary", + get: function () { + var e = this.config, + t = this.tabIndex, + n = { + frameId: this.frameId, + positionIndex: t, + title: this.title, + name: e.workspacesOptions.name || this.title, + layoutName: e.workspacesOptions.layoutName, + isHibernated: this.isHibernated, + isSelected: this.isSelected, + lastActive: this.workspace.lastActive, + allowDrop: this.allowDrop, + allowDropLeft: this.allowDropLeft, + allowDropTop: this.allowDropTop, + allowDropRight: this.allowDropRight, + allowDropBottom: this.allowDropBottom, + allowExtract: this.allowExtract, + allowWindowReorder: this.allowWindowReorder, + allowSystemHibernation: this.allowSystemHibernation, + allowSplitters: this.allowSplitters, + showCloseButton: this.showCloseButton, + showSaveButton: this.showSaveButton, + allowWorkspaceTabReorder: this.allowWorkspaceTabReorder, + showAddWindowButtons: this.showAddWindowButtons, + showEjectButtons: this.showEjectButtons, + showWindowCloseButtons: this.showWindowCloseButtons, + minWidth: this.minWidth, + maxWidth: this.maxWidth, + minHeight: this.minHeight, + maxHeight: this.maxHeight, + widthInPx: this.bounds.width, + heightInPx: this.bounds.height, + isPinned: this.isPinned, + icon: this.icon + }; + return ( + e.workspacesOptions.layoutName && + (n.layoutName = e.workspacesOptions.layoutName), + { config: n, id: this.workspace.id } + ); + } + }, + { + key: "allowDrop", + get: function () { + var e; + return ( + null === (e = this.getPropertyFromConfig("allowDrop")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("allowDrop", e), + this.populateChildrenAllowDrop(e)); + } + }, + { + key: "allowDropLeft", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("allowDropLeft")) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowDropLeft", e); + } + }, + { + key: "allowDropTop", + get: function () { + var e; + return ( + null === (e = this.getPropertyFromConfig("allowDropTop")) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowDropTop", e); + } + }, + { + key: "allowDropRight", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("allowDropRight")) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowDropRight", e); + } + }, + { + key: "allowDropBottom", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("allowDropBottom")) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowDropBottom", e); + } + }, + { + key: "allowExtract", + get: function () { + var e; + return ( + null === (e = this.getPropertyFromConfig("allowExtract")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("allowExtract", e), + this.populateChildrenAllowExtract(e)); + } + }, + { + key: "allowWindowReorder", + get: function () { + var e; + return ( + null === + (e = + this.getPropertyFromConfig("allowWindowReorder")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("allowWindowReorder", e), + this.populateChildrenAllowReorder(e)); + } + }, + { + key: "allowSplitters", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("allowSplitters")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("allowSplitters", e), + this.populateChildrenAllowSplitters(e)); + } + }, + { + key: "showSaveButton", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("showSaveButton")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("showSaveButton", e), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: this.workspace.id, + showSaveButton: e + })); + } + }, + { + key: "allowWorkspaceTabReorder", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig( + "allowWorkspaceTabReorder" + )) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowWorkspaceTabReorder", e); + } + }, + { + key: "showCloseButton", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("showCloseButton")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("showCloseButton", e), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: this.workspace.id, + showCloseButton: e + })); + } + }, + { + key: "showAddWindowButtons", + get: function () { + var e; + return ( + null === + (e = + this.getPropertyFromConfig( + "showAddWindowButtons" + )) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("showAddWindowButtons", e), + this.populateChildrenShowAddWindowButtons(e)); + } + }, + { + key: "showEjectButtons", + get: function () { + var e; + return ( + null === + (e = this.getPropertyFromConfig("showEjectButtons")) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("showEjectButtons", e), + this.populateChildrenShowEjectButtons(e)); + } + }, + { + key: "showWindowCloseButtons", + get: function () { + var e; + return ( + null === + (e = + this.getPropertyFromConfig( + "showWindowCloseButtons" + )) || + void 0 === e || + e + ); + }, + set: function (e) { + (this.setLockPropertyInConfig("showWindowCloseButtons", e), + this.populateChildrenShowWindowCloseButtons(e)); + } + }, + { + key: "allowSystemHibernation", + get: function () { + var e; + return ( + null === + (e = + this.getPropertyFromConfig( + "allowSystemHibernation" + )) || + void 0 === e || + e + ); + }, + set: function (e) { + this.setLockPropertyInConfig("allowSystemHibernation", e); + } + }, + { + key: "minWidth", + get: function () { + var e, t; + return (null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) && + null !== (t = this.workspace.layout.root.getMinWidth()) && + void 0 !== t + ? t + : le; + } + }, + { + key: "maxWidth", + get: function () { + var e, t; + return (null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) && + null !== (t = this.workspace.layout.root.getMaxWidth()) && + void 0 !== t + ? t + : de; + } + }, + { + key: "minHeight", + get: function () { + var e, t; + return (null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) && + null !== (t = this.workspace.layout.root.getMinHeight()) && + void 0 !== t + ? t + : le; + } + }, + { + key: "maxHeight", + get: function () { + var e, t; + return (null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) && + null !== (t = this.workspace.layout.root.getMaxHeight()) && + void 0 !== t + ? t + : de; + } + }, + { + key: "bounds", + get: function () { + return this.isSelected + ? Z(this.workspaceContentItem.element) + : Z(this.workspaceContentItem.element[0].parentElement); + } + }, + { + key: "hasMaximizedItems", + get: function () { + var e = this.workspace.layout; + return !!e && e.root.getItemsById("__glMaximised").length > 0; + } + }, + { + key: "windowSummaries", + get: function () { + var e = this, + t = []; + this.isHibernated + ? (t = (function (e) { + var t = []; + return ( + (function e(n, r) { + "component" !== n.type + ? n.content.forEach(function (t) { + return e(t, K(n.id)); + }) + : t.push({ + itemId: K(n.id), + parentId: r, + config: n.workspacesConfig + }); + })(e, void 0), + t + ); + })(this.config)) + : (t = this.workspace.windows + .map(function (t) { + if (ae.getWindowContentItem(t.id)) + return e.getWindowSummary(t.id); + }) + .filter(function (e) { + return e; + })); + return t; + } + }, + { + key: "getMaximizedItemInRoot", + value: function (e) { + var t, n; + return null !== + (t = + null === e || void 0 === e + ? void 0 + : e._maximizedItem) && void 0 !== t + ? t + : null === (n = this.workspace.layout) || void 0 === n + ? void 0 + : n._maximizedItem; + } + }, + { + key: "maximizedItemsInContainer", + get: function () { + var e, t; + return Object.values( + (null === + (t = + null === (e = this.workspace) || void 0 === e + ? void 0 + : e.layout) || void 0 === t + ? void 0 + : t._maximizedItemsInTargetContainer) || {} + ); + } + }, + { + key: "icon", + get: function () { + return this.getPropertyFromConfig("icon"); + }, + set: function (e) { + var t; + ((null === (t = this.workspace) || void 0 === t + ? void 0 + : t.layout) && + (this.workspace.layout.config.workspacesOptions.icon = e), + (this.workspaceContentItem.config.workspacesConfig.icon = + e), + be.decoratedFactory.updateWorkspaceTabs({ + workspaceId: this.workspace.id, + icon: e + })); + } + }, + { + key: "transformComponentsToWindowSummary", + value: function (e) { + var t, + n = this; + if ("component" !== e.type || e.componentName !== se) { + if ("component" === e.type) { + var r = this.getWindowSummary(e.id); + return ( + (e.workspacesConfig = e.workspacesConfig || {}), + void (e.workspacesConfig = Object.assign( + Object.assign({}, e.workspacesConfig), + r.config + )) + ); + } + null === (t = e.content) || + void 0 === t || + t.map(function (e) { + return n.transformComponentsToWindowSummary(e); + }); + } + } + }, + { + key: "transformParentsToContainerSummary", + value: function (e) { + var t, + n = this; + if ("component" !== e.type) { + if ( + "stack" === e.type || + "row" === e.type || + "column" === e.type + ) { + var r = this.getContainerSummary(e.id); + ((e.workspacesConfig = e.workspacesConfig || {}), + (e.workspacesConfig = Object.assign( + Object.assign({}, e.workspacesConfig), + r.config + ))); + } + null === (t = e.content) || + void 0 === t || + t.map(function (e) { + return n.transformParentsToContainerSummary(e); + }); + } + } + }, + { + key: "populateChildrenAllowDrop", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + "component" !== r.type && + ((t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).allowDrop = e), + r.contentItems.forEach(function (e) { + n(e); + })); + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenAllowSplitters", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + "component" !== r.type && + "stack" !== r.type && + ((t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).allowSplitters = e), + r.contentItems.forEach(function (e) { + n(e); + })); + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenAllowExtract", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).allowExtract = e; + r.contentItems.forEach(function (e) { + n(e); + }); + } else { + t.wrapperFactory.getWindowWrapper({ + windowContentItem: r + }).allowExtract = e; + } + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenAllowReorder", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).allowReorder = e; + r.contentItems.forEach(function (e) { + n(e); + }); + } else { + t.wrapperFactory.getWindowWrapper({ + windowContentItem: r + }).allowReorder = e; + } + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenShowAddWindowButtons", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).showAddWindowButton = e; + r.contentItems.forEach(function (e) { + n(e); + }); + } + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenShowEjectButtons", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + if ("component" !== r.type) { + if ("stack" === r.type) + t.wrapperFactory.getContainerWrapper({ + containerContentItem: r, + workspaceId: t.workspace.id + }).showEjectButton = e; + r.contentItems.forEach(function (e) { + n(e); + }); + } + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "populateChildrenShowWindowCloseButtons", + value: function (e) { + var t = this, + n = this.workspace.layout; + if (n) { + var r = function n(r) { + "component" !== r.type + ? r.contentItems.forEach(function (e) { + n(e); + }) + : (t.wrapperFactory.getWindowWrapper({ + windowContentItem: r + }).showCloseButton = e); + }; + n.root.contentItems.forEach(function (e) { + r(e); + }); + } + } + }, + { + key: "getPropertyFromConfig", + value: function (e) { + var t; + return ( + null === (t = this.workspace) || void 0 === t + ? void 0 + : t.layout + ) + ? this.workspace.layout.config.workspacesOptions[e] + : this.workspaceContentItem.config.workspacesConfig[e]; + } + }, + { + key: "setPropertyInConfig", + value: function (e, t) { + var n; + ((null === (n = this.workspace) || void 0 === n + ? void 0 + : n.layout) && + (this.workspace.layout.config.workspacesOptions[e] = t), + (this.workspaceContentItem.config.workspacesConfig[e] = t)); + } + }, + { + key: "setLockPropertyInConfig", + value: function (e, t) { + var n, + r, + i = + null === (n = this.getPropertyFromConfig(e)) || + void 0 === n || + n; + (this.setPropertyInConfig(e, t), + i !== + (null === (r = this.getPropertyFromConfig(e)) || + void 0 === r || + r) && + this.layoutEventEmitter.raiseEvent( + "workspace-lock-configuration-changed", + { itemId: this.workspace.id } + )); + } + }, + { + key: "getWindowSummary", + value: function (e) { + return this.wrapperFactory.getWindowWrapper({ itemId: e }) + .summary; + } + }, + { + key: "getContainerSummary", + value: function (e) { + return this.wrapperFactory.getContainerWrapper({ + itemId: e, + workspaceId: this.id + }).summary; + } + } + ]), + e + ); + })(), + $e = (function () { + function e(t, n) { + (w(this, e), (this.layoutEventEmitter = t), (this.frameId = n)); + } + return ( + x(e, [ + { + key: "getWorkspaceWrapper", + value: function (e) { + var t = e.workspace; + (void 0 !== t && null != t) || + (t = e.workspaceId ? ae.getById(e.workspaceId) : void 0); + var n = e.workspaceContentItem; + return ( + (void 0 !== n && null != n) || + (n = e.workspaceId + ? ae.getWorkspaceContentItem(e.workspaceId) + : void 0), + new Ve(this, this.layoutEventEmitter, t, n, this.frameId) + ); + } + }, + { + key: "getWindowWrapper", + value: function (e) { + var t = e.windowContentItem; + return ( + (void 0 !== t && null != t) || + (t = e.itemId + ? ae.getWindowContentItem(K(e.itemId)) + : void 0), + new Ue(this, this.layoutEventEmitter, t, this.frameId) + ); + } + }, + { + key: "getContainerWrapper", + value: function (e) { + var t = e.containerContentItem; + if ( + ((void 0 !== t && null != t) || + (t = e.itemId ? ae.getContainer(e.itemId) : void 0), + "component" === t.type) + ) + throw new Error( + "Cannot get container wrapper for a component" + ); + return new Ge( + this, + this.layoutEventEmitter, + t, + this.frameId, + e.workspaceId + ); + } + } + ]), + e + ); + })(), + Je = (function (e) { + g(n, e); + var t = y(n); + function n() { + var e; + return ( + w(this, n), + ((e = t.apply(this, arguments)).groupedLockEvents = { + workspace: { group: !1, state: {} }, + window: { group: !1, state: {} }, + container: { group: !1, state: {} } + }), + e + ); + } + return ( + x(n, [ + { + key: "raiseWindowEvent", + value: function (e) { + "lock-configuration-changed" === e.action + ? this.raiseLockConfigurationChanged( + "window", + e.payload.windowSummary.itemId, + e.payload + ) + : v(f(n.prototype), "raiseWindowEvent", this).call(this, e); + } + }, + { + key: "raiseContainerEvent", + value: function (e) { + "lock-configuration-changed" === e.action + ? this.raiseLockConfigurationChanged( + "container", + e.payload.containerSummary.itemId, + e.payload + ) + : v(f(n.prototype), "raiseContainerEvent", this).call( + this, + e + ); + } + }, + { + key: "raiseWorkspaceEvent", + value: function (e) { + "lock-configuration-changed" === e.action + ? this.raiseLockConfigurationChanged( + "workspace", + e.payload.workspaceSummary.id, + e.payload + ) + : v(f(n.prototype), "raiseWorkspaceEvent", this).call( + this, + e + ); + } + }, + { + key: "startContainerLockConfigurationChangedGrouping", + value: function () { + this.startLockConfigurationChangedGrouping("container"); + } + }, + { + key: "endContainerLockConfigurationChangedGrouping", + value: function () { + this.endLockConfigurationChangedGrouping("container"); + } + }, + { + key: "startWorkspaceLockConfigurationChangedGrouping", + value: function () { + this.startLockConfigurationChangedGrouping("workspace"); + } + }, + { + key: "endWorkspaceLockConfigurationChangedGrouping", + value: function () { + this.endLockConfigurationChangedGrouping("workspace"); + } + }, + { + key: "startWindowLockConfigurationChangedGrouping", + value: function () { + this.startLockConfigurationChangedGrouping("window"); + } + }, + { + key: "endWindowLockConfigurationChangedGrouping", + value: function () { + this.endLockConfigurationChangedGrouping("window"); + } + }, + { + key: "startLockConfigurationChangedGrouping", + value: function (e) { + this.groupedLockEvents[e].group = !0; + } + }, + { + key: "raiseLockConfigurationChanged", + value: function (e, t, r) { + if (this.groupedLockEvents[e].group) + this.groupedLockEvents[e].state[t] = r; + else if ("window" === e) { + var i = r; + v(f(n.prototype), "raiseWindowEvent", this).call(this, { + action: "lock-configuration-changed", + payload: i + }); + } else if ("container" === e) { + var o = r; + v(f(n.prototype), "raiseContainerEvent", this).call(this, { + action: "lock-configuration-changed", + payload: o + }); + } else { + var a = r; + v(f(n.prototype), "raiseWorkspaceEvent", this).call(this, { + action: "lock-configuration-changed", + payload: a + }); + } + } + }, + { + key: "endLockConfigurationChangedGrouping", + value: function (e) { + var t = this; + try { + ((this.groupedLockEvents[e].group = !1), + Object.keys(this.groupedLockEvents[e].state).forEach( + function (n) { + t.raiseLockConfigurationChanged( + e, + n, + t.groupedLockEvents[e].state[n] + ); + } + )); + } catch (n) { + console.warn(n); + } finally { + this.groupedLockEvents[e].state = {}; + } + } + } + ]), + n + ); + })( + (function () { + function e() { + (w(this, e), (this.registry = we())); + } + return ( + x(e, [ + { + key: "onFrameEvent", + value: function (e) { + return this.registry.add("frame", e); + } + }, + { + key: "onWindowEvent", + value: function (e) { + return this.registry.add("window", e); + } + }, + { + key: "onContainerEvent", + value: function (e) { + return this.registry.add("container", e); + } + }, + { + key: "onWorkspaceEvent", + value: function (e) { + return this.registry.add("workspace", e); + } + }, + { + key: "raiseFrameEvent", + value: function (e) { + this.registry.execute("frame", e.action, e.payload); + } + }, + { + key: "raiseWindowEvent", + value: function (e) { + this.registry.execute("window", e.action, e.payload); + } + }, + { + key: "raiseContainerEvent", + value: function (e) { + this.registry.execute("container", e.action, e.payload); + } + }, + { + key: "raiseWorkspaceEvent", + value: function (e) { + this.registry.execute("workspace", e.action, e.payload); + } + } + ]), + e + ); + })() + ), + Ke = (function () { + function e(t, n) { + (w(this, e), + (this._emitter = t), + (this._configFactory = n), + (this.componentNameToCleanup = {})); + } + return ( + x(e, [ + { + key: "registerWindowComponent", + value: function (e, t) { + var n = this; + this.registerComponent(e, "app".concat(t), function (e) { + var r = n.createWindowDomElement(t); + e.getElement().append(r); + }); + } + }, + { + key: "unregisterWindowComponent", + value: function (e, t) { + e.unregisterComponent(t); + } + }, + { + key: "registerEmptyWindowComponent", + value: function (e, t) { + var n = this; + this.registerComponent(e, se, function (e) { + var r = n.createPlaceholderEmptyBackground(), + i = n.createPlaceholderWindowAddButton(e, t); + (r.append(i), e.getElement().append(r)); + }); + } + }, + { + key: "registerWorkspaceComponent", + value: function (e) { + var t = this, + n = this._configFactory.getWorkspaceLayoutComponentName(e); + this.registerComponent(ae.workspaceLayout, n, function (r) { + var i, + o, + a = t.createWorkspaceEmptyBackground(e), + s = t.createAddButtonInWorkspace(r, e, n); + (a.appendChild(s), + ( + null === (i = be.decoratedFactory) || void 0 === i + ? void 0 + : i.createWorkspaceContents + ) + ? (document.body.append(a), + (a.style.display = "none"), + null === (o = be.decoratedFactory) || + void 0 === o || + o.createWorkspaceContents({ + workspaceId: e, + domNode: r.getElement()[0] + })) + : r.getElement().append(a), + $(s).hide()); + }); + } + }, + { + key: "unregisterWorkspaceComponent", + value: function (e) { + ("function" === typeof this.componentNameToCleanup[e] && + (this.componentNameToCleanup[e](), + delete this.componentNameToCleanup[e]), + ae.workspaceLayout.unregisterComponent(e)); + } + }, + { + key: "registerComponent", + value: function (e, t, n) { + try { + e.registerComponent(t, function (e, t) { + n && n(e, t); + }); + } catch (r) { + console.log( + "Tried to register and already existing component - ".concat( + t + ) + ); + } + } + }, + { + key: "createAddButtonInWorkspace", + value: function (e, t, n) { + var r = this, + i = document.createElement("button"); + ((i.title = he), i.classList.add("add-button")); + var o = function (n) { + n.stopPropagation(); + var o = e.tab.contentItem; + r._emitter.raiseEvent("add-button-clicked", { + args: { + laneId: K(o.parent.id), + workspaceId: t, + bounds: Z(i) + } + }); + }; + return ( + i.addEventListener("click", o), + (this.componentNameToCleanup[n] = function () { + (i.removeEventListener("click", o), i.remove()); + }), + i + ); + } + }, + { + key: "createWorkspaceEmptyBackground", + value: function (e) { + var t = document.createElement("div"); + return ( + t.setAttribute( + "style", + "height:calc(100% - 1px); width:calc(100% - 1px);" + ), + t.classList.add("empty-container-background"), + (t.id = oe(e)), + t + ); + } + }, + { + key: "createWindowDomElement", + value: function (e) { + var t = document.createElement("div"); + return ( + t.setAttribute("style", "height:100%;"), + (t.id = "app".concat(e)), + t + ); + } + }, + { + key: "createPlaceholderWindowAddButton", + value: function (e, t) { + var n = this, + r = document.createElement("button"); + return ( + r.classList.add("add-button"), + (r.title = he), + (r.onclick = function (i) { + i.stopPropagation(); + var o = e.tab.contentItem, + a = + "stack" === o.parent.type + ? "group" + : o.parent.type; + o.parent.config.workspacesConfig.wrapper + ? n._emitter.raiseEvent("add-button-clicked", { + args: { + laneId: K(o.parent.parent.config.id), + workspaceId: t, + parentType: o.parent.parent.type, + bounds: Z(r) + } + }) + : n._emitter.raiseEvent("add-button-clicked", { + args: { + laneId: K(o.parent.config.id), + workspaceId: t, + parentType: a, + bounds: Z(r) + } + }); + }), + r + ); + } + }, + { + key: "createPlaceholderEmptyBackground", + value: function () { + var e = document.createElement("div"); + return (e.classList.add("empty-container-background"), e); + } + } + ]), + e + ); + })(), + Qe = (function () { + function e(t) { + (w(this, e), (this._wrapperFactory = t)); + } + return ( + x(e, [ + { + key: "enableWorkspaceDrop", + value: function (e, t) { + var n = ae.getWorkspaceContentItem(e), + r = ae.getById(e), + i = this._wrapperFactory.getWorkspaceWrapper({ + workspace: r, + workspaceContentItem: n + }); + ((i.allowDrop = t.allowDrop), + (i.allowDropLeft = t.allowDropLeft), + (i.allowDropTop = t.allowDropTop), + (i.allowDropRight = t.allowDropRight), + (i.allowDropBottom = t.allowDropBottom)); + } + }, + { + key: "disableWorkspaceDrop", + value: function (e, t) { + var n = ae.getWorkspaceContentItem(e), + r = ae.getById(e), + i = this._wrapperFactory.getWorkspaceWrapper({ + workspace: r, + workspaceContentItem: n + }); + ((i.allowDropLeft = t.allowDropLeft), + (i.allowDropTop = t.allowDropTop), + (i.allowDropRight = t.allowDropRight), + (i.allowDropBottom = t.allowDropBottom)); + } + }, + { + key: "enableWorkspaceSaveButton", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e), + r = this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }); + ((r.showSaveButton = !0), + r.isPinned || + xe.showWorkspaceSaveButton({ workspaceTab: n.tab })); + } + }, + { + key: "disableWorkspaceSaveButton", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + ((this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showSaveButton = !1), + xe.hideWorkspaceSaveButton({ workspaceTab: n.tab })); + } + }, + { + key: "enableWorkspaceReorder", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowWorkspaceTabReorder = !0; + } + }, + { + key: "disableWorkspaceReorder", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowWorkspaceTabReorder = !1; + } + }, + { + key: "enableWorkspaceCloseButton", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e), + r = this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }); + ((r.showCloseButton = !0), + r.isPinned || + xe.showWorkspaceCloseButton({ workspaceTab: n.tab })); + } + }, + { + key: "disableWorkspaceCloseButton", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + ((this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showCloseButton = !1), + xe.hideWorkspaceCloseButton({ workspaceTab: n.tab })); + } + }, + { + key: "enableSplitters", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowSplitters = !0; + } + }, + { + key: "disableSplitters", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowSplitters = !1; + } + }, + { + key: "enableWorkspaceExtract", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowExtract = !0; + } + }, + { + key: "disableWorkspaceExtract", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowExtract = !1; + } + }, + { + key: "enableWorkspaceWindowReorder", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowWindowReorder = !0; + } + }, + { + key: "disableWorkspaceWindowReorder", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).allowWindowReorder = !1; + } + }, + { + key: "enableWorkspaceWindowCloseButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showWindowCloseButtons = !0; + } + }, + { + key: "disableWorkspaceWindowCloseButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showWindowCloseButtons = !1; + } + }, + { + key: "enableWorkspaceEjectButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showEjectButtons = !0; + } + }, + { + key: "disableWorkspaceEjectButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showEjectButtons = !1; + } + }, + { + key: "enableWorkspaceAddWindowButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showAddWindowButtons = !0; + } + }, + { + key: "disableWorkspaceAddWindowButtons", + value: function (e) { + var t = ae.getById(e), + n = ae.getWorkspaceContentItem(e); + this._wrapperFactory.getWorkspaceWrapper({ + workspace: t, + workspaceContentItem: n + }).showAddWindowButtons = !1; + } + }, + { + key: "enableWindowExtract", + value: function (e, t) { + var n = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).allowExtract = t; + } + }, + { + key: "disableWindowExtract", + value: function (e) { + var t = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: t + }).allowExtract = !1; + } + }, + { + key: "enableWindowReorder", + value: function (e, t) { + var n = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).allowReorder = t; + } + }, + { + key: "disableWindowReorder", + value: function (e) { + var t = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: t + }).allowReorder = !1; + } + }, + { + key: "enableWindowCloseButton", + value: function (e, t) { + var n = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: n + }).showCloseButton = t; + } + }, + { + key: "disableWindowCloseButton", + value: function (e) { + var t = ae.getWindowContentItem(e); + this._wrapperFactory.getWindowWrapper({ + windowContentItem: t + }).showCloseButton = !1; + } + }, + { + key: "enableColumnDrop", + value: function (e, t) { + var n = ae.getContainer(e); + if ("column" !== n.type) + throw new Error( + "Expected item with type column but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowDrop = t; + } + }, + { + key: "disableColumnDrop", + value: function (e) { + var t = ae.getContainer(e); + if ("column" !== t.type) + throw new Error( + "Expected item with type column but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowDrop = !1; + } + }, + { + key: "enableRowDrop", + value: function (e, t) { + var n = ae.getContainer(e); + if ("row" !== n.type) + throw new Error( + "Expected item with type row but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowDrop = t; + } + }, + { + key: "disableRowDrop", + value: function (e) { + var t = ae.getContainer(e); + if ("row" !== t.type) + throw new Error( + "Expected item with type row but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowDrop = !1; + } + }, + { + key: "enableColumnSplitters", + value: function (e, t) { + var n = ae.getContainer(e); + if ("column" !== n.type) + throw new Error( + "Expected item with type column but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowSplitters = t; + } + }, + { + key: "disableColumnSplitters", + value: function (e) { + var t = ae.getContainer(e); + if ("column" !== t.type) + throw new Error( + "Expected item with type column but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowSplitters = !1; + } + }, + { + key: "enableRowSplitters", + value: function (e, t) { + var n = ae.getContainer(e); + if ("row" !== n.type) + throw new Error( + "Expected item with type row but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowSplitters = t; + } + }, + { + key: "disableRowSplitters", + value: function (e) { + var t = ae.getContainer(e); + if ("row" !== t.type) + throw new Error( + "Expected item with type row but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowSplitters = !1; + } + }, + { + key: "enableGroupDrop", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + var r = this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }); + ((r.allowDrop = t.allowDrop), + (r.allowDropHeader = t.allowDropHeader), + (r.allowDropLeft = t.allowDropLeft), + (r.allowDropTop = t.allowDropTop), + (r.allowDropRight = t.allowDropRight), + (r.allowDropBottom = t.allowDropBottom)); + } + }, + { + key: "disableGroupDrop", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + var r = this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }); + ((r.allowDrop = !1), + (r.allowDropHeader = t.allowDropHeader), + (r.allowDropLeft = t.allowDropLeft), + (r.allowDropTop = t.allowDropTop), + (r.allowDropRight = t.allowDropRight), + (r.allowDropBottom = t.allowDropBottom)); + } + }, + { + key: "enableGroupMaximizeButton", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).showMaximizeButton = t; + } + }, + { + key: "disableGroupMaximizeButton", + value: function (e) { + var t = ae.getContainer(e); + if ("stack" !== t.type) + throw new Error( + "Expected item with type stack but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).showMaximizeButton = !1; + } + }, + { + key: "enableGroupEjectButton", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).showEjectButton = t; + } + }, + { + key: "disableGroupEjectButton", + value: function (e) { + var t = ae.getContainer(e); + if ("stack" !== t.type) + throw new Error( + "Expected item with type stack but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).showEjectButton = !1; + } + }, + { + key: "enableGroupAddWindowButton", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).showAddWindowButton = t; + } + }, + { + key: "disableGroupAddWindowButton", + value: function (e) { + var t = ae.getContainer(e); + if ("stack" !== t.type) + throw new Error( + "Expected item with type stack but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).showAddWindowButton = !1; + } + }, + { + key: "enableGroupExtract", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowExtract = t; + } + }, + { + key: "disableGroupExtract", + value: function (e) { + var t = ae.getContainer(e); + if ("stack" !== t.type) + throw new Error( + "Expected item with type stack but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowExtract = !1; + } + }, + { + key: "enableGroupReorder", + value: function (e, t) { + var n = ae.getContainer(e); + if ("stack" !== n.type) + throw new Error( + "Expected item with type stack but received " + .concat(n.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).allowReorder = t; + } + }, + { + key: "disableGroupReorder", + value: function (e) { + var t = ae.getContainer(e); + if ("stack" !== t.type) + throw new Error( + "Expected item with type stack but received " + .concat(t.type, " ") + .concat(e) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: t + }).allowReorder = !1; + } + }, + { + key: "disableWorkspaceHibernation", + value: function (e) { + this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).allowSystemHibernation = !1; + } + }, + { + key: "enableWorkspaceHibernation", + value: function (e) { + this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }).allowSystemHibernation = !0; + } + } + ]), + e + ); + })(), + Xe = (function () { + function e(t, n) { + (w(this, e), (this._glue = t), (this._uiExecutor = n)); + } + return ( + x(e, [ + { + key: "applyTheme", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + var t, + n = this; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this.isThemesAPISupported() + ); + case 2: + if (e.sent) { + e.next = 5; + break; + } + return e.abrupt("return"); + case 5: + return ( + this._glue.themes.onChanged( + function (e) { + return q( + n, + void 0, + void 0, + s().mark( + function t() { + return s().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + this.changeTheme( + e.name + ); + case 1: + case "end": + return t.stop(); + } + }, + t, + this + ); + } + ) + ); + } + ), + (e.next = 8), + this._glue.themes.getCurrent() + ); + case 8: + ((t = e.sent), + this.changeTheme(t.name)); + case 10: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "isThemesAPISupported", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + if (this._glue.themes) { + e.next = 2; + break; + } + return e.abrupt("return", !1); + case 2: + return ( + (e.prev = 2), + (e.next = 5), + this._glue.themes.getCurrent() + ); + case 5: + return e.abrupt("return", !0); + case 8: + return ( + (e.prev = 8), + (e.t0 = e.catch(2)), + e.abrupt("return", !1) + ); + case 11: + case "end": + return e.stop(); + } + }, + e, + this, + [[2, 8]] + ); + }) + ); + } + }, + { + key: "changeTheme", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this._glue.themes.list() + ); + case 2: + ((n = t.sent), + (r = n.map(function (e) { + return e.name; + })), + this._uiExecutor.changeTheme( + e, + r + )); + case 5: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + } + ]), + e + ); + })(); + function Ye(e, t) { + var n, r, i, o, a, s; + return { + createLogo: Ze( + null === e || void 0 === e ? void 0 : e.createLogo, + null === t || void 0 === t ? void 0 : t.createLogo + ), + createWorkspaceTabs: Ze( + null === e || void 0 === e ? void 0 : e.createWorkspaceTabs, + null === t || void 0 === t ? void 0 : t.createWorkspaceTabs + ), + createAddWorkspace: Ze( + null === e || void 0 === e ? void 0 : e.createAddWorkspace, + null === t || void 0 === t ? void 0 : t.createAddWorkspace + ), + createSystemButtons: Ze( + null === e || void 0 === e ? void 0 : e.createSystemButtons, + null === t || void 0 === t ? void 0 : t.createSystemButtons + ), + createWorkspaceContents: Ze( + null === e || void 0 === e ? void 0 : e.createWorkspaceContents, + null === t || void 0 === t ? void 0 : t.createWorkspaceContents + ), + createBeforeGroupTabs: Ze( + null === e || void 0 === e ? void 0 : e.createBeforeGroupTabs, + null === t || void 0 === t ? void 0 : t.createBeforeGroupTabs + ), + createWorkspaceWindowTabs: Ze( + null === e || void 0 === e ? void 0 : e.createWorkspaceWindowTabs, + null === t || void 0 === t ? void 0 : t.createWorkspaceWindowTabs + ), + createAfterGroupTabs: Ze( + null === e || void 0 === e ? void 0 : e.createAfterGroupTabs, + null === t || void 0 === t ? void 0 : t.createAfterGroupTabs + ), + createGroupHeaderButtons: Ze( + null === e || void 0 === e ? void 0 : e.createGroupHeaderButtons, + null === t || void 0 === t ? void 0 : t.createGroupHeaderButtons + ), + createAddApplicationPopup: Ze( + null === e || void 0 === e ? void 0 : e.createAddApplicationPopup, + null === t || void 0 === t ? void 0 : t.createAddApplicationPopup + ), + createSaveWorkspacePopup: Ze( + null === e || void 0 === e ? void 0 : e.createSaveWorkspacePopup, + null === t || void 0 === t ? void 0 : t.createSaveWorkspacePopup + ), + createAddWorkspacePopup: Ze( + null === e || void 0 === e ? void 0 : e.createAddWorkspacePopup, + null === t || void 0 === t ? void 0 : t.createAddWorkspacePopup + ), + hideSystemPopups: Ze( + null === e || void 0 === e ? void 0 : e.hideSystemPopups, + null === t || void 0 === t ? void 0 : t.hideSystemPopups + ), + updateWorkspaceTabs: Ze( + null === e || void 0 === e ? void 0 : e.updateWorkspaceTabs, + null === t || void 0 === t ? void 0 : t.updateWorkspaceTabs + ), + updateWorkspaceWindowTabs: Ze( + null === e || void 0 === e ? void 0 : e.updateWorkspaceWindowTabs, + null === t || void 0 === t ? void 0 : t.updateWorkspaceWindowTabs + ), + updateGroupHeaderButtons: Ze( + null === e || void 0 === e ? void 0 : e.updateGroupHeaderButtons, + null === t || void 0 === t ? void 0 : t.updateGroupHeaderButtons + ), + removeWorkspaceTabs: Ze( + null === e || void 0 === e ? void 0 : e.removeWorkspaceTabs, + null === t || void 0 === t ? void 0 : t.removeWorkspaceTabs + ), + removeWorkspaceContents: Ze( + null === e || void 0 === e ? void 0 : e.removeWorkspaceContents, + null === t || void 0 === t ? void 0 : t.removeWorkspaceContents + ), + removeBeforeGroupTabs: Ze( + null === e || void 0 === e ? void 0 : e.removeBeforeGroupTabs, + null === t || void 0 === t ? void 0 : t.removeBeforeGroupTabs + ), + removeWorkspaceWindowTabs: Ze( + null === e || void 0 === e ? void 0 : e.removeWorkspaceWindowTabs, + null === t || void 0 === t ? void 0 : t.removeWorkspaceWindowTabs + ), + removeAfterGroupTabs: Ze( + null === e || void 0 === e ? void 0 : e.removeAfterGroupTabs, + null === t || void 0 === t ? void 0 : t.removeAfterGroupTabs + ), + removeGroupHeaderButtons: Ze( + null === e || void 0 === e ? void 0 : e.removeGroupHeaderButtons, + null === t || void 0 === t ? void 0 : t.removeGroupHeaderButtons + ), + externalPopupApplications: { + addApplication: Ze( + null === + (n = + null === e || void 0 === e + ? void 0 + : e.externalPopupApplications) || void 0 === n + ? void 0 + : n.addApplication, + null === + (r = + null === t || void 0 === t + ? void 0 + : t.externalPopupApplications) || void 0 === r + ? void 0 + : r.addApplication + ), + saveWorkspace: Ze( + null === + (i = + null === e || void 0 === e + ? void 0 + : e.externalPopupApplications) || void 0 === i + ? void 0 + : i.saveWorkspace, + null === + (o = + null === t || void 0 === t + ? void 0 + : t.externalPopupApplications) || void 0 === o + ? void 0 + : o.saveWorkspace + ), + addWorkspace: Ze( + null === + (a = + null === e || void 0 === e + ? void 0 + : e.externalPopupApplications) || void 0 === a + ? void 0 + : a.addWorkspace, + null === + (s = + null === t || void 0 === t + ? void 0 + : t.externalPopupApplications) || void 0 === s + ? void 0 + : s.addWorkspace + ) + }, + createId: Ze( + null === e || void 0 === e ? void 0 : e.createId, + null === t || void 0 === t ? void 0 : t.createId + ) + }; + } + function Ze(e, t) { + return null !== e && void 0 !== e ? e : t; + } + var et = (function () { + function e() { + w(this, e); + } + return ( + x(e, [ + { + key: "init", + value: function (e) { + this.createOptions = e; + } + }, + { + key: "update", + value: function (e) { + this.createOptions = Object.assign( + Object.assign({}, this.createOptions), + e + ); + } + } + ]), + e + ); + })(), + tt = (function (e) { + g(n, e); + var t = y(n); + function n() { + return (w(this, n), t.apply(this, arguments)); + } + return ( + x(n, [ + { + key: "init", + value: function (e) { + v(f(n.prototype), "init", this).call(this, e); + var t = document.createElement("li"); + (t.classList.add("lm_add_button"), + (t.title = "Add Workspace"), + e.domNode.appendChild(t)); + } + }, + { + key: "update", + value: function (e) { + v(f(n.prototype), "update", this).call(this, e); + } + }, + { key: "destroy", value: function () {} } + ]), + n + ); + })(et), + nt = (function (e) { + g(n, e); + var t = y(n); + function n() { + return (w(this, n), t.apply(this, arguments)); + } + return ( + x(n, [ + { + key: "init", + value: function (e) { + (v(f(n.prototype), "init", this).call(this, e), + this.initAddWindowButton(), + this.initEjectButton(), + this.initMaximizeButton(), + this.initRestoreButton(), + this.updateButtonVisibility(), + this.updateButtonTitles()); + } + }, + { + key: "update", + value: function (e) { + (v(f(n.prototype), "update", this).call(this, e), + this.updateButtonVisibility(), + this.updateButtonTitles()); + } + }, + { key: "destroy", value: function () {} }, + { + key: "updateButtonVisibility", + value: function () { + ((this.addWindowButton.hidden = + !this.createOptions.addWindow.visible), + (this.ejectButton.hidden = + !this.createOptions.eject.visible), + (this.maximizeButton.hidden = + !this.createOptions.maximize.visible), + (this.restoreButton.hidden = + !this.createOptions.restore.visible)); + } + }, + { + key: "updateButtonTitles", + value: function () { + var e, t, n, r; + ((this.addWindowButton.title = + null !== (e = this.createOptions.addWindow.title) && + void 0 !== e + ? e + : he), + (this.ejectButton.title = + null !== (t = this.createOptions.eject.title) && + void 0 !== t + ? t + : me), + (this.maximizeButton.title = + null !== (n = this.createOptions.maximize.title) && + void 0 !== n + ? n + : fe), + (this.restoreButton.title = + null !== (r = this.createOptions.restore.title) && + void 0 !== r + ? r + : ve)); + } + }, + { + key: "initAddWindowButton", + value: function () { + var e = this; + ((this.addWindowButton = document.createElement("li")), + this.addWindowButton.classList.add("lm_add_button"), + (this.addWindowButton.onclick = function (t) { + (t.stopPropagation(), + st.showAddWindowPopup( + e.createOptions.workspaceId, + e.createOptions.groupId, + Z(e.addWindowButton) + )); + }), + this.createOptions.domNode.appendChild( + this.addWindowButton + )); + } + }, + { + key: "initEjectButton", + value: function () { + var e = this; + ((this.ejectButton = document.createElement("li")), + this.ejectButton.classList.add("lm_popout"), + (this.ejectButton.onclick = function () { + st.ejectActiveWindow(e.createOptions.groupId); + }), + this.createOptions.domNode.appendChild(this.ejectButton)); + } + }, + { + key: "initMaximizeButton", + value: function () { + var e = this; + ((this.maximizeButton = document.createElement("li")), + this.maximizeButton.classList.add( + "lm_maximise", + "workspace_content" + ), + (this.maximizeButton.onclick = function () { + st.maximizeItem(e.createOptions.groupId); + }), + this.createOptions.domNode.appendChild( + this.maximizeButton + )); + } + }, + { + key: "initRestoreButton", + value: function () { + var e = this; + ((this.restoreButton = document.createElement("li")), + this.restoreButton.classList.add( + "lm_maximise", + "lm_restore", + "workspace_content" + ), + (this.restoreButton.onclick = function () { + st.restoreItem(e.createOptions.groupId); + }), + this.createOptions.domNode.appendChild(this.restoreButton)); + } + } + ]), + n + ); + })(et), + rt = (function (e) { + g(n, e); + var t = y(n); + function n() { + return (w(this, n), t.apply(this, arguments)); + } + return ( + x(n, [ + { + key: "init", + value: function (e) { + v(f(n.prototype), "init", this).call(this, e); + var t = document.createElement("span"); + (t.classList.add("logo_type"), e.domNode.appendChild(t)); + } + }, + { + key: "update", + value: function (e) { + v(f(n.prototype), "update", this).call(this, e); + } + }, + { key: "destroy", value: function () {} } + ]), + n + ); + })(et), + it = (function (e) { + g(n, e); + var t = y(n); + function n() { + return (w(this, n), t.apply(this, arguments)); + } + return ( + x(n, [ + { + key: "init", + value: function (e) { + (v(f(n.prototype), "init", this).call(this, e), + this.initChannelsSelector(), + this.initLeftDecoration(), + this.initTitle(), + this.initCloseButton(), + this.initRightDecoration(), + this.updateVisibility()); + } + }, + { + key: "update", + value: function (e) { + (v(f(n.prototype), "update", this).call(this, e), + this.updateTitle(), + this.updateVisibility()); + } + }, + { key: "destroy", value: function () {} }, + { key: "initChannelsSelector", value: function () {} }, + { + key: "initLeftDecoration", + value: function () { + ((this.leftDecoration = document.createElement("i")), + this.leftDecoration.classList.add("lm_left"), + this.createOptions.domNode.appendChild( + this.leftDecoration + )); + } + }, + { + key: "initTitle", + value: function () { + ((this.titleElement = document.createElement("span")), + this.titleElement.classList.add("lm_title"), + (this.titleElement.style.maxWidth = "150px"), + this.updateTitle(), + this.createOptions.domNode.appendChild(this.titleElement)); + } + }, + { + key: "initCloseButton", + value: function () { + var e, + t = this; + ((this.closeButtonElement = document.createElement("div")), + (this.closeButtonElement.title = + null !== (e = this.createOptions.title) && void 0 !== e + ? e + : ge), + this.closeButtonElement.classList.add("lm_close_tab")); + var n = function (e) { + (e.stopPropagation(), + st.closeItem(t.createOptions.placementId)); + }; + ((this.closeButtonElement.onclick = n), + (this.closeButtonElement.onmousedown = n), + this.createOptions.domNode.appendChild( + this.closeButtonElement + )); + } + }, + { + key: "initRightDecoration", + value: function () { + ((this.rightDecoration = document.createElement("i")), + this.rightDecoration.classList.add("lm_right"), + this.createOptions.domNode.appendChild( + this.rightDecoration + )); + } + }, + { + key: "updateVisibility", + value: function () { + this.closeButtonElement.hidden = + !this.createOptions.close.visible; + } + }, + { + key: "updateTitle", + value: function () { + this.titleElement.textContent = this.createOptions.title; + } + } + ]), + n + ); + })(et), + ot = x(function e() { + var t = this; + (w(this, e), + (this.state = { + logo: void 0, + addWorkspaceButton: void 0, + workspaceWindowTabs: {}, + groupHeaderButtons: {} + }), + (this.createLogo = function (e) { + ((t.state.logo = new rt()), t.state.logo.init(e)); + }), + (this.createAddWorkspace = function (e) { + ((t.state.addWorkspaceButton = new tt()), + t.state.addWorkspaceButton.init(e)); + }), + (this.createWorkspaceWindowTabs = function (e) { + ((t.state.workspaceWindowTabs[e.placementId] = new it()), + t.state.workspaceWindowTabs[e.placementId].init(e)); + }), + (this.createGroupHeaderButtons = function (e) { + ((t.state.groupHeaderButtons[e.groupId] = new nt()), + t.state.groupHeaderButtons[e.groupId].init(e)); + }), + (this.updateWorkspaceWindowTabs = function (e) { + t.state.workspaceWindowTabs[e.placementId] && + t.state.workspaceWindowTabs[e.placementId].update(e); + }), + (this.updateGroupHeaderButtons = function (e) { + t.state.groupHeaderButtons[e.groupId] && + t.state.groupHeaderButtons[e.groupId].update(e); + }), + (this.removeWorkspaceWindowTabs = function (e) { + t.state.workspaceWindowTabs[e.elementId] && + (t.state.workspaceWindowTabs[e.elementId].destroy(), + delete t.state.workspaceWindowTabs[e.elementId]); + }), + (this.removeGroupHeaderButtons = function (e) { + t.state.groupHeaderButtons[e.elementId] && + (t.state.groupHeaderButtons[e.elementId].destroy(), + delete t.state.groupHeaderButtons[e.elementId]); + })); + }), + at = (function () { + function e() { + var t = this; + (w(this, e), + (this._isLayoutInitialized = !1), + (this._initPromise = Promise.resolve()), + (this._workspacesEventEmitter = new Je()), + (this.getComponentBounds = function () { + return t._controller.bounds; + }), + (this.subscribeForWindowClicked = function (e) { + return t._frameController + ? t._frameController.onFrameContentClicked(e) + : (console.warn( + "Your subscription to window clicked wasn't successful, because the Workspaces library isn't initialized yet" + ), + function () {}); + }), + (this.cleanUp = function () { + var e; + if ( + !(null === (e = Te.config) || void 0 === e ? void 0 : e.build) + ) { + var n = [], + r = ae.workspaceIds.map(function (e) { + var r = ae.getById(e), + i = t._wrapperFactory.getWorkspaceWrapper({ + workspace: r, + workspaceId: r.id + }); + return ( + n.push.apply(n, o(i.windowSummaries)), + t.stateResolver.getWorkspaceSummary(e) + ); + }); + (n.forEach(function (e) { + (t._platformCommunicator + .notifyFrameWillClose( + e.config.windowId, + e.config.appName + ) + .catch(function (e) {}), + t.workspacesEventEmitter.raiseWindowEvent({ + action: "removed", + payload: { windowSummary: e } + })); + }), + r.forEach(function (e) { + t.workspacesEventEmitter.raiseWorkspaceEvent({ + action: "closed", + payload: { + frameSummary: { id: t.frameId }, + workspaceSummary: e, + frameBounds: t.stateResolver.getFrameBounds() + } + }); + })); + var i = ae.layouts.filter(function (e) { + var t, n, r; + return !(null === + (r = + null === + (n = + null === (t = e.layout) || void 0 === t + ? void 0 + : t.config) || void 0 === n + ? void 0 + : n.workspacesOptions) || void 0 === r + ? void 0 + : r.noTabHeader); + }); + (t._layoutsManager.saveWorkspacesFrame(i), + t.workspacesEventEmitter.raiseFrameEvent({ + action: "closed", + payload: { + frameSummary: { id: t.frameId }, + frameBounds: t.stateResolver.getFrameBounds() + } + })); + } + })); + } + return ( + x(e, [ + { + key: "stateResolver", + get: function () { + return this._stateResolver; + } + }, + { + key: "workspacesEventEmitter", + get: function () { + return this._workspacesEventEmitter; + } + }, + { + key: "initPromise", + get: function () { + return this._initPromise; + } + }, + { + key: "initialized", + get: function () { + return this._initialized; + } + }, + { + key: "frameId", + get: function () { + if (!window.name) + throw new Error( + "The frame id is not available because the platform is still initializing" + ); + return window.name; + } + }, + { + key: "layoutsManager", + get: function () { + return this._layoutsManager; + } + }, + { + key: "init", + value: function (e, t, n) { + var r; + ((this._glue = e), (this._facade = t)); + var i = Te.loadConfig(); + if (!this._initialized) { + ((this._initialized = !0), + (this._defaultComponentsFactory = new ot()), + (this._configFactory = new Re(e))); + var o = new Oe(this._configFactory); + (be.init( + this.frameId, + Ye(n, this._defaultComponentsFactory) + ), + (this._platformCommunicator = new qe( + this._glue, + this.frameId + )), + (this._frameController = new Ee( + e, + this._platformCommunicator + ))); + var a = new Se(we()); + ((this._wrapperFactory = new $e(a, this.frameId)), + (this._layoutLockingController = new Qe( + this._wrapperFactory + )), + (this._stateResolver = new Pe( + this.frameId, + a, + this._frameController, + o, + this._wrapperFactory + ))); + var s = new Ke(a, this._configFactory); + return ( + (this._controller = new Ie( + a, + this._stateResolver, + i, + this._configFactory, + this._wrapperFactory, + s + )), + (this._systemSettings = new He( + this._platformCommunicator + )), + (this._applicationFactory = new Fe( + e, + this.stateResolver, + this._frameController, + this, + new je(), + this._platformCommunicator, + this._systemSettings + )), + (this._layoutsManager = new Ae( + this.stateResolver, + e, + this._configFactory, + o, + new ze(), + this._platformCommunicator + )), + (this._popupManager = new De( + new Be(e, n), + new Ne(n, this.frameId), + n + )), + (this._themeController = new Xe(this._glue, xe)), + this._themeController.applyTheme(), + i.emptyFrame || + (null === + (r = + this._platformCommunicator + .platformConfig) || void 0 === r + ? void 0 + : r.initAsEmptyFrame) || + this.initLayout(), + { cleanUp: this.cleanUp } + ); + } + be.reInitialize(Ye(n, this._defaultComponentsFactory)); + } + }, + { + key: "initFrameLayout", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + e.forEach(function (e) { + e.id = + r._configFactory.getId(); + }), + this._layoutsManager.setInitialWorkspaceConfig( + e + ), + this._isLayoutInitialized && + !(null === t || void 0 === t + ? void 0 + : t.length) + ? (this._initPromise = + this.reinitLayout()) + : this + ._isLayoutInitialized && + (null === t || + void 0 === t + ? void 0 + : t.length) + ? (this._initPromise = + this.updateFrameLayoutNaive( + e, + t + )) + : (this._initPromise = + this.initLayout()), + (n.next = 5), + this._initPromise + ); + case 5: + return n.abrupt( + "return", + e.map(function (e) { + return K(e.id); + }) + ); + case 6: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "saveWorkspace", + value: function (e, t, n, r) { + var i, o; + return q( + this, + void 0, + void 0, + s().mark(function a() { + var c, u, d, l; + return s().wrap( + function (a) { + for (;;) + switch ((a.prev = a.next)) { + case 0: + return ( + (c = + ae.getById(t) || + ae.getActiveWorkspace()), + (u = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: c, + workspaceId: c.id + } + )), + (a.next = 4), + this._layoutsManager.save({ + name: e, + workspace: c, + title: u.title, + saveContext: n, + metadata: r + }) + ); + case 4: + return ( + (d = a.sent), + ((l = + (null === (i = c.layout) || + void 0 === i + ? void 0 + : i.config) || + c.hibernateConfig).workspacesOptions.layoutName = + e), + (null === + (o = be.decoratedFactory) || + void 0 === o + ? void 0 + : o.createWorkspaceTabs) && + be.decoratedFactory.updateWorkspaceTabs( + { + workspaceId: c.id, + layoutName: e + } + ), + l.workspacesOptions + .noTabHeader && + delete l.workspacesOptions + .noTabHeader, + a.abrupt("return", d) + ); + case 10: + case "end": + return a.stop(); + } + }, + a, + this + ); + }) + ); + } + }, + { + key: "openWorkspace", + value: function (e, t) { + var n, r, i, o; + return q( + this, + void 0, + void 0, + s().mark(function a() { + var c, + u, + d = this; + return s().wrap( + function (a) { + for (;;) + switch ((a.prev = a.next)) { + case 0: + return ( + (a.next = 2), + this._layoutsManager.getWorkspaceByName( + e + ) + ); + case 2: + if ( + ((c = a.sent), + ((u = + c.config).workspacesOptions.context = + c.layoutData.context), + (null === t || void 0 === t + ? void 0 + : t.context) && + u.workspacesOptions.context + ? (u.workspacesOptions.context = + Object.assign( + c.layoutData + .context, + null === t || + void 0 === t + ? void 0 + : t.context + )) + : (null === t || + void 0 === t + ? void 0 + : t.context) && + (u.workspacesOptions.context = + null === t || + void 0 === t + ? void 0 + : t.context), + (u.workspacesOptions.title = + (null === t || void 0 === t + ? void 0 + : t.title) || e), + (u.workspacesOptions.icon = + null !== + (n = + null === t || + void 0 === t + ? void 0 + : t.icon) && + void 0 !== n + ? n + : u.workspacesOptions + .icon), + (u.workspacesOptions.positionIndex = + null !== + (r = + null === t || + void 0 === t + ? void 0 + : t.positionIndex) && + void 0 !== r + ? r + : u.workspacesOptions + .positionIndex), + (u.workspacesOptions.allowSystemHibernation = + null !== + (i = + null === t || + void 0 === t + ? void 0 + : t.allowSystemHibernation) && + void 0 !== i + ? i + : u.workspacesOptions + .allowSystemHibernation), + u && + u.workspacesOptions && + !u.workspacesOptions.name && + (u.workspacesOptions.name = + e), + u && + ((u.workspacesOptions = + u.workspacesOptions || + {}), + (u.workspacesOptions.layoutName = + c.layoutData.name)), + u && + t && + (u.workspacesOptions.loadingStrategy = + t.loadingStrategy), + u && + void 0 !== + (null === t || + void 0 === t + ? void 0 + : t.noTabHeader) && + (u.workspacesOptions.noTabHeader = + null === t || + void 0 === t + ? void 0 + : t.noTabHeader), + u && + void 0 !== + (null === t || + void 0 === t + ? void 0 + : t.isPinned) && + (u.workspacesOptions.isPinned = + null === t || + void 0 === t + ? void 0 + : t.isPinned), + u && + void 0 !== + (null === t || + void 0 === t + ? void 0 + : t.isSelected) && + (u.workspacesOptions.selected = + null === t || + void 0 === t + ? void 0 + : t.isSelected), + this._isLayoutInitialized) + ) { + a.next = 24; + break; + } + return ( + this._layoutsManager.setInitialWorkspaceConfig( + [u] + ), + (this._initPromise = + this.initLayout()), + (a.next = 21), + this._initPromise + ); + case 21: + case 38: + return a.abrupt("return", K(u.id)); + case 24: + if (!e) { + a.next = 39; + break; + } + if ( + ((u.id = + (null === t || void 0 === t + ? void 0 + : t.reuseWorkspaceId) || + this._configFactory.getId()), + !(null === t || void 0 === t + ? void 0 + : t.reuseWorkspaceId)) + ) { + a.next = 36; + break; + } + return ( + ae + .getById(u.id) + .windows.map(function (e) { + return ae.getWindowContentItem( + e.id + ); + }) + .filter(function (e) { + return e; + }) + .forEach(function (e) { + return d.closeTab( + e, + !1 + ); + }), + (a.next = 31), + this.reinitializeWorkspace( + K(u.id), + u + ) + ); + case 31: + if ( + !(null === + (o = u.workspacesOptions) || + void 0 === o + ? void 0 + : o.context) + ) { + a.next = 34; + break; + } + return ( + (a.next = 34), + this._glue.contexts.set( + ee(K(u.id)), + u.workspacesOptions.context + ) + ); + case 34: + a.next = 38; + break; + case 36: + return ( + (a.next = 38), + this.addWorkspace(K(u.id), u) + ); + case 39: + case "end": + return a.stop(); + } + }, + a, + this + ); + }) + ); + } + }, + { + key: "exportAllLayouts", + value: function () { + return this._layoutsManager.export(); + } + }, + { + key: "deleteLayout", + value: function (e) { + this._layoutsManager.delete(e); + } + }, + { + key: "maximizeItem", + value: function (e) { + if (ae.getContainer(e)) this._controller.maximizeContainer(e); + else { + if (!ae.getByWindowId(e)) + throw new Error( + "Could not find a window or a container with id " + .concat(e, " in frame ") + .concat(this.frameId, " to maximize") + ); + this._controller.maximizeWindow(e); + } + } + }, + { + key: "restoreItem", + value: function (e) { + if (ae.getContainer(e)) this._controller.restoreContainer(e); + else { + if (!ae.getByWindowId(e)) + throw new Error( + "Could not find a window or a container with id " + .concat(e, " in frame ") + .concat(this.frameId, " to restore") + ); + this._controller.restoreWindow(e); + } + } + }, + { + key: "closeItem", + value: function (e) { + var t = this, + n = ae.getWindow(e), + r = ae.getContainer(e); + if (this.frameId === e) + ae.workspaceIds.forEach(function (e) { + return t.closeWorkspace(ae.getById(e)); + }); + else if (n) { + var i = ae.getWindowContentItem(e); + if (!i) + throw new Error( + "Could not find item ".concat(e, " to close") + ); + this.closeTab(i); + } else if (r) this._controller.closeContainer(e); + else { + var o = ae.getById(e); + this.closeWorkspace(o); + } + } + }, + { + key: "addContainer", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + o, + a, + c, + u, + d, + l = this; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = this.cleanIsPinned(e)), + (i = + ae.getByContainerId(t) || + ae.getById(t)), + (o = ae.getWorkspaceContentItem( + i.id + )), + (a = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: i, + workspaceContentItem: + o + } + )), + (n.next = 6), + this._controller.addContainer( + r, + t + ) + ); + case 6: + return ( + (c = n.sent), + a.hasMaximizedItems && + this._controller.refreshWorkspaceSize( + i.id + ), + (u = ae.getContainer(c)) && + this.applyIsPinned(e, u), + (d = Q(e.content)), + Promise.all( + d.map(function (e) { + return q( + l, + void 0, + void 0, + s().mark( + function t() { + var n; + return s().wrap( + function ( + t + ) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + return ( + (n = + ae.getWindowContentItem( + K( + e.id + ) + )), + (t.next = 3), + this._applicationFactory.start( + n, + i.id + ) + ); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + } + ) + ); + }) + ), + n.abrupt("return", c) + ); + case 13: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "addWindow", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i, o, a, c, u; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + ((r = ae.getContainer(t)) && + "stack" === r.type) || + "component" !== e.type || + (e = + this._configFactory.wrapInGroup( + [e] + )), + (i = + ae.getById(t) || + ae.getByContainerId(t)), + (o = ae.getWorkspaceContentItem( + i.id + )), + (a = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: i, + workspaceContentItem: + o + } + )), + (n.next = 7), + this._controller.addWindow(e, t) + ); + case 7: + (a.hasMaximizedItems && + this._controller.refreshWorkspaceSize( + i.id + ), + (c = Q([e])), + (u = ae.getWindowContentItem( + K(c[0].id) + )), + this._applicationFactory.start( + u, + i.id + )); + case 11: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "setItemTitle", + value: function (e, t) { + ae.getById(e) + ? this._controller.setWorkspaceTitle(e, t) + : this._controller.setWindowTitle(e, t); + } + }, + { + key: "eject", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r, i, o, a, c, u, d, l, p, h, f; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + (n = ae.getWindowContentItem(e)) + ) { + t.next = 3; + break; + } + throw new Error( + "Could not find item ".concat(e) + ); + case 3: + if ( + ((r = n.config.componentState), + (i = r.appName), + (o = r.url), + (a = r.windowId), + (c = ae.getWorkspaceContext( + ae.getByWindowId( + n.config.id + ).id + )), + !(u = + this._glue.windows.findById( + a + ))) + ) { + t.next = 12; + break; + } + return ( + (t.next = 9), + u.getContext() + ); + case 9: + ((t.t0 = t.sent), (t.next = 13)); + break; + case 12: + t.t0 = c; + case 13: + if ( + ((d = t.t0), + this.closeItem(K(n.config.id)), + !i) + ) { + t.next = 21; + break; + } + return ( + (l = a + ? { reuseId: a } + : void 0), + (t.next = 19), + this._glue.appManager + .application(i) + .start(d, l) + ); + case 19: + return ( + (p = t.sent), + t.abrupt("return", { + windowId: p.id + }) + ); + case 21: + return ( + (h = + this._applicationFactory.getUrlByAppName( + i + ) || o), + (t.next = 24), + this._glue.windows.open( + "".concat(i, "_").concat(a), + h, + { context: d, windowId: a } + ) + ); + case 24: + return ( + (f = t.sent), + t.abrupt("return", { + windowId: f.id + }) + ); + case 26: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "ejectActiveWindow", + value: function (e) { + var t = this._wrapperFactory.getContainerWrapper({ itemId: e }); + return this.eject(t.activeItemId); + } + }, + { + key: "createWorkspace", + value: function (e) { + var t, n, r, i; + return q( + this, + void 0, + void 0, + s().mark(function o() { + var a, + c, + u = this; + return s().wrap( + function (o) { + for (;;) + switch ((o.prev = o.next)) { + case 0: + if (this._isLayoutInitialized) { + o.next = 7; + break; + } + return ( + (e.id = + this._configFactory.getId()), + this._layoutsManager.setInitialWorkspaceConfig( + [e] + ), + (this._initPromise = + this.initLayout()), + (o.next = 6), + this._initPromise + ); + case 6: + return o.abrupt("return", K(e.id)); + case 7: + if ( + ((a = + (null === + (t = + e.workspacesOptions) || + void 0 === t + ? void 0 + : t.reuseWorkspaceId) || + this._configFactory.getId()), + !(null === + (n = e.workspacesOptions) || + void 0 === n + ? void 0 + : n.reuseWorkspaceId)) + ) { + o.next = 19; + break; + } + if ((c = ae.getById(a))) { + o.next = 12; + break; + } + throw new Error( + "Could not find workspace ".concat( + null === + (r = + e.workspacesOptions) || + void 0 === r + ? void 0 + : r.reuseWorkspaceId, + " to reuse" + ) + ); + case 12: + return ( + c.windows + .map(function (e) { + return ae.getWindowContentItem( + e.id + ); + }) + .filter(function (e) { + return e; + }) + .forEach(function (e) { + return u.closeTab( + e, + !1 + ); + }), + (o.next = 15), + this.reinitializeWorkspace(a, e) + ); + case 15: + return ( + (o.next = 17), + this._glue.contexts.set( + ee(a), + null !== + (i = + e.workspacesOptions + .context) && + void 0 !== i + ? i + : {} + ) + ); + case 17: + o.next = 21; + break; + case 19: + return ( + (o.next = 21), + this.addWorkspace(a, e) + ); + case 21: + return o.abrupt("return", a); + case 22: + case "end": + return o.stop(); + } + }, + o, + this + ); + }) + ); + } + }, + { + key: "loadWindow", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i, + o = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + (n = ae.getWindowContentItem(e)) + ) { + t.next = 3; + break; + } + throw new Error( + "Could not find window ".concat( + e, + " to load" + ) + ); + case 3: + if ( + ((r = + this._frameController.getWindowId( + e + )), + (i = ae.getByWindowId(e)), + this.stateResolver.isWindowLoaded( + e + ) || "component" !== n.type) + ) { + t.next = 11; + break; + } + return ( + this._applicationFactory.start( + n, + i.id + ), + (t.next = 9), + this.waitForFrameLoaded(e) + ); + case 9: + ((n = ae.getWindowContentItem(e)), + (r = + n.config.componentState + .windowId)); + case 11: + return t.abrupt( + "return", + new Promise(function (t, n) { + r || + n( + "The window id of ".concat( + e, + " is missing" + ) + ); + var i = function () {}, + a = setTimeout( + function () { + (n( + "Could not load window ".concat( + r, + " for 5000ms" + ) + ), + i()); + }, + 5e3 + ); + ((i = + o._glue.windows.onWindowAdded( + function (e) { + e.id === r && + (t({ + windowId: + r + }), + i(), + clearTimeout( + a + )); + } + )), + o._glue.windows + .list() + .find(function (e) { + return ( + e.id === r + ); + }) && + (t({ windowId: r }), + i(), + clearTimeout(a))); + }) + ); + case 12: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "focusItem", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((n = ae.getById(e)), + this.frameId !== e) + ) { + t.next = 5; + break; + } + t.next = 13; + break; + case 5: + if (!n) { + t.next = 12; + break; + } + if (!n.hibernateConfig) { + t.next = 9; + break; + } + return ( + (t.next = 9), + this.resumeWorkspace(n.id) + ); + case 9: + (this._controller.focusWorkspace( + n.id + ), + (t.next = 13)); + break; + case 12: + this._controller.focusWindow(e); + case 13: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "bundleWorkspace", + value: function (e, t) { + if (this._stateResolver.isWorkspaceHibernated(e)) + throw new Error( + "Could not bundle workspace ".concat( + e, + " because its hibernated" + ) + ); + this._controller.bundleWorkspace(e, t); + } + }, + { + key: "bundleItem", + value: function (e, t) { + var n = ae.getByContainerId(e); + if (!n) + throw new Error( + "Could not find workspace that contains item with id" + .concat(e, " in frame ") + .concat(this.frameId) + ); + if (this._stateResolver.isWorkspaceHibernated(n.id)) + throw new Error( + "Could not bundle workspace ".concat( + n.id, + " because its hibernated" + ) + ); + this._controller.bundleItem(e, t); + } + }, + { + key: "move", + value: function (e) { + return this._glue.windows.my().moveTo(e.y, e.x); + } + }, + { + key: "getFrameSummary", + value: function (e) { + var t = + ae.getByContainerId(e) || + ae.getByWindowId(e) || + ae.getById(e), + n = this.frameId === e; + return this._context + ? { + id: t || n ? this.frameId : "none", + isInitialized: this._isLayoutInitialized, + initializationContext: { context: this._context } + } + : { + id: t || n ? this.frameId : "none", + isInitialized: this._isLayoutInitialized + }; + } + }, + { + key: "moveWindowTo", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i, o, a, c, u; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ( + ((r = ae.getByWindowId(e)), + (i = + ae.getByContainerId(t) || + ae.getById(t))) + ) { + n.next = 4; + break; + } + throw new Error( + "Could not find container " + .concat(t, " in frame ") + .concat(this.frameId) + ); + case 4: + if (r) { + n.next = 6; + break; + } + throw new Error( + "Could not find window " + .concat(e, " in frame ") + .concat(this.frameId) + ); + case 6: + if ( + !this._stateResolver.isWorkspaceHibernated( + i.id + ) + ) { + n.next = 8; + break; + } + throw new Error( + "Could not move window " + .concat(e, " to workspace ") + .concat( + i.id, + " because its hibernated" + ) + ); + case 8: + if ( + !this._stateResolver.isWorkspaceHibernated( + r.id + ) + ) { + n.next = 10; + break; + } + throw new Error( + "Could not move window " + .concat( + e, + " from workspace " + ) + .concat( + r.id, + " because its hibernated" + ) + ); + case 10: + if ( + (o = ae.getWindowContentItem(e)) + ) { + n.next = 13; + break; + } + throw new Error( + "Could not find window " + .concat(e, " in frame ") + .concat(this.frameId) + ); + case 13: + return ( + (a = r.windows.find( + function (t) { + return ( + t.id === e || + t.windowId === e + ); + } + )), + (c = + this.stateResolver.getWindowSummarySync( + a.id + )), + this._controller.removeLayoutElement( + e + ), + ae.removeWindow(a, r.id), + ae.addWindow(a, i.id), + (n.next = 20), + this._controller.addWindow( + o.config, + t + ) + ); + case 20: + ((u = + this.stateResolver.getWindowSummarySync( + a.id + )), + this.workspacesEventEmitter.raiseWindowEvent( + { + action: "removed", + payload: { + windowSummary: c + } + } + ), + this.workspacesEventEmitter.raiseWindowEvent( + { + action: "added", + payload: { + windowSummary: u + } + } + )); + case 23: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "generateWorkspaceLayout", + value: function (e, t) { + var n = ae.getById(t); + if (!n) + throw new Error( + "Could not find workspace with id ".concat(t) + ); + return this._layoutsManager.generateLayout(e, n); + } + }, + { + key: "resumeWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r, i, o; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ((n = ae.getById(e))) { + t.next = 3; + break; + } + throw new Error( + "Could not find workspace ".concat( + e, + " in any of the frames" + ) + ); + case 3: + return ( + (r = n.hibernateConfig) + .workspacesOptions || + (r.workspacesOptions = {}), + (r.workspacesOptions.reuseWorkspaceId = + e), + (t.next = 8), + this.createWorkspace(r) + ); + case 8: + ((n.hibernateConfig = void 0), + (i = ae.getWorkspaceContentItem( + n.id + )), + (o = + this._wrapperFactory.getWorkspaceWrapper( + { + workspace: n, + workspaceContentItem: + i + } + )).isPinned + ? (xe.hideHibernatedIcon({ + workspaceTab: i.tab + }), + xe.hideWorkspaceSaveButton( + { + workspaceTab: + i.tab + } + ), + xe.showWorkspaceIconButton( + { + workspaceTab: + i.tab, + icon: o.icon + } + )) + : xe.showSaveIcon({ + workspaceTab: i.tab, + workspaceId: n.id + }), + this.workspacesEventEmitter.raiseWorkspaceEvent( + { + action: "resumed", + payload: { + frameSummary: + this.getFrameSummary( + this.frameId + ), + workspaceSummary: + this.stateResolver.getWorkspaceSummary( + e + ), + frameBounds: + this.stateResolver.getFrameBounds() + } + } + )); + case 13: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "lockWorkspace", + value: function (e) { + var t, n, r, i; + (e.config || + (e.config = { + allowDrop: !1, + allowDropLeft: !1, + allowDropTop: !1, + allowDropRight: !1, + allowDropBottom: !1, + allowSystemHibernation: !1, + allowExtract: !1, + allowWindowReorder: !1, + allowSplitters: !1, + showCloseButton: !1, + showSaveButton: !1, + allowWorkspaceTabReorder: !1, + showWindowCloseButtons: !1, + showEjectButtons: !1, + showAddWindowButtons: !1 + }), + Object.keys(e.config).forEach(function (t) { + var n = e.config; + void 0 === n[t] && (n[t] = !0); + }), + "boolean" === typeof e.config.allowDrop && + ((e.config.allowDropLeft = + null !== (t = e.config.allowDropLeft) && + void 0 !== t + ? t + : e.config.allowDrop), + (e.config.allowDropTop = + null !== (n = e.config.allowDropTop) && void 0 !== n + ? n + : e.config.allowDrop), + (e.config.allowDropRight = + null !== (r = e.config.allowDropRight) && + void 0 !== r + ? r + : e.config.allowDrop), + (e.config.allowDropBottom = + null !== (i = e.config.allowDropBottom) && + void 0 !== i + ? i + : e.config.allowDrop))); + var o = e.config, + a = o.allowDrop, + s = o.allowExtract, + c = o.allowWindowReorder, + u = o.allowSplitters, + d = o.showCloseButton, + l = o.showSaveButton, + p = o.allowWorkspaceTabReorder, + h = o.showAddWindowButtons, + f = o.showWindowCloseButtons, + v = o.showEjectButtons, + m = o.allowSystemHibernation, + g = e.workspaceId; + try { + (this.workspacesEventEmitter.startWorkspaceLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.startContainerLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.startWindowLockConfigurationChangedGrouping(), + !1 === a + ? this._layoutLockingController.disableWorkspaceDrop( + g, + e.config + ) + : this._layoutLockingController.enableWorkspaceDrop( + g, + e.config + ), + !1 === s + ? this._layoutLockingController.disableWorkspaceExtract( + g + ) + : this._layoutLockingController.enableWorkspaceExtract( + g + ), + !1 === c + ? this._layoutLockingController.disableWorkspaceWindowReorder( + g + ) + : this._layoutLockingController.enableWorkspaceWindowReorder( + g + ), + !1 === u + ? this._layoutLockingController.disableSplitters(g) + : this._layoutLockingController.enableSplitters(g), + !1 === d + ? this._layoutLockingController.disableWorkspaceCloseButton( + g + ) + : this._layoutLockingController.enableWorkspaceCloseButton( + g + ), + !1 === l + ? this._layoutLockingController.disableWorkspaceSaveButton( + g + ) + : this._layoutLockingController.enableWorkspaceSaveButton( + g + ), + !1 === p + ? this._layoutLockingController.disableWorkspaceReorder( + g + ) + : this._layoutLockingController.enableWorkspaceReorder( + g + ), + !1 === h + ? this._layoutLockingController.disableWorkspaceAddWindowButtons( + g + ) + : this._layoutLockingController.enableWorkspaceAddWindowButtons( + g + ), + !1 === v + ? this._layoutLockingController.disableWorkspaceEjectButtons( + g + ) + : this._layoutLockingController.enableWorkspaceEjectButtons( + g + ), + !1 === f + ? this._layoutLockingController.disableWorkspaceWindowCloseButtons( + g + ) + : this._layoutLockingController.enableWorkspaceWindowCloseButtons( + g + ), + !1 === m + ? this._layoutLockingController.disableWorkspaceHibernation( + g + ) + : this._layoutLockingController.enableWorkspaceHibernation( + g + )); + } finally { + (this.workspacesEventEmitter.endWorkspaceLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.endContainerLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.endWindowLockConfigurationChangedGrouping()); + } + } + }, + { + key: "lockContainer", + value: function (e) { + var t, n, r, i, o; + ((e.config || "column" !== e.type) && + (e.config || "row" !== e.type) + ? e.config || + "group" !== e.type || + (e.config = { + allowDrop: !1, + allowDropHeader: !1, + allowDropLeft: !1, + allowDropRight: !1, + allowDropTop: !1, + allowDropBottom: !1, + allowExtract: !1, + allowReorder: !1, + showAddWindowButton: !1, + showEjectButton: !1, + showMaximizeButton: !1 + }) + : (e.config = { allowDrop: !1, allowSplitters: !1 }), + "undefined" !== typeof e.config.allowDrop && + "group" === e.type && + ((e.config.allowDropHeader = + null !== (t = e.config.allowDropHeader) && + void 0 !== t + ? t + : e.config.allowDrop), + (e.config.allowDropLeft = + null !== (n = e.config.allowDropLeft) && + void 0 !== n + ? n + : e.config.allowDrop), + (e.config.allowDropTop = + null !== (r = e.config.allowDropTop) && void 0 !== r + ? r + : e.config.allowDrop), + (e.config.allowDropRight = + null !== (i = e.config.allowDropRight) && + void 0 !== i + ? i + : e.config.allowDrop), + (e.config.allowDropBottom = + null !== (o = e.config.allowDropBottom) && + void 0 !== o + ? o + : e.config.allowDrop)), + Object.keys(e.config).forEach(function (t) { + var n = e.config; + void 0 === n[t] && (n[t] = !0); + })); + try { + switch ( + (this.workspacesEventEmitter.startContainerLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.startWindowLockConfigurationChangedGrouping(), + e.type) + ) { + case "column": + this.handleColumnLockRequested(e); + break; + case "row": + this.handleRowLockRequested(e); + break; + case "group": + this.handleGroupLockRequested(e); + } + } finally { + (this.workspacesEventEmitter.endContainerLockConfigurationChangedGrouping(), + this.workspacesEventEmitter.endWindowLockConfigurationChangedGrouping()); + } + } + }, + { + key: "lockWindow", + value: function (e) { + (e.config || + (e.config = { + allowExtract: !1, + allowReorder: !1, + showCloseButton: !1 + }), + Object.keys(e.config).forEach(function (t) { + var n = e.config; + void 0 === n[t] && (n[t] = !0); + })); + var t = e.config, + n = t.allowExtract, + r = t.allowReorder, + i = t.showCloseButton, + o = e.windowPlacementId; + try { + (this.workspacesEventEmitter.startWindowLockConfigurationChangedGrouping(), + !1 === n + ? this._layoutLockingController.disableWindowExtract( + o + ) + : this._layoutLockingController.enableWindowExtract( + o, + n + ), + !1 === r + ? this._layoutLockingController.disableWindowReorder( + o + ) + : this._layoutLockingController.enableWindowReorder( + o, + r + ), + !1 === i + ? this._layoutLockingController.disableWindowCloseButton( + o + ) + : this._layoutLockingController.enableWindowCloseButton( + o, + i + )); + } finally { + this.workspacesEventEmitter.endWindowLockConfigurationChangedGrouping(); + } + var a = ae.getByWindowId(o); + (null === a || void 0 === a ? void 0 : a.layout) && + a.layout.updateSize(); + } + }, + { + key: "hibernateWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i, + o = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((n = ae.getById(e)), + ae.getActiveWorkspace().id !== + n.id) + ) { + t.next = 3; + break; + } + throw new Error( + "Cannot hibernate workspace ".concat( + n.id, + " because its active" + ) + ); + case 3: + if ( + !this.stateResolver.isWorkspaceHibernated( + e + ) + ) { + t.next = 5; + break; + } + throw new Error( + "Cannot hibernate workspace ".concat( + e, + " because it has already been hibernated" + ) + ); + case 5: + if (n.layout) { + t.next = 7; + break; + } + throw new Error( + "Cannot hibernate workspace ".concat( + n.id, + " because its empty" + ) + ); + case 7: + return ( + (r = + this.stateResolver.getWorkspaceConfig( + n.id + )), + (n.hibernatedWindows = + n.windows), + (r.workspacesOptions.isHibernated = + !0), + (n.hibernateConfig = r), + (t.next = 13), + this.getWorkspaceContext(n.id) + ); + case 13: + return ( + (i = t.sent), + (n.hibernateConfig.workspacesOptions = + Object.assign( + {}, + Object.assign( + {}, + n.hibernateConfig + .workspacesOptions + ), + { context: i } + )), + n.windows + .map(function (e) { + return ae.getWindowContentItem( + e.id + ); + }) + .forEach(function (e) { + return o.closeTab( + e, + !1 + ); + }), + ae.removeLayout(n.id), + this._controller.showHibernationIcon( + e + ), + this.workspacesEventEmitter.raiseWorkspaceEvent( + { + action: "hibernated", + payload: { + frameSummary: + this.getFrameSummary( + this.frameId + ), + workspaceSummary: + this.stateResolver.getWorkspaceSummary( + e + ), + frameBounds: + this.stateResolver.getFrameBounds() + } + } + ), + t.abrupt("return", r) + ); + case 20: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "closeTab", + value: function (e) { + var t = + !(arguments.length > 1 && void 0 !== arguments[1]) || + arguments[1], + n = K(e.config.id), + r = ae.getByWindowId(n), + i = this.stateResolver.getWindowSummarySync(n); + (this._controller.removeLayoutElement(n), + this._frameController.remove(n), + this._platformCommunicator + .notifyFrameWillClose( + i.config.windowId, + i.config.appName + ) + .catch(function (e) {}), + r.hibernatedWindows.some(function (e) { + return i.itemId === e.id; + }) || + this.workspacesEventEmitter.raiseWindowEvent({ + action: "removed", + payload: { windowSummary: i } + }), + !r.windows.length && + t && + this._controller.resetWorkspace(r.id)); + } + }, + { + key: "resizeItem", + value: function (e) { + if (e.itemId === this.frameId) + throw new Error("Cannot resize frame ".concat(e.itemId)); + return this.resizeWorkspaceItem(e); + } + }, + { + key: "unmount", + value: function () { + try { + this._popupManager.hidePopup(); + } catch (e) { + console.warn(e); + } + } + }, + { + key: "pinWorkspace", + value: function (e, t) { + this._controller.pinWorkspace(e, t); + } + }, + { + key: "unpinWorkspace", + value: function (e) { + this._controller.unpinWorkspace(e); + } + }, + { + key: "setWorkspaceIcon", + value: function (e, t) { + var n = ae.getWorkspaceContentItem(e), + r = this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e, + workspaceContentItem: n + }); + ((r.icon = t), + r.isPinned && + xe.showWorkspaceIconButton({ + workspaceTab: n.tab, + icon: t + })); + } + }, + { + key: "setFrameContext", + value: function (e) { + this._context = e; + } + }, + { + key: "showSaveWorkspacePopup", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = { + frameId: this.frameId, + workspaceId: e, + peerId: this._glue.agm + .instance.peerId, + buildMode: Te.config.build, + domNode: void 0, + resizePopup: void 0, + hidePopup: void 0 + }), + ae + .getWorkspaceLayoutItemById( + e + ) + .tab.element.find( + ".lm_saveButton" + ), + (n.next = 4), + this._popupManager.showSaveWorkspacePopup( + t, + r + ) + ); + case 4: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "getWorkspaceContext", + value: function (e) { + return this._glue.contexts.get(ee(e)); + } + }, + { + key: "setMaximizationBoundary", + value: function (e, t) { + var n = ae.getContainer(e); + if (!n) + throw new Error( + "Could not find container " + .concat(e, " in frame ") + .concat( + this.frameId, + " to set the maximizationBoundary to " + ) + .concat(t) + ); + if ("stack" === n.type) + throw new Error( + "Could not set the maximization boundary of group " + .concat(e, " to ") + .concat( + t, + " because only rows and columns can be considered maximizationBoundaries" + ) + ); + this._wrapperFactory.getContainerWrapper({ + containerContentItem: n + }).maximizationBoundary = t; + } + }, + { key: "showChannelsSelector", value: function (e, t) {} }, + { + key: "showAddWindowPopup", + value: function (e, t, n) { + this._popupManager.showAddWindowPopup(n, { + boxId: t, + parentType: "group", + frameId: this.frameId, + peerId: this._glue.agm.instance.peerId, + workspaceId: e + }); + } + }, + { + key: "getDecorationsSize", + value: function (e) { + if (e === this.frameId) return xe.getFrameDecorationsSize(); + if (ae.getById(e)) { + var t = this._wrapperFactory.getWorkspaceWrapper({ + workspaceId: e + }); + return xe.getWorkspaceDecorationsSize(t.bounds); + } + return xe.getGroupDecorationsSize(e); + } + }, + { + key: "resizeWorkspaceItem", + value: function (e) { + var t, + n, + r = this, + i = + ae.getContainer(e.itemId) || + ae.getWindowContentItem(e.itemId); + if (!i) + throw new Error( + "Could not find container " + .concat(e.itemId, " in frame ") + .concat(this.frameId) + ); + if ("column" === i.type && e.height) + throw new Error( + "Requested resize for " + .concat(i.type, " ") + .concat( + e.itemId, + ", however an unsupported argument (height) was passed" + ) + ); + if ("row" === i.type && e.width) + throw new Error( + "Requested resize for " + .concat(i.type, " ") + .concat( + e.itemId, + ", however an unsupported argument (width) was passed" + ) + ); + var o, + a, + s = + ae.getByContainerId(i.config.id) || + ae.getByWindowId(K(i.config.id)); + if (this.stateResolver.isWorkspaceHibernated(s.id)) + throw new Error( + "Requested resize for " + .concat(i.type, " ") + .concat(e.itemId, ", however the workspace ") + .concat(s.id, " is hibernated") + ); + (s && + ((o = s.windows.find(function (e) { + return r.stateResolver.isWindowMaximized(e.id); + })), + (a = + null === + (n = + null === (t = s.layout) || void 0 === t + ? void 0 + : t.root) || void 0 === n + ? void 0 + : n.getItemsByFilter(function (e) { + return ( + e.hasId("__glMaximised") && + "component" !== e.type + ); + })[0])), + o && this._controller.restoreWindow(o.id), + a && this._controller.restoreContainer(K(a.config.id)), + "row" === i.type + ? this._controller.resizeRow(i, e.height) + : "column" === i.type + ? this._controller.resizeColumn(i, e.width) + : "stack" === i.type + ? this._controller.resizeStack(i, e.width, e.height) + : this._controller.resizeComponent( + i, + e.width, + e.height + ), + o && this._controller.maximizeWindow(o.id), + a && this._controller.maximizeContainer(K(a.config.id))); + } + }, + { + key: "initLayout", + value: function () { + var e; + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this._systemSettings.getSettings() + ); + case 2: + return ( + (n = t.sent), + (t.next = 5), + this._layoutsManager.getInitialConfig() + ); + case 5: + return ( + (r = t.sent), + this.subscribeForPopups(), + this.subscribeForLayout(), + (this._isLayoutInitialized = + !0), + (t.next = 11), + Promise.all( + r.workspaceConfigs.map( + function (e) { + var t, n; + return i._glue.contexts.set( + ee(e.id), + (null === + (n = + null === + (t = + e.config) || + void 0 === + t + ? void 0 + : t.workspacesOptions) || + void 0 === n + ? void 0 + : n.context) || + {} + ); + } + ) + ) + ); + case 11: + return ( + (t.next = 13), + this._controller.init({ + frameId: this.frameId, + workspaceLayout: + r.workspaceLayout, + workspaceConfigs: + r.workspaceConfigs, + showLoadingIndicator: + (null === + (e = + null === n || + void 0 === n + ? void 0 + : n.loadingStrategy) || + void 0 === e + ? void 0 + : e.showDelayedIndicator) || + !1 + }) + ); + case 13: + (Promise.all( + ae.workspaceIds.map( + function (e) { + var t = + i._applicationFactory.getLoadingStrategy( + n, + r + .workspaceConfigs[0] + .config + ); + return i.handleWindows( + e, + t + ); + } + ) + ), + ae.layouts + .map(function (e) { + return e.layout; + }) + .filter(function (e) { + return e; + }) + .forEach(function (e) { + return i.reportLayoutStructure( + e + ); + }), + Te.config.emptyFrame && + this._workspacesEventEmitter.raiseFrameEvent( + { + action: "opened", + payload: { + frameSummary: { + id: this + .frameId + }, + frameBounds: + this.stateResolver.getFrameBounds() + } + } + )); + case 16: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "reinitLayout", + value: function () { + var e; + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r, + i = this; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this._systemSettings.getSettings() + ); + case 2: + return ( + (n = t.sent), + (t.next = 5), + this._layoutsManager.getInitialConfig() + ); + case 5: + return ( + (r = t.sent), + (this._isLayoutInitialized = + !0), + (t.next = 9), + Promise.all( + r.workspaceConfigs.map( + function (e) { + var t, n; + return i._glue.contexts.set( + ee(e.id), + (null === + (n = + null === + (t = + e.config) || + void 0 === + t + ? void 0 + : t.workspacesOptions) || + void 0 === n + ? void 0 + : n.context) || + {} + ); + } + ) + ) + ); + case 9: + return ( + ae.workspaceIds.forEach( + function (e) { + i.discardWorkspaceWithoutClosing( + ae.getById(e) + ); + } + ), + (t.next = 12), + this._controller.reinit({ + frameId: this.frameId, + workspaceLayout: + r.workspaceLayout, + workspaceConfigs: + r.workspaceConfigs, + showLoadingIndicator: + (null === + (e = + null === n || + void 0 === n + ? void 0 + : n.loadingStrategy) || + void 0 === e + ? void 0 + : e.showDelayedIndicator) || + !1 + }) + ); + case 12: + (Promise.all( + ae.workspaceIds.map( + function (e) { + var t = + i._applicationFactory.getLoadingStrategy( + n, + r + .workspaceConfigs[0] + .config + ); + return i.handleWindows( + e, + t + ); + } + ) + ), + ae.layouts + .map(function (e) { + return e.layout; + }) + .filter(function (e) { + return e; + }) + .forEach(function (e) { + return i.reportLayoutStructure( + e + ); + })); + case 14: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "updateFrameLayoutNaive", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, + i, + o, + a, + c = this; + return s().wrap(function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = ae.workspaceIds.filter( + function (e) { + return !t.includes(e); + } + )), + (i = r.map(function (e) { + return ae.getById(e); + })), + (o = Promise.all( + i.map(function (e) { + return c.closeWorkspace(e); + }) + )), + (a = Promise.all( + e.map(function (e) { + return c.createWorkspace(e); + }) + )), + (n.next = 6), + Promise.all([o, a]) + ); + case 6: + case "end": + return n.stop(); + } + }, n); + }) + ); + } + }, + { + key: "reinitializeWorkspace", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (n.next = 2), + this._controller.reinitializeWorkspace( + e, + t + ) + ); + case 2: + return ( + (n.next = 4), + this._systemSettings.getSettings() + ); + case 4: + ((r = n.sent), + (i = + this._applicationFactory.getLoadingStrategy( + r, + t + )), + this.handleWindows(e, i)); + case 7: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "subscribeForLayout", + value: function () { + var e = this; + (this._controller.emitter.onContentItemResized(function (t, n) { + e._frameController.moveFrame(n, Z(t)); + }), + this._controller.emitter.onTabCloseRequested(function (t) { + (ae.getByWindowId(K(t.config.id)), + e.closeTab(t), + e._controller.removeLayoutElement(K(t.config.id)), + e._frameController.remove(K(t.config.id))); + }), + this._controller.emitter.onWorkspaceTabCloseRequested( + function (t) { + e.closeWorkspace(t); + } + ), + this._controller.emitter.onTabElementMouseDown( + function (t) { + var n = Z(t.contentItem.element), + r = Math.min(n.width, 800), + i = Math.min(n.height, 600); + e._controller.setDragElementSize(r, i); + } + ), + this._controller.emitter.onTabDragStart(function (t) { + var n = e._controller.getDragElement(), + r = new MutationObserver(function (n) { + Array.from(n).forEach(function (n) { + if ("attributes" === n.type) { + var r = $( + e._controller.getDragElement() + ) + .children(".lm_content") + .children(".lm_item_container"), + i = Z(r[0]), + o = K(t.contentItem.config.id); + (e._frameController.moveFrame(o, i), + e._frameController.bringToFront(o)); + } + }); + }); + if (n) { + r.observe(n, { attributes: !0 }); + var i = e.stateResolver.getWindowSummarySync( + t.contentItem.config.id, + t.contentItem + ); + e.workspacesEventEmitter.raiseWindowEvent({ + action: "removed", + payload: { windowSummary: i } + }); + } + }), + this._controller.emitter.onItemDropped(function (t) { + var n = e.stateResolver.getWindowSummarySync( + t.config.id, + t + ); + e.workspacesEventEmitter.raiseWindowEvent({ + action: "added", + payload: { windowSummary: n } + }); + }), + this._controller.emitter.onSelectionChanged( + function (t, n) { + (e._popupManager.hidePopup(), + e._frameController.selectionChanged( + n.map(function (e) { + return e.id; + }), + t.map(function (e) { + return e.id; + }) + )); + } + ), + this._controller.emitter.onTabSelectionChanged( + function (t) { + (be.decoratedFactory.updateWorkspaceWindowTabs({ + placementId: K(t.config.id), + groupId: K(t.parent.config.id), + isSelected: !0 + }), + e.workspacesEventEmitter.raiseWindowEvent({ + action: "selected", + payload: { + windowSummary: + e.stateResolver.getWindowSummarySync( + t.config.id, + t + ) + } + })); + } + ), + this._controller.emitter.onWorkspaceAdded(function (t) { + e.handleOnWorkspaceAdded(t); + }), + this._controller.emitter.onWorkspaceSelectionChanged( + function (t, n) { + if ( + (e._popupManager.hidePopup(), + e._controller.refreshTabSizes(t.id), + !t.layout) + ) + return ( + e._frameController.selectionChangedDeep( + [], + n.map(function (e) { + return e.id; + }) + ), + e._workspacesEventEmitter.raiseWorkspaceEvent( + { + action: "selected", + payload: { + frameSummary: { id: e.frameId }, + workspaceSummary: + e.stateResolver.getWorkspaceSummary( + t.id + ), + frameBounds: + e.stateResolver.getFrameBounds() + } + } + ), + void ( + t.hibernateConfig && + e.resumeWorkspace(t.id) + ) + ); + var r = Q(t.layout.toConfig().content).filter( + function (t) { + return e._controller.isWindowVisible(t.id); + } + ); + (e._frameController.selectionChangedDeep( + r.map(function (e) { + return K(e.id); + }), + n.map(function (e) { + return e.id; + }) + ), + e._workspacesEventEmitter.raiseWorkspaceEvent({ + action: "selected", + payload: { + frameSummary: { id: e.frameId }, + workspaceSummary: + e.stateResolver.getWorkspaceSummary( + t.id + ), + frameBounds: + e.stateResolver.getFrameBounds() + } + })); + } + ), + this._controller.emitter.onAddButtonClicked(function (t) { + var n = t.laneId, + r = t.workspaceId, + i = t.bounds, + o = t.parentType; + return q( + e, + void 0, + void 0, + s().mark(function e() { + var t; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = { + boxId: n, + workspaceId: r, + parentType: o, + frameId: + this.frameId, + peerId: this._glue + .agm.instance + .peerId, + domNode: void 0, + resizePopup: void 0, + hidePopup: void 0 + }), + (e.next = 3), + this._popupManager.showAddWindowPopup( + i, + t + ) + ); + case 3: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + }), + this._controller.emitter.onContentLayoutInit(function (t) { + var n = ae.getById(t.root.config.id); + (e._wrapperFactory + .getWorkspaceWrapper({ + workspace: n, + workspaceContentItem: void 0 + }) + .getMaximizedItemInRoot(t) && + e._controller.hideWorkspaceRootItem(n.id), + e.reportLayoutStructure(t)); + }), + this._controller.emitter.onWorkspaceAddButtonClicked( + function () { + return q( + e, + void 0, + void 0, + s().mark(function e() { + var t, n, r; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (t = { + frameId: + this + .frameId, + peerId: this + ._glue.agm + .instance + .windowId + }), + (n = + ae.workspaceLayoutHeader.element + .find( + ".lm_workspace_controls" + ) + .find( + ".lm_add_button" + )), + (r = Z(n)), + (e.next = 5), + this._popupManager.showOpenWorkspacePopup( + r, + t + ) + ); + case 5: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + ), + this._controller.emitter.onWorkspaceSaveRequested( + function (t) { + return q( + e, + void 0, + void 0, + s().mark(function e() { + var n, r; + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (n = ae + .getWorkspaceLayoutItemById( + t + ) + .tab.element.find( + ".lm_saveButton" + )), + (r = Z(n)), + (e.next = 4), + this.showSaveWorkspacePopup( + t, + r + ) + ); + case 4: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + ), + this._controller.emitter.onContainerMaximized(function (t) { + if ("component" !== t.type) { + (t + .getItemsByFilter(function (e) { + return "component" === e.type; + }) + .forEach(function (t) { + e._frameController.maximizeTab( + K(t.config.id) + ); + }), + t.contentItems + .filter(function (e) { + return "component" === e.type; + }) + .map(function (t) { + return e.stateResolver.getWindowSummarySync( + t.config.id + ); + }) + .forEach(function (t) { + e.workspacesEventEmitter.raiseWindowEvent( + { + action: "maximized", + payload: { windowSummary: t } + } + ); + })); + var n = t.getItemsByFilter(function (e) { + return "stack" === e.type; + }); + "stack" === t.type && + (n.push(t), e.showRestoreGroupButton(t)); + var r = n.reduce( + function (e, t) { + var n = t.getActiveContentItem(), + r = t.contentItems.map( + function (e) { + return K(e.config.id); + } + ); + return ( + e[0].push(K(n.config.id)), + (e[1] = [].concat(o(e[1]), o(r))), + e + ); + }, + [[], []] + ), + i = c(r, 2), + a = i[0], + s = i[1]; + e._frameController.selectionChanged(a, s); + var u = ae.getById(t.layoutManager.root.config.id), + d = ae.getWorkspaceContentItem(u.id); + (e._wrapperFactory + .getWorkspaceWrapper({ + workspace: u, + workspaceContentItem: d + }) + .getMaximizedItemInRoot(t.layoutManager) && + !t.parent.isRoot && + e._controller.hideWorkspaceRootItem(u.id), + e.reportLayoutStructure(t.layoutManager)); + } + }), + this._controller.emitter.onContainerRestored(function (t) { + if ("component" !== t.type) { + (t + .getItemsByFilter(function (e) { + return "component" === e.type; + }) + .forEach(function (t) { + e._frameController.restoreTab( + K(t.config.id) + ); + }), + t.contentItems + .filter(function (e) { + return "component" === e.type; + }) + .map(function (t) { + return e.stateResolver.getWindowSummarySync( + t.config.id + ); + }) + .forEach(function (t) { + e.workspacesEventEmitter.raiseWindowEvent( + { + action: "restored", + payload: { windowSummary: t } + } + ); + })); + var n = t.getItemsByFilter(function (e) { + return "stack" === e.type; + }); + "stack" === t.type && + (n.push(t), e.showMaximizeGroupButton(t)); + var r = n.reduce( + function (e, t) { + var n = t.getActiveContentItem(), + r = t.contentItems.map( + function (e) { + return K(e.config.id); + } + ); + return ( + e[0].push(K(n.config.id)), + (e[1] = [].concat(o(e[1]), o(r))), + e + ); + }, + [[], []] + ), + i = c(r, 2), + a = i[0], + s = i[1]; + e._frameController.selectionChanged(a, s); + var u = K(t.layoutManager.root.config.id); + (e._controller.showWorkspaceRootItem(u), + e._controller.refreshWorkspaceSize(u), + e.reportLayoutStructure(t.layoutManager)); + } + }), + this._controller.emitter.onEjectRequested(function (t) { + if (!t.isComponent) + throw new Error( + "Can't eject item of type ".concat(t.type) + ); + return e.eject(K(t.config.id)); + }), + this._controller.emitter.onComponentSelectedInWorkspace( + function (t, n) { + e._applicationFactory.start(t, n); + } + )); + var t = {}; + (this._controller.emitter.onWorkspaceContainerResized( + function (n) { + var r = K(n); + (t[r] && clearTimeout(t[r]), + (t[r] = setTimeout(function () { + e._controller.refreshWorkspaceSize(r); + }, 16))); + } + ), + this._controller.emitter.onContentItemRemoved( + function (e, t) { + "stack" === t.type && + be.notifyGroupClosed(K(t.config.id)); + } + ), + this._controller.emitter.onWorkspaceLockConfigurationChanged( + function (t) { + e.workspacesEventEmitter.raiseWorkspaceEvent({ + action: "lock-configuration-changed", + payload: { + frameSummary: e.getFrameSummary(e.frameId), + workspaceSummary: + e.stateResolver.getWorkspaceSummary(t), + frameBounds: + e.stateResolver.getFrameBounds() + } + }); + } + ), + this._controller.emitter.onContainerLockConfigurationChanged( + function (t) { + var n; + e.workspacesEventEmitter.raiseContainerEvent({ + action: "lock-configuration-changed", + payload: { + containerSummary: + e.stateResolver.getContainerSummaryByReference( + t, + null === + (n = ae.getByContainerId( + t.config.id + )) || void 0 === n + ? void 0 + : n.id + ) + } + }); + } + ), + this._controller.emitter.onWindowLockConfigurationChanged( + function (t) { + e.workspacesEventEmitter.raiseWindowEvent({ + action: "lock-configuration-changed", + payload: { + windowSummary: + e.stateResolver.getWindowSummarySync( + t.config.id + ) + } + }); + } + )); + var n = void 0; + (be.onWorkspaceContentsShown(function (t) { + var r = ae.getActiveWorkspace(); + if ( + (null === r || void 0 === r ? void 0 : r.layout) && + t === r.id + ) { + (n && clearTimeout(n), + (n = setTimeout(function () { + var e = $("#".concat(oe(r.id))), + t = Z(e[0]); + r.layout.updateSize(t.width, t.height); + }, 50))); + var i = r.layout.root.getItemsByFilter(function (e) { + return "stack" === e.type; + }); + e._frameController.selectionChangedDeep( + i.map(function (e) { + return K(e.getActiveContentItem().config.id); + }), + [] + ); + } + }), + be.onWorkspaceContentsHidden(function (t) { + var n = ae.getById(t); + (null === n || void 0 === n ? void 0 : n.layout) && + t === n.id && + e._frameController.selectionChangedDeep( + [], + n.windows.map(function (e) { + return e.id; + }) + ); + }), + this.workspacesEventEmitter.onWorkspaceEvent( + function (e, t) { + var n = ae.getById(t.workspaceSummary.id); + n && (n.lastActive = Date.now()); + } + )); + } + }, + { + key: "subscribeForPopups", + value: function () { + var e = this; + (this._frameController.onFrameContentClicked(function () { + e._popupManager.hidePopup(); + }), + this._frameController.onWindowTitleChanged(function (t, n) { + e.setItemTitle(t, n); + }), + this._frameController.onFrameLoaded(function (t) { + e._controller.hideLoadingIndicator(t); + }), + this._popupManager.onPopupStateChanged(function (e, t) { + "openWorkspace" === e.type + ? xe.updateAddWorkspaceButtonActiveState(t) + : "addApplication" === e.type && + xe.updateAddWindowButtonActiveState(e.boxId, t); + })); + } + }, + { + key: "reportLayoutStructure", + value: function (e) { + var t = this; + Q(e.toConfig().content).forEach(function (n) { + var r = e.root.getItemsById(n.id)[0]; + t._frameController.moveFrame(K(r.config.id), Z(r.element)); + }); + } + }, + { + key: "closeWorkspace", + value: function (e) { + if (!e) throw new Error("Could not find a workspace to close"); + this.closeWorkspaceCore(e); + } + }, + { + key: "closeWorkspaceCore", + value: function (e) { + var t = this._wrapperFactory.getWorkspaceWrapper({ + workspace: e, + workspaceId: e.id + }), + n = t.summary, + r = t.windowSummaries, + i = this.checkForEmptyWorkspace(e); + (this.disposeOfWindowsInClosingWorkspace(r), + i || this.raiseWorkspaceClosedEventsInClosingWorkspace(n)); + } + }, + { + key: "discardWorkspaceWithoutClosing", + value: function (e) { + var t = this._wrapperFactory.getWorkspaceWrapper({ + workspace: e, + workspaceId: e.id + }), + n = t.windowSummaries, + r = t.summary; + (this.disposeOfWindowsInClosingWorkspace(n), + this.raiseWorkspaceClosedEventsInClosingWorkspace(r), + ae.removeById(e.id)); + } + }, + { + key: "disposeOfWindowsInClosingWorkspace", + value: function (e) { + var t = this; + (e.forEach(function (e) { + return t._frameController.remove(e.itemId); + }), + e.forEach(function (e) { + (t._platformCommunicator + .notifyFrameWillClose( + e.config.windowId, + e.config.appName + ) + .catch(function (e) {}), + t.workspacesEventEmitter.raiseWindowEvent({ + action: "removed", + payload: { windowSummary: e } + })); + })); + } + }, + { + key: "raiseWorkspaceClosedEventsInClosingWorkspace", + value: function (e) { + (be.notifyWorkspaceClosed(e.id), + this.workspacesEventEmitter.raiseWorkspaceEvent({ + action: "closed", + payload: { + workspaceSummary: e, + frameSummary: { id: this.frameId }, + frameBounds: this.stateResolver.getFrameBounds() + } + })); + } + }, + { + key: "addWorkspace", + value: function (e, t) { + var n; + return q( + this, + void 0, + void 0, + s().mark(function r() { + var i, o; + return s().wrap( + function (r) { + for (;;) + switch ((r.prev = r.next)) { + case 0: + return ( + (r.next = 2), + this._glue.contexts.set( + ee(e), + (null === + (n = + null === t || + void 0 === t + ? void 0 + : t.workspacesOptions) || + void 0 === n + ? void 0 + : n.context) || {} + ) + ); + case 2: + return ( + (r.next = 4), + this._controller.addWorkspace( + e, + t + ) + ); + case 4: + return ( + this._controller.emitter.raiseEvent( + "workspace-added", + { workspace: ae.getById(e) } + ), + (r.next = 7), + this._systemSettings.getSettings() + ); + case 7: + ((i = r.sent), + (o = + this._applicationFactory.getLoadingStrategy( + i, + t + )), + this.handleWindows(e, o).catch( + function (e) { + console.log(e); + } + )); + case 10: + case "end": + return r.stop(); + } + }, + r, + this + ); + }) + ); + } + }, + { + key: "handleWindows", + value: function (e, t) { + return q( + this, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + ((n.t0 = t), + (n.next = + "delayed" === n.t0 + ? 3 + : "direct" === n.t0 + ? 6 + : "lazy" === n.t0 + ? 9 + : 12)); + break; + case 3: + return ( + (n.next = 5), + this._applicationFactory.startDelayed( + e + ) + ); + case 5: + case 8: + case 11: + return n.abrupt("break", 12); + case 6: + return ( + (n.next = 8), + this._applicationFactory.startDirect( + e + ) + ); + case 9: + return ( + (n.next = 11), + this._applicationFactory.startLazy( + e + ) + ); + case 12: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "checkForEmptyWorkspace", + value: function (e) { + var t = window.glue42core || window.iobrowser; + if (1 === ae.layouts.length) { + if (this._isLayoutInitialized && t.isPlatformFrame) + return (this.replaceLastWorkspaceWithEmpty(e), !1); + if (this._isLayoutInitialized) { + try { + this._facade.executeAfterControlIsDone(function () { + window.close(); + }); + } catch (n) {} + return !0; + } + } else this._controller.removeWorkspace(e.id); + return !1; + } + }, + { + key: "replaceLastWorkspaceWithEmpty", + value: function (e) { + var t = this, + n = this._configFactory.getId(), + r = this._configFactory.getEmptyWorkspaceConfig(), + i = this._wrapperFactory.getWorkspaceWrapper({ + workspace: e, + workspaceId: e.id + }), + o = this.stateResolver + .getWorkspaceTitles() + .filter(function (e) { + return e !== i.title; + }), + a = this._configFactory.getWorkspaceTitle(o); + ((r.workspacesOptions.title = a), + this._controller + .addWorkspace( + n, + this._configFactory.getEmptyWorkspaceConfig() + ) + .then(function () { + return q( + t, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + this.handleOnWorkspaceAddedWithSnapshot( + ae.getById(n) + ) + ); + case 2: + this.checkForEmptyWorkspace( + e + ); + case 3: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + }) + .catch(function () {})); + } + }, + { + key: "waitForFrameLoaded", + value: function (e) { + var t = this; + return new Promise(function (n, r) { + var i = function () {}, + o = setTimeout(function () { + (i(), + r( + "Did not hear frame loaded for ".concat( + e, + " in 5000ms" + ) + )); + }, 5e3); + ((i = t.workspacesEventEmitter.onWindowEvent( + function (t, r) { + "loaded" === t && + r.windowSummary.itemId === e && + (n(), clearTimeout(o), i()); + } + )), + t.stateResolver.isWindowLoaded(e) && + (n(), clearTimeout(o), i())); + }); + } + }, + { + key: "handleGroupLockRequested", + value: function (e) { + var t = e.config, + n = t.allowExtract, + r = t.allowReorder, + i = t.showAddWindowButton, + o = t.showEjectButton, + a = t.showMaximizeButton, + s = t.allowDrop; + (!1 === n + ? this._layoutLockingController.disableGroupExtract( + e.itemId + ) + : this._layoutLockingController.enableGroupExtract( + e.itemId, + n + ), + !1 === r + ? this._layoutLockingController.disableGroupReorder( + e.itemId + ) + : this._layoutLockingController.enableGroupReorder( + e.itemId, + r + ), + !1 === i + ? this._layoutLockingController.disableGroupAddWindowButton( + e.itemId + ) + : this._layoutLockingController.enableGroupAddWindowButton( + e.itemId, + i + ), + !1 === o + ? this._layoutLockingController.disableGroupEjectButton( + e.itemId + ) + : this._layoutLockingController.enableGroupEjectButton( + e.itemId, + o + ), + !1 === a + ? this._layoutLockingController.disableGroupMaximizeButton( + e.itemId + ) + : this._layoutLockingController.enableGroupMaximizeButton( + e.itemId, + a + ), + !1 === s + ? this._layoutLockingController.disableGroupDrop( + e.itemId, + e.config + ) + : this._layoutLockingController.enableGroupDrop( + e.itemId, + e.config + )); + var c = ae.getByContainerId(e.itemId); + (null === c || void 0 === c ? void 0 : c.layout) && + c.layout.updateSize(); + } + }, + { + key: "handleRowLockRequested", + value: function (e) { + var t = e.config, + n = t.allowDrop, + r = t.allowSplitters; + (!1 === n + ? this._layoutLockingController.disableRowDrop(e.itemId) + : this._layoutLockingController.enableRowDrop(e.itemId, n), + !1 === r + ? this._layoutLockingController.disableRowSplitters( + e.itemId + ) + : this._layoutLockingController.enableRowSplitters( + e.itemId, + r + )); + } + }, + { + key: "handleColumnLockRequested", + value: function (e) { + var t = e.config, + n = t.allowDrop, + r = t.allowSplitters; + (!1 === n + ? this._layoutLockingController.disableColumnDrop(e.itemId) + : this._layoutLockingController.enableColumnDrop( + e.itemId, + n + ), + !1 === r + ? this._layoutLockingController.disableColumnSplitters( + e.itemId + ) + : this._layoutLockingController.enableColumnSplitters( + e.itemId, + r + )); + } + }, + { + key: "cleanIsPinned", + value: function (e) { + if ("row" !== e.type && "column" !== e.type) return e; + var t = !1, + n = JSON.parse(JSON.stringify(e)); + return ( + (function e(n) { + (n.workspacesConfig.isPinned && + ((t = !0), (n.workspacesConfig.isPinned = !1)), + "component" !== n.type && + n.content.forEach(function (t) { + return e(t); + })); + })(n), + t ? n : e + ); + } + }, + { + key: "applyIsPinned", + value: function (e, t) { + if ( + ("row" === e.type || "column" === e.type) && + ("row" === t.config.type || "column" === t.config.type) + ) { + !(function e(t, n) { + (t.workspacesConfig.isPinned && + (n.config.workspacesConfig.isPinned = !0), + "component" !== t.type && + "component" !== n.type && + t.content.forEach(function (t, r) { + return e(t, n.contentItems[r]); + })); + })(e, t); + } + } + }, + { + key: "handleOnWorkspaceAdded", + value: function (e) { + var t, + n = ae.workspaceIds + .filter(function (t) { + return t !== e.id; + }) + .reduce(function (e, t) { + return [].concat(o(e), o(ae.getById(t).windows)); + }, []); + if ( + (this._workspacesEventEmitter.raiseWorkspaceEvent({ + action: "opened", + payload: { + frameSummary: { id: this.frameId }, + workspaceSummary: + this.stateResolver.getWorkspaceSummary(e.id), + frameBounds: this.stateResolver.getFrameBounds() + } + }), + ae.getActiveWorkspace().id === e.id) + ) { + if ( + (this._workspacesEventEmitter.raiseWorkspaceEvent({ + action: "selected", + payload: { + frameSummary: { id: this.frameId }, + workspaceSummary: + this.stateResolver.getWorkspaceSummary( + e.id + ), + frameBounds: this.stateResolver.getFrameBounds() + } + }), + !e.layout) + ) + return void this._frameController.selectionChangedDeep( + [], + n.map(function (e) { + return e.id; + }) + ); + var r = Q(e.layout.toConfig().content); + this._frameController.selectionChangedDeep( + r.map(function (e) { + return K(e.id); + }), + n.map(function (e) { + return e.id; + }) + ); + } + if (e.layout) { + var i = e.layout.config.workspacesOptions, + a = i.title || i.name; + a && + (null === (t = ae.getWorkspaceLayoutItemById(e.id)) || + void 0 === t || + t.setTitle(a)); + } + } + }, + { + key: "handleOnWorkspaceAddedWithSnapshot", + value: function (e) { + var t; + return q( + this, + void 0, + void 0, + s().mark(function n() { + var r, i, a, c, u; + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + return ( + (r = ae.workspaceIds + .filter(function (t) { + return t !== e.id; + }) + .reduce(function (e, t) { + return [].concat( + o(e), + o( + ae.getById(t) + .windows + ) + ); + }, [])), + (n.next = 3), + this._stateResolver.getWorkspaceSnapshot( + e.id, + this + ) + ); + case 3: + if ( + ((i = n.sent), + this._workspacesEventEmitter.raiseWorkspaceEvent( + { + action: "opened", + payload: { + frameSummary: { + id: this.frameId + }, + workspaceSnapshot: + i, + workspaceSummary: + this.stateResolver.getWorkspaceSummary( + e.id + ), + frameBounds: + this.stateResolver.getFrameBounds() + } + } + ), + ae.getActiveWorkspace().id !== + e.id) + ) { + n.next = 12; + break; + } + if ( + (this._workspacesEventEmitter.raiseWorkspaceEvent( + { + action: "selected", + payload: { + frameSummary: { + id: this.frameId + }, + workspaceSummary: + this.stateResolver.getWorkspaceSummary( + e.id + ), + frameBounds: + this.stateResolver.getFrameBounds() + } + } + ), + e.layout) + ) { + n.next = 10; + break; + } + return ( + this._frameController.selectionChangedDeep( + [], + r.map(function (e) { + return e.id; + }) + ), + n.abrupt("return") + ); + case 10: + ((a = Q( + e.layout.toConfig().content + )), + this._frameController.selectionChangedDeep( + a.map(function (e) { + return K(e.id); + }), + r.map(function (e) { + return e.id; + }) + )); + case 12: + if (e.layout) { + n.next = 14; + break; + } + return n.abrupt("return"); + case 14: + ((c = + e.layout.config + .workspacesOptions), + (u = c.title || c.name) && + (null === + (t = + ae.getWorkspaceLayoutItemById( + e.id + )) || + void 0 === t || + t.setTitle(u))); + case 17: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + } + }, + { + key: "showMaximizeGroupButton", + value: function (e) { + this._wrapperFactory.getContainerWrapper({ + containerContentItem: e + }).showMaximizeButton && + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: K(e.config.id), + restore: { visible: !1 }, + maximize: { visible: !0 } + }); + } + }, + { + key: "showRestoreGroupButton", + value: function (e) { + this._wrapperFactory.getContainerWrapper({ + containerContentItem: e + }).showMaximizeButton && + be.decoratedFactory.updateGroupHeaderButtons({ + groupId: K(e.config.id), + restore: { visible: !0 }, + maximize: { visible: !1 } + }); + } + } + ]), + e + ); + })(), + st = new at(), + ct = (function () { + function e(t) { + (w(this, e), (this.manager = t)); + } + return ( + x(e, [ + { + key: "applyLockConfiguration", + value: function (e, t) { + var n = this; + return (function e(r, i) { + return q( + n, + void 0, + void 0, + s().mark(function n() { + return s().wrap( + function (n) { + for (;;) + switch ((n.prev = n.next)) { + case 0: + if ("window" !== r.type) { + n.next = 5; + break; + } + return ( + this.doesWindowContainLockProperties( + r + ) && + this.manager.lockWindow( + { + windowPlacementId: + i.id, + config: r.config + } + ), + n.abrupt("return") + ); + case 5: + "group" === r.type || + "row" === r.type || + "column" === r.type + ? this.doesContainerContainLockProperties( + r + ) && + this.manager.lockContainer( + { + itemId: i.id, + type: r.type, + config: r.config + } + ) + : this.doesWorkspaceContainLockProperties( + r + ) && + this.manager.lockWorkspace( + { + workspaceId: t.id, + config: r.config + } + ); + case 6: + return ( + (n.next = 8), + Promise.all( + r.children.map( + function (t, n) { + return e( + t, + i.children[ + n + ] + ); + } + ) + ) + ); + case 8: + case "end": + return n.stop(); + } + }, + n, + this + ); + }) + ); + })(e, t); + } + }, + { + key: "applyWindowLockConfiguration", + value: function (e) { + var t = { config: e.config, id: e.itemId, type: "window" }; + this.doesWindowContainLockProperties(t) && + this.manager.lockWindow({ + windowPlacementId: e.itemId, + config: e.config + }); + } + }, + { + key: "applyContainerLockConfiguration", + value: function (e, t, n) { + var r = this; + return (function e(t, n) { + "window" !== t.type + ? ("group" === t.type || + "row" === t.type || + "column" === t.type + ? r.doesContainerContainLockProperties(t) && + r.manager.lockContainer({ + itemId: n.id, + type: t.type, + config: t.config + }) + : r.doesWorkspaceContainLockProperties(t) && + r.manager.lockWorkspace({ + workspaceId: t.id, + config: t.config + }), + t.children.forEach(function (t, r) { + return e(t, n.children[r]); + })) + : r.doesWindowContainLockProperties(t) && + r.manager.lockWindow({ + windowPlacementId: n.id, + config: t.config + }); + })(e, this.getItemFromWorkspace(t, n)); + } + }, + { + key: "doesWindowContainLockProperties", + value: function (e) { + var t, n, r; + return ( + this.isLockPropertySet( + null === (t = e.config) || void 0 === t + ? void 0 + : t.showCloseButton + ) || + this.isLockPropertySet( + null === (n = e.config) || void 0 === n + ? void 0 + : n.allowExtract + ) || + this.isLockPropertySet( + null === (r = e.config) || void 0 === r + ? void 0 + : r.allowReorder + ) + ); + } + }, + { + key: "doesContainerContainLockProperties", + value: function (e) { + var t, n, r, i, o, a, s, c, u, d, l, p; + return ( + this.isLockPropertySet( + null === (t = e.config) || void 0 === t + ? void 0 + : t.allowDrop + ) || + this.isLockPropertySet( + null === (n = e.config) || void 0 === n + ? void 0 + : n.allowDropHeader + ) || + this.isLockPropertySet( + null === (r = e.config) || void 0 === r + ? void 0 + : r.allowDropLeft + ) || + this.isLockPropertySet( + null === (i = e.config) || void 0 === i + ? void 0 + : i.allowDropRight + ) || + this.isLockPropertySet( + null === (o = e.config) || void 0 === o + ? void 0 + : o.allowDropTop + ) || + this.isLockPropertySet( + null === (a = e.config) || void 0 === a + ? void 0 + : a.allowDropBottom + ) || + this.isLockPropertySet( + null === (s = e.config) || void 0 === s + ? void 0 + : s.allowExtract + ) || + this.isLockPropertySet( + null === (c = e.config) || void 0 === c + ? void 0 + : c.allowReorder + ) || + this.isLockPropertySet( + null === (u = e.config) || void 0 === u + ? void 0 + : u.showExtractButton + ) || + this.isLockPropertySet( + null === (d = e.config) || void 0 === d + ? void 0 + : d.showMaximizeButton + ) || + this.isLockPropertySet( + null === (l = e.config) || void 0 === l + ? void 0 + : l.showAddWindowButton + ) || + this.isLockPropertySet( + null === (p = e.config) || void 0 === p + ? void 0 + : p.allowSplitters + ) + ); + } + }, + { + key: "doesWorkspaceContainLockProperties", + value: function (e) { + var t, n, r, i, o, a, s, c, u, d, l, p, h, f, v; + return ( + this.isLockPropertySet( + null === (t = e.config) || void 0 === t + ? void 0 + : t.allowDrop + ) || + this.isLockPropertySet( + null === (n = e.config) || void 0 === n + ? void 0 + : n.allowDropLeft + ) || + this.isLockPropertySet( + null === (r = e.config) || void 0 === r + ? void 0 + : r.allowDropTop + ) || + this.isLockPropertySet( + null === (i = e.config) || void 0 === i + ? void 0 + : i.allowDropRight + ) || + this.isLockPropertySet( + null === (o = e.config) || void 0 === o + ? void 0 + : o.allowDropBottom + ) || + this.isLockPropertySet( + null === (a = e.config) || void 0 === a + ? void 0 + : a.allowExtract + ) || + this.isLockPropertySet( + null === (s = e.config) || void 0 === s + ? void 0 + : s.allowWindowReorder + ) || + this.isLockPropertySet( + null === (c = e.config) || void 0 === c + ? void 0 + : c.allowHibernation + ) || + this.isLockPropertySet( + null === (u = e.config) || void 0 === u + ? void 0 + : u.showExtractButtons + ) || + this.isLockPropertySet( + null === (d = e.config) || void 0 === d + ? void 0 + : d.showWindowCloseButtons + ) || + this.isLockPropertySet( + null === (l = e.config) || void 0 === l + ? void 0 + : l.showAddWindowButtons + ) || + this.isLockPropertySet( + null === (p = e.config) || void 0 === p + ? void 0 + : p.showSaveButton + ) || + this.isLockPropertySet( + null === (h = e.config) || void 0 === h + ? void 0 + : h.allowWorkspaceTabReorder + ) || + this.isLockPropertySet( + null === (f = e.config) || void 0 === f + ? void 0 + : f.showCloseButton + ) || + this.isLockPropertySet( + null === (v = e.config) || void 0 === v + ? void 0 + : v.allowSplitters + ) + ); + } + }, + { + key: "isLockPropertySet", + value: function (e) { + return "boolean" === typeof e; + } + }, + { + key: "getItemFromWorkspace", + value: function (e, t) { + return (function e(n) { + return n.id === t + ? n + : "window" !== n.type + ? n.children + .map(function (t) { + return e(t); + }) + .find(function (e) { + return e; + }) + : void 0; + })(e); + } + } + ]), + e + ); + })(), + ut = new ((function () { + function e() { + var t = this; + (w(this, e), + (this._workspacesControlMethod = "T42.Workspaces.Control"), + (this._workspacesEventMethod = "T42.Workspaces.Events"), + (this._inDisposing = !1), + (this._controlPromise = Promise.resolve()), + (this.handleControlCore = function (e, n, r, i) { + return q( + t, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.prev = 0), + (t.next = 3), + st.initPromise + ); + case 3: + ((t.t0 = e.operation), + (t.next = + "isWindowInWorkspace" === t.t0 + ? 6 + : "addWindow" === t.t0 + ? 8 + : "addContainer" === t.t0 + ? 14 + : "getWorkspaceSnapshot" === + t.t0 + ? 20 + : "openWorkspace" === + t.t0 + ? 26 + : "saveLayout" === + t.t0 + ? 32 + : "exportAllLayouts" === + t.t0 + ? 38 + : "deleteLayout" === + t.t0 + ? 44 + : "getAllWorkspacesSummaries" === + t.t0 + ? 47 + : "maximizeItem" === + t.t0 + ? 49 + : "restoreItem" === + t.t0 + ? 52 + : "closeItem" === + t.t0 + ? 55 + : "setItemTitle" === + t.t0 + ? 58 + : "addWorkspaceChildren" === + t.t0 + ? 62 + : "ejectWindow" === + t.t0 + ? 66 + : "createWorkspace" === + t.t0 + ? 72 + : "forceLoadWindow" === + t.t0 + ? 78 + : "focusItem" === + t.t0 + ? 84 + : "bundleWorkspace" === + t.t0 + ? 88 + : "bundleItem" === + t.t0 + ? 91 + : "getFrameSummary" === + t.t0 + ? 94 + : "moveFrame" === + t.t0 + ? 100 + : "getFrameSnapshot" === + t.t0 + ? 104 + : "getSnapshot" === + t.t0 + ? 110 + : "moveWindowTo" === + t.t0 + ? 116 + : "generateLayout" === + t.t0 + ? 120 + : "ping" === + t.t0 + ? 126 + : "hibernateWorkspace" === + t.t0 + ? 128 + : "resumeWorkspace" === + t.t0 + ? 132 + : "lockWorkspace" === + t.t0 + ? 136 + : "lockContainer" === + t.t0 + ? 139 + : "lockWindow" === + t.t0 + ? 142 + : "resizeItem" === + t.t0 + ? 145 + : "pinWorkspace" === + t.t0 + ? 148 + : "unpinWorkspace" === + t.t0 + ? 151 + : "getWorkspaceIcon" === + t.t0 + ? 154 + : "setWorkspaceIcon" === + t.t0 + ? 156 + : "initFrame" === + t.t0 + ? 159 + : "createFrame" === + t.t0 + ? 163 + : "initFrameFromSnapshot" === + t.t0 + ? 165 + : "getWorkspacesLayouts" === + t.t0 + ? 169 + : "setMaximizationBoundary" === + t.t0 + ? 175 + : "operationCheck" === + t.t0 + ? 178 + : "getDecorationsSize" === + t.t0 + ? 180 + : 182)); + break; + case 6: + return ( + r( + this.handleIsWindowInWorkspace( + e.operationArguments + ) + ), + t.abrupt("break", 183) + ); + case 8: + return ( + (t.t1 = r), + (t.next = 11), + this.handleAddWindow( + e.operationArguments + ) + ); + case 11: + return ( + (t.t2 = t.sent), + (0, t.t1)(t.t2), + t.abrupt("break", 183) + ); + case 14: + return ( + (t.t3 = r), + (t.next = 17), + this.handleAddContainer( + e.operationArguments + ) + ); + case 17: + return ( + (t.t4 = t.sent), + (0, t.t3)(t.t4), + t.abrupt("break", 183) + ); + case 20: + return ( + (t.t5 = r), + (t.next = 23), + this.handleGetWorkspaceSnapshot( + e.operationArguments + ) + ); + case 23: + return ( + (t.t6 = t.sent), + (0, t.t5)(t.t6), + t.abrupt("break", 183) + ); + case 26: + return ( + (t.t7 = r), + (t.next = 29), + this.handleOpenWorkspace( + e.operationArguments + ) + ); + case 29: + return ( + (t.t8 = t.sent), + (0, t.t7)(t.t8), + t.abrupt("break", 183) + ); + case 32: + return ( + (t.t9 = r), + (t.next = 35), + this.handleSaveLayout( + e.operationArguments + ) + ); + case 35: + return ( + (t.t10 = t.sent), + (0, t.t9)(t.t10), + t.abrupt("break", 183) + ); + case 38: + return ( + (t.t11 = r), + (t.next = 41), + this.handleExportAllLayouts() + ); + case 41: + return ( + (t.t12 = t.sent), + (0, t.t11)(t.t12), + t.abrupt("break", 183) + ); + case 44: + return ( + this.handleDeleteLayout( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 47: + return ( + r( + this.handleGetAllWorkspaceSummaries() + ), + t.abrupt("break", 183) + ); + case 49: + return ( + this.handleMaximizeItem( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 52: + return ( + this.handleRestoreItem( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 55: + return ( + this.handleCloseItem( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 58: + return ( + (t.next = 60), + this.handleSetItemTitle( + e.operationArguments + ) + ); + case 60: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 62: + return ( + (t.next = 64), + this.handleAddWorkspaceChildren( + e.operationArguments + ) + ); + case 64: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 66: + return ( + (t.t13 = r), + (t.next = 69), + this.handleEject( + e.operationArguments + ) + ); + case 69: + return ( + (t.t14 = t.sent), + (0, t.t13)(t.t14), + t.abrupt("break", 183) + ); + case 72: + return ( + (t.t15 = r), + (t.next = 75), + this.handleCreateWorkspace( + e.operationArguments + ) + ); + case 75: + return ( + (t.t16 = t.sent), + (0, t.t15)(t.t16), + t.abrupt("break", 183) + ); + case 78: + return ( + (t.t17 = r), + (t.next = 81), + this.handleForceLoadWindow( + e.operationArguments + ) + ); + case 81: + return ( + (t.t18 = t.sent), + (0, t.t17)(t.t18), + t.abrupt("break", 183) + ); + case 84: + return ( + (t.next = 86), + this.handleFocusItem( + e.operationArguments + ) + ); + case 86: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 88: + return ( + this.handleBundleWorkspace( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 91: + return ( + this.handleBundleItem( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 94: + return ( + (t.t19 = r), + (t.next = 97), + this.handleGetFrameSummary( + e.operationArguments + ) + ); + case 97: + return ( + (t.t20 = t.sent), + (0, t.t19)(t.t20), + t.abrupt("break", 183) + ); + case 100: + return ( + (t.next = 102), + this.handleMoveFrame( + e.operationArguments + ) + ); + case 102: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 104: + return ( + (t.t21 = r), + (t.next = 107), + this.handleGetFrameSnapshot( + e.operationArguments + ) + ); + case 107: + return ( + (t.t22 = t.sent), + (0, t.t21)(t.t22), + t.abrupt("break", 183) + ); + case 110: + return ( + (t.t23 = r), + (t.next = 113), + this.handleGetSnapshot( + e.operationArguments + ) + ); + case 113: + return ( + (t.t24 = t.sent), + (0, t.t23)(t.t24), + t.abrupt("break", 183) + ); + case 116: + return ( + (t.next = 118), + this.handleMoveWindowTo( + e.operationArguments + ) + ); + case 118: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 120: + return ( + (t.t25 = r), + (t.next = 123), + this.handleGenerateLayout( + e.operationArguments + ) + ); + case 123: + return ( + (t.t26 = t.sent), + (0, t.t25)(t.t26), + t.abrupt("break", 183) + ); + case 126: + return ( + r(this.handlePing()), + t.abrupt("break", 183) + ); + case 128: + return ( + (t.next = 130), + this.handleHibernateWorkspace( + e.operationArguments + ) + ); + case 130: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 132: + return ( + (t.next = 134), + this.handleResumeWorkspace( + e.operationArguments + ) + ); + case 134: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 136: + return ( + this.handleLockWorkspace( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 139: + return ( + this.handleLockContainer( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 142: + return ( + this.handleLockWindow( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 145: + return ( + this.handleResizeItem( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 148: + return ( + this.handlePinWorkspace( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 151: + return ( + this.handleUnpinWorkspace( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 154: + return ( + r( + this.handleGetWorkspaceIcon( + e.operationArguments + ) + ), + t.abrupt("break", 183) + ); + case 156: + return ( + this.handleSetWorkspaceIcon( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 159: + return ( + (t.next = 161), + this.handleInitFrame( + e.operationArguments + ) + ); + case 161: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 163: + return ( + r( + this.handleCreateFrame( + e.operationArguments + ) + ), + t.abrupt("break", 183) + ); + case 165: + return ( + (t.next = 167), + this.handleInitFrameFromSnapshot( + e.operationArguments + ) + ); + case 167: + return ( + r(void 0), + t.abrupt("break", 183) + ); + case 169: + return ( + (t.t27 = r), + (t.next = 172), + this.handleGetWorkspaceLayouts( + e.operationArguments + ) + ); + case 172: + return ( + (t.t28 = t.sent), + (0, t.t27)(t.t28), + t.abrupt("break", 183) + ); + case 175: + return ( + this.handleSetMaximizationBoundary( + e.operationArguments + ), + r(void 0), + t.abrupt("break", 183) + ); + case 178: + return ( + r( + this.handleOperationCheck( + e.operationArguments + ) + ), + t.abrupt("break", 183) + ); + case 180: + return ( + r( + this.handleGetDecorationsSize( + e.operationArguments + ) + ), + t.abrupt("break", 183) + ); + case 182: + i( + "Invalid operation - ".concat( + e.operation + ) + ); + case 183: + t.next = 189; + break; + case 185: + ((t.prev = 185), + (t.t29 = t.catch(0)), + i(t.t29.message), + console.warn(t.t29)); + case 189: + case "end": + return t.stop(); + } + }, + t, + this, + [[0, 185]] + ); + }) + ); + }), + (this.handleControl = function (e, n, r, i) { + return q( + t, + void 0, + void 0, + s().mark(function t() { + var o; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (o = this.handleControlCore( + e, + n, + r, + i + )), + (this._controlPromise = o), + (t.next = 4), + o + ); + case 4: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + })); + } + return ( + x(e, [ + { + key: "init", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((this._glue = e), + (this._configFactory = new Re( + e + )), + (this._converter = new Oe( + this._configFactory + )), + (this._locker = new ct(st)), + (this._constraintValidator = + new ze()), + !this._glue) + ) { + t.next = 8; + break; + } + return ( + (t.next = 8), + this.registerAgmMethods() + ); + case 8: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "dispose", + value: function () { + this._inDisposing = !0; + } + }, + { + key: "subscribeForWorkspaceEvents", + value: function () { + var e = this; + (st.workspacesEventEmitter.onFrameEvent(function (t, n) { + e.publishEventData(t, n, "frame"); + }), + st.workspacesEventEmitter.onWindowEvent(function (t, n) { + e.publishEventData(t, n, "window"); + }), + st.workspacesEventEmitter.onWorkspaceEvent(function (t, n) { + e.publishEventData(t, n, "workspace"); + }), + st.workspacesEventEmitter.onContainerEvent(function (t, n) { + e.publishEventData(t, n, "container"); + })); + } + }, + { + key: "executeAfterControlIsDone", + value: function (e) { + this._controlPromise.finally(function () { + return e(); + }); + } + }, + { + key: "registerAgmMethods", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + return s().wrap( + function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + this._glue.agm.registerAsync( + { + name: this + ._workspacesControlMethod + }, + this.handleControl + ) + ); + case 2: + case "end": + return e.stop(); + } + }, + e, + this + ); + }) + ); + } + }, + { + key: "handleOpenWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n; + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.openWorkspace( + e.name, + e.restoreOptions + ) + ); + case 2: + return ( + (n = t.sent), + t.abrupt( + "return", + st.stateResolver.getWorkspaceSnapshot( + n, + st + ) + ) + ); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleExportAllLayouts", + value: function () { + return q( + this, + void 0, + void 0, + s().mark(function e() { + var t; + return s().wrap(function (e) { + for (;;) + switch ((e.prev = e.next)) { + case 0: + return ( + (e.next = 2), + st.exportAllLayouts() + ); + case 2: + return ( + (t = e.sent), + e.abrupt("return", { layouts: t }) + ); + case 4: + case "end": + return e.stop(); + } + }, e); + }) + ); + } + }, + { + key: "handleSaveLayout", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.saveWorkspace( + e.name, + e.workspaceId, + e.saveContext, + e.metadata + ) + ); + case 2: + return t.abrupt("return", t.sent); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleDeleteLayout", + value: function (e) { + st.deleteLayout(e.name); + } + }, + { + key: "handleGetWorkspaceSnapshot", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return t.abrupt( + "return", + st.stateResolver.getWorkspaceSnapshot( + e.itemId, + st + ) + ); + case 1: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleGetAllWorkspaceSummaries", + value: function () { + return { + summaries: ae.layouts.map(function (e) { + return st.stateResolver.getWorkspaceSummary(e.id); + }) + }; + } + }, + { + key: "handleCloseItem", + value: function (e) { + return st.closeItem(e.itemId); + } + }, + { + key: "handleRestoreItem", + value: function (e) { + st.restoreItem(e.itemId); + } + }, + { + key: "handleMaximizeItem", + value: function (e) { + st.maximizeItem(e.itemId); + } + }, + { + key: "handleAddContainer", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r, i, o, a, c; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + "workspace" !== + e.definition.type + ) { + t.next = 2; + break; + } + throw new Error( + "Unsuported add container type ".concat( + e.definition.type + ) + ); + case 2: + if ( + ((n = + ae.getByContainerId( + e.parentId + ) || + ae.getById(e.parentId)), + (r = + this._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + n.id + ) + )), + this._constraintValidator.fixNewContainer( + e.definition, + r, + e.parentId + ), + "workspace" !== + (i = + this._converter.convertToRendererConfig( + e.definition + )).type) + ) { + t.next = 8; + break; + } + throw new Error( + "Unsuccessful conversion" + ); + case 8: + return ( + (o = { + id: K(i.id), + content: i.content, + type: i.type, + workspacesConfig: + i.workspacesConfig + }), + (t.next = 11), + st.addContainer(o, e.parentId) + ); + case 11: + return ( + (a = t.sent), + (c = + this._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + n.id + ) + )), + this._locker.applyContainerLockConfiguration( + e.definition, + c, + a + ), + t.abrupt("return", { + itemId: a + }) + ); + case 15: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "handleAddWindow", + value: function (e) { + var t, n, r, i, o, a, c; + return q( + this, + void 0, + void 0, + s().mark(function u() { + var d, l, p, h, f, v, m; + return s().wrap( + function (s) { + for (;;) + switch ((s.prev = s.next)) { + case 0: + if ( + ((d = new ze()), + (l = + ae.getByContainerId( + e.parentId + ) || + ae.getById(e.parentId)), + (p = + this._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + l.id + ) + )), + d.fixNewWindow( + e.definition, + p, + e.parentId + ), + (h = + this._configFactory.createGDWindowConfig( + { + windowId: + e.definition + .windowId, + id: void 0, + appName: + e.definition + .appName, + url: e.definition + .url, + context: + e.definition + .context, + allowExtract: + null === + (t = + e + .definition + .config) || + void 0 === t + ? void 0 + : t.allowExtract, + allowReorder: + null === + (n = + e + .definition + .config) || + void 0 === n + ? void 0 + : n.allowReorder, + showCloseButton: + null === + (r = + e + .definition + .config) || + void 0 === r + ? void 0 + : r.showCloseButton, + minWidth: + null === + (i = + e + .definition + .config) || + void 0 === i + ? void 0 + : i.minWidth, + maxWidth: + null === + (o = + e + .definition + .config) || + void 0 === o + ? void 0 + : o.maxWidth, + minHeight: + null === + (a = + e + .definition + .config) || + void 0 === a + ? void 0 + : a.minHeight, + maxHeight: + null === + (c = + e + .definition + .config) || + void 0 === c + ? void 0 + : c.maxHeight + } + )), + !e.definition.windowId) + ) { + s.next = 12; + break; + } + return ( + (f = this._glue.windows + .list() + .find(function (t) { + return ( + t.id === + e.definition + .windowId + ); + })), + (s.next = 9), + f.getURL() + ); + case 9: + ((v = s.sent), + (h.componentState.url = v), + (h.componentState.appName = + this._configFactory.getAppNameFromWindowId( + f.id + ))); + case 12: + return ( + (s.next = 14), + st.addWindow(h, e.parentId) + ); + case 14: + return ( + (m = + st.stateResolver.getWindowSummarySync( + h.id + )), + this._locker.applyWindowLockConfiguration( + m + ), + s.abrupt("return", { + itemId: K(h.id) + }) + ); + case 17: + case "end": + return s.stop(); + } + }, + u, + this + ); + }) + ); + } + }, + { + key: "handleSetItemTitle", + value: function (e) { + st.setItemTitle(e.itemId, e.title); + } + }, + { + key: "handleAddWorkspaceChildren", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r, i, o; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if ( + ((n = e.children.some( + function (e) { + return "row" === e.type; + } + )), + !(r = e.children.some( + function (e) { + return ( + "column" === e.type + ); + } + )) || !n) + ) { + t.next = 4; + break; + } + throw new Error( + "Can't add both row and column workspace children" + ); + case 4: + return ( + (i = { + type: "column", + children: e.children + }), + r && + (i = { + type: "row", + children: e.children + }), + (o = + this._converter.convertToRendererConfig( + i + )), + (t.next = 9), + st.addContainer( + o, + e.workspaceId + ) + ); + case 9: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "handleEject", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.eject(e.itemId) + ); + case 2: + return t.abrupt("return", t.sent); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleCreateWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, r, i, o; + return s().wrap( + function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + e.config || (e.config = {}), + (n = + this.convertCreateWorkspaceArgumentsToWorkspaceItem( + e + )), + this._constraintValidator.fixWorkspace( + n + ), + (r = + this._converter.convertToRendererConfig( + n + )), + (t.next = 6), + st.createWorkspace(r) + ); + case 6: + return ( + (i = t.sent), + (o = + this._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + i + ) + )), + this._locker.applyLockConfiguration( + n, + o + ), + t.abrupt( + "return", + st.stateResolver.getWorkspaceSnapshot( + i, + st + ) + ) + ); + case 10: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + } + }, + { + key: "handleForceLoadWindow", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.loadWindow(e.itemId) + ); + case 2: + return t.abrupt("return", t.sent); + case 3: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleFocusItem", + value: function (e) { + return st.focusItem(e.itemId); + } + }, + { + key: "handleBundleWorkspace", + value: function (e) { + return st.bundleWorkspace(e.workspaceId, e.type); + } + }, + { + key: "handleBundleItem", + value: function (e) { + return st.bundleItem(e.itemId, e.type); + } + }, + { + key: "handleIsWindowInWorkspace", + value: function (e) { + return { + inWorkspace: st.stateResolver.isWindowInWorkspace(e.itemId) + }; + } + }, + { + key: "handleGetFrameSummary", + value: function (e) { + return st.getFrameSummary(e.itemId); + } + }, + { + key: "handleMoveFrame", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.move(e.location) + ); + case 2: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleGetFrameSnapshot", + value: function (e) { + return st.stateResolver.getFrameSnapshot(st, e.excludeIds); + } + }, + { + key: "handleGetSnapshot", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + if (st.frameId !== e.itemId) { + t.next = 4; + break; + } + return t.abrupt( + "return", + st.stateResolver.getFrameSnapshot( + st + ) + ); + case 4: + if (!ae.getById(e.itemId)) { + t.next = 6; + break; + } + return t.abrupt( + "return", + st.stateResolver.getWorkspaceSnapshot( + e.itemId, + st + ) + ); + case 6: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleMoveWindowTo", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return t.abrupt( + "return", + st.moveWindowTo( + e.itemId, + e.containerId + ) + ); + case 1: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleGenerateLayout", + value: function (e) { + return st.generateWorkspaceLayout(e.name, e.workspaceId); + } + }, + { + key: "handlePing", + value: function () { + return { live: !this._inDisposing }; + } + }, + { + key: "handleHibernateWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return t.abrupt( + "return", + st.hibernateWorkspace(e.workspaceId) + ); + case 1: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleResumeWorkspace", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return t.abrupt( + "return", + st.resumeWorkspace(e.workspaceId) + ); + case 1: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleLockWorkspace", + value: function (e) { + return st.lockWorkspace(e); + } + }, + { + key: "handleLockWindow", + value: function (e) { + return st.lockWindow(e); + } + }, + { + key: "handleLockContainer", + value: function (e) { + return st.lockContainer(e); + } + }, + { + key: "handleResizeItem", + value: function (e) { + return st.resizeItem(e); + } + }, + { + key: "handlePinWorkspace", + value: function (e) { + return st.pinWorkspace(e.workspaceId, e.icon); + } + }, + { + key: "handleUnpinWorkspace", + value: function (e) { + return st.unpinWorkspace(e.workspaceId); + } + }, + { + key: "handleGetWorkspaceIcon", + value: function (e) { + var t = st.stateResolver.getWorkspaceIcon(e.workspaceId); + return t ? { icon: t } : {}; + } + }, + { + key: "handleSetWorkspaceIcon", + value: function (e) { + st.setWorkspaceIcon(e.workspaceId, e.icon); + } + }, + { + key: "handleInitFrame", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r = this; + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + Promise.all( + e.workspaces.map(function (e) { + return q( + r, + void 0, + void 0, + s().mark(function t() { + var n, r; + return s().wrap( + function (t) { + for (;;) + switch ( + (t.prev = + t.next) + ) { + case 0: + if ( + ((r = + e), + !(n = + e) + .name) + ) { + t.next = 4; + break; + } + return t.abrupt( + "return", + this._configFactory.convertLayoutOptionsToWorkspaceItem( + n.name, + n.restoreOptions, + st.layoutsManager + ) + ); + case 4: + return t.abrupt( + "return", + this._converter.convertToRendererConfig( + this.convertCreateWorkspaceArgumentsToWorkspaceItem( + r + ) + ) + ); + case 5: + case "end": + return t.stop(); + } + }, + t, + this + ); + }) + ); + }) + ) + ); + case 2: + return ( + (n = t.sent), + (t.next = 5), + st.initFrameLayout(n) + ); + case 5: + t.sent.forEach(function (t, n) { + var i = e.workspaces[n]; + if (i.children) { + var o = + r._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + t + ) + ); + r._locker.applyLockConfiguration( + i, + o + ); + } + }); + case 7: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleInitFrameFromSnapshot", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + var n, + r = this; + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (n = e.workspaces.map(function (e) { + return r._converter.convertToRendererConfig( + r.convertCreateWorkspaceArgumentsToWorkspaceItem( + e + ) + ); + })), + (t.next = 3), + st.initFrameLayout( + n, + e.keepWorkspaces + ) + ); + case 3: + t.sent.forEach(function (t, n) { + var i = e.workspaces[n]; + if (i.children) { + var o = + r._converter.convertToAPIConfig( + st.stateResolver.getWorkspaceConfig( + t + ) + ); + r._locker.applyLockConfiguration( + i, + o + ); + } + }); + case 5: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleGetWorkspaceLayouts", + value: function (e) { + return q( + this, + void 0, + void 0, + s().mark(function t() { + return s().wrap(function (t) { + for (;;) + switch ((t.prev = t.next)) { + case 0: + return ( + (t.next = 2), + st.stateResolver.getAllWorkspacesLayouts( + st, + e + ) + ); + case 2: + return ( + (t.t0 = t.sent), + t.abrupt("return", { + workspaces: t.t0 + }) + ); + case 4: + case "end": + return t.stop(); + } + }, t); + }) + ); + } + }, + { + key: "handleSetMaximizationBoundary", + value: function (e) { + st.setMaximizationBoundary(e.itemId, e.enabled); + } + }, + { + key: "handleOperationCheck", + value: function (e) { + return { isSupported: ne(e.operation) }; + } + }, + { + key: "handleGetDecorationsSize", + value: function (e) { + return st.getDecorationsSize(e.itemId); + } + }, + { + key: "handleCreateFrame", + value: function (e) { + return ( + st.setFrameContext( + null === e || void 0 === e ? void 0 : e.context + ), + st.getFrameSummary(st.frameId) + ); + } + }, + { + key: "publishEventData", + value: function (e, t, n) { + var r = this; + if ( + this._glue.agm.methods().some(function (e) { + return e.name === r._workspacesEventMethod; + }) + ) { + var i = { action: e, type: n, payload: t }; + this._glue.agm + .invoke(this._workspacesEventMethod, i) + .catch(function () {}); + } + } + }, + { + key: "convertCreateWorkspaceArgumentsToWorkspaceItem", + value: function (e) { + var t, + n, + r = Object.assign({}, e); + return ( + r.config || (r.config = {}), + "boolean" === + typeof (null === (t = e.config) || void 0 === t + ? void 0 + : t.isSelected) && + (r.config.selected = e.config.isSelected), + (r.config.context = + (null === (n = e.config) || void 0 === n + ? void 0 + : n.context) || e.context), + (r.config.allowDrop = void 0), + r + ); + } + } + ]), + e + ); + })())(), + dt = {}; + !(function (e) { + var t, n; + ((t = "undefined" !== typeof window ? window : U), + (n = function (e, t) { + var n = [], + r = Object.getPrototypeOf, + i = n.slice, + o = n.flat + ? function (e) { + return n.flat.call(e); + } + : function (e) { + return n.concat.apply([], e); + }, + a = n.push, + s = n.indexOf, + c = {}, + u = c.toString, + d = c.hasOwnProperty, + l = d.toString, + p = l.call(Object), + h = {}, + f = function (e) { + return "function" === typeof e && "number" !== typeof e.nodeType; + }, + v = function (e) { + return null != e && e === e.window; + }, + m = e.document, + g = { type: !0, src: !0, nonce: !0, noModule: !0 }; + function y(e, t, n) { + var r, + i, + o = (n = n || m).createElement("script"); + if (((o.text = e), t)) + for (r in g) + (i = t[r] || (t.getAttribute && t.getAttribute(r))) && + o.setAttribute(r, i); + n.head.appendChild(o).parentNode.removeChild(o); + } + function w(e) { + return null == e + ? e + "" + : "object" === typeof e || "function" === typeof e + ? c[u.call(e)] || "object" + : typeof e; + } + var b = "3.5.0", + k = function e(t, n) { + return new e.fn.init(t, n); + }; + function x(e) { + var t = !!e && "length" in e && e.length, + n = w(e); + return ( + !f(e) && + !v(e) && + ("array" === n || + 0 === t || + ("number" === typeof t && t > 0 && t - 1 in e)) + ); + } + ((k.fn = k.prototype = + { + jquery: b, + constructor: k, + length: 0, + toArray: function () { + return i.call(this); + }, + get: function (e) { + return null == e + ? i.call(this) + : e < 0 + ? this[e + this.length] + : this[e]; + }, + pushStack: function (e) { + var t = k.merge(this.constructor(), e); + return ((t.prevObject = this), t); + }, + each: function (e) { + return k.each(this, e); + }, + map: function (e) { + return this.pushStack( + k.map(this, function (t, n) { + return e.call(t, n, t); + }) + ); + }, + slice: function () { + return this.pushStack(i.apply(this, arguments)); + }, + first: function () { + return this.eq(0); + }, + last: function () { + return this.eq(-1); + }, + even: function () { + return this.pushStack( + k.grep(this, function (e, t) { + return (t + 1) % 2; + }) + ); + }, + odd: function () { + return this.pushStack( + k.grep(this, function (e, t) { + return t % 2; + }) + ); + }, + eq: function (e) { + var t = this.length, + n = +e + (e < 0 ? t : 0); + return this.pushStack(n >= 0 && n < t ? [this[n]] : []); + }, + end: function () { + return this.prevObject || this.constructor(); + }, + push: a, + sort: n.sort, + splice: n.splice + }), + (k.extend = k.fn.extend = + function () { + var e, + t, + n, + r, + i, + o, + a = arguments[0] || {}, + s = 1, + c = arguments.length, + u = !1; + for ( + "boolean" === typeof a && + ((u = a), (a = arguments[s] || {}), s++), + "object" === typeof a || f(a) || (a = {}), + s === c && ((a = this), s--); + s < c; + s++ + ) + if (null != (e = arguments[s])) + for (t in e) + ((r = e[t]), + "__proto__" !== t && + a !== r && + (u && + r && + (k.isPlainObject(r) || + (i = Array.isArray(r))) + ? ((n = a[t]), + (o = + i && !Array.isArray(n) + ? [] + : i || k.isPlainObject(n) + ? n + : {}), + (i = !1), + (a[t] = k.extend(u, o, r))) + : void 0 !== r && (a[t] = r))); + return a; + }), + k.extend({ + expando: "jQuery" + (b + Math.random()).replace(/\D/g, ""), + isReady: !0, + error: function (e) { + throw new Error(e); + }, + noop: function () {}, + isPlainObject: function (e) { + var t, n; + return ( + !(!e || "[object Object]" !== u.call(e)) && + (!(t = r(e)) || + ("function" === + typeof (n = + d.call(t, "constructor") && t.constructor) && + l.call(n) === p)) + ); + }, + isEmptyObject: function (e) { + var t; + for (t in e) return !1; + return !0; + }, + globalEval: function (e, t, n) { + y(e, { nonce: t && t.nonce }, n); + }, + each: function (e, t) { + var n, + r = 0; + if (x(e)) + for ( + n = e.length; + r < n && !1 !== t.call(e[r], r, e[r]); + r++ + ); + else for (r in e) if (!1 === t.call(e[r], r, e[r])) break; + return e; + }, + makeArray: function (e, t) { + var n = t || []; + return ( + null != e && + (x(Object(e)) + ? k.merge(n, "string" === typeof e ? [e] : e) + : a.call(n, e)), + n + ); + }, + inArray: function (e, t, n) { + return null == t ? -1 : s.call(t, e, n); + }, + merge: function (e, t) { + for (var n = +t.length, r = 0, i = e.length; r < n; r++) + e[i++] = t[r]; + return ((e.length = i), e); + }, + grep: function (e, t, n) { + for (var r = [], i = 0, o = e.length, a = !n; i < o; i++) + !t(e[i], i) !== a && r.push(e[i]); + return r; + }, + map: function (e, t, n) { + var r, + i, + a = 0, + s = []; + if (x(e)) + for (r = e.length; a < r; a++) + null != (i = t(e[a], a, n)) && s.push(i); + else for (a in e) null != (i = t(e[a], a, n)) && s.push(i); + return o(s); + }, + guid: 1, + support: h + }), + "function" === typeof Symbol && + (k.fn[Symbol.iterator] = n[Symbol.iterator]), + k.each( + "Boolean Number String Function Array Date RegExp Object Error Symbol".split( + " " + ), + function (e, t) { + c["[object " + t + "]"] = t.toLowerCase(); + } + )); + var _ = (function (e) { + var t, + n, + r, + i, + o, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m, + g, + y, + w, + b = "sizzle" + 1 * new Date(), + k = e.document, + x = 0, + _ = 0, + C = ce(), + I = ce(), + S = ce(), + E = ce(), + W = function (e, t) { + return (e === t && (l = !0), 0); + }, + T = {}.hasOwnProperty, + A = [], + P = A.pop, + M = A.push, + R = A.push, + O = A.slice, + D = function (e, t) { + for (var n = 0, r = e.length; n < r; n++) + if (e[n] === t) return n; + return -1; + }, + L = + "checked|selected|async|autofocus|autoplay|controls|defer|disabled|hidden|ismap|loop|multiple|open|readonly|required|scoped", + B = "[\\x20\\t\\r\\n\\f]", + N = + "(?:\\\\[\\da-fA-F]{1,6}" + + B + + "?|\\\\[^\\r\\n\\f]|[\\w-]|[^\0-\\x7f])+", + F = + "\\[" + + B + + "*(" + + N + + ")(?:" + + B + + "*([*^$|!~]?=)" + + B + + "*(?:'((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\"|(" + + N + + "))|)" + + B + + "*\\]", + j = + ":(" + + N + + ")(?:\\((('((?:\\\\.|[^\\\\'])*)'|\"((?:\\\\.|[^\\\\\"])*)\")|((?:\\\\.|[^\\\\()[\\]]|" + + F + + ")*)|.*)\\)|)", + H = new RegExp(B + "+", "g"), + z = new RegExp( + "^" + B + "+|((?:^|[^\\\\])(?:\\\\.)*)" + B + "+$", + "g" + ), + q = new RegExp("^" + B + "*," + B + "*"), + G = new RegExp("^" + B + "*([>+~]|" + B + ")" + B + "*"), + U = new RegExp(B + "|>"), + V = new RegExp(j), + $ = new RegExp("^" + N + "$"), + J = { + ID: new RegExp("^#(" + N + ")"), + CLASS: new RegExp("^\\.(" + N + ")"), + TAG: new RegExp("^(" + N + "|[*])"), + ATTR: new RegExp("^" + F), + PSEUDO: new RegExp("^" + j), + CHILD: new RegExp( + "^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\(" + + B + + "*(even|odd|(([+-]|)(\\d*)n|)" + + B + + "*(?:([+-]|)" + + B + + "*(\\d+)|))" + + B + + "*\\)|)", + "i" + ), + bool: new RegExp("^(?:" + L + ")$", "i"), + needsContext: new RegExp( + "^" + + B + + "*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\(" + + B + + "*((?:-\\d)?\\d*)" + + B + + "*\\)|)(?=[^-]|$)", + "i" + ) + }, + K = /HTML$/i, + Q = /^(?:input|select|textarea|button)$/i, + X = /^h\d$/i, + Y = /^[^{]+\{\s*\[native \w/, + Z = /^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/, + ee = /[+~]/, + te = new RegExp( + "\\\\[\\da-fA-F]{1,6}" + B + "?|\\\\([^\\r\\n\\f])", + "g" + ), + ne = function (e, t) { + var n = "0x" + e.slice(1) - 65536; + return ( + t || + (n < 0 + ? String.fromCharCode(n + 65536) + : String.fromCharCode( + (n >> 10) | 55296, + (1023 & n) | 56320 + )) + ); + }, + re = /([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g, + ie = function (e, t) { + return t + ? "\0" === e + ? "\ufffd" + : e.slice(0, -1) + + "\\" + + e.charCodeAt(e.length - 1).toString(16) + + " " + : "\\" + e; + }, + oe = function () { + p(); + }, + ae = be( + function (e) { + return ( + !0 === e.disabled && + "fieldset" === e.nodeName.toLowerCase() + ); + }, + { dir: "parentNode", next: "legend" } + ); + try { + (R.apply((A = O.call(k.childNodes)), k.childNodes), + A[k.childNodes.length].nodeType); + } catch (Ie) { + R = { + apply: A.length + ? function (e, t) { + M.apply(e, O.call(t)); + } + : function (e, t) { + for (var n = e.length, r = 0; (e[n++] = t[r++]); ); + e.length = n - 1; + } + }; + } + function se(e, t, r, i) { + var o, + s, + u, + d, + l, + f, + g, + y = t && t.ownerDocument, + k = t ? t.nodeType : 9; + if ( + ((r = r || []), + "string" !== typeof e || !e || (1 !== k && 9 !== k && 11 !== k)) + ) + return r; + if (!i && (p(t), (t = t || h), v)) { + if (11 !== k && (l = Z.exec(e))) + if ((o = l[1])) { + if (9 === k) { + if (!(u = t.getElementById(o))) return r; + if (u.id === o) return (r.push(u), r); + } else if ( + y && + (u = y.getElementById(o)) && + w(t, u) && + u.id === o + ) + return (r.push(u), r); + } else { + if (l[2]) + return (R.apply(r, t.getElementsByTagName(e)), r); + if ( + (o = l[3]) && + n.getElementsByClassName && + t.getElementsByClassName + ) + return (R.apply(r, t.getElementsByClassName(o)), r); + } + if ( + n.qsa && + !E[e + " "] && + (!m || !m.test(e)) && + (1 !== k || "object" !== t.nodeName.toLowerCase()) + ) { + if ( + ((g = e), (y = t), 1 === k && (U.test(e) || G.test(e))) + ) { + for ( + ((y = (ee.test(e) && ge(t.parentNode)) || t) === + t && + n.scope) || + ((d = t.getAttribute("id")) + ? (d = d.replace(re, ie)) + : t.setAttribute("id", (d = b))), + s = (f = a(e)).length; + s--; + + ) + f[s] = (d ? "#" + d : ":scope") + " " + we(f[s]); + g = f.join(","); + } + try { + return (R.apply(r, y.querySelectorAll(g)), r); + } catch (x) { + E(e, !0); + } finally { + d === b && t.removeAttribute("id"); + } + } + } + return c(e.replace(z, "$1"), t, r, i); + } + function ce() { + var e = []; + return function t(n, i) { + return ( + e.push(n + " ") > r.cacheLength && delete t[e.shift()], + (t[n + " "] = i) + ); + }; + } + function ue(e) { + return ((e[b] = !0), e); + } + function de(e) { + var t = h.createElement("fieldset"); + try { + return !!e(t); + } catch (Ie) { + return !1; + } finally { + (t.parentNode && t.parentNode.removeChild(t), (t = null)); + } + } + function le(e, t) { + for (var n = e.split("|"), i = n.length; i--; ) + r.attrHandle[n[i]] = t; + } + function pe(e, t) { + var n = t && e, + r = + n && + 1 === e.nodeType && + 1 === t.nodeType && + e.sourceIndex - t.sourceIndex; + if (r) return r; + if (n) for (; (n = n.nextSibling); ) if (n === t) return -1; + return e ? 1 : -1; + } + function he(e) { + return function (t) { + return "input" === t.nodeName.toLowerCase() && t.type === e; + }; + } + function fe(e) { + return function (t) { + var n = t.nodeName.toLowerCase(); + return ("input" === n || "button" === n) && t.type === e; + }; + } + function ve(e) { + return function (t) { + return "form" in t + ? t.parentNode && !1 === t.disabled + ? "label" in t + ? "label" in t.parentNode + ? t.parentNode.disabled === e + : t.disabled === e + : t.isDisabled === e || + (t.isDisabled !== !e && ae(t) === e) + : t.disabled === e + : "label" in t && t.disabled === e; + }; + } + function me(e) { + return ue(function (t) { + return ( + (t = +t), + ue(function (n, r) { + for (var i, o = e([], n.length, t), a = o.length; a--; ) + n[(i = o[a])] && (n[i] = !(r[i] = n[i])); + }) + ); + }); + } + function ge(e) { + return e && "undefined" !== typeof e.getElementsByTagName && e; + } + for (t in ((n = se.support = {}), + (o = se.isXML = + function (e) { + var t = e.namespaceURI, + n = (e.ownerDocument || e).documentElement; + return !K.test(t || (n && n.nodeName) || "HTML"); + }), + (p = se.setDocument = + function (e) { + var t, + i, + a = e ? e.ownerDocument || e : k; + return a != h && 9 === a.nodeType && a.documentElement + ? ((f = (h = a).documentElement), + (v = !o(h)), + k != h && + (i = h.defaultView) && + i.top !== i && + (i.addEventListener + ? i.addEventListener("unload", oe, !1) + : i.attachEvent && i.attachEvent("onunload", oe)), + (n.scope = de(function (e) { + return ( + f + .appendChild(e) + .appendChild(h.createElement("div")), + "undefined" !== typeof e.querySelectorAll && + !e.querySelectorAll(":scope fieldset div") + .length + ); + })), + (n.attributes = de(function (e) { + return ( + (e.className = "i"), + !e.getAttribute("className") + ); + })), + (n.getElementsByTagName = de(function (e) { + return ( + e.appendChild(h.createComment("")), + !e.getElementsByTagName("*").length + ); + })), + (n.getElementsByClassName = Y.test( + h.getElementsByClassName + )), + (n.getById = de(function (e) { + return ( + (f.appendChild(e).id = b), + !h.getElementsByName || + !h.getElementsByName(b).length + ); + })), + n.getById + ? ((r.filter.ID = function (e) { + var t = e.replace(te, ne); + return function (e) { + return e.getAttribute("id") === t; + }; + }), + (r.find.ID = function (e, t) { + if ( + "undefined" !== typeof t.getElementById && + v + ) { + var n = t.getElementById(e); + return n ? [n] : []; + } + })) + : ((r.filter.ID = function (e) { + var t = e.replace(te, ne); + return function (e) { + var n = + "undefined" !== + typeof e.getAttributeNode && + e.getAttributeNode("id"); + return n && n.value === t; + }; + }), + (r.find.ID = function (e, t) { + if ( + "undefined" !== typeof t.getElementById && + v + ) { + var n, + r, + i, + o = t.getElementById(e); + if (o) { + if ( + (n = o.getAttributeNode("id")) && + n.value === e + ) + return [o]; + for ( + i = t.getElementsByName(e), r = 0; + (o = i[r++]); + + ) + if ( + (n = + o.getAttributeNode("id")) && + n.value === e + ) + return [o]; + } + return []; + } + })), + (r.find.TAG = n.getElementsByTagName + ? function (e, t) { + return "undefined" !== + typeof t.getElementsByTagName + ? t.getElementsByTagName(e) + : n.qsa + ? t.querySelectorAll(e) + : void 0; + } + : function (e, t) { + var n, + r = [], + i = 0, + o = t.getElementsByTagName(e); + if ("*" === e) { + for (; (n = o[i++]); ) + 1 === n.nodeType && r.push(n); + return r; + } + return o; + }), + (r.find.CLASS = + n.getElementsByClassName && + function (e, t) { + if ( + "undefined" !== + typeof t.getElementsByClassName && + v + ) + return t.getElementsByClassName(e); + }), + (g = []), + (m = []), + (n.qsa = Y.test(h.querySelectorAll)) && + (de(function (e) { + var t; + ((f.appendChild(e).innerHTML = + ""), + e.querySelectorAll("[msallowcapture^='']") + .length && + m.push("[*^$]=" + B + "*(?:''|\"\")"), + e.querySelectorAll("[selected]").length || + m.push( + "\\[" + B + "*(?:value|" + L + ")" + ), + e.querySelectorAll("[id~=" + b + "-]") + .length || m.push("~="), + (t = h.createElement("input")).setAttribute( + "name", + "" + ), + e.appendChild(t), + e.querySelectorAll("[name='']").length || + m.push( + "\\[" + + B + + "*name" + + B + + "*=" + + B + + "*(?:''|\"\")" + ), + e.querySelectorAll(":checked").length || + m.push(":checked"), + e.querySelectorAll("a#" + b + "+*").length || + m.push(".#.+[+~]"), + e.querySelectorAll("\\\f"), + m.push("[\\r\\n\\f]")); + }), + de(function (e) { + e.innerHTML = + ""; + var t = h.createElement("input"); + (t.setAttribute("type", "hidden"), + e.appendChild(t).setAttribute("name", "D"), + e.querySelectorAll("[name=d]").length && + m.push("name" + B + "*[*^$|!~]?="), + 2 !== e.querySelectorAll(":enabled").length && + m.push(":enabled", ":disabled"), + (f.appendChild(e).disabled = !0), + 2 !== + e.querySelectorAll(":disabled").length && + m.push(":enabled", ":disabled"), + e.querySelectorAll("*,:x"), + m.push(",.*:")); + })), + (n.matchesSelector = Y.test( + (y = + f.matches || + f.webkitMatchesSelector || + f.mozMatchesSelector || + f.oMatchesSelector || + f.msMatchesSelector) + )) && + de(function (e) { + ((n.disconnectedMatch = y.call(e, "*")), + y.call(e, "[s!='']:x"), + g.push("!=", j)); + }), + (m = m.length && new RegExp(m.join("|"))), + (g = g.length && new RegExp(g.join("|"))), + (t = Y.test(f.compareDocumentPosition)), + (w = + t || Y.test(f.contains) + ? function (e, t) { + var n = + 9 === e.nodeType + ? e.documentElement + : e, + r = t && t.parentNode; + return ( + e === r || + !( + !r || + 1 !== r.nodeType || + !(n.contains + ? n.contains(r) + : e.compareDocumentPosition && + 16 & + e.compareDocumentPosition( + r + )) + ) + ); + } + : function (e, t) { + if (t) + for (; (t = t.parentNode); ) + if (t === e) return !0; + return !1; + }), + (W = t + ? function (e, t) { + if (e === t) return ((l = !0), 0); + var r = + !e.compareDocumentPosition - + !t.compareDocumentPosition; + return ( + r || + (1 & + (r = + (e.ownerDocument || e) == + (t.ownerDocument || t) + ? e.compareDocumentPosition(t) + : 1) || + (!n.sortDetached && + t.compareDocumentPosition(e) === r) + ? e == h || + (e.ownerDocument == k && w(k, e)) + ? -1 + : t == h || + (t.ownerDocument == k && + w(k, t)) + ? 1 + : d + ? D(d, e) - D(d, t) + : 0 + : 4 & r + ? -1 + : 1) + ); + } + : function (e, t) { + if (e === t) return ((l = !0), 0); + var n, + r = 0, + i = e.parentNode, + o = t.parentNode, + a = [e], + s = [t]; + if (!i || !o) + return e == h + ? -1 + : t == h + ? 1 + : i + ? -1 + : o + ? 1 + : d + ? D(d, e) - D(d, t) + : 0; + if (i === o) return pe(e, t); + for (n = e; (n = n.parentNode); ) a.unshift(n); + for (n = t; (n = n.parentNode); ) s.unshift(n); + for (; a[r] === s[r]; ) r++; + return r + ? pe(a[r], s[r]) + : a[r] == k + ? -1 + : s[r] == k + ? 1 + : 0; + }), + h) + : h; + }), + (se.matches = function (e, t) { + return se(e, null, null, t); + }), + (se.matchesSelector = function (e, t) { + if ( + (p(e), + n.matchesSelector && + v && + !E[t + " "] && + (!g || !g.test(t)) && + (!m || !m.test(t))) + ) + try { + var r = y.call(e, t); + if ( + r || + n.disconnectedMatch || + (e.document && 11 !== e.document.nodeType) + ) + return r; + } catch (Ie) { + E(t, !0); + } + return se(t, h, null, [e]).length > 0; + }), + (se.contains = function (e, t) { + return ((e.ownerDocument || e) != h && p(e), w(e, t)); + }), + (se.attr = function (e, t) { + (e.ownerDocument || e) != h && p(e); + var i = r.attrHandle[t.toLowerCase()], + o = + i && T.call(r.attrHandle, t.toLowerCase()) + ? i(e, t, !v) + : void 0; + return void 0 !== o + ? o + : n.attributes || !v + ? e.getAttribute(t) + : (o = e.getAttributeNode(t)) && o.specified + ? o.value + : null; + }), + (se.escape = function (e) { + return (e + "").replace(re, ie); + }), + (se.error = function (e) { + throw new Error("Syntax error, unrecognized expression: " + e); + }), + (se.uniqueSort = function (e) { + var t, + r = [], + i = 0, + o = 0; + if ( + ((l = !n.detectDuplicates), + (d = !n.sortStable && e.slice(0)), + e.sort(W), + l) + ) { + for (; (t = e[o++]); ) t === e[o] && (i = r.push(o)); + for (; i--; ) e.splice(r[i], 1); + } + return ((d = null), e); + }), + (i = se.getText = + function (e) { + var t, + n = "", + r = 0, + o = e.nodeType; + if (o) { + if (1 === o || 9 === o || 11 === o) { + if ("string" === typeof e.textContent) + return e.textContent; + for (e = e.firstChild; e; e = e.nextSibling) n += i(e); + } else if (3 === o || 4 === o) return e.nodeValue; + } else for (; (t = e[r++]); ) n += i(t); + return n; + }), + (r = se.selectors = + { + cacheLength: 50, + createPseudo: ue, + match: J, + attrHandle: {}, + find: {}, + relative: { + ">": { dir: "parentNode", first: !0 }, + " ": { dir: "parentNode" }, + "+": { dir: "previousSibling", first: !0 }, + "~": { dir: "previousSibling" } + }, + preFilter: { + ATTR: function (e) { + return ( + (e[1] = e[1].replace(te, ne)), + (e[3] = (e[3] || e[4] || e[5] || "").replace( + te, + ne + )), + "~=" === e[2] && (e[3] = " " + e[3] + " "), + e.slice(0, 4) + ); + }, + CHILD: function (e) { + return ( + (e[1] = e[1].toLowerCase()), + "nth" === e[1].slice(0, 3) + ? (e[3] || se.error(e[0]), + (e[4] = +(e[4] + ? e[5] + (e[6] || 1) + : 2 * + ("even" === e[3] || "odd" === e[3]))), + (e[5] = +(e[7] + e[8] || "odd" === e[3]))) + : e[3] && se.error(e[0]), + e + ); + }, + PSEUDO: function (e) { + var t, + n = !e[6] && e[2]; + return J.CHILD.test(e[0]) + ? null + : (e[3] + ? (e[2] = e[4] || e[5] || "") + : n && + V.test(n) && + (t = a(n, !0)) && + (t = + n.indexOf(")", n.length - t) - + n.length) && + ((e[0] = e[0].slice(0, t)), + (e[2] = n.slice(0, t))), + e.slice(0, 3)); + } + }, + filter: { + TAG: function (e) { + var t = e.replace(te, ne).toLowerCase(); + return "*" === e + ? function () { + return !0; + } + : function (e) { + return ( + e.nodeName && + e.nodeName.toLowerCase() === t + ); + }; + }, + CLASS: function (e) { + var t = C[e + " "]; + return ( + t || + ((t = new RegExp( + "(^|" + B + ")" + e + "(" + B + "|$)" + )) && + C(e, function (e) { + return t.test( + ("string" === typeof e.className && + e.className) || + ("undefined" !== + typeof e.getAttribute && + e.getAttribute("class")) || + "" + ); + })) + ); + }, + ATTR: function (e, t, n) { + return function (r) { + var i = se.attr(r, e); + return null == i + ? "!=" === t + : !t || + ((i += ""), + "=" === t + ? i === n + : "!=" === t + ? i !== n + : "^=" === t + ? n && 0 === i.indexOf(n) + : "*=" === t + ? n && i.indexOf(n) > -1 + : "$=" === t + ? n && + i.slice(-n.length) === n + : "~=" === t + ? ( + " " + + i.replace(H, " ") + + " " + ).indexOf(n) > -1 + : "|=" === t && + (i === n || + i.slice( + 0, + n.length + 1 + ) === + n + "-")); + }; + }, + CHILD: function (e, t, n, r, i) { + var o = "nth" !== e.slice(0, 3), + a = "last" !== e.slice(-4), + s = "of-type" === t; + return 1 === r && 0 === i + ? function (e) { + return !!e.parentNode; + } + : function (t, n, c) { + var u, + d, + l, + p, + h, + f, + v = + o !== a + ? "nextSibling" + : "previousSibling", + m = t.parentNode, + g = s && t.nodeName.toLowerCase(), + y = !c && !s, + w = !1; + if (m) { + if (o) { + for (; v; ) { + for (p = t; (p = p[v]); ) + if ( + s + ? p.nodeName.toLowerCase() === + g + : 1 === p.nodeType + ) + return !1; + f = v = + "only" === e && + !f && + "nextSibling"; + } + return !0; + } + if ( + ((f = [ + a ? m.firstChild : m.lastChild + ]), + a && y) + ) { + for ( + w = + (h = + (u = + (d = + (l = + (p = m)[b] || + (p[b] = {}))[ + p.uniqueID + ] || + (l[p.uniqueID] = + {}))[e] || + [])[0] === x && + u[1]) && u[2], + p = h && m.childNodes[h]; + (p = + (++h && p && p[v]) || + (w = h = 0) || + f.pop()); + + ) + if ( + 1 === p.nodeType && + ++w && + p === t + ) { + d[e] = [x, h, w]; + break; + } + } else if ( + (y && + (w = h = + (u = + (d = + (l = + (p = t)[b] || + (p[b] = {}))[ + p.uniqueID + ] || + (l[p.uniqueID] = {}))[ + e + ] || [])[0] === x && + u[1]), + !1 === w) + ) + for ( + ; + (p = + (++h && p && p[v]) || + (w = h = 0) || + f.pop()) && + ((s + ? p.nodeName.toLowerCase() !== + g + : 1 !== p.nodeType) || + !++w || + (y && + ((d = + (l = + p[b] || + (p[b] = {}))[ + p.uniqueID + ] || + (l[p.uniqueID] = {}))[ + e + ] = [x, w]), + p !== t)); + + ); + return ( + (w -= i) === r || + (w % r === 0 && w / r >= 0) + ); + } + }; + }, + PSEUDO: function (e, t) { + var n, + i = + r.pseudos[e] || + r.setFilters[e.toLowerCase()] || + se.error("unsupported pseudo: " + e); + return i[b] + ? i(t) + : i.length > 1 + ? ((n = [e, e, "", t]), + r.setFilters.hasOwnProperty(e.toLowerCase()) + ? ue(function (e, n) { + for ( + var r, o = i(e, t), a = o.length; + a--; + + ) + e[(r = D(e, o[a]))] = !(n[r] = + o[a]); + }) + : function (e) { + return i(e, 0, n); + }) + : i; + } + }, + pseudos: { + not: ue(function (e) { + var t = [], + n = [], + r = s(e.replace(z, "$1")); + return r[b] + ? ue(function (e, t, n, i) { + for ( + var o, + a = r(e, null, i, []), + s = e.length; + s--; + + ) + (o = a[s]) && (e[s] = !(t[s] = o)); + }) + : function (e, i, o) { + return ( + (t[0] = e), + r(t, null, o, n), + (t[0] = null), + !n.pop() + ); + }; + }), + has: ue(function (e) { + return function (t) { + return se(e, t).length > 0; + }; + }), + contains: ue(function (e) { + return ( + (e = e.replace(te, ne)), + function (t) { + return (t.textContent || i(t)).indexOf(e) > -1; + } + ); + }), + lang: ue(function (e) { + return ( + $.test(e || "") || + se.error("unsupported lang: " + e), + (e = e.replace(te, ne).toLowerCase()), + function (t) { + var n; + do { + if ( + (n = v + ? t.lang + : t.getAttribute("xml:lang") || + t.getAttribute("lang")) + ) + return ( + (n = n.toLowerCase()) === e || + 0 === n.indexOf(e + "-") + ); + } while ( + (t = t.parentNode) && + 1 === t.nodeType + ); + return !1; + } + ); + }), + target: function (t) { + var n = e.location && e.location.hash; + return n && n.slice(1) === t.id; + }, + root: function (e) { + return e === f; + }, + focus: function (e) { + return ( + e === h.activeElement && + (!h.hasFocus || h.hasFocus()) && + !!(e.type || e.href || ~e.tabIndex) + ); + }, + enabled: ve(!1), + disabled: ve(!0), + checked: function (e) { + var t = e.nodeName.toLowerCase(); + return ( + ("input" === t && !!e.checked) || + ("option" === t && !!e.selected) + ); + }, + selected: function (e) { + return ( + e.parentNode && e.parentNode.selectedIndex, + !0 === e.selected + ); + }, + empty: function (e) { + for (e = e.firstChild; e; e = e.nextSibling) + if (e.nodeType < 6) return !1; + return !0; + }, + parent: function (e) { + return !r.pseudos.empty(e); + }, + header: function (e) { + return X.test(e.nodeName); + }, + input: function (e) { + return Q.test(e.nodeName); + }, + button: function (e) { + var t = e.nodeName.toLowerCase(); + return ( + ("input" === t && "button" === e.type) || + "button" === t + ); + }, + text: function (e) { + var t; + return ( + "input" === e.nodeName.toLowerCase() && + "text" === e.type && + (null == (t = e.getAttribute("type")) || + "text" === t.toLowerCase()) + ); + }, + first: me(function () { + return [0]; + }), + last: me(function (e, t) { + return [t - 1]; + }), + eq: me(function (e, t, n) { + return [n < 0 ? n + t : n]; + }), + even: me(function (e, t) { + for (var n = 0; n < t; n += 2) e.push(n); + return e; + }), + odd: me(function (e, t) { + for (var n = 1; n < t; n += 2) e.push(n); + return e; + }), + lt: me(function (e, t, n) { + for (var r = n < 0 ? n + t : n > t ? t : n; --r >= 0; ) + e.push(r); + return e; + }), + gt: me(function (e, t, n) { + for (var r = n < 0 ? n + t : n; ++r < t; ) e.push(r); + return e; + }) + } + }), + (r.pseudos.nth = r.pseudos.eq), + { radio: !0, checkbox: !0, file: !0, password: !0, image: !0 })) + r.pseudos[t] = he(t); + for (t in { submit: !0, reset: !0 }) r.pseudos[t] = fe(t); + function ye() {} + function we(e) { + for (var t = 0, n = e.length, r = ""; t < n; t++) r += e[t].value; + return r; + } + function be(e, t, n) { + var r = t.dir, + i = t.next, + o = i || r, + a = n && "parentNode" === o, + s = _++; + return t.first + ? function (t, n, i) { + for (; (t = t[r]); ) + if (1 === t.nodeType || a) return e(t, n, i); + return !1; + } + : function (t, n, c) { + var u, + d, + l, + p = [x, s]; + if (c) { + for (; (t = t[r]); ) + if ((1 === t.nodeType || a) && e(t, n, c)) + return !0; + } else + for (; (t = t[r]); ) + if (1 === t.nodeType || a) + if ( + ((d = + (l = t[b] || (t[b] = {}))[ + t.uniqueID + ] || (l[t.uniqueID] = {})), + i && i === t.nodeName.toLowerCase()) + ) + t = t[r] || t; + else { + if ( + (u = d[o]) && + u[0] === x && + u[1] === s + ) + return (p[2] = u[2]); + if (((d[o] = p), (p[2] = e(t, n, c)))) + return !0; + } + return !1; + }; + } + function ke(e) { + return e.length > 1 + ? function (t, n, r) { + for (var i = e.length; i--; ) + if (!e[i](t, n, r)) return !1; + return !0; + } + : e[0]; + } + function xe(e, t, n, r, i) { + for (var o, a = [], s = 0, c = e.length, u = null != t; s < c; s++) + (o = e[s]) && + ((n && !n(o, r, i)) || (a.push(o), u && t.push(s))); + return a; + } + function _e(e, t, n, r, i, o) { + return ( + r && !r[b] && (r = _e(r)), + i && !i[b] && (i = _e(i, o)), + ue(function (o, a, s, c) { + var u, + d, + l, + p = [], + h = [], + f = a.length, + v = + o || + (function (e, t, n) { + for (var r = 0, i = t.length; r < i; r++) + se(e, t[r], n); + return n; + })(t || "*", s.nodeType ? [s] : s, []), + m = !e || (!o && t) ? v : xe(v, p, e, s, c), + g = n ? (i || (o ? e : f || r) ? [] : a) : m; + if ((n && n(m, g, s, c), r)) + for (u = xe(g, h), r(u, [], s, c), d = u.length; d--; ) + (l = u[d]) && (g[h[d]] = !(m[h[d]] = l)); + if (o) { + if (i || e) { + if (i) { + for (u = [], d = g.length; d--; ) + (l = g[d]) && u.push((m[d] = l)); + i(null, (g = []), u, c); + } + for (d = g.length; d--; ) + (l = g[d]) && + (u = i ? D(o, l) : p[d]) > -1 && + (o[u] = !(a[u] = l)); + } + } else + ((g = xe(g === a ? g.splice(f, g.length) : g)), + i ? i(null, a, g, c) : R.apply(a, g)); + }) + ); + } + function Ce(e) { + for ( + var t, + n, + i, + o = e.length, + a = r.relative[e[0].type], + s = a || r.relative[" "], + c = a ? 1 : 0, + d = be( + function (e) { + return e === t; + }, + s, + !0 + ), + l = be( + function (e) { + return D(t, e) > -1; + }, + s, + !0 + ), + p = [ + function (e, n, r) { + var i = + (!a && (r || n !== u)) || + ((t = n).nodeType ? d(e, n, r) : l(e, n, r)); + return ((t = null), i); + } + ]; + c < o; + c++ + ) + if ((n = r.relative[e[c].type])) p = [be(ke(p), n)]; + else { + if ( + (n = r.filter[e[c].type].apply(null, e[c].matches))[b] + ) { + for (i = ++c; i < o && !r.relative[e[i].type]; i++); + return _e( + c > 1 && ke(p), + c > 1 && + we( + e.slice(0, c - 1).concat({ + value: " " === e[c - 2].type ? "*" : "" + }) + ).replace(z, "$1"), + n, + c < i && Ce(e.slice(c, i)), + i < o && Ce((e = e.slice(i))), + i < o && we(e) + ); + } + p.push(n); + } + return ke(p); + } + return ( + (ye.prototype = r.filters = r.pseudos), + (r.setFilters = new ye()), + (a = se.tokenize = + function (e, t) { + var n, + i, + o, + a, + s, + c, + u, + d = I[e + " "]; + if (d) return t ? 0 : d.slice(0); + for (s = e, c = [], u = r.preFilter; s; ) { + for (a in ((n && !(i = q.exec(s))) || + (i && (s = s.slice(i[0].length) || s), + c.push((o = []))), + (n = !1), + (i = G.exec(s)) && + ((n = i.shift()), + o.push({ value: n, type: i[0].replace(z, " ") }), + (s = s.slice(n.length))), + r.filter)) + !(i = J[a].exec(s)) || + (u[a] && !(i = u[a](i))) || + ((n = i.shift()), + o.push({ value: n, type: a, matches: i }), + (s = s.slice(n.length))); + if (!n) break; + } + return t ? s.length : s ? se.error(e) : I(e, c).slice(0); + }), + (s = se.compile = + function (e, t) { + var n, + i = [], + o = [], + s = S[e + " "]; + if (!s) { + for (t || (t = a(e)), n = t.length; n--; ) + (s = Ce(t[n]))[b] ? i.push(s) : o.push(s); + ((s = S( + e, + (function (e, t) { + var n = t.length > 0, + i = e.length > 0, + o = function (o, a, s, c, d) { + var l, + f, + m, + g = 0, + y = "0", + w = o && [], + b = [], + k = u, + _ = o || (i && r.find.TAG("*", d)), + C = (x += + null == k + ? 1 + : Math.random() || 0.1), + I = _.length; + for ( + d && (u = a == h || a || d); + y !== I && null != (l = _[y]); + y++ + ) { + if (i && l) { + for ( + f = 0, + a || + l.ownerDocument == + h || + (p(l), (s = !v)); + (m = e[f++]); + + ) + if (m(l, a || h, s)) { + c.push(l); + break; + } + d && (x = C); + } + n && + ((l = !m && l) && g--, + o && w.push(l)); + } + if (((g += y), n && y !== g)) { + for (f = 0; (m = t[f++]); ) + m(w, b, a, s); + if (o) { + if (g > 0) + for (; y--; ) + w[y] || + b[y] || + (b[y] = P.call(c)); + b = xe(b); + } + (R.apply(c, b), + d && + !o && + b.length > 0 && + g + t.length > 1 && + se.uniqueSort(c)); + } + return (d && ((x = C), (u = k)), w); + }; + return n ? ue(o) : o; + })(o, i) + )), + (s.selector = e)); + } + return s; + }), + (c = se.select = + function (e, t, n, i) { + var o, + c, + u, + d, + l, + p = "function" === typeof e && e, + h = !i && a((e = p.selector || e)); + if (((n = n || []), 1 === h.length)) { + if ( + (c = h[0] = h[0].slice(0)).length > 2 && + "ID" === (u = c[0]).type && + 9 === t.nodeType && + v && + r.relative[c[1].type] + ) { + if ( + !(t = (r.find.ID( + u.matches[0].replace(te, ne), + t + ) || [])[0]) + ) + return n; + (p && (t = t.parentNode), + (e = e.slice(c.shift().value.length))); + } + for ( + o = J.needsContext.test(e) ? 0 : c.length; + o-- && ((u = c[o]), !r.relative[(d = u.type)]); + + ) + if ( + (l = r.find[d]) && + (i = l( + u.matches[0].replace(te, ne), + (ee.test(c[0].type) && ge(t.parentNode)) || + t + )) + ) { + if ((c.splice(o, 1), !(e = i.length && we(c)))) + return (R.apply(n, i), n); + break; + } + } + return ( + (p || s(e, h))( + i, + t, + !v, + n, + !t || (ee.test(e) && ge(t.parentNode)) || t + ), + n + ); + }), + (n.sortStable = b.split("").sort(W).join("") === b), + (n.detectDuplicates = !!l), + p(), + (n.sortDetached = de(function (e) { + return ( + 1 & e.compareDocumentPosition(h.createElement("fieldset")) + ); + })), + de(function (e) { + return ( + (e.innerHTML = ""), + "#" === e.firstChild.getAttribute("href") + ); + }) || + le("type|href|height|width", function (e, t, n) { + if (!n) + return e.getAttribute( + t, + "type" === t.toLowerCase() ? 1 : 2 + ); + }), + (n.attributes && + de(function (e) { + return ( + (e.innerHTML = ""), + e.firstChild.setAttribute("value", ""), + "" === e.firstChild.getAttribute("value") + ); + })) || + le("value", function (e, t, n) { + if (!n && "input" === e.nodeName.toLowerCase()) + return e.defaultValue; + }), + de(function (e) { + return null == e.getAttribute("disabled"); + }) || + le(L, function (e, t, n) { + var r; + if (!n) + return !0 === e[t] + ? t.toLowerCase() + : (r = e.getAttributeNode(t)) && r.specified + ? r.value + : null; + }), + se + ); + })(e); + ((k.find = _), + (k.expr = _.selectors), + (k.expr[":"] = k.expr.pseudos), + (k.uniqueSort = k.unique = _.uniqueSort), + (k.text = _.getText), + (k.isXMLDoc = _.isXML), + (k.contains = _.contains), + (k.escapeSelector = _.escape)); + var C = function (e, t, n) { + for (var r = [], i = void 0 !== n; (e = e[t]) && 9 !== e.nodeType; ) + if (1 === e.nodeType) { + if (i && k(e).is(n)) break; + r.push(e); + } + return r; + }, + I = function (e, t) { + for (var n = []; e; e = e.nextSibling) + 1 === e.nodeType && e !== t && n.push(e); + return n; + }, + S = k.expr.match.needsContext; + function E(e, t) { + return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); + } + var W = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; + function T(e, t, n) { + return f(t) + ? k.grep(e, function (e, r) { + return !!t.call(e, r, e) !== n; + }) + : t.nodeType + ? k.grep(e, function (e) { + return (e === t) !== n; + }) + : "string" !== typeof t + ? k.grep(e, function (e) { + return s.call(t, e) > -1 !== n; + }) + : k.filter(t, e, n); + } + ((k.filter = function (e, t, n) { + var r = t[0]; + return ( + n && (e = ":not(" + e + ")"), + 1 === t.length && 1 === r.nodeType + ? k.find.matchesSelector(r, e) + ? [r] + : [] + : k.find.matches( + e, + k.grep(t, function (e) { + return 1 === e.nodeType; + }) + ) + ); + }), + k.fn.extend({ + find: function (e) { + var t, + n, + r = this.length, + i = this; + if ("string" !== typeof e) + return this.pushStack( + k(e).filter(function () { + for (t = 0; t < r; t++) + if (k.contains(i[t], this)) return !0; + }) + ); + for (n = this.pushStack([]), t = 0; t < r; t++) + k.find(e, i[t], n); + return r > 1 ? k.uniqueSort(n) : n; + }, + filter: function (e) { + return this.pushStack(T(this, e || [], !1)); + }, + not: function (e) { + return this.pushStack(T(this, e || [], !0)); + }, + is: function (e) { + return !!T( + this, + "string" === typeof e && S.test(e) ? k(e) : e || [], + !1 + ).length; + } + })); + var A, + P = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; + (((k.fn.init = function (e, t, n) { + var r, i; + if (!e) return this; + if (((n = n || A), "string" === typeof e)) { + if ( + !(r = + "<" === e[0] && ">" === e[e.length - 1] && e.length >= 3 + ? [null, e, null] + : P.exec(e)) || + (!r[1] && t) + ) + return !t || t.jquery + ? (t || n).find(e) + : this.constructor(t).find(e); + if (r[1]) { + if ( + ((t = t instanceof k ? t[0] : t), + k.merge( + this, + k.parseHTML( + r[1], + t && t.nodeType ? t.ownerDocument || t : m, + !0 + ) + ), + W.test(r[1]) && k.isPlainObject(t)) + ) + for (r in t) + f(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); + return this; + } + return ( + (i = m.getElementById(r[2])) && + ((this[0] = i), (this.length = 1)), + this + ); + } + return e.nodeType + ? ((this[0] = e), (this.length = 1), this) + : f(e) + ? void 0 !== n.ready + ? n.ready(e) + : e(k) + : k.makeArray(e, this); + }).prototype = k.fn), + (A = k(m))); + var M = /^(?:parents|prev(?:Until|All))/, + R = { children: !0, contents: !0, next: !0, prev: !0 }; + function O(e, t) { + for (; (e = e[t]) && 1 !== e.nodeType; ); + return e; + } + (k.fn.extend({ + has: function (e) { + var t = k(e, this), + n = t.length; + return this.filter(function () { + for (var e = 0; e < n; e++) + if (k.contains(this, t[e])) return !0; + }); + }, + closest: function (e, t) { + var n, + r = 0, + i = this.length, + o = [], + a = "string" !== typeof e && k(e); + if (!S.test(e)) + for (; r < i; r++) + for (n = this[r]; n && n !== t; n = n.parentNode) + if ( + n.nodeType < 11 && + (a + ? a.index(n) > -1 + : 1 === n.nodeType && + k.find.matchesSelector(n, e)) + ) { + o.push(n); + break; + } + return this.pushStack(o.length > 1 ? k.uniqueSort(o) : o); + }, + index: function (e) { + return e + ? "string" === typeof e + ? s.call(k(e), this[0]) + : s.call(this, e.jquery ? e[0] : e) + : this[0] && this[0].parentNode + ? this.first().prevAll().length + : -1; + }, + add: function (e, t) { + return this.pushStack(k.uniqueSort(k.merge(this.get(), k(e, t)))); + }, + addBack: function (e) { + return this.add( + null == e ? this.prevObject : this.prevObject.filter(e) + ); + } + }), + k.each( + { + parent: function (e) { + var t = e.parentNode; + return t && 11 !== t.nodeType ? t : null; + }, + parents: function (e) { + return C(e, "parentNode"); + }, + parentsUntil: function (e, t, n) { + return C(e, "parentNode", n); + }, + next: function (e) { + return O(e, "nextSibling"); + }, + prev: function (e) { + return O(e, "previousSibling"); + }, + nextAll: function (e) { + return C(e, "nextSibling"); + }, + prevAll: function (e) { + return C(e, "previousSibling"); + }, + nextUntil: function (e, t, n) { + return C(e, "nextSibling", n); + }, + prevUntil: function (e, t, n) { + return C(e, "previousSibling", n); + }, + siblings: function (e) { + return I((e.parentNode || {}).firstChild, e); + }, + children: function (e) { + return I(e.firstChild); + }, + contents: function (e) { + return null != e.contentDocument && r(e.contentDocument) + ? e.contentDocument + : (E(e, "template") && (e = e.content || e), + k.merge([], e.childNodes)); + } + }, + function (e, t) { + k.fn[e] = function (n, r) { + var i = k.map(this, t, n); + return ( + "Until" !== e.slice(-5) && (r = n), + r && "string" === typeof r && (i = k.filter(r, i)), + this.length > 1 && + (R[e] || k.uniqueSort(i), M.test(e) && i.reverse()), + this.pushStack(i) + ); + }; + } + )); + var D = /[^\x20\t\r\n\f]+/g; + function L(e) { + return e; + } + function B(e) { + throw e; + } + function N(e, t, n, r) { + var i; + try { + e && f((i = e.promise)) + ? i.call(e).done(t).fail(n) + : e && f((i = e.then)) + ? i.call(e, t, n) + : t.apply(void 0, [e].slice(r)); + } catch (e) { + n.apply(void 0, [e]); + } + } + ((k.Callbacks = function (e) { + e = + "string" === typeof e + ? (function (e) { + var t = {}; + return ( + k.each(e.match(D) || [], function (e, n) { + t[n] = !0; + }), + t + ); + })(e) + : k.extend({}, e); + var t, + n, + r, + i, + o = [], + a = [], + s = -1, + c = function () { + for (i = i || e.once, r = t = !0; a.length; s = -1) + for (n = a.shift(); ++s < o.length; ) + !1 === o[s].apply(n[0], n[1]) && + e.stopOnFalse && + ((s = o.length), (n = !1)); + (e.memory || (n = !1), (t = !1), i && (o = n ? [] : "")); + }, + u = { + add: function () { + return ( + o && + (n && !t && ((s = o.length - 1), a.push(n)), + (function t(n) { + k.each(n, function (n, r) { + f(r) + ? (e.unique && u.has(r)) || o.push(r) + : r && + r.length && + "string" !== w(r) && + t(r); + }); + })(arguments), + n && !t && c()), + this + ); + }, + remove: function () { + return ( + k.each(arguments, function (e, t) { + for (var n; (n = k.inArray(t, o, n)) > -1; ) + (o.splice(n, 1), n <= s && s--); + }), + this + ); + }, + has: function (e) { + return e ? k.inArray(e, o) > -1 : o.length > 0; + }, + empty: function () { + return (o && (o = []), this); + }, + disable: function () { + return ((i = a = []), (o = n = ""), this); + }, + disabled: function () { + return !o; + }, + lock: function () { + return ((i = a = []), n || t || (o = n = ""), this); + }, + locked: function () { + return !!i; + }, + fireWith: function (e, n) { + return ( + i || + ((n = [e, (n = n || []).slice ? n.slice() : n]), + a.push(n), + t || c()), + this + ); + }, + fire: function () { + return (u.fireWith(this, arguments), this); + }, + fired: function () { + return !!r; + } + }; + return u; + }), + k.extend({ + Deferred: function (t) { + var n = [ + [ + "notify", + "progress", + k.Callbacks("memory"), + k.Callbacks("memory"), + 2 + ], + [ + "resolve", + "done", + k.Callbacks("once memory"), + k.Callbacks("once memory"), + 0, + "resolved" + ], + [ + "reject", + "fail", + k.Callbacks("once memory"), + k.Callbacks("once memory"), + 1, + "rejected" + ] + ], + r = "pending", + i = { + state: function () { + return r; + }, + always: function () { + return (o.done(arguments).fail(arguments), this); + }, + catch: function (e) { + return i.then(null, e); + }, + pipe: function () { + var e = arguments; + return k + .Deferred(function (t) { + (k.each(n, function (n, r) { + var i = f(e[r[4]]) && e[r[4]]; + o[r[1]](function () { + var e = + i && i.apply(this, arguments); + e && f(e.promise) + ? e + .promise() + .progress(t.notify) + .done(t.resolve) + .fail(t.reject) + : t[r[0] + "With"]( + this, + i ? [e] : arguments + ); + }); + }), + (e = null)); + }) + .promise(); + }, + then: function (t, r, i) { + var o = 0; + function a(t, n, r, i) { + return function () { + var s = this, + c = arguments, + u = function () { + var e, u; + if (!(t < o)) { + if ( + (e = r.apply(s, c)) === + n.promise() + ) + throw new TypeError( + "Thenable self-resolution" + ); + ((u = + e && + ("object" === typeof e || + "function" === + typeof e) && + e.then), + f(u) + ? i + ? u.call( + e, + a(o, n, L, i), + a(o, n, B, i) + ) + : (o++, + u.call( + e, + a(o, n, L, i), + a(o, n, B, i), + a( + o, + n, + L, + n.notifyWith + ) + )) + : (r !== L && + ((s = void 0), + (c = [e])), + (i || n.resolveWith)( + s, + c + ))); + } + }, + d = i + ? u + : function () { + try { + u(); + } catch (e) { + (k.Deferred + .exceptionHook && + k.Deferred.exceptionHook( + e, + d.stackTrace + ), + t + 1 >= o && + (r !== B && + ((s = void 0), + (c = [e])), + n.rejectWith( + s, + c + ))); + } + }; + t + ? d() + : (k.Deferred.getStackHook && + (d.stackTrace = + k.Deferred.getStackHook()), + e.setTimeout(d)); + }; + } + return k + .Deferred(function (e) { + (n[0][3].add( + a(0, e, f(i) ? i : L, e.notifyWith) + ), + n[1][3].add(a(0, e, f(t) ? t : L)), + n[2][3].add(a(0, e, f(r) ? r : B))); + }) + .promise(); + }, + promise: function (e) { + return null != e ? k.extend(e, i) : i; + } + }, + o = {}; + return ( + k.each(n, function (e, t) { + var a = t[2], + s = t[5]; + ((i[t[1]] = a.add), + s && + a.add( + function () { + r = s; + }, + n[3 - e][2].disable, + n[3 - e][3].disable, + n[0][2].lock, + n[0][3].lock + ), + a.add(t[3].fire), + (o[t[0]] = function () { + return ( + o[t[0] + "With"]( + this === o ? void 0 : this, + arguments + ), + this + ); + }), + (o[t[0] + "With"] = a.fireWith)); + }), + i.promise(o), + t && t.call(o, o), + o + ); + }, + when: function (e) { + var t = arguments.length, + n = t, + r = Array(n), + o = i.call(arguments), + a = k.Deferred(), + s = function (e) { + return function (n) { + ((r[e] = this), + (o[e] = + arguments.length > 1 + ? i.call(arguments) + : n), + --t || a.resolveWith(r, o)); + }; + }; + if ( + t <= 1 && + (N(e, a.done(s(n)).resolve, a.reject, !t), + "pending" === a.state() || f(o[n] && o[n].then)) + ) + return a.then(); + for (; n--; ) N(o[n], s(n), a.reject); + return a.promise(); + } + })); + var F = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + ((k.Deferred.exceptionHook = function (t, n) { + e.console && + e.console.warn && + t && + F.test(t.name) && + e.console.warn( + "jQuery.Deferred exception: " + t.message, + t.stack, + n + ); + }), + (k.readyException = function (t) { + e.setTimeout(function () { + throw t; + }); + })); + var j = k.Deferred(); + function H() { + (m.removeEventListener("DOMContentLoaded", H), + e.removeEventListener("load", H), + k.ready()); + } + ((k.fn.ready = function (e) { + return ( + j.then(e).catch(function (e) { + k.readyException(e); + }), + this + ); + }), + k.extend({ + isReady: !1, + readyWait: 1, + ready: function (e) { + (!0 === e ? --k.readyWait : k.isReady) || + ((k.isReady = !0), + (!0 !== e && --k.readyWait > 0) || j.resolveWith(m, [k])); + } + }), + (k.ready.then = j.then), + "complete" === m.readyState || + ("loading" !== m.readyState && !m.documentElement.doScroll) + ? e.setTimeout(k.ready) + : (m.addEventListener("DOMContentLoaded", H), + e.addEventListener("load", H))); + var z = function e(t, n, r, i, o, a, s) { + var c = 0, + u = t.length, + d = null == r; + if ("object" === w(r)) + for (c in ((o = !0), r)) e(t, n, c, r[c], !0, a, s); + else if ( + void 0 !== i && + ((o = !0), + f(i) || (s = !0), + d && + (s + ? (n.call(t, i), (n = null)) + : ((d = n), + (n = function (e, t, n) { + return d.call(k(e), n); + }))), + n) + ) + for (; c < u; c++) + n(t[c], r, s ? i : i.call(t[c], c, n(t[c], r))); + return o ? t : d ? n.call(t) : u ? n(t[0], r) : a; + }, + q = /^-ms-/, + G = /-([a-z])/g; + function U(e, t) { + return t.toUpperCase(); + } + function V(e) { + return e.replace(q, "ms-").replace(G, U); + } + var $ = function (e) { + return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType; + }; + function J() { + this.expando = k.expando + J.uid++; + } + ((J.uid = 1), + (J.prototype = { + cache: function (e) { + var t = e[this.expando]; + return ( + t || + ((t = Object.create(null)), + $(e) && + (e.nodeType + ? (e[this.expando] = t) + : Object.defineProperty(e, this.expando, { + value: t, + configurable: !0 + }))), + t + ); + }, + set: function (e, t, n) { + var r, + i = this.cache(e); + if ("string" === typeof t) i[V(t)] = n; + else for (r in t) i[V(r)] = t[r]; + return i; + }, + get: function (e, t) { + return void 0 === t + ? this.cache(e) + : e[this.expando] && e[this.expando][V(t)]; + }, + access: function (e, t, n) { + return void 0 === t || + (t && "string" === typeof t && void 0 === n) + ? this.get(e, t) + : (this.set(e, t, n), void 0 !== n ? n : t); + }, + remove: function (e, t) { + var n, + r = e[this.expando]; + if (void 0 !== r) { + if (void 0 !== t) { + n = (t = Array.isArray(t) + ? t.map(V) + : (t = V(t)) in r + ? [t] + : t.match(D) || []).length; + for (; n--; ) delete r[t[n]]; + } + (void 0 === t || k.isEmptyObject(r)) && + (e.nodeType + ? (e[this.expando] = void 0) + : delete e[this.expando]); + } + }, + hasData: function (e) { + var t = e[this.expando]; + return void 0 !== t && !k.isEmptyObject(t); + } + })); + var K = new J(), + Q = new J(), + X = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + Y = /[A-Z]/g; + function Z(e, t, n) { + var r; + if (void 0 === n && 1 === e.nodeType) + if ( + ((r = "data-" + t.replace(Y, "-$&").toLowerCase()), + "string" === typeof (n = e.getAttribute(r))) + ) { + try { + n = (function (e) { + return ( + "true" === e || + ("false" !== e && + ("null" === e + ? null + : e === +e + "" + ? +e + : X.test(e) + ? JSON.parse(e) + : e)) + ); + })(n); + } catch (i) {} + Q.set(e, t, n); + } else n = void 0; + return n; + } + (k.extend({ + hasData: function (e) { + return Q.hasData(e) || K.hasData(e); + }, + data: function (e, t, n) { + return Q.access(e, t, n); + }, + removeData: function (e, t) { + Q.remove(e, t); + }, + _data: function (e, t, n) { + return K.access(e, t, n); + }, + _removeData: function (e, t) { + K.remove(e, t); + } + }), + k.fn.extend({ + data: function (e, t) { + var n, + r, + i, + o = this[0], + a = o && o.attributes; + if (void 0 === e) { + if ( + this.length && + ((i = Q.get(o)), + 1 === o.nodeType && !K.get(o, "hasDataAttrs")) + ) { + for (n = a.length; n--; ) + a[n] && + 0 === (r = a[n].name).indexOf("data-") && + ((r = V(r.slice(5))), Z(o, r, i[r])); + K.set(o, "hasDataAttrs", !0); + } + return i; + } + return "object" === typeof e + ? this.each(function () { + Q.set(this, e); + }) + : z( + this, + function (t) { + var n; + if (o && void 0 === t) + return void 0 !== (n = Q.get(o, e)) || + void 0 !== (n = Z(o, e)) + ? n + : void 0; + this.each(function () { + Q.set(this, e, t); + }); + }, + null, + t, + arguments.length > 1, + null, + !0 + ); + }, + removeData: function (e) { + return this.each(function () { + Q.remove(this, e); + }); + } + }), + k.extend({ + queue: function (e, t, n) { + var r; + if (e) + return ( + (t = (t || "fx") + "queue"), + (r = K.get(e, t)), + n && + (!r || Array.isArray(n) + ? (r = K.access(e, t, k.makeArray(n))) + : r.push(n)), + r || [] + ); + }, + dequeue: function (e, t) { + t = t || "fx"; + var n = k.queue(e, t), + r = n.length, + i = n.shift(), + o = k._queueHooks(e, t); + ("inprogress" === i && ((i = n.shift()), r--), + i && + ("fx" === t && n.unshift("inprogress"), + delete o.stop, + i.call( + e, + function () { + k.dequeue(e, t); + }, + o + )), + !r && o && o.empty.fire()); + }, + _queueHooks: function (e, t) { + var n = t + "queueHooks"; + return ( + K.get(e, n) || + K.access(e, n, { + empty: k.Callbacks("once memory").add(function () { + K.remove(e, [t + "queue", n]); + }) + }) + ); + } + }), + k.fn.extend({ + queue: function (e, t) { + var n = 2; + return ( + "string" !== typeof e && ((t = e), (e = "fx"), n--), + arguments.length < n + ? k.queue(this[0], e) + : void 0 === t + ? this + : this.each(function () { + var n = k.queue(this, e, t); + (k._queueHooks(this, e), + "fx" === e && + "inprogress" !== n[0] && + k.dequeue(this, e)); + }) + ); + }, + dequeue: function (e) { + return this.each(function () { + k.dequeue(this, e); + }); + }, + clearQueue: function (e) { + return this.queue(e || "fx", []); + }, + promise: function (e, t) { + var n, + r = 1, + i = k.Deferred(), + o = this, + a = this.length, + s = function () { + --r || i.resolveWith(o, [o]); + }; + for ( + "string" !== typeof e && ((t = e), (e = void 0)), + e = e || "fx"; + a--; + + ) + (n = K.get(o[a], e + "queueHooks")) && + n.empty && + (r++, n.empty.add(s)); + return (s(), i.promise(t)); + } + })); + var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + te = new RegExp("^(?:([+-])=|)(" + ee + ")([a-z%]*)$", "i"), + ne = ["Top", "Right", "Bottom", "Left"], + re = m.documentElement, + ie = function (e) { + return k.contains(e.ownerDocument, e); + }, + oe = { composed: !0 }; + re.getRootNode && + (ie = function (e) { + return ( + k.contains(e.ownerDocument, e) || + e.getRootNode(oe) === e.ownerDocument + ); + }); + var ae = function (e, t) { + return ( + "none" === (e = t || e).style.display || + ("" === e.style.display && ie(e) && "none" === k.css(e, "display")) + ); + }; + function se(e, t, n, r) { + var i, + o, + a = 20, + s = r + ? function () { + return r.cur(); + } + : function () { + return k.css(e, t, ""); + }, + c = s(), + u = (n && n[3]) || (k.cssNumber[t] ? "" : "px"), + d = + e.nodeType && + (k.cssNumber[t] || ("px" !== u && +c)) && + te.exec(k.css(e, t)); + if (d && d[3] !== u) { + for (c /= 2, u = u || d[3], d = +c || 1; a--; ) + (k.style(e, t, d + u), + (1 - o) * (1 - (o = s() / c || 0.5)) <= 0 && (a = 0), + (d /= o)); + ((d *= 2), k.style(e, t, d + u), (n = n || [])); + } + return ( + n && + ((d = +d || +c || 0), + (i = n[1] ? d + (n[1] + 1) * n[2] : +n[2]), + r && ((r.unit = u), (r.start = d), (r.end = i))), + i + ); + } + var ce = {}; + function ue(e) { + var t, + n = e.ownerDocument, + r = e.nodeName, + i = ce[r]; + return ( + i || + ((t = n.body.appendChild(n.createElement(r))), + (i = k.css(t, "display")), + t.parentNode.removeChild(t), + "none" === i && (i = "block"), + (ce[r] = i), + i) + ); + } + function de(e, t) { + for (var n, r, i = [], o = 0, a = e.length; o < a; o++) + (r = e[o]).style && + ((n = r.style.display), + t + ? ("none" === n && + ((i[o] = K.get(r, "display") || null), + i[o] || (r.style.display = "")), + "" === r.style.display && ae(r) && (i[o] = ue(r))) + : "none" !== n && + ((i[o] = "none"), K.set(r, "display", n))); + for (o = 0; o < a; o++) null != i[o] && (e[o].style.display = i[o]); + return e; + } + k.fn.extend({ + show: function () { + return de(this, !0); + }, + hide: function () { + return de(this); + }, + toggle: function (e) { + return "boolean" === typeof e + ? e + ? this.show() + : this.hide() + : this.each(function () { + ae(this) ? k(this).show() : k(this).hide(); + }); + } + }); + var le = /^(?:checkbox|radio)$/i, + pe = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, + he = /^$|^module$|\/(?:java|ecma)script/i; + !(function () { + var e = m.createDocumentFragment().appendChild(m.createElement("div")), + t = m.createElement("input"); + (t.setAttribute("type", "radio"), + t.setAttribute("checked", "checked"), + t.setAttribute("name", "t"), + e.appendChild(t), + (h.checkClone = e.cloneNode(!0).cloneNode(!0).lastChild.checked), + (e.innerHTML = ""), + (h.noCloneChecked = !!e.cloneNode(!0).lastChild.defaultValue), + (e.innerHTML = ""), + (h.option = !!e.lastChild)); + })(); + var fe = { + thead: [1, "", "
                      "], + col: [2, "", "
                      "], + tr: [2, "", "
                      "], + td: [3, "", "
                      "], + _default: [0, "", ""] + }; + function ve(e, t) { + var n; + return ( + (n = + "undefined" !== typeof e.getElementsByTagName + ? e.getElementsByTagName(t || "*") + : "undefined" !== typeof e.querySelectorAll + ? e.querySelectorAll(t || "*") + : []), + void 0 === t || (t && E(e, t)) ? k.merge([e], n) : n + ); + } + function me(e, t) { + for (var n = 0, r = e.length; n < r; n++) + K.set(e[n], "globalEval", !t || K.get(t[n], "globalEval")); + } + ((fe.tbody = fe.tfoot = fe.colgroup = fe.caption = fe.thead), + (fe.th = fe.td), + h.option || + (fe.optgroup = fe.option = + [1, ""])); + var ge = /<|&#?\w+;/; + function ye(e, t, n, r, i) { + for ( + var o, + a, + s, + c, + u, + d, + l = t.createDocumentFragment(), + p = [], + h = 0, + f = e.length; + h < f; + h++ + ) + if ((o = e[h]) || 0 === o) + if ("object" === w(o)) k.merge(p, o.nodeType ? [o] : o); + else if (ge.test(o)) { + for ( + a = a || l.appendChild(t.createElement("div")), + s = (pe.exec(o) || ["", ""])[1].toLowerCase(), + c = fe[s] || fe._default, + a.innerHTML = c[1] + k.htmlPrefilter(o) + c[2], + d = c[0]; + d--; + + ) + a = a.lastChild; + (k.merge(p, a.childNodes), + ((a = l.firstChild).textContent = "")); + } else p.push(t.createTextNode(o)); + for (l.textContent = "", h = 0; (o = p[h++]); ) + if (r && k.inArray(o, r) > -1) i && i.push(o); + else if ( + ((u = ie(o)), + (a = ve(l.appendChild(o), "script")), + u && me(a), + n) + ) + for (d = 0; (o = a[d++]); ) he.test(o.type || "") && n.push(o); + return l; + } + var we = /^key/, + be = /^(?:mouse|pointer|contextmenu|drag|drop)|click/, + ke = /^([^.]*)(?:\.(.+)|)/; + function xe() { + return !0; + } + function _e() { + return !1; + } + function Ce(e, t) { + return ( + (e === + (function () { + try { + return m.activeElement; + } catch (Sn) {} + })()) === + ("focus" === t) + ); + } + function Ie(e, t, n, r, i, o) { + var a, s; + if ("object" === typeof t) { + for (s in ("string" !== typeof n && ((r = r || n), (n = void 0)), + t)) + Ie(e, s, n, r, t[s], o); + return e; + } + if ( + (null == r && null == i + ? ((i = n), (r = n = void 0)) + : null == i && + ("string" === typeof n + ? ((i = r), (r = void 0)) + : ((i = r), (r = n), (n = void 0))), + !1 === i) + ) + i = _e; + else if (!i) return e; + return ( + 1 === o && + ((a = i), + (i = function (e) { + return (k().off(e), a.apply(this, arguments)); + }), + (i.guid = a.guid || (a.guid = k.guid++))), + e.each(function () { + k.event.add(this, t, i, r, n); + }) + ); + } + function Se(e, t, n) { + n + ? (K.set(e, t, !1), + k.event.add(e, t, { + namespace: !1, + handler: function (e) { + var r, + o, + a = K.get(this, t); + if (1 & e.isTrigger && this[t]) { + if (a.length) + (k.event.special[t] || {}).delegateType && + e.stopPropagation(); + else if ( + ((a = i.call(arguments)), + K.set(this, t, a), + (r = n(this, t)), + this[t](), + a !== (o = K.get(this, t)) || r + ? K.set(this, t, !1) + : (o = {}), + a !== o) + ) + return ( + e.stopImmediatePropagation(), + e.preventDefault(), + o.value + ); + } else + a.length && + (K.set(this, t, { + value: k.event.trigger( + k.extend(a[0], k.Event.prototype), + a.slice(1), + this + ) + }), + e.stopImmediatePropagation()); + } + })) + : void 0 === K.get(e, t) && k.event.add(e, t, xe); + } + ((k.event = { + global: {}, + add: function (e, t, n, r, i) { + var o, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m = K.get(e); + if ($(e)) + for ( + n.handler && ((n = (o = n).handler), (i = o.selector)), + i && k.find.matchesSelector(re, i), + n.guid || (n.guid = k.guid++), + (c = m.events) || (c = m.events = Object.create(null)), + (a = m.handle) || + (a = m.handle = + function (t) { + return "undefined" !== typeof k && + k.event.triggered !== t.type + ? k.event.dispatch.apply(e, arguments) + : void 0; + }), + u = (t = (t || "").match(D) || [""]).length; + u--; + + ) + ((h = v = (s = ke.exec(t[u]) || [])[1]), + (f = (s[2] || "").split(".").sort()), + h && + ((l = k.event.special[h] || {}), + (h = (i ? l.delegateType : l.bindType) || h), + (l = k.event.special[h] || {}), + (d = k.extend( + { + type: h, + origType: v, + data: r, + handler: n, + guid: n.guid, + selector: i, + needsContext: + i && k.expr.match.needsContext.test(i), + namespace: f.join(".") + }, + o + )), + (p = c[h]) || + (((p = c[h] = []).delegateCount = 0), + (l.setup && !1 !== l.setup.call(e, r, f, a)) || + (e.addEventListener && + e.addEventListener(h, a))), + l.add && + (l.add.call(e, d), + d.handler.guid || (d.handler.guid = n.guid)), + i ? p.splice(p.delegateCount++, 0, d) : p.push(d), + (k.event.global[h] = !0))); + }, + remove: function (e, t, n, r, i) { + var o, + a, + s, + c, + u, + d, + l, + p, + h, + f, + v, + m = K.hasData(e) && K.get(e); + if (m && (c = m.events)) { + for (u = (t = (t || "").match(D) || [""]).length; u--; ) + if ( + ((h = v = (s = ke.exec(t[u]) || [])[1]), + (f = (s[2] || "").split(".").sort()), + h) + ) { + for ( + l = k.event.special[h] || {}, + p = + c[ + (h = + (r ? l.delegateType : l.bindType) || + h) + ] || [], + s = + s[2] && + new RegExp( + "(^|\\.)" + + f.join("\\.(?:.*\\.|)") + + "(\\.|$)" + ), + a = o = p.length; + o--; + + ) + ((d = p[o]), + (!i && v !== d.origType) || + (n && n.guid !== d.guid) || + (s && !s.test(d.namespace)) || + (r && + r !== d.selector && + ("**" !== r || !d.selector)) || + (p.splice(o, 1), + d.selector && p.delegateCount--, + l.remove && l.remove.call(e, d))); + a && + !p.length && + ((l.teardown && + !1 !== l.teardown.call(e, f, m.handle)) || + k.removeEvent(e, h, m.handle), + delete c[h]); + } else for (h in c) k.event.remove(e, h + t[u], n, r, !0); + k.isEmptyObject(c) && K.remove(e, "handle events"); + } + }, + dispatch: function (e) { + var t, + n, + r, + i, + o, + a, + s = new Array(arguments.length), + c = k.event.fix(e), + u = + (K.get(this, "events") || Object.create(null))[c.type] || + [], + d = k.event.special[c.type] || {}; + for (s[0] = c, t = 1; t < arguments.length; t++) + s[t] = arguments[t]; + if ( + ((c.delegateTarget = this), + !d.preDispatch || !1 !== d.preDispatch.call(this, c)) + ) { + for ( + a = k.event.handlers.call(this, c, u), t = 0; + (i = a[t++]) && !c.isPropagationStopped(); + + ) + for ( + c.currentTarget = i.elem, n = 0; + (o = i.handlers[n++]) && + !c.isImmediatePropagationStopped(); + + ) + (c.rnamespace && + !1 !== o.namespace && + !c.rnamespace.test(o.namespace)) || + ((c.handleObj = o), + (c.data = o.data), + void 0 !== + (r = ( + (k.event.special[o.origType] || {}) + .handle || o.handler + ).apply(i.elem, s)) && + !1 === (c.result = r) && + (c.preventDefault(), c.stopPropagation())); + return ( + d.postDispatch && d.postDispatch.call(this, c), + c.result + ); + } + }, + handlers: function (e, t) { + var n, + r, + i, + o, + a, + s = [], + c = t.delegateCount, + u = e.target; + if (c && u.nodeType && !("click" === e.type && e.button >= 1)) + for (; u !== this; u = u.parentNode || this) + if ( + 1 === u.nodeType && + ("click" !== e.type || !0 !== u.disabled) + ) { + for (o = [], a = {}, n = 0; n < c; n++) + (void 0 === a[(i = (r = t[n]).selector + " ")] && + (a[i] = r.needsContext + ? k(i, this).index(u) > -1 + : k.find(i, this, null, [u]).length), + a[i] && o.push(r)); + o.length && s.push({ elem: u, handlers: o }); + } + return ( + (u = this), + c < t.length && s.push({ elem: u, handlers: t.slice(c) }), + s + ); + }, + addProp: function (e, t) { + Object.defineProperty(k.Event.prototype, e, { + enumerable: !0, + configurable: !0, + get: f(t) + ? function () { + if (this.originalEvent) return t(this.originalEvent); + } + : function () { + if (this.originalEvent) return this.originalEvent[e]; + }, + set: function (t) { + Object.defineProperty(this, e, { + enumerable: !0, + configurable: !0, + writable: !0, + value: t + }); + } + }); + }, + fix: function (e) { + return e[k.expando] ? e : new k.Event(e); + }, + special: { + load: { noBubble: !0 }, + click: { + setup: function (e) { + var t = this || e; + return ( + le.test(t.type) && + t.click && + E(t, "input") && + Se(t, "click", xe), + !1 + ); + }, + trigger: function (e) { + var t = this || e; + return ( + le.test(t.type) && + t.click && + E(t, "input") && + Se(t, "click"), + !0 + ); + }, + _default: function (e) { + var t = e.target; + return ( + (le.test(t.type) && + t.click && + E(t, "input") && + K.get(t, "click")) || + E(t, "a") + ); + } + }, + beforeunload: { + postDispatch: function (e) { + void 0 !== e.result && + e.originalEvent && + (e.originalEvent.returnValue = e.result); + } + } + } + }), + (k.removeEvent = function (e, t, n) { + e.removeEventListener && e.removeEventListener(t, n); + }), + (k.Event = function (e, t) { + if (!(this instanceof k.Event)) return new k.Event(e, t); + (e && e.type + ? ((this.originalEvent = e), + (this.type = e.type), + (this.isDefaultPrevented = + e.defaultPrevented || + (void 0 === e.defaultPrevented && !1 === e.returnValue) + ? xe + : _e), + (this.target = + e.target && 3 === e.target.nodeType + ? e.target.parentNode + : e.target), + (this.currentTarget = e.currentTarget), + (this.relatedTarget = e.relatedTarget)) + : (this.type = e), + t && k.extend(this, t), + (this.timeStamp = (e && e.timeStamp) || Date.now()), + (this[k.expando] = !0)); + }), + (k.Event.prototype = { + constructor: k.Event, + isDefaultPrevented: _e, + isPropagationStopped: _e, + isImmediatePropagationStopped: _e, + isSimulated: !1, + preventDefault: function () { + var e = this.originalEvent; + ((this.isDefaultPrevented = xe), + e && !this.isSimulated && e.preventDefault()); + }, + stopPropagation: function () { + var e = this.originalEvent; + ((this.isPropagationStopped = xe), + e && !this.isSimulated && e.stopPropagation()); + }, + stopImmediatePropagation: function () { + var e = this.originalEvent; + ((this.isImmediatePropagationStopped = xe), + e && !this.isSimulated && e.stopImmediatePropagation(), + this.stopPropagation()); + } + }), + k.each( + { + altKey: !0, + bubbles: !0, + cancelable: !0, + changedTouches: !0, + ctrlKey: !0, + detail: !0, + eventPhase: !0, + metaKey: !0, + pageX: !0, + pageY: !0, + shiftKey: !0, + view: !0, + char: !0, + code: !0, + charCode: !0, + key: !0, + keyCode: !0, + button: !0, + buttons: !0, + clientX: !0, + clientY: !0, + offsetX: !0, + offsetY: !0, + pointerId: !0, + pointerType: !0, + screenX: !0, + screenY: !0, + targetTouches: !0, + toElement: !0, + touches: !0, + which: function (e) { + var t = e.button; + return null == e.which && we.test(e.type) + ? null != e.charCode + ? e.charCode + : e.keyCode + : !e.which && void 0 !== t && be.test(e.type) + ? 1 & t + ? 1 + : 2 & t + ? 3 + : 4 & t + ? 2 + : 0 + : e.which; + } + }, + k.event.addProp + ), + k.each({ focus: "focusin", blur: "focusout" }, function (e, t) { + k.event.special[e] = { + setup: function () { + return (Se(this, e, Ce), !1); + }, + trigger: function () { + return (Se(this, e), !0); + }, + delegateType: t + }; + }), + k.each( + { + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" + }, + function (e, t) { + k.event.special[e] = { + delegateType: t, + bindType: t, + handle: function (e) { + var n, + r = e.relatedTarget, + i = e.handleObj; + return ( + (r && (r === this || k.contains(this, r))) || + ((e.type = i.origType), + (n = i.handler.apply(this, arguments)), + (e.type = t)), + n + ); + } + }; + } + ), + k.fn.extend({ + on: function (e, t, n, r) { + return Ie(this, e, t, n, r); + }, + one: function (e, t, n, r) { + return Ie(this, e, t, n, r, 1); + }, + off: function (e, t, n) { + var r, i; + if (e && e.preventDefault && e.handleObj) + return ( + (r = e.handleObj), + k(e.delegateTarget).off( + r.namespace + ? r.origType + "." + r.namespace + : r.origType, + r.selector, + r.handler + ), + this + ); + if ("object" === typeof e) { + for (i in e) this.off(i, t, e[i]); + return this; + } + return ( + (!1 !== t && "function" !== typeof t) || + ((n = t), (t = void 0)), + !1 === n && (n = _e), + this.each(function () { + k.event.remove(this, e, n, t); + }) + ); + } + })); + var Ee = /\s*$/g; + function Ae(e, t) { + return ( + (E(e, "table") && + E(11 !== t.nodeType ? t : t.firstChild, "tr") && + k(e).children("tbody")[0]) || + e + ); + } + function Pe(e) { + return ((e.type = (null !== e.getAttribute("type")) + "/" + e.type), e); + } + function Me(e) { + return ( + "true/" === (e.type || "").slice(0, 5) + ? (e.type = e.type.slice(5)) + : e.removeAttribute("type"), + e + ); + } + function Re(e, t) { + var n, r, i, o, a, s; + if (1 === t.nodeType) { + if (K.hasData(e) && (s = K.get(e).events)) + for (i in (K.remove(t, "handle events"), s)) + for (n = 0, r = s[i].length; n < r; n++) + k.event.add(t, i, s[i][n]); + Q.hasData(e) && + ((o = Q.access(e)), (a = k.extend({}, o)), Q.set(t, a)); + } + } + function Oe(e, t) { + var n = t.nodeName.toLowerCase(); + "input" === n && le.test(e.type) + ? (t.checked = e.checked) + : ("input" !== n && "textarea" !== n) || + (t.defaultValue = e.defaultValue); + } + function De(e, t, n, r) { + t = o(t); + var i, + a, + s, + c, + u, + d, + l = 0, + p = e.length, + v = p - 1, + m = t[0], + g = f(m); + if ( + g || + (p > 1 && "string" === typeof m && !h.checkClone && We.test(m)) + ) + return e.each(function (i) { + var o = e.eq(i); + (g && (t[0] = m.call(this, i, o.html())), De(o, t, n, r)); + }); + if ( + p && + ((a = (i = ye(t, e[0].ownerDocument, !1, e, r)).firstChild), + 1 === i.childNodes.length && (i = a), + a || r) + ) { + for (c = (s = k.map(ve(i, "script"), Pe)).length; l < p; l++) + ((u = i), + l !== v && + ((u = k.clone(u, !0, !0)), + c && k.merge(s, ve(u, "script"))), + n.call(e[l], u, l)); + if (c) + for ( + d = s[s.length - 1].ownerDocument, k.map(s, Me), l = 0; + l < c; + l++ + ) + ((u = s[l]), + he.test(u.type || "") && + !K.access(u, "globalEval") && + k.contains(d, u) && + (u.src && "module" !== (u.type || "").toLowerCase() + ? k._evalUrl && + !u.noModule && + k._evalUrl( + u.src, + { + nonce: + u.nonce || u.getAttribute("nonce") + }, + d + ) + : y(u.textContent.replace(Te, ""), u, d))); + } + return e; + } + function Le(e, t, n) { + for (var r, i = t ? k.filter(t, e) : e, o = 0; null != (r = i[o]); o++) + (n || 1 !== r.nodeType || k.cleanData(ve(r)), + r.parentNode && + (n && ie(r) && me(ve(r, "script")), + r.parentNode.removeChild(r))); + return e; + } + (k.extend({ + htmlPrefilter: function (e) { + return e; + }, + clone: function (e, t, n) { + var r, + i, + o, + a, + s = e.cloneNode(!0), + c = ie(e); + if ( + !h.noCloneChecked && + (1 === e.nodeType || 11 === e.nodeType) && + !k.isXMLDoc(e) + ) + for (a = ve(s), r = 0, i = (o = ve(e)).length; r < i; r++) + Oe(o[r], a[r]); + if (t) + if (n) + for ( + o = o || ve(e), a = a || ve(s), r = 0, i = o.length; + r < i; + r++ + ) + Re(o[r], a[r]); + else Re(e, s); + return ( + (a = ve(s, "script")).length > 0 && + me(a, !c && ve(e, "script")), + s + ); + }, + cleanData: function (e) { + for ( + var t, n, r, i = k.event.special, o = 0; + void 0 !== (n = e[o]); + o++ + ) + if ($(n)) { + if ((t = n[K.expando])) { + if (t.events) + for (r in t.events) + i[r] + ? k.event.remove(n, r) + : k.removeEvent(n, r, t.handle); + n[K.expando] = void 0; + } + n[Q.expando] && (n[Q.expando] = void 0); + } + } + }), + k.fn.extend({ + detach: function (e) { + return Le(this, e, !0); + }, + remove: function (e) { + return Le(this, e); + }, + text: function (e) { + return z( + this, + function (e) { + return void 0 === e + ? k.text(this) + : this.empty().each(function () { + (1 !== this.nodeType && + 11 !== this.nodeType && + 9 !== this.nodeType) || + (this.textContent = e); + }); + }, + null, + e, + arguments.length + ); + }, + append: function () { + return De(this, arguments, function (e) { + (1 !== this.nodeType && + 11 !== this.nodeType && + 9 !== this.nodeType) || + Ae(this, e).appendChild(e); + }); + }, + prepend: function () { + return De(this, arguments, function (e) { + if ( + 1 === this.nodeType || + 11 === this.nodeType || + 9 === this.nodeType + ) { + var t = Ae(this, e); + t.insertBefore(e, t.firstChild); + } + }); + }, + before: function () { + return De(this, arguments, function (e) { + this.parentNode && this.parentNode.insertBefore(e, this); + }); + }, + after: function () { + return De(this, arguments, function (e) { + this.parentNode && + this.parentNode.insertBefore(e, this.nextSibling); + }); + }, + empty: function () { + for (var e, t = 0; null != (e = this[t]); t++) + 1 === e.nodeType && + (k.cleanData(ve(e, !1)), (e.textContent = "")); + return this; + }, + clone: function (e, t) { + return ( + (e = null != e && e), + (t = null == t ? e : t), + this.map(function () { + return k.clone(this, e, t); + }) + ); + }, + html: function (e) { + return z( + this, + function (e) { + var t = this[0] || {}, + n = 0, + r = this.length; + if (void 0 === e && 1 === t.nodeType) + return t.innerHTML; + if ( + "string" === typeof e && + !Ee.test(e) && + !fe[(pe.exec(e) || ["", ""])[1].toLowerCase()] + ) { + e = k.htmlPrefilter(e); + try { + for (; n < r; n++) + 1 === (t = this[n] || {}).nodeType && + (k.cleanData(ve(t, !1)), + (t.innerHTML = e)); + t = 0; + } catch (i) {} + } + t && this.empty().append(e); + }, + null, + e, + arguments.length + ); + }, + replaceWith: function () { + var e = []; + return De( + this, + arguments, + function (t) { + var n = this.parentNode; + k.inArray(this, e) < 0 && + (k.cleanData(ve(this)), + n && n.replaceChild(t, this)); + }, + e + ); + } + }), + k.each( + { + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, + function (e, t) { + k.fn[e] = function (e) { + for ( + var n, r = [], i = k(e), o = i.length - 1, s = 0; + s <= o; + s++ + ) + ((n = s === o ? this : this.clone(!0)), + k(i[s])[t](n), + a.apply(r, n.get())); + return this.pushStack(r); + }; + } + )); + var Be = new RegExp("^(" + ee + ")(?!px)[a-z%]+$", "i"), + Ne = function (t) { + var n = t.ownerDocument.defaultView; + return ((n && n.opener) || (n = e), n.getComputedStyle(t)); + }, + Fe = function (e, t, n) { + var r, + i, + o = {}; + for (i in t) ((o[i] = e.style[i]), (e.style[i] = t[i])); + for (i in ((r = n.call(e)), t)) e.style[i] = o[i]; + return r; + }, + je = new RegExp(ne.join("|"), "i"); + function He(e, t, n) { + var r, + i, + o, + a, + s = e.style; + return ( + (n = n || Ne(e)) && + ("" !== (a = n.getPropertyValue(t) || n[t]) || + ie(e) || + (a = k.style(e, t)), + !h.pixelBoxStyles() && + Be.test(a) && + je.test(t) && + ((r = s.width), + (i = s.minWidth), + (o = s.maxWidth), + (s.minWidth = s.maxWidth = s.width = a), + (a = n.width), + (s.width = r), + (s.minWidth = i), + (s.maxWidth = o))), + void 0 !== a ? a + "" : a + ); + } + function ze(e, t) { + return { + get: function () { + if (!e()) return (this.get = t).apply(this, arguments); + delete this.get; + } + }; + } + !(function () { + function t() { + if (d) { + ((u.style.cssText = + "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0"), + (d.style.cssText = + "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%"), + re.appendChild(u).appendChild(d)); + var t = e.getComputedStyle(d); + ((r = "1%" !== t.top), + (c = 12 === n(t.marginLeft)), + (d.style.right = "60%"), + (a = 36 === n(t.right)), + (i = 36 === n(t.width)), + (d.style.position = "absolute"), + (o = 12 === n(d.offsetWidth / 3)), + re.removeChild(u), + (d = null)); + } + } + function n(e) { + return Math.round(parseFloat(e)); + } + var r, + i, + o, + a, + s, + c, + u = m.createElement("div"), + d = m.createElement("div"); + d.style && + ((d.style.backgroundClip = "content-box"), + (d.cloneNode(!0).style.backgroundClip = ""), + (h.clearCloneStyle = "content-box" === d.style.backgroundClip), + k.extend(h, { + boxSizingReliable: function () { + return (t(), i); + }, + pixelBoxStyles: function () { + return (t(), a); + }, + pixelPosition: function () { + return (t(), r); + }, + reliableMarginLeft: function () { + return (t(), c); + }, + scrollboxSize: function () { + return (t(), o); + }, + reliableTrDimensions: function () { + var t, n, r, i; + return ( + null == s && + ((t = m.createElement("table")), + (n = m.createElement("tr")), + (r = m.createElement("div")), + (t.style.cssText = + "position:absolute;left:-11111px"), + (n.style.height = "1px"), + (r.style.height = "9px"), + re.appendChild(t).appendChild(n).appendChild(r), + (i = e.getComputedStyle(n)), + (s = parseInt(i.height) > 3), + re.removeChild(t)), + s + ); + } + })); + })(); + var qe = ["Webkit", "Moz", "ms"], + Ge = m.createElement("div").style, + Ue = {}; + function Ve(e) { + var t = k.cssProps[e] || Ue[e]; + return ( + t || + (e in Ge + ? e + : (Ue[e] = + (function (e) { + for ( + var t = e[0].toUpperCase() + e.slice(1), + n = qe.length; + n--; + + ) + if ((e = qe[n] + t) in Ge) return e; + })(e) || e)) + ); + } + var $e = /^(none|table(?!-c[ea]).+)/, + Je = /^--/, + Ke = { position: "absolute", visibility: "hidden", display: "block" }, + Qe = { letterSpacing: "0", fontWeight: "400" }; + function Xe(e, t, n) { + var r = te.exec(t); + return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t; + } + function Ye(e, t, n, r, i, o) { + var a = "width" === t ? 1 : 0, + s = 0, + c = 0; + if (n === (r ? "border" : "content")) return 0; + for (; a < 4; a += 2) + ("margin" === n && (c += k.css(e, n + ne[a], !0, i)), + r + ? ("content" === n && + (c -= k.css(e, "padding" + ne[a], !0, i)), + "margin" !== n && + (c -= k.css(e, "border" + ne[a] + "Width", !0, i))) + : ((c += k.css(e, "padding" + ne[a], !0, i)), + "padding" !== n + ? (c += k.css(e, "border" + ne[a] + "Width", !0, i)) + : (s += k.css( + e, + "border" + ne[a] + "Width", + !0, + i + )))); + return ( + !r && + o >= 0 && + (c += + Math.max( + 0, + Math.ceil( + e["offset" + t[0].toUpperCase() + t.slice(1)] - + o - + c - + s - + 0.5 + ) + ) || 0), + c + ); + } + function Ze(e, t, n) { + var r = Ne(e), + i = + (!h.boxSizingReliable() || n) && + "border-box" === k.css(e, "boxSizing", !1, r), + o = i, + a = He(e, t, r), + s = "offset" + t[0].toUpperCase() + t.slice(1); + if (Be.test(a)) { + if (!n) return a; + a = "auto"; + } + return ( + ((!h.boxSizingReliable() && i) || + (!h.reliableTrDimensions() && E(e, "tr")) || + "auto" === a || + (!parseFloat(a) && "inline" === k.css(e, "display", !1, r))) && + e.getClientRects().length && + ((i = "border-box" === k.css(e, "boxSizing", !1, r)), + (o = s in e) && (a = e[s])), + (a = parseFloat(a) || 0) + + Ye(e, t, n || (i ? "border" : "content"), o, r, a) + + "px" + ); + } + function et(e, t, n, r, i) { + return new et.prototype.init(e, t, n, r, i); + } + (k.extend({ + cssHooks: { + opacity: { + get: function (e, t) { + if (t) { + var n = He(e, "opacity"); + return "" === n ? "1" : n; + } + } + } + }, + cssNumber: { + animationIterationCount: !0, + columnCount: !0, + fillOpacity: !0, + flexGrow: !0, + flexShrink: !0, + fontWeight: !0, + gridArea: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnStart: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowStart: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + widows: !0, + zIndex: !0, + zoom: !0 + }, + cssProps: {}, + style: function (e, t, n, r) { + if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { + var i, + o, + a, + s = V(t), + c = Je.test(t), + u = e.style; + if ( + (c || (t = Ve(s)), + (a = k.cssHooks[t] || k.cssHooks[s]), + void 0 === n) + ) + return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) + ? i + : u[t]; + ("string" === (o = typeof n) && + (i = te.exec(n)) && + i[1] && + ((n = se(e, t, i)), (o = "number")), + null != n && + n === n && + ("number" !== o || + c || + (n += (i && i[3]) || (k.cssNumber[s] ? "" : "px")), + h.clearCloneStyle || + "" !== n || + 0 !== t.indexOf("background") || + (u[t] = "inherit"), + (a && "set" in a && void 0 === (n = a.set(e, n, r))) || + (c ? u.setProperty(t, n) : (u[t] = n)))); + } + }, + css: function (e, t, n, r) { + var i, + o, + a, + s = V(t); + return ( + Je.test(t) || (t = Ve(s)), + (a = k.cssHooks[t] || k.cssHooks[s]) && + "get" in a && + (i = a.get(e, !0, n)), + void 0 === i && (i = He(e, t, r)), + "normal" === i && t in Qe && (i = Qe[t]), + "" === n || n + ? ((o = parseFloat(i)), + !0 === n || isFinite(o) ? o || 0 : i) + : i + ); + } + }), + k.each(["height", "width"], function (e, t) { + k.cssHooks[t] = { + get: function (e, n, r) { + if (n) + return !$e.test(k.css(e, "display")) || + (e.getClientRects().length && + e.getBoundingClientRect().width) + ? Ze(e, t, r) + : Fe(e, Ke, function () { + return Ze(e, t, r); + }); + }, + set: function (e, n, r) { + var i, + o = Ne(e), + a = !h.scrollboxSize() && "absolute" === o.position, + s = + (a || r) && + "border-box" === k.css(e, "boxSizing", !1, o), + c = r ? Ye(e, t, r, s, o) : 0; + return ( + s && + a && + (c -= Math.ceil( + e["offset" + t[0].toUpperCase() + t.slice(1)] - + parseFloat(o[t]) - + Ye(e, t, "border", !1, o) - + 0.5 + )), + c && + (i = te.exec(n)) && + "px" !== (i[3] || "px") && + ((e.style[t] = n), (n = k.css(e, t))), + Xe(0, n, c) + ); + } + }; + }), + (k.cssHooks.marginLeft = ze(h.reliableMarginLeft, function (e, t) { + if (t) + return ( + (parseFloat(He(e, "marginLeft")) || + e.getBoundingClientRect().left - + Fe(e, { marginLeft: 0 }, function () { + return e.getBoundingClientRect().left; + })) + "px" + ); + })), + k.each({ margin: "", padding: "", border: "Width" }, function (e, t) { + ((k.cssHooks[e + t] = { + expand: function (n) { + for ( + var r = 0, + i = {}, + o = "string" === typeof n ? n.split(" ") : [n]; + r < 4; + r++ + ) + i[e + ne[r] + t] = o[r] || o[r - 2] || o[0]; + return i; + } + }), + "margin" !== e && (k.cssHooks[e + t].set = Xe)); + }), + k.fn.extend({ + css: function (e, t) { + return z( + this, + function (e, t, n) { + var r, + i, + o = {}, + a = 0; + if (Array.isArray(t)) { + for (r = Ne(e), i = t.length; a < i; a++) + o[t[a]] = k.css(e, t[a], !1, r); + return o; + } + return void 0 !== n ? k.style(e, t, n) : k.css(e, t); + }, + e, + t, + arguments.length > 1 + ); + } + }), + (k.Tween = et), + (et.prototype = { + constructor: et, + init: function (e, t, n, r, i, o) { + ((this.elem = e), + (this.prop = n), + (this.easing = i || k.easing._default), + (this.options = t), + (this.start = this.now = this.cur()), + (this.end = r), + (this.unit = o || (k.cssNumber[n] ? "" : "px"))); + }, + cur: function () { + var e = et.propHooks[this.prop]; + return e && e.get + ? e.get(this) + : et.propHooks._default.get(this); + }, + run: function (e) { + var t, + n = et.propHooks[this.prop]; + return ( + this.options.duration + ? (this.pos = t = + k.easing[this.easing]( + e, + this.options.duration * e, + 0, + 1, + this.options.duration + )) + : (this.pos = t = e), + (this.now = (this.end - this.start) * t + this.start), + this.options.step && + this.options.step.call(this.elem, this.now, this), + n && n.set ? n.set(this) : et.propHooks._default.set(this), + this + ); + } + }), + (et.prototype.init.prototype = et.prototype), + (et.propHooks = { + _default: { + get: function (e) { + var t; + return 1 !== e.elem.nodeType || + (null != e.elem[e.prop] && null == e.elem.style[e.prop]) + ? e.elem[e.prop] + : (t = k.css(e.elem, e.prop, "")) && "auto" !== t + ? t + : 0; + }, + set: function (e) { + k.fx.step[e.prop] + ? k.fx.step[e.prop](e) + : 1 !== e.elem.nodeType || + (!k.cssHooks[e.prop] && + null == e.elem.style[Ve(e.prop)]) + ? (e.elem[e.prop] = e.now) + : k.style(e.elem, e.prop, e.now + e.unit); + } + } + }), + (et.propHooks.scrollTop = et.propHooks.scrollLeft = + { + set: function (e) { + e.elem.nodeType && + e.elem.parentNode && + (e.elem[e.prop] = e.now); + } + }), + (k.easing = { + linear: function (e) { + return e; + }, + swing: function (e) { + return 0.5 - Math.cos(e * Math.PI) / 2; + }, + _default: "swing" + }), + (k.fx = et.prototype.init), + (k.fx.step = {})); + var tt, + nt, + rt = /^(?:toggle|show|hide)$/, + it = /queueHooks$/; + function ot() { + nt && + (!1 === m.hidden && e.requestAnimationFrame + ? e.requestAnimationFrame(ot) + : e.setTimeout(ot, k.fx.interval), + k.fx.tick()); + } + function at() { + return ( + e.setTimeout(function () { + tt = void 0; + }), + (tt = Date.now()) + ); + } + function st(e, t) { + var n, + r = 0, + i = { height: e }; + for (t = t ? 1 : 0; r < 4; r += 2 - t) + i["margin" + (n = ne[r])] = i["padding" + n] = e; + return (t && (i.opacity = i.width = e), i); + } + function ct(e, t, n) { + for ( + var r, + i = (ut.tweeners[t] || []).concat(ut.tweeners["*"]), + o = 0, + a = i.length; + o < a; + o++ + ) + if ((r = i[o].call(n, t, e))) return r; + } + function ut(e, t, n) { + var r, + i, + o = 0, + a = ut.prefilters.length, + s = k.Deferred().always(function () { + delete c.elem; + }), + c = function () { + if (i) return !1; + for ( + var t = tt || at(), + n = Math.max(0, u.startTime + u.duration - t), + r = 1 - (n / u.duration || 0), + o = 0, + a = u.tweens.length; + o < a; + o++ + ) + u.tweens[o].run(r); + return ( + s.notifyWith(e, [u, r, n]), + r < 1 && a + ? n + : (a || s.notifyWith(e, [u, 1, 0]), + s.resolveWith(e, [u]), + !1) + ); + }, + u = s.promise({ + elem: e, + props: k.extend({}, t), + opts: k.extend( + !0, + { specialEasing: {}, easing: k.easing._default }, + n + ), + originalProperties: t, + originalOptions: n, + startTime: tt || at(), + duration: n.duration, + tweens: [], + createTween: function (t, n) { + var r = k.Tween( + e, + u.opts, + t, + n, + u.opts.specialEasing[t] || u.opts.easing + ); + return (u.tweens.push(r), r); + }, + stop: function (t) { + var n = 0, + r = t ? u.tweens.length : 0; + if (i) return this; + for (i = !0; n < r; n++) u.tweens[n].run(1); + return ( + t + ? (s.notifyWith(e, [u, 1, 0]), + s.resolveWith(e, [u, t])) + : s.rejectWith(e, [u, t]), + this + ); + } + }), + d = u.props; + for ( + (function (e, t) { + var n, r, i, o, a; + for (n in e) + if ( + ((i = t[(r = V(n))]), + (o = e[n]), + Array.isArray(o) && ((i = o[1]), (o = e[n] = o[0])), + n !== r && ((e[r] = o), delete e[n]), + (a = k.cssHooks[r]) && ("expand" in a)) + ) + for (n in ((o = a.expand(o)), delete e[r], o)) + (n in e) || ((e[n] = o[n]), (t[n] = i)); + else t[r] = i; + })(d, u.opts.specialEasing); + o < a; + o++ + ) + if ((r = ut.prefilters[o].call(u, e, d, u.opts))) + return ( + f(r.stop) && + (k._queueHooks(u.elem, u.opts.queue).stop = + r.stop.bind(r)), + r + ); + return ( + k.map(d, ct, u), + f(u.opts.start) && u.opts.start.call(e, u), + u + .progress(u.opts.progress) + .done(u.opts.done, u.opts.complete) + .fail(u.opts.fail) + .always(u.opts.always), + k.fx.timer(k.extend(c, { elem: e, anim: u, queue: u.opts.queue })), + u + ); + } + ((k.Animation = k.extend(ut, { + tweeners: { + "*": [ + function (e, t) { + var n = this.createTween(e, t); + return (se(n.elem, e, te.exec(t), n), n); + } + ] + }, + tweener: function (e, t) { + f(e) ? ((t = e), (e = ["*"])) : (e = e.match(D)); + for (var n, r = 0, i = e.length; r < i; r++) + ((n = e[r]), + (ut.tweeners[n] = ut.tweeners[n] || []), + ut.tweeners[n].unshift(t)); + }, + prefilters: [ + function (e, t, n) { + var r, + i, + o, + a, + s, + c, + u, + d, + l = "width" in t || "height" in t, + p = this, + h = {}, + f = e.style, + v = e.nodeType && ae(e), + m = K.get(e, "fxshow"); + for (r in (n.queue || + (null == (a = k._queueHooks(e, "fx")).unqueued && + ((a.unqueued = 0), + (s = a.empty.fire), + (a.empty.fire = function () { + a.unqueued || s(); + })), + a.unqueued++, + p.always(function () { + p.always(function () { + (a.unqueued--, + k.queue(e, "fx").length || a.empty.fire()); + }); + })), + t)) + if (((i = t[r]), rt.test(i))) { + if ( + (delete t[r], + (o = o || "toggle" === i), + i === (v ? "hide" : "show")) + ) { + if ("show" !== i || !m || void 0 === m[r]) continue; + v = !0; + } + h[r] = (m && m[r]) || k.style(e, r); + } + if ((c = !k.isEmptyObject(t)) || !k.isEmptyObject(h)) + for (r in (l && + 1 === e.nodeType && + ((n.overflow = [f.overflow, f.overflowX, f.overflowY]), + null == (u = m && m.display) && + (u = K.get(e, "display")), + "none" === (d = k.css(e, "display")) && + (u + ? (d = u) + : (de([e], !0), + (u = e.style.display || u), + (d = k.css(e, "display")), + de([e]))), + ("inline" === d || + ("inline-block" === d && null != u)) && + "none" === k.css(e, "float") && + (c || + (p.done(function () { + f.display = u; + }), + null == u && + ((d = f.display), + (u = "none" === d ? "" : d))), + (f.display = "inline-block"))), + n.overflow && + ((f.overflow = "hidden"), + p.always(function () { + ((f.overflow = n.overflow[0]), + (f.overflowX = n.overflow[1]), + (f.overflowY = n.overflow[2])); + })), + (c = !1), + h)) + (c || + (m + ? "hidden" in m && (v = m.hidden) + : (m = K.access(e, "fxshow", { display: u })), + o && (m.hidden = !v), + v && de([e], !0), + p.done(function () { + for (r in (v || de([e]), + K.remove(e, "fxshow"), + h)) + k.style(e, r, h[r]); + })), + (c = ct(v ? m[r] : 0, r, p)), + r in m || + ((m[r] = c.start), + v && ((c.end = c.start), (c.start = 0)))); + } + ], + prefilter: function (e, t) { + t ? ut.prefilters.unshift(e) : ut.prefilters.push(e); + } + })), + (k.speed = function (e, t, n) { + var r = + e && "object" === typeof e + ? k.extend({}, e) + : { + complete: n || (!n && t) || (f(e) && e), + duration: e, + easing: (n && t) || (t && !f(t) && t) + }; + return ( + k.fx.off + ? (r.duration = 0) + : "number" !== typeof r.duration && + (r.duration in k.fx.speeds + ? (r.duration = k.fx.speeds[r.duration]) + : (r.duration = k.fx.speeds._default)), + (null != r.queue && !0 !== r.queue) || (r.queue = "fx"), + (r.old = r.complete), + (r.complete = function () { + (f(r.old) && r.old.call(this), + r.queue && k.dequeue(this, r.queue)); + }), + r + ); + }), + k.fn.extend({ + fadeTo: function (e, t, n, r) { + return this.filter(ae) + .css("opacity", 0) + .show() + .end() + .animate({ opacity: t }, e, n, r); + }, + animate: function (e, t, n, r) { + var i = k.isEmptyObject(e), + o = k.speed(t, n, r), + a = function () { + var t = ut(this, k.extend({}, e), o); + (i || K.get(this, "finish")) && t.stop(!0); + }; + return ( + (a.finish = a), + i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a) + ); + }, + stop: function (e, t, n) { + var r = function (e) { + var t = e.stop; + (delete e.stop, t(n)); + }; + return ( + "string" !== typeof e && ((n = t), (t = e), (e = void 0)), + t && this.queue(e || "fx", []), + this.each(function () { + var t = !0, + i = null != e && e + "queueHooks", + o = k.timers, + a = K.get(this); + if (i) a[i] && a[i].stop && r(a[i]); + else + for (i in a) + a[i] && a[i].stop && it.test(i) && r(a[i]); + for (i = o.length; i--; ) + o[i].elem !== this || + (null != e && o[i].queue !== e) || + (o[i].anim.stop(n), (t = !1), o.splice(i, 1)); + (!t && n) || k.dequeue(this, e); + }) + ); + }, + finish: function (e) { + return ( + !1 !== e && (e = e || "fx"), + this.each(function () { + var t, + n = K.get(this), + r = n[e + "queue"], + i = n[e + "queueHooks"], + o = k.timers, + a = r ? r.length : 0; + for ( + n.finish = !0, + k.queue(this, e, []), + i && i.stop && i.stop.call(this, !0), + t = o.length; + t--; + + ) + o[t].elem === this && + o[t].queue === e && + (o[t].anim.stop(!0), o.splice(t, 1)); + for (t = 0; t < a; t++) + r[t] && r[t].finish && r[t].finish.call(this); + delete n.finish; + }) + ); + } + }), + k.each(["toggle", "show", "hide"], function (e, t) { + var n = k.fn[t]; + k.fn[t] = function (e, r, i) { + return null == e || "boolean" === typeof e + ? n.apply(this, arguments) + : this.animate(st(t, !0), e, r, i); + }; + }), + k.each( + { + slideDown: st("show"), + slideUp: st("hide"), + slideToggle: st("toggle"), + fadeIn: { opacity: "show" }, + fadeOut: { opacity: "hide" }, + fadeToggle: { opacity: "toggle" } + }, + function (e, t) { + k.fn[e] = function (e, n, r) { + return this.animate(t, e, n, r); + }; + } + ), + (k.timers = []), + (k.fx.tick = function () { + var e, + t = 0, + n = k.timers; + for (tt = Date.now(); t < n.length; t++) + (e = n[t])() || n[t] !== e || n.splice(t--, 1); + (n.length || k.fx.stop(), (tt = void 0)); + }), + (k.fx.timer = function (e) { + (k.timers.push(e), k.fx.start()); + }), + (k.fx.interval = 13), + (k.fx.start = function () { + nt || ((nt = !0), ot()); + }), + (k.fx.stop = function () { + nt = null; + }), + (k.fx.speeds = { slow: 600, fast: 200, _default: 400 }), + (k.fn.delay = function (t, n) { + return ( + (t = (k.fx && k.fx.speeds[t]) || t), + (n = n || "fx"), + this.queue(n, function (n, r) { + var i = e.setTimeout(n, t); + r.stop = function () { + e.clearTimeout(i); + }; + }) + ); + }), + (function () { + var e = m.createElement("input"), + t = m + .createElement("select") + .appendChild(m.createElement("option")); + ((e.type = "checkbox"), + (h.checkOn = "" !== e.value), + (h.optSelected = t.selected), + ((e = m.createElement("input")).value = "t"), + (e.type = "radio"), + (h.radioValue = "t" === e.value)); + })()); + var dt, + lt = k.expr.attrHandle; + (k.fn.extend({ + attr: function (e, t) { + return z(this, k.attr, e, t, arguments.length > 1); + }, + removeAttr: function (e) { + return this.each(function () { + k.removeAttr(this, e); + }); + } + }), + k.extend({ + attr: function (e, t, n) { + var r, + i, + o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) + return "undefined" === typeof e.getAttribute + ? k.prop(e, t, n) + : ((1 === o && k.isXMLDoc(e)) || + (i = + k.attrHooks[t.toLowerCase()] || + (k.expr.match.bool.test(t) ? dt : void 0)), + void 0 !== n + ? null === n + ? void k.removeAttr(e, t) + : i && + "set" in i && + void 0 !== (r = i.set(e, n, t)) + ? r + : (e.setAttribute(t, n + ""), n) + : i && "get" in i && null !== (r = i.get(e, t)) + ? r + : null == (r = k.find.attr(e, t)) + ? void 0 + : r); + }, + attrHooks: { + type: { + set: function (e, t) { + if (!h.radioValue && "radio" === t && E(e, "input")) { + var n = e.value; + return ( + e.setAttribute("type", t), + n && (e.value = n), + t + ); + } + } + } + }, + removeAttr: function (e, t) { + var n, + r = 0, + i = t && t.match(D); + if (i && 1 === e.nodeType) + for (; (n = i[r++]); ) e.removeAttribute(n); + } + }), + (dt = { + set: function (e, t, n) { + return ( + !1 === t ? k.removeAttr(e, n) : e.setAttribute(n, n), + n + ); + } + }), + k.each(k.expr.match.bool.source.match(/\w+/g), function (e, t) { + var n = lt[t] || k.find.attr; + lt[t] = function (e, t, r) { + var i, + o, + a = t.toLowerCase(); + return ( + r || + ((o = lt[a]), + (lt[a] = i), + (i = null != n(e, t, r) ? a : null), + (lt[a] = o)), + i + ); + }; + })); + var pt = /^(?:input|select|textarea|button)$/i, + ht = /^(?:a|area)$/i; + function ft(e) { + return (e.match(D) || []).join(" "); + } + function vt(e) { + return (e.getAttribute && e.getAttribute("class")) || ""; + } + function mt(e) { + return Array.isArray(e) + ? e + : ("string" === typeof e && e.match(D)) || []; + } + (k.fn.extend({ + prop: function (e, t) { + return z(this, k.prop, e, t, arguments.length > 1); + }, + removeProp: function (e) { + return this.each(function () { + delete this[k.propFix[e] || e]; + }); + } + }), + k.extend({ + prop: function (e, t, n) { + var r, + i, + o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) + return ( + (1 === o && k.isXMLDoc(e)) || + ((t = k.propFix[t] || t), (i = k.propHooks[t])), + void 0 !== n + ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) + ? r + : (e[t] = n) + : i && "get" in i && null !== (r = i.get(e, t)) + ? r + : e[t] + ); + }, + propHooks: { + tabIndex: { + get: function (e) { + var t = k.find.attr(e, "tabindex"); + return t + ? parseInt(t, 10) + : pt.test(e.nodeName) || + (ht.test(e.nodeName) && e.href) + ? 0 + : -1; + } + } + }, + propFix: { for: "htmlFor", class: "className" } + }), + h.optSelected || + (k.propHooks.selected = { + get: function (e) { + var t = e.parentNode; + return ( + t && t.parentNode && t.parentNode.selectedIndex, + null + ); + }, + set: function (e) { + var t = e.parentNode; + t && + (t.selectedIndex, + t.parentNode && t.parentNode.selectedIndex); + } + }), + k.each( + [ + "tabIndex", + "readOnly", + "maxLength", + "cellSpacing", + "cellPadding", + "rowSpan", + "colSpan", + "useMap", + "frameBorder", + "contentEditable" + ], + function () { + k.propFix[this.toLowerCase()] = this; + } + ), + k.fn.extend({ + addClass: function (e) { + var t, + n, + r, + i, + o, + a, + s, + c = 0; + if (f(e)) + return this.each(function (t) { + k(this).addClass(e.call(this, t, vt(this))); + }); + if ((t = mt(e)).length) + for (; (n = this[c++]); ) + if ( + ((i = vt(n)), + (r = 1 === n.nodeType && " " + ft(i) + " ")) + ) { + for (a = 0; (o = t[a++]); ) + r.indexOf(" " + o + " ") < 0 && (r += o + " "); + i !== (s = ft(r)) && n.setAttribute("class", s); + } + return this; + }, + removeClass: function (e) { + var t, + n, + r, + i, + o, + a, + s, + c = 0; + if (f(e)) + return this.each(function (t) { + k(this).removeClass(e.call(this, t, vt(this))); + }); + if (!arguments.length) return this.attr("class", ""); + if ((t = mt(e)).length) + for (; (n = this[c++]); ) + if ( + ((i = vt(n)), + (r = 1 === n.nodeType && " " + ft(i) + " ")) + ) { + for (a = 0; (o = t[a++]); ) + for (; r.indexOf(" " + o + " ") > -1; ) + r = r.replace(" " + o + " ", " "); + i !== (s = ft(r)) && n.setAttribute("class", s); + } + return this; + }, + toggleClass: function (e, t) { + var n = typeof e, + r = "string" === n || Array.isArray(e); + return "boolean" === typeof t && r + ? t + ? this.addClass(e) + : this.removeClass(e) + : f(e) + ? this.each(function (n) { + k(this).toggleClass( + e.call(this, n, vt(this), t), + t + ); + }) + : this.each(function () { + var t, i, o, a; + if (r) + for ( + i = 0, o = k(this), a = mt(e); + (t = a[i++]); + + ) + o.hasClass(t) + ? o.removeClass(t) + : o.addClass(t); + else + (void 0 !== e && "boolean" !== n) || + ((t = vt(this)) && + K.set(this, "__className__", t), + this.setAttribute && + this.setAttribute( + "class", + t || !1 === e + ? "" + : K.get( + this, + "__className__" + ) || "" + )); + }); + }, + hasClass: function (e) { + var t, + n, + r = 0; + for (t = " " + e + " "; (n = this[r++]); ) + if ( + 1 === n.nodeType && + (" " + ft(vt(n)) + " ").indexOf(t) > -1 + ) + return !0; + return !1; + } + })); + var gt = /\r/g; + (k.fn.extend({ + val: function (e) { + var t, + n, + r, + i = this[0]; + return arguments.length + ? ((r = f(e)), + this.each(function (n) { + var i; + 1 === this.nodeType && + (null == (i = r ? e.call(this, n, k(this).val()) : e) + ? (i = "") + : "number" === typeof i + ? (i += "") + : Array.isArray(i) && + (i = k.map(i, function (e) { + return null == e ? "" : e + ""; + })), + ((t = + k.valHooks[this.type] || + k.valHooks[this.nodeName.toLowerCase()]) && + "set" in t && + void 0 !== t.set(this, i, "value")) || + (this.value = i)); + })) + : i + ? (t = + k.valHooks[i.type] || + k.valHooks[i.nodeName.toLowerCase()]) && + "get" in t && + void 0 !== (n = t.get(i, "value")) + ? n + : "string" === typeof (n = i.value) + ? n.replace(gt, "") + : null == n + ? "" + : n + : void 0; + } + }), + k.extend({ + valHooks: { + option: { + get: function (e) { + var t = k.find.attr(e, "value"); + return null != t ? t : ft(k.text(e)); + } + }, + select: { + get: function (e) { + var t, + n, + r, + i = e.options, + o = e.selectedIndex, + a = "select-one" === e.type, + s = a ? null : [], + c = a ? o + 1 : i.length; + for (r = o < 0 ? c : a ? o : 0; r < c; r++) + if ( + ((n = i[r]).selected || r === o) && + !n.disabled && + (!n.parentNode.disabled || + !E(n.parentNode, "optgroup")) + ) { + if (((t = k(n).val()), a)) return t; + s.push(t); + } + return s; + }, + set: function (e, t) { + for ( + var n, + r, + i = e.options, + o = k.makeArray(t), + a = i.length; + a--; + + ) + ((r = i[a]).selected = + k.inArray(k.valHooks.option.get(r), o) > -1) && + (n = !0); + return (n || (e.selectedIndex = -1), o); + } + } + } + }), + k.each(["radio", "checkbox"], function () { + ((k.valHooks[this] = { + set: function (e, t) { + if (Array.isArray(t)) + return (e.checked = k.inArray(k(e).val(), t) > -1); + } + }), + h.checkOn || + (k.valHooks[this].get = function (e) { + return null === e.getAttribute("value") + ? "on" + : e.value; + })); + }), + (h.focusin = "onfocusin" in e)); + var yt = /^(?:focusinfocus|focusoutblur)$/, + wt = function (e) { + e.stopPropagation(); + }; + (k.extend(k.event, { + trigger: function (t, n, r, i) { + var o, + a, + s, + c, + u, + l, + p, + h, + g = [r || m], + y = d.call(t, "type") ? t.type : t, + w = d.call(t, "namespace") ? t.namespace.split(".") : []; + if ( + ((a = h = s = r = r || m), + 3 !== r.nodeType && + 8 !== r.nodeType && + !yt.test(y + k.event.triggered) && + (y.indexOf(".") > -1 && + ((w = y.split(".")), (y = w.shift()), w.sort()), + (u = y.indexOf(":") < 0 && "on" + y), + ((t = t[k.expando] + ? t + : new k.Event( + y, + "object" === typeof t && t + )).isTrigger = i ? 2 : 3), + (t.namespace = w.join(".")), + (t.rnamespace = t.namespace + ? new RegExp( + "(^|\\.)" + w.join("\\.(?:.*\\.|)") + "(\\.|$)" + ) + : null), + (t.result = void 0), + t.target || (t.target = r), + (n = null == n ? [t] : k.makeArray(n, [t])), + (p = k.event.special[y] || {}), + i || !p.trigger || !1 !== p.trigger.apply(r, n))) + ) { + if (!i && !p.noBubble && !v(r)) { + for ( + c = p.delegateType || y, + yt.test(c + y) || (a = a.parentNode); + a; + a = a.parentNode + ) + (g.push(a), (s = a)); + s === (r.ownerDocument || m) && + g.push(s.defaultView || s.parentWindow || e); + } + for (o = 0; (a = g[o++]) && !t.isPropagationStopped(); ) + ((h = a), + (t.type = o > 1 ? c : p.bindType || y), + (l = + (K.get(a, "events") || Object.create(null))[ + t.type + ] && K.get(a, "handle")) && l.apply(a, n), + (l = u && a[u]) && + l.apply && + $(a) && + ((t.result = l.apply(a, n)), + !1 === t.result && t.preventDefault())); + return ( + (t.type = y), + i || + t.isDefaultPrevented() || + (p._default && !1 !== p._default.apply(g.pop(), n)) || + !$(r) || + (u && + f(r[y]) && + !v(r) && + ((s = r[u]) && (r[u] = null), + (k.event.triggered = y), + t.isPropagationStopped() && + h.addEventListener(y, wt), + r[y](), + t.isPropagationStopped() && + h.removeEventListener(y, wt), + (k.event.triggered = void 0), + s && (r[u] = s))), + t.result + ); + } + }, + simulate: function (e, t, n) { + var r = k.extend(new k.Event(), n, { type: e, isSimulated: !0 }); + k.event.trigger(r, null, t); + } + }), + k.fn.extend({ + trigger: function (e, t) { + return this.each(function () { + k.event.trigger(e, t, this); + }); + }, + triggerHandler: function (e, t) { + var n = this[0]; + if (n) return k.event.trigger(e, t, n, !0); + } + }), + h.focusin || + k.each({ focus: "focusin", blur: "focusout" }, function (e, t) { + var n = function (e) { + k.event.simulate(t, e.target, k.event.fix(e)); + }; + k.event.special[t] = { + setup: function () { + var r = this.ownerDocument || this.document || this, + i = K.access(r, t); + (i || r.addEventListener(e, n, !0), + K.access(r, t, (i || 0) + 1)); + }, + teardown: function () { + var r = this.ownerDocument || this.document || this, + i = K.access(r, t) - 1; + i + ? K.access(r, t, i) + : (r.removeEventListener(e, n, !0), K.remove(r, t)); + } + }; + })); + var bt = e.location, + kt = { guid: Date.now() }, + xt = /\?/; + k.parseXML = function (t) { + var n; + if (!t || "string" !== typeof t) return null; + try { + n = new e.DOMParser().parseFromString(t, "text/xml"); + } catch (r) { + n = void 0; + } + return ( + (n && !n.getElementsByTagName("parsererror").length) || + k.error("Invalid XML: " + t), + n + ); + }; + var _t = /\[\]$/, + Ct = /\r?\n/g, + It = /^(?:submit|button|image|reset|file)$/i, + St = /^(?:input|select|textarea|keygen)/i; + function Et(e, t, n, r) { + var i; + if (Array.isArray(t)) + k.each(t, function (t, i) { + n || _t.test(e) + ? r(e, i) + : Et( + e + + "[" + + ("object" === typeof i && null != i ? t : "") + + "]", + i, + n, + r + ); + }); + else if (n || "object" !== w(t)) r(e, t); + else for (i in t) Et(e + "[" + i + "]", t[i], n, r); + } + ((k.param = function (e, t) { + var n, + r = [], + i = function (e, t) { + var n = f(t) ? t() : t; + r[r.length] = + encodeURIComponent(e) + + "=" + + encodeURIComponent(null == n ? "" : n); + }; + if (null == e) return ""; + if (Array.isArray(e) || (e.jquery && !k.isPlainObject(e))) + k.each(e, function () { + i(this.name, this.value); + }); + else for (n in e) Et(n, e[n], t, i); + return r.join("&"); + }), + k.fn.extend({ + serialize: function () { + return k.param(this.serializeArray()); + }, + serializeArray: function () { + return this.map(function () { + var e = k.prop(this, "elements"); + return e ? k.makeArray(e) : this; + }) + .filter(function () { + var e = this.type; + return ( + this.name && + !k(this).is(":disabled") && + St.test(this.nodeName) && + !It.test(e) && + (this.checked || !le.test(e)) + ); + }) + .map(function (e, t) { + var n = k(this).val(); + return null == n + ? null + : Array.isArray(n) + ? k.map(n, function (e) { + return { + name: t.name, + value: e.replace(Ct, "\r\n") + }; + }) + : { name: t.name, value: n.replace(Ct, "\r\n") }; + }) + .get(); + } + })); + var Wt = /%20/g, + Tt = /#.*$/, + At = /([?&])_=[^&]*/, + Pt = /^(.*?):[ \t]*([^\r\n]*)$/gm, + Mt = /^(?:GET|HEAD)$/, + Rt = /^\/\//, + Ot = {}, + Dt = {}, + Lt = "*/".concat("*"), + Bt = m.createElement("a"); + function Nt(e) { + return function (t, n) { + "string" !== typeof t && ((n = t), (t = "*")); + var r, + i = 0, + o = t.toLowerCase().match(D) || []; + if (f(n)) + for (; (r = o[i++]); ) + "+" === r[0] + ? ((r = r.slice(1) || "*"), + (e[r] = e[r] || []).unshift(n)) + : (e[r] = e[r] || []).push(n); + }; + } + function Ft(e, t, n, r) { + var i = {}, + o = e === Dt; + function a(s) { + var c; + return ( + (i[s] = !0), + k.each(e[s] || [], function (e, s) { + var u = s(t, n, r); + return "string" !== typeof u || o || i[u] + ? o + ? !(c = u) + : void 0 + : (t.dataTypes.unshift(u), a(u), !1); + }), + c + ); + } + return a(t.dataTypes[0]) || (!i["*"] && a("*")); + } + function jt(e, t) { + var n, + r, + i = k.ajaxSettings.flatOptions || {}; + for (n in t) void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); + return (r && k.extend(!0, e, r), e); + } + ((Bt.href = bt.href), + k.extend({ + active: 0, + lastModified: {}, + etag: {}, + ajaxSettings: { + url: bt.href, + type: "GET", + isLocal: + /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test( + bt.protocol + ), + global: !0, + processData: !0, + async: !0, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + accepts: { + "*": Lt, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + contents: { xml: /\bxml\b/, html: /\bhtml/, json: /\bjson\b/ }, + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + converters: { + "* text": String, + "text html": !0, + "text json": JSON.parse, + "text xml": k.parseXML + }, + flatOptions: { url: !0, context: !0 } + }, + ajaxSetup: function (e, t) { + return t ? jt(jt(e, k.ajaxSettings), t) : jt(k.ajaxSettings, e); + }, + ajaxPrefilter: Nt(Ot), + ajaxTransport: Nt(Dt), + ajax: function (t, n) { + ("object" === typeof t && ((n = t), (t = void 0)), + (n = n || {})); + var r, + i, + o, + a, + s, + c, + u, + d, + l, + p, + h = k.ajaxSetup({}, n), + f = h.context || h, + v = h.context && (f.nodeType || f.jquery) ? k(f) : k.event, + g = k.Deferred(), + y = k.Callbacks("once memory"), + w = h.statusCode || {}, + b = {}, + x = {}, + _ = "canceled", + C = { + readyState: 0, + getResponseHeader: function (e) { + var t; + if (u) { + if (!a) + for (a = {}; (t = Pt.exec(o)); ) + a[t[1].toLowerCase() + " "] = ( + a[t[1].toLowerCase() + " "] || [] + ).concat(t[2]); + t = a[e.toLowerCase() + " "]; + } + return null == t ? null : t.join(", "); + }, + getAllResponseHeaders: function () { + return u ? o : null; + }, + setRequestHeader: function (e, t) { + return ( + null == u && + ((e = x[e.toLowerCase()] = + x[e.toLowerCase()] || e), + (b[e] = t)), + this + ); + }, + overrideMimeType: function (e) { + return (null == u && (h.mimeType = e), this); + }, + statusCode: function (e) { + var t; + if (e) + if (u) C.always(e[C.status]); + else for (t in e) w[t] = [w[t], e[t]]; + return this; + }, + abort: function (e) { + var t = e || _; + return (r && r.abort(t), I(0, t), this); + } + }; + if ( + (g.promise(C), + (h.url = ((t || h.url || bt.href) + "").replace( + Rt, + bt.protocol + "//" + )), + (h.type = n.method || n.type || h.method || h.type), + (h.dataTypes = (h.dataType || "*") + .toLowerCase() + .match(D) || [""]), + null == h.crossDomain) + ) { + c = m.createElement("a"); + try { + ((c.href = h.url), + (c.href = c.href), + (h.crossDomain = + Bt.protocol + "//" + Bt.host !== + c.protocol + "//" + c.host)); + } catch (S) { + h.crossDomain = !0; + } + } + if ( + (h.data && + h.processData && + "string" !== typeof h.data && + (h.data = k.param(h.data, h.traditional)), + Ft(Ot, h, n, C), + u) + ) + return C; + for (l in ((d = k.event && h.global) && + 0 === k.active++ && + k.event.trigger("ajaxStart"), + (h.type = h.type.toUpperCase()), + (h.hasContent = !Mt.test(h.type)), + (i = h.url.replace(Tt, "")), + h.hasContent + ? h.data && + h.processData && + 0 === + (h.contentType || "").indexOf( + "application/x-www-form-urlencoded" + ) && + (h.data = h.data.replace(Wt, "+")) + : ((p = h.url.slice(i.length)), + h.data && + (h.processData || "string" === typeof h.data) && + ((i += (xt.test(i) ? "&" : "?") + h.data), + delete h.data), + !1 === h.cache && + ((i = i.replace(At, "$1")), + (p = + (xt.test(i) ? "&" : "?") + "_=" + kt.guid++ + p)), + (h.url = i + p)), + h.ifModified && + (k.lastModified[i] && + C.setRequestHeader( + "If-Modified-Since", + k.lastModified[i] + ), + k.etag[i] && + C.setRequestHeader("If-None-Match", k.etag[i])), + ((h.data && h.hasContent && !1 !== h.contentType) || + n.contentType) && + C.setRequestHeader("Content-Type", h.contentType), + C.setRequestHeader( + "Accept", + h.dataTypes[0] && h.accepts[h.dataTypes[0]] + ? h.accepts[h.dataTypes[0]] + + ("*" !== h.dataTypes[0] + ? ", " + Lt + "; q=0.01" + : "") + : h.accepts["*"] + ), + h.headers)) + C.setRequestHeader(l, h.headers[l]); + if (h.beforeSend && (!1 === h.beforeSend.call(f, C, h) || u)) + return C.abort(); + if ( + ((_ = "abort"), + y.add(h.complete), + C.done(h.success), + C.fail(h.error), + (r = Ft(Dt, h, n, C))) + ) { + if ( + ((C.readyState = 1), + d && v.trigger("ajaxSend", [C, h]), + u) + ) + return C; + h.async && + h.timeout > 0 && + (s = e.setTimeout(function () { + C.abort("timeout"); + }, h.timeout)); + try { + ((u = !1), r.send(b, I)); + } catch (S) { + if (u) throw S; + I(-1, S); + } + } else I(-1, "No Transport"); + function I(t, n, a, c) { + var l, + p, + m, + b, + x, + _ = n; + u || + ((u = !0), + s && e.clearTimeout(s), + (r = void 0), + (o = c || ""), + (C.readyState = t > 0 ? 4 : 0), + (l = (t >= 200 && t < 300) || 304 === t), + a && + (b = (function (e, t, n) { + for ( + var r, + i, + o, + a, + s = e.contents, + c = e.dataTypes; + "*" === c[0]; + + ) + (c.shift(), + void 0 === r && + (r = + e.mimeType || + t.getResponseHeader( + "Content-Type" + ))); + if (r) + for (i in s) + if (s[i] && s[i].test(r)) { + c.unshift(i); + break; + } + if (c[0] in n) o = c[0]; + else { + for (i in n) { + if ( + !c[0] || + e.converters[i + " " + c[0]] + ) { + o = i; + break; + } + a || (a = i); + } + o = o || a; + } + if (o) + return (o !== c[0] && c.unshift(o), n[o]); + })(h, C, a)), + !l && + k.inArray("script", h.dataTypes) > -1 && + (h.converters["text script"] = function () {}), + (b = (function (e, t, n, r) { + var i, + o, + a, + s, + c, + u = {}, + d = e.dataTypes.slice(); + if (d[1]) + for (a in e.converters) + u[a.toLowerCase()] = e.converters[a]; + for (o = d.shift(); o; ) + if ( + (e.responseFields[o] && + (n[e.responseFields[o]] = t), + !c && + r && + e.dataFilter && + (t = e.dataFilter(t, e.dataType)), + (c = o), + (o = d.shift())) + ) + if ("*" === o) o = c; + else if ("*" !== c && c !== o) { + if ( + !(a = u[c + " " + o] || u["* " + o]) + ) + for (i in u) + if ( + (s = i.split(" "))[1] === + o && + (a = + u[c + " " + s[0]] || + u["* " + s[0]]) + ) { + !0 === a + ? (a = u[i]) + : !0 !== u[i] && + ((o = s[0]), + d.unshift(s[1])); + break; + } + if (!0 !== a) + if (a && e.throws) t = a(t); + else + try { + t = a(t); + } catch (S) { + return { + state: "parsererror", + error: a + ? S + : "No conversion from " + + c + + " to " + + o + }; + } + } + return { state: "success", data: t }; + })(h, b, C, l)), + l + ? (h.ifModified && + ((x = C.getResponseHeader("Last-Modified")) && + (k.lastModified[i] = x), + (x = C.getResponseHeader("etag")) && + (k.etag[i] = x)), + 204 === t || "HEAD" === h.type + ? (_ = "nocontent") + : 304 === t + ? (_ = "notmodified") + : ((_ = b.state), + (p = b.data), + (l = !(m = b.error)))) + : ((m = _), + (!t && _) || ((_ = "error"), t < 0 && (t = 0))), + (C.status = t), + (C.statusText = (n || _) + ""), + l + ? g.resolveWith(f, [p, _, C]) + : g.rejectWith(f, [C, _, m]), + C.statusCode(w), + (w = void 0), + d && + v.trigger(l ? "ajaxSuccess" : "ajaxError", [ + C, + h, + l ? p : m + ]), + y.fireWith(f, [C, _]), + d && + (v.trigger("ajaxComplete", [C, h]), + --k.active || k.event.trigger("ajaxStop"))); + } + return C; + }, + getJSON: function (e, t, n) { + return k.get(e, t, n, "json"); + }, + getScript: function (e, t) { + return k.get(e, void 0, t, "script"); + } + }), + k.each(["get", "post"], function (e, t) { + k[t] = function (e, n, r, i) { + return ( + f(n) && ((i = i || r), (r = n), (n = void 0)), + k.ajax( + k.extend( + { + url: e, + type: t, + dataType: i, + data: n, + success: r + }, + k.isPlainObject(e) && e + ) + ) + ); + }; + }), + k.ajaxPrefilter(function (e) { + var t; + for (t in e.headers) + "content-type" === t.toLowerCase() && + (e.contentType = e.headers[t] || ""); + }), + (k._evalUrl = function (e, t, n) { + return k.ajax({ + url: e, + type: "GET", + dataType: "script", + cache: !0, + async: !1, + global: !1, + converters: { "text script": function () {} }, + dataFilter: function (e) { + k.globalEval(e, t, n); + } + }); + }), + k.fn.extend({ + wrapAll: function (e) { + var t; + return ( + this[0] && + (f(e) && (e = e.call(this[0])), + (t = k(e, this[0].ownerDocument).eq(0).clone(!0)), + this[0].parentNode && t.insertBefore(this[0]), + t + .map(function () { + for (var e = this; e.firstElementChild; ) + e = e.firstElementChild; + return e; + }) + .append(this)), + this + ); + }, + wrapInner: function (e) { + return f(e) + ? this.each(function (t) { + k(this).wrapInner(e.call(this, t)); + }) + : this.each(function () { + var t = k(this), + n = t.contents(); + n.length ? n.wrapAll(e) : t.append(e); + }); + }, + wrap: function (e) { + var t = f(e); + return this.each(function (n) { + k(this).wrapAll(t ? e.call(this, n) : e); + }); + }, + unwrap: function (e) { + return ( + this.parent(e) + .not("body") + .each(function () { + k(this).replaceWith(this.childNodes); + }), + this + ); + } + }), + (k.expr.pseudos.hidden = function (e) { + return !k.expr.pseudos.visible(e); + }), + (k.expr.pseudos.visible = function (e) { + return !!( + e.offsetWidth || + e.offsetHeight || + e.getClientRects().length + ); + }), + (k.ajaxSettings.xhr = function () { + try { + return new e.XMLHttpRequest(); + } catch (t) {} + })); + var Ht = { 0: 200, 1223: 204 }, + zt = k.ajaxSettings.xhr(); + ((h.cors = !!zt && "withCredentials" in zt), + (h.ajax = zt = !!zt), + k.ajaxTransport(function (t) { + var n, r; + if (h.cors || (zt && !t.crossDomain)) + return { + send: function (i, o) { + var a, + s = t.xhr(); + if ( + (s.open( + t.type, + t.url, + t.async, + t.username, + t.password + ), + t.xhrFields) + ) + for (a in t.xhrFields) s[a] = t.xhrFields[a]; + for (a in (t.mimeType && + s.overrideMimeType && + s.overrideMimeType(t.mimeType), + t.crossDomain || + i["X-Requested-With"] || + (i["X-Requested-With"] = "XMLHttpRequest"), + i)) + s.setRequestHeader(a, i[a]); + ((n = function (e) { + return function () { + n && + ((n = + r = + s.onload = + s.onerror = + s.onabort = + s.ontimeout = + s.onreadystatechange = + null), + "abort" === e + ? s.abort() + : "error" === e + ? "number" !== typeof s.status + ? o(0, "error") + : o(s.status, s.statusText) + : o( + Ht[s.status] || s.status, + s.statusText, + "text" !== + (s.responseType || + "text") || + "string" !== + typeof s.responseText + ? { binary: s.response } + : { text: s.responseText }, + s.getAllResponseHeaders() + )); + }; + }), + (s.onload = n()), + (r = s.onerror = s.ontimeout = n("error")), + void 0 !== s.onabort + ? (s.onabort = r) + : (s.onreadystatechange = function () { + 4 === s.readyState && + e.setTimeout(function () { + n && r(); + }); + }), + (n = n("abort"))); + try { + s.send((t.hasContent && t.data) || null); + } catch (c) { + if (n) throw c; + } + }, + abort: function () { + n && n(); + } + }; + }), + k.ajaxPrefilter(function (e) { + e.crossDomain && (e.contents.script = !1); + }), + k.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { script: /\b(?:java|ecma)script\b/ }, + converters: { + "text script": function (e) { + return (k.globalEval(e), e); + } + } + }), + k.ajaxPrefilter("script", function (e) { + (void 0 === e.cache && (e.cache = !1), + e.crossDomain && (e.type = "GET")); + }), + k.ajaxTransport("script", function (e) { + var t, n; + if (e.crossDomain || e.scriptAttrs) + return { + send: function (r, i) { + ((t = k("